梦想CAD控件图块COM接口知识点
图块是将多个实体组合成一个整体,并给这个整体命名保存,在以后的图形编辑中图块就被视为一个实体。一个图块包括可见的实体如线、圆、圆弧以及可见或不可见的属性数据。图块的运用可以帮助用户更好的组织工作,快速创建与修改图形,减少图形文件的大小。
一、定义图块
c#将选中的实体做成块实现代码:
|
|
|
js将选中的实体做成块实现代码:
|
二、绘制块引用对象
主要用到函数说明:
_DMxDrawX::DrawBlockReference
绘制块引用对象。详细说明如下:
参数 |
说明 |
DOUBLE dPosX |
插入点的X坐标 |
DOUBLE dPosY |
插入点的Y坐标 |
BSTR pszBlkName |
图块名 |
DOUBLE dScale |
图块缩放比例 |
DOUBLE dAng |
图块的旋转角度 |
C#中实现代码说明:
|
js中实现代码说明:
|
三、动态绘制块
主要用到函数说明:
_DMxDrawX::DrawBlockReference
绘制块引用对象。详细说明如下:
参数 |
说明 |
DOUBLE dPosX |
插入点的X坐标 |
DOUBLE dPosY |
插入点的Y坐标 |
BSTR pszBlkName |
图块名 |
DOUBLE dScale |
图块缩放比例 |
DOUBLE dAng |
图块的旋转角度 |
js中实现代码说明:
动态拖放时的绘制事件:
|
动态插入图块:
|
四、修复块中心点
主要用到函数说明:
IMxDrawEntity::GetBoundingBox
返回实体的最小矩形框外包。详细说明如下:
参数 |
说明 |
[out] IMxDrawPoint** minPoint |
外包框的左下角点 |
[out] IMxDrawPoint** maxPoint |
外包框的右上角点 |
c#中实现代码说明:
|
js中实现代码说明:
|
五、打碎块
主要用到函数说明:
IMxDrawBlockReference::Explode
打碎块引用,被打碎的引用对象还在,打碎的实体是新生成的。详细说明如下:
参数 |
说明 |
[out,retval] IMxDrawResbuf** newIds |
返回打碎后新生成的实体id数组 |
c#中实现代码说明:
{
|
js中实现代码说明:
|
六、改变块的颜色
颜色
实体的颜色可以通过0~256的数字值来指定和读取,也可以通过 McCmColor 类的实例来指定和读取,McCmColor类可以用来扩展颜色模型。McCmColor类可以用来表示真彩色中的任何一种色彩。
颜色值1~7代表的标准颜色如下:
颜色值 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
颜色 |
红 |
黄 |
绿 |
青 |
蓝 |
紫红 |
白或黑 |
颜色值7对应的颜色与控件背景颜色有关。如果背景是黑,则7对应的颜色是白,反之则对应的颜色是黑。
js中使用如下:
|
七、读取属性块
c#中使用如下:
|
js中使用如下:
|
八、修改属性块
js中使用如下:
|
九、得到所有图块名
js中使用如下:
|
十、将图块替换成dwg文件
js中使用如下:
|
十一、插入图块前修改图块文字
c#中使用如下:
|
js中使用如下:
|
十二、获取块文字信息
js中使用如下:
|
十三、修改块指定文字
js中使用如下:
|
十四、根据块名过滤
js中使用如下:
|