CAD实现自定义实体夹点移动,com接口VB语言 - 梦想CAD控件

CAD实现自定义实体夹点移动(com接口VB语言)

主要用到函数说明:

MxDrawXCustomEvent::MxDrawXCustomEntity::moveGripPointsAt

自定义实体事件,自定义实体夹点被移动,详细说明如下:

参数说明

LONGLONG lEntity

自定义实体id

IN LONG lGridIndex

夹点索引号

IN McGePoint3d vec

夹点移动的向量

VB代码实现如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

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