CADsite forum

AutoCAD => VBA => Topic gestart door: mvissche op di 10 03 2009, 14:39:41

Titel: Attributen
Bericht door: mvissche op di 10 03 2009, 14:39:41
Op het scherm klik ik met de muis op een attribuut.
Wat ik nu wil is dit attribuut kunnen editten. Als ik de gegevens van het block opvraag krijg ik wel een lijst met attributes,maar weet niet welke ik geselecteerd heb. Weet hier iemand raad? Ik heb de volgende code.

Dim ssetObj As AcadSelectionSet
Dim grpcode(0 To 1) As Integer
Dim datavalue(0 To 1) As Variant
Dim b As AcadBlockReference 'Toegevoegd voor Att
Dim attribuut As AcadAttributeReference 'Toegevoegd voor Att

grpcode(1) = 0: datavalue(1) = "Insert"
Set ssetObj = ThisDrawing.SelectionSets.Add("AlleTeksten")
ssetObj.SelectOnScreen grpcode, datavalue

For Each b In ssetObj ' Haal attributen op
If b.HasAttributes Then attributen = b.GetAttributes
  For i = LBound(attributen) To UBound(attributen)
    Set attribuut = attributen(i)
   â€˜ ?????
  Next i
Next b


Titel: Re: Attributen
Bericht door: Joop op wo 11 03 2009, 07:38:05
Veel simpeler:
dubbekklikken op de attribute  :!:
Titel: Re: Attributen
Bericht door: mvissche op wo 11 03 2009, 08:32:27
Oke dat was mij bekend. ;-),
Wat ik wil is een routine in VBA maken die een attribute edit om er berekeningen op los te laten en weer terug te schrijven.
Wat mij niet lukt is middels selectonscreen een attribuut te selecteren. Het blok wordt geselecteerd. Zo weet ik nooit welke attribuut ik wil aanpassen.
Heb je nog meer tips ;-)

Groet, Martin
Titel: Re: Attributen
Bericht door: EddyBeerke op wo 11 03 2009, 09:02:50
Als je op de tekst (attribute) klikt kun je het punt (coords) van aanklikken vergelijken met de coords van de attributes.
Titel: Re: Attributen
Bericht door: mvissche op wo 11 03 2009, 09:36:09
Bedankt voor het antwoord.
Het probleem met het opvragen van de coordinaten is dat dit niet overeen zal komen met het insertionpoint van de attribute omdat overal op de tekst geklikt kan worden.
Titel: Re: Attributen
Bericht door: bart op wo 11 03 2009, 10:03:54
In lisp de tag gebruiken om de juiste  attribute te selecteren
De attributen en de lisp moeten dan wel op elkaar zijn toegesneden
Titel: Re: Attributen
Bericht door: mvissche op wo 11 03 2009, 11:17:22
Ik wil dit oplossen in VBA. Het moet toch ook zonder lisp kunnen?
Titel: Re: Attributen
Bericht door: bart op wo 11 03 2009, 13:14:18
http://www.afralisp.net/vba/attabvba.htm

Mijn vba kennis is maar heel klein
Maar volgens mij kan je wel wat met bovenstaand voorbeeld.
Titel: Re: Attributen
Bericht door: mvissche op wo 11 03 2009, 14:56:36
Ik heb de routine gedownload en gestart.
Dit is echter een manier van uitlezen. Ik kan de attributes wel uitlezen (zie boven).
Het probleem zit hem in het fijt dat ik 1  attribute niet los kan aanklikken, om vervolgens te editten en weer weg te schrijven.
Titel: Re: Attributen
Bericht door: bart op do 12 03 2009, 15:31:25
Je kan met de code de attributen ook aanpassen
wijzig maar eens 1 van de waarde en klik op ok