Produkt: AutoCAD 2002/2004
Datum: 23.07.2003
Ukázková funkce ArcDump ilustruje použití filtrovaných výběrových množin AutoCADu ve VBA a práci s vlastnostmi entit zahrnutých do výběrové množiny. Uvedený příklad lze snadno přizpůsobit i pro podobné potřeby a situace, kdy je třeba vybrat a zpracovat určité typy entit (objektů) výkresu.
Pro přenesení VBA kódu funkce si pomocí Alt-F11 spusťte editor VBA a zkopírujte si tento jednoduchý kód (nebo si otevřete přiložený projekt .DVB):
Sub
ArcDump()Dim
oSSAs
AcadSelectionSetDim
oArcAs
AcadArcDim
iFilterCode(0)As
IntegerDim
vFilterValue(0)As
Variant'Errorhandler (vymaže případně již existující výběrovou množinu)
On Error Resume Next
Application.ActiveDocument.SelectionSets("Oblouky").DeleteOn Error GoTo 0
'vytvoř výběrovou množinu nazvanou "Oblouky"
Set
oSS = Application.ActiveDocument.SelectionSets.Add("Oblouky"
) iFilterCode(0) = 0: vFilterValue(0) ="Arc"
'odfiltrovat vše kromě entit typu "Arc"
oSS.SelectOnScreen iFilterCode, vFilterValueIf
oSS.CountThen
For Each
oArcIn
oSS'zpracovat všechny entity výběrové množiny "Oblouky"
With
oArc MsgBox"StartPoint: "
& .StartPoint(0) &", "
& .StartPoint(1) &", "
& .StartPoint(2) & vbCrLf & _"EndPoint : "
& .EndPoint(0) &", "
& .EndPoint(1) &", "
& .EndPoint(2)End With
Next
oArcEnd If
End Sub
Místo dialogového okna výpisu vlastností entity (MsgBox) lze samozřejmě použít libovolnou užitečnější funkci pro zpracování entit výběrové množiny - výpisy do souboru, modifikace vlastností, výpočty, atd.
Copyright © 2003 CAD Studio