如何把自定义实体,变成普通实体?
VB开发|黄洪辉|2018-05-30 15:22
-
回答:
主要用到函数说明:
MxDrawXCustomEvent::MxDrawXCustomEntity::explode
把自定义实体,变成普通实体,详细说明如下:
参数 说明 LONGLONG lEntity
自定义实体id
LONGLONG lBlkRecId
用来临时普通实体的块表记录id
代码实现如下:
If sEventName = "MxDrawXCustomEntity::explode" Then Dim param66 As MxDrawResbuf Set param66 = MxDrawX1.CustomEventParam() Dim lBlockRecId As Long lBlockRecId = param66.AtLong(1) Dim customEntity As MxDrawCustomEntity Set customEntity = MxDrawX1.CallEx("Mx_GetCustomEntity", param66) If customEntity.IsHave("startpoint") Then Else Exit Sub End If If customEntity.IsHave("endpoint") Then Else Exit Sub End If Set database = MxDrawX1.GetDatabase Dim blkRec As MxDrawBlockTableRecord Set blkRec = database.ObjectIdToObject(lBlockRecId) Dim sPt As MxDrawPoint Dim ePt As MxDrawPoint Set sPt = customEntity.GetPoint("startpoint") Set ePt = customEntity.GetPoint("endpoint") blkRec.AddLine sPt, ePt End If