Umiar wrote:
> Witam,
> czy ktos moze opisac mi , jak zrobic prostą z pozoru rzecz:
> tworze SelectionSeta, potem SelectOnScreen, zaznaczam oknem, no i
> teraz wybieram: jesli obiekt to polilinia to pobieram z niego jakąć
> własciwosc (np. dlugosc) i tak przelatuje po wszystkich poliliniach w
> SelectionSecie? Dotyczy ACAD VBA.
> Dzieki za pomoc,
Mam nadzieje, ze wszystko jasne - ponizszy kod nie uzywa metody
SelectOnScreen, lecz SelectionSetWindow, ale chyba sobie poradzisz? Odsylam
do helpa zreszta - majac ponizsze, wiesz gdzie szukac.
Dim sset As AcadSelectionSet
Dim p1 As Variant (0 To 2) As Double
Dim p2 As Variant (0 To 2) As Double
mAcad to instancja AutoCADa - ja ten kod wywolywalem z zewnatrz ACada, z
mojego programu w VB
Set sset = mAcad.Documents(mDocName).SelectionSets.Add(nazwa)
p1 = mAcad.Documents(mDocName).Utility.GetPoint(, Podaj pierwszy
narożnik obszaru :)
p2 = mAcad.Documents(mDocName).Utility.GetPoint(p1, Podaj przeciwlegly
narożnik obszaru :)
With sset
.Select acSelectionSetWindow, p1, p2
.Highlight True
.Update
End With
Dim element As AcadEntity
For Each element In sset
tu sprawdzasz, czy wlasciwosc .ObjectName obiektu element jest
taka, jak dla polilini (jedna z mozliwosci, poza tym pewnie mozna rozpoznac
przez jakies ID - ale nigdy nie zglebialem tematu)
jesli jest = nazwie klasy polilini, to cos z tym obiektem (element)
robisz, a jak nie, to
Next
--
Szwagier