Newsgroup: it.comp.software.cad
Titolo: VBa - 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. 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...
io sono 
robybox2...@yahoo.it
CIAO A TUTTI
GRAZIE A TUTTI
ROBERTO

Roberto ha scritto:
