Newsgroup: it.comp.lang.visual-basic
Titolo: VBa - alle prese con un problema semplice ma per me impossibile...

Ragazzi vi chiedo un aiuto per sviluppare un codicino semplice semplice
che mi aiuti nel mio lavoro di tesi.
Veniamo al dunque:
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

 che mi aiuti nel mio lavoro di tesi.
Mi dispiace ma sono fuori allenamento con AutoCad. Però ricordo che un giorno mi 
servì salvare in un txt tutti i PUNTI selezionati e ricordo che erano meno di 20 
righe di codice.
E ricordo che praticamente COPIAI dall'help di AutoCad :-)
Daniele

Già provata questa via... grazie comunque!
Roberto
Daniele Gitto ha scritto:
