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

相关文章