CAD由一个自定义实体事件中的id得到自定义实体对象(com接口VB语言)

由一个自定义实体事件中的id得到自定义实体对象。该函数只能在自定义实体事件中调用。


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

38

39

40

41

42

43

44

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

原文地址:https://www.cnblogs.com/yzy0224/p/11007979.html

时间: 2024-09-28 02:49:16

CAD由一个自定义实体事件中的id得到自定义实体对象(com接口VB语言)的相关文章

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

CAD向控件注册一个命令(com接口VB语言)

主要用到函数说明: MxDrawXCustomFunction::Mx_RegistUserCustomCommand 向控件注册一个命令,用户在命令行输入命令名这个字符串,就会触发执行命令事件 命令事件的id就是该注册时的id值,详细说明如下: 参数 说明 CString sCommandName 命令名称 LONG lId 命令id VB代码实现如下: 1 2 3 4 5 6 Set param2 = New MxDrawXLib.MxDrawResbuf param2.AddString

CAD执行一个带参数的命令(com接口VB语言)

主要用到函数说明: MxDrawXCustomFunction::Mx_SendStringToExecute 执行一个带参数的命令.详细说明如下: 参数 说明 CString sCmaName 命令名 Param 命令参数 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 Dim param As MxDrawResbuf Set param = New MxDrawRes

CAD绘制一个图象标记对象(com接口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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 Private Sub DrawImageMarkImp()     'Dim

CAD与用户互在图面上得到一个矩形框(com接口VB语言)

主要用到函数说明: MxDrawXCustomFunction::ExApp_CutDwg 与用户互在图面上得到一个矩形框,详细说明如下: 参数 说明 IN DOUBLE dX1 保存范围的左下角位置X值 IN DOUBLE IN dY1 保存范围的左下角位置Y值 IN DOUBLE dX2 保存范围的右上角位置X值 IN DOUBLE IN dY2 保存范围的右上角位置Y值 sFile 保存的文件名 主要用到函数说明: MxDrawXCustomFunction::Mx_GetCorner 与

CAD把一个dwg文件,或者图像文件当着一个背景导入(com接口VB语言)

主要用到函数说明: MxDrawXCustomFunction::Mx_OpenBackgroundFile 把一个dwg文件,或者图像文件当着一个背景导入.详细说明如下: 参数 说明 CString sFileName DWGBMPJPG文件路径,,文件件名为空时,清空背景文件 LONG lightColor = 0x505050 背景灰度显示颜色,灰度显示的颜色,默认值为0x505050 BOOL isZoomE = TRUE 是否自动把调用ZoomE操作,默认值为1 BOOL isUpDi

CAD得到ImageMark数据(com接口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 38 39 40 41 42 43 44 45 46 Private Sub MxDrawX1_CustomEvent(ByVal sEventName As String)        If sEventName = "ObjectGripEdit" Then           

CAD直接打印,不出现打印对话框(com接口VB语言)

主要用到函数说明: MxDrawXCustomFunction::Mx_Print 直接打印,不出现打印对话框,详细说明如下: 参数 说明 double ptLBx 打印的范围左下角x double ptLBy 打印的范围左下角y double ptRTx 打印的范围右上角x double ptRTy 打印的范围右上角y LPCTSTR pszPrintName 打印机名,如果传为空,取系统默认打印机 LPCTSTR pszPaperName 打印的图纸名,如果传为空,取系统默认打印机设置 LO

CAD隐藏或显示工具条上的按钮(com接口VB语言)

主要用到函数说明: MxDrawXCustomFunction::Mx_HideToolBarControl 隐藏或显示工具条上的按钮.详细说明如下: 参数 说明 IN LPCTSTR pszToolBarName 工条名称 IN LPCTSTR pszControlName = NULL 按钮名称,多个按钮名称,可以用逗号分隔开,为空,隐藏或显示所有按钮 IN BOOL isHide = TRUE 是否隐藏按钮 IN BOOL isAutoRecalcLayout = TRUE 是否自动重新布