Newsgroup: it.discussioni.geometri
Titolo: Aiutino per completare il mio codice (Warning: msg lunghetto)...

Ragazzi vi chiedo un aiuto per sviluppare un codicino semplice semplice
che mi aiuti nel mio lavoro di tesi.
IO HO UN BEL DWG CON UNA SERIE DI LINEE, POLILINEE E POLIGONI/REGIONI
(O SEMPLICEMENTE POLILINEE CHIUSE) E MI PIACEREBBE ASSEGNARE AD ESSE UN
NOME ED ESPORTARNE LE CARATTERISTICHE PRINCIPALI come LUNGHEZZA (ok),
PERIMETRO, AREA...
Fin oggi ho stressato un po' di amici nel ng e mi hanno dato delle
dritte fenomenali ma ora cerco un supporto finale per concludere il mio
progettino e lasciar rilassare Nobody, Claudio & C (1000 grazie). Sono
proprio duro di testa! Non riesco a mettere insieme tante belle Sub
perchè ho dimenticato tutto del VB e, sotto AutoCAD, sembra non
volermi ascoltare...
Fin ora riesco a:
- SELEZIONARE CIO' CHE VOGLIO NOMINARE
                        On Error Resume Next
                       ThisDrawing.SelectionSets.Item("NewSet").Delete
                        Set Selezione =
ThisDrawing.SelectionSets.Add("NewSet")
                        Selezione.SelectOnScreen
- DARE UN NOME ALLE ENTITA' SELEZIONATE (forse qui dovrei investigare
se l'entità in analisi è una polilinea, linea o area ed assegnare un
xData con questa info)
                        For Each Entità In Selezione
                        If Entità.EntityType = acPolylineLight Or
Entità.EntityType = acLine Then
                        Colore = Entità.color
                        Entità.Update
                        Testo = InputBox("Nome Sezione?")
                        DataType(0) = 1001
                        data(0) = "SEZ"
                        DataType(1) = 1000
                        data(1) = Testo
                        Call Entità.SetXData(DataType, data)
                        Entità.color = Colore
                        Entità.Update
                        End If
                        Next Entità
- ORA DEVO CERCAR DI ESPORTARE IN UN TXT UNA TABELLA DEL TIPO:
Print #1, "Entità     |     NOME     |     LUNGHEZZA     |
AREA     |     ALTRO"DOVE ENTITA' MI DICE SE è LINEA, POLILINEA, AREA
OD ALTRO
NOME è QUELLO CHE HO INSERITO IO PRIMA OD ALTRIMENTI ANONIMO MA MI
SCONTRO CON PROBLEMI DI DICHIARAZIONI DELLE VARIABILI (DIM, PRIVATE O
PUBLIC. DENTRO O FUORI DALLA SUB...) PERCHè NON RIESCO A PASSARE E
RITROVARE TUTTI GLI ATTRIBUTI DI OGNI SINGOLA ENTITA':
FIN ORA IL CODICE DICE:
                        seleziona le entità da analizzare
                        For Each ent In SsSet
                        Print #2, RecuperaXData(ent, 1) & ";" &
Format(ent.Length, "0.0000")
                        Next ent
                        Close #2
                        End Sub
                        Public Function RecuperaXData(sez As Object, i
As Integer) As String
                        Call sez.GetXData("", DataType, data)
                        RecuperaXData = data(i)
                        End Function
MA SE VOLESSI UNIRE LA SUB E LA FUNCTION SOPRA COSA DEVO FARE CON LE
MIE VARIABILI? E PER CHIEDERE AREA, PERIMETRO E NOME? IO PENSAVO
(sempre troppo) DI FARE QUALCOSA TIPO:
                        For Each Entità In Selezione
                        call entità.getxdata(A,B,C)
                        Info1 = A
                        Info2 = DataType(0)
                        Info3 = DataValue(B)
                        Info4 = data(0)
                        Info5 = data(1)
                        Lungh = Entità.Length
                        Print #1, Info1 &";"& Info2 & ";" Lungh &....&
Info5
                        Next Entità
                        Close #1
End Sub
MA NON GIRA E NON MI COMPLETA LA TABELLA SOPRA! CHE SBAGLIO? SE NON VI
SIETE ANCOR STANCATI DI LEGGERE QUESTO PAPIRO, VI RINGRAZIO. AVETE GIA'
FATTO TANTO. SE VOLETE DARMI UNA MANO PER CONTINUARE QUESTA IMPRESA,
SON DISPOSTO A TUTTO...NON PENSIATE CHA DALL'UNIVERSITA' NON POSSANO
USCIRE INFO INTERESSANTI (FORTRAN, RINGRAZIAMENTI IN TESI, PIZZE....)
SCHERZI A PARTE VE NE SAREI GRATISSIMO...
P.S. SPERO POSSA ESSERE UTILE ANCHE AD ALTRI!!!!
SE SIETE CURIOSI/INTERESSATI AD ALTRI STRALCI DI CODICE SCRIVETEMI IN
MAIL CHE VI SPEDISCO LA MIA INTERA BANCA DATI... PER ESEMPIO MI
PIACEREBBE FARE UNA SUB CHE MI RESTITUISCA IL NOME DELLA SEZIONE SE CI
CLICCO SOPRA, OPPURE UNA SUB CHE SCRIVA IN UNA CASELLA DI TESTO VICINA
ALL'ENTITà IL SUO NOME (e/o le altre info)... insomma tutte le idee
per interagire con la testa del mio professore sono ben accette...
CIAO A TUTTI
GRAZIE A TUTTI
ROBERTO

Roberto ha scritto:
