特定オブジェクトの処理を行うとき、

下記のようなコードを組んでいました。

━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─

For i = 0 To gAcadDrawing.ModelSpace.count - 1
If TypeName(gAcadDrawing.ModelSpace.Item(i)) = "IAcadText" Then
Set textObj(j) = gAcadDrawing.ModelSpace.Item(i)

      j = j + 1
End If
Next

━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─


無駄ですな。汗

全オブジェクトをfor loopで回してチェックするなんて・・・。


しかも、時間掛かります。あせる



どーしたら、早くなるのかなぁ~、なんて思っていたらありました!



選択セット(AcadSelectionSet)なんて手。



これを使うと、必要なオブジェクトだけを取得することが出来ます。

文字だけ!とか、寸法だけ!とか、

画層名の頭に「A」の付いている画層に属するオブジェクトだけ取り出す!

って時に便利です。

にほんブログ村 科学ブログ 技術・工学へ にほんブログ村