VB.NET で IJCADのオブジェクトがどのグループに属しているのか知りたいです。
Groupオブジェクトの検索の方法を教えて下さい。
または、
Entityオブジェクトから所属しているGroupオブジェクトを取得することはできますでしょうか?
[2019.11.13]
いただきましたヒントを元に下記のコードを書きましたやりたいことは、
ポリラインを検索を検索して、そのポリラインが属しているグループを見つける
というものです。しかしながら実行すると
例外がスローされました: 'System.AccessViolationException' (gmdb.dll の中)
が発生して処理が止まってしまいます。
原因わかれば、教えていただけると幸いです。
Using trans As Transaction = wdb.TransactionManager.StartTransaction()
Dim acBlkTbl As BlockTable = trans.GetObject(wdb.BlockTableId, OpenMode.ForRead)
Dim wcount = 0
Dim wselobjs As PromptSelectionResult
wselobjs = wed.SelectAll()
If wselobjs.Status = PromptStatus.OK Then
wcount = wselobjs.Value.Count
End If
For ix = 0 To wcount - 1
Dim acObjId As ObjectId = wselobjs.Value(ix).objectid
Dim wname As String = acObjId.ObjectClass().DxfName
If wname = "LWPOLYLINE" Then
Debug.Print("POLYLINE")
Dim objPolyLine As Polyline = trans.GetObject(acObjId, OpenMode.ForRead, True)
Dim wgrps As ObjectIdCollection = objPolyLine.GetPersistentReactorIds()
For Each objId1 As ObjectId In wgrps
Dim wgrp As Group = trans.GetObject(objId1, OpenMode.ForRead, True)
If Not IsNothing(wgrp) Then
Dim wents As ObjectId() = wgrp.GetAllEntityIds()
Debug.Print(wents.ToString())
End If
Next
End If
Next
End Using