Produkt: AutoCAD 2002/2004
Datum: 23.07.2003
Stáhnout VBA projekt (4 KByte)
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):
SubArcDump()DimoSSAsAcadSelectionSetDimoArcAsAcadArcDimiFilterCode(0)AsIntegerDimvFilterValue(0)AsVariant'Errorhandler (vymaže případně již existující výběrovou množinu)On Error Resume NextApplication.ActiveDocument.SelectionSets("Oblouky").DeleteOn Error GoTo 0'vytvoř výběrovou množinu nazvanou "Oblouky"SetoSS = Application.ActiveDocument.SelectionSets.Add("Oblouky") iFilterCode(0) = 0: vFilterValue(0) ="Arc"'odfiltrovat vše kromě entit typu "Arc"oSS.SelectOnScreen iFilterCode, vFilterValueIfoSS.CountThenFor EachoArcInoSS'zpracovat všechny entity výběrové množiny "Oblouky"WithoArc MsgBox"StartPoint: "& .StartPoint(0) &", "& .StartPoint(1) &", "& .StartPoint(2) & vbCrLf & _"EndPoint : "& .EndPoint(0) &", "& .EndPoint(1) &", "& .EndPoint(2)End WithNextoArcEnd IfEnd 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