如何实现自定义实体夹点移动?
VB开发|黄洪辉|2018-06-12 15:52
-
回答:
主要用到函数说明:
MxDrawXCustomEvent::MxDrawXCustomEntity::moveGripPointsAt
自定义实体事件,自定义实体夹点被移动,详细说明如下:
参数 说明 LONGLONG lEntity
自定义实体id
IN LONG lGridIndex
夹点索引号
IN McGePoint3d vec
夹点移动的向量
VB代码实现如下:
If sEventName = "MxDrawXCustomEntity::moveGripPointsAt" Then Dim param88 As MxDrawResbuf Set param88 = MxDrawX1.CustomEventParam() Set customEntity = MxDrawX1.CallEx("Mx_GetCustomEntity", param88) Set sPt = customEntity.GetPoint("startpoint") Set ePt = customEntity.GetPoint("endpoint") Dim lIndex As Long lIndex = param88.AtLong(1) Dim offsetPt As MxDrawPoint Set offsetPt = param88.AtPoint(2) If lIndex = 0 Then sPt.x = sPt.x + offsetPt.x sPt.y = sPt.y + offsetPt.y customEntity.SetPoint "startpoint", sPt Else ePt.x = ePt.x + offsetPt.x ePt.y = ePt.y + offsetPt.y customEntity.SetPoint "endpoint", ePt End If End If