主要用到函数说明:

1、_DMxDrawX::InsertBlock

向控件数据库中插入一个图块,不用它插入匿名块。详细说明如下:

参数

说明

BSTR pszDwgFileName

图块定义的dwg 文件,支持http://开头的网络路径

BSTR pszBlockName

新插入的图块名,图块为空时,就把文件中所有图块都引进到当前图纸中

2、_DMxDrawX::DrawBlockReference

绘制块引用对象。详细说明如下:

参数

说明

DOUBLE dPosX

插入点的X坐标

DOUBLE dPosY

插入点的Y坐标

BSTR pszBlkName

图块名

DOUBLE dScale

图块缩放比例

DOUBLE dAng

图块的旋转角度

C#中实现代码说明:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

​String sBlkPath = axMxDrawX1.GetOcxAppPath() + ​​​​"\\Blk\\树.dwg"​​​​;​

​axMxDrawX1.InsertBlock(sBlkPath, ​​​​"MyBlkName"​​​​);​

 

​Int64 iID = axMxDrawX1.DrawBlockReference(100, 100, ​​​​"MyBlkName"​​​​, 0.2, 0);​

 

 

​MxDrawBlockReference blkRef = (MxDrawBlockReference) axMxDrawX1.ObjectIdToObject(iID);​

 

​MxDrawScale3d scale = ​​​​new​​​ ​​MxDrawScale3d();​

​scale.sx = 1;​

​scale.sy = 2;​

​scale.sz = 1;​

 

​blkRef.ScaleFactors = scale;​