梦想CAD控件文字COM接口知识点
一、参数绘制文字
在CAD设计时,需要绘制文字,用户可以设置设置绘制文字的高度等属性。
主要用到函数说明:
_DMxDrawX::DrawText
绘制一个单行文字。详细说明如下:
参数 |
说明 |
DOUBLE dPosX |
文字的位置的X坐标 |
DOUBLE dPosY |
文字的位置的Y坐标 |
BSTR pszText |
文字内容字符串 |
DOUBLE dHeight |
文字高度 |
DOUBLE dRotation |
文字的旋转角度 |
SHORT horizontalMode |
文字的水平对齐方式,0=kTextLeft,1=kTextCenter,2=kTextRight |
SHORT verticalMode |
文字的竖直对齐方式,1=kTextBottom,2=kTextVertMid,3=kTextTop |
_DMxDrawX::AddTextStyle1
向数据库中增加一个文字样式。详细说明如下:
参数 |
说明 |
BSTR pszName |
文字样式名称 |
BSTR pszFileName |
shx文件名 |
BSTR pszBigFontFileName |
big shx文件名 |
DOUBLE dXScale |
文字宽度缩放比例 |
c#中实现代码说明:
|
js中实现代码说明:
|
二、参数绘制多行文字
主要用到函数说明:
_DMxDrawX::DrawMText
绘制一个多行文字。详细说明如下:
参数 |
说明 |
DOUBLE dPosX |
多行文字位置的X坐标 |
DOUBLE dPosY |
多行文字位置的Y坐标 |
BSTR pszContents |
多行文字的内容 |
DOUBLE dHeight |
多行文字的高度 |
DOUBLE dWidth |
多行文字的显示宽度 |
DOUBLE dRotation |
多行文字的旋转角度 |
SHORT iAttachment |
多行文字的对齐方式 |
可以取值 |
enum AttachmentPoint { kTopLeft = 1, kTopCenter = 2, kTopRight = 3, kMiddleLeft = 4, kMiddleCenter = 5, kMiddleRight = 6, kBottomLeft = 7, kBottomCenter = 8, kBottomRight = 9, |
_DMxDrawX::AddTextStyle2
向数据库中增加一个TrueType文字样式。详细说明如下:
参数 |
说明 |
BSTR pszName |
文字样式名称 |
BSTR pszTrueTypeFontName |
TrueType字体名 |
DOUBLE dXScale |
文字宽度缩放比例 |
C#中实现代码说明:
|
js中实现代码说明:
|
三、交互绘制文字
主要用到函数说明:
_DMxDrawX::DrawText
绘制一个单行文字。详细说明如下:
参数 |
说明 |
DOUBLE dPosX |
>文字的位置的X坐标 |
DOUBLE dPosY |
文字的位置的Y坐标 |
BSTR pszText |
文字内容字符串 |
DOUBLE dHeight |
文字高度 |
DOUBLE dRotation |
文字的旋转角度 |
SHORT horizontalMode |
文字的水平对齐方式,0=kTextLeft,1=kTextCenter,2=kTextRight |
SHORT verticalMode |
文字的竖直对齐方式,1=kTextBottom,2=kTextVertMid,3=kTextTop |
c#中实现代码说明:
动态拖放时的绘制事件:
|
动态绘制文字:
|
js中实现代码说明:
动态拖放时的绘制事件:
|
动态绘制文字:
|
四、查找文字
主要用到函数说明:
_DMxDrawX::NewSelectionSet
实例化一个构造选择集进行过滤,该类封装了选择集及其处理函数。
_DMxDrawX::NewResbuf
新创建IMxDrawResbuf对象,构造一个过滤链表。
IMxDrawResbuf::AddStringEx
向链表中增加一个string数据,比如:把文字对象,当着过滤条件。
spFilte.AddStringEx("TEXT,MTEXT",5020);
IMxDrawSelectionSet::Select2
根据指定的选择方式在图上构造选择集,详细说明如下:
参数 |
说明 |
[in] MCAD_McSelect Mode |
构造选择集方式 |
[in] VARIANT point1 |
构造择择集时需要使用到的点对象 |
[in] VARIANT point2 |
构造择择集时需要使用到的点对象 |
[in,optional] VARIANT filterType |
构造选择集的过滤数据的类型 |
[in,optional] VARIANT filterData |
构造选择集的过滤数据 |
实例化一个构造选择集进行过滤,该类封装了选择集及其处理函数。将文字对象当作过滤条件,得到文字对象(此处可以是文字或多行文字)。遍历每个文字对象,将文字放到视区中间并绘制一个标记圆。c#代码实现如下:
|
实例化一个构造选择集进行过滤,该类封装了选择集及其处理函数。将文字对象当作过滤条件,得到文字对象(此处可以是文字或多行文字)。js代码实现如下:
|
遍历每个文字对象,将文字放到视区中间并绘制一个标记圆:
|
五、将文字变成曲线
js中代码实现说明:
|
六、删除全部文字
js中代码实现说明:
|
七、修改文字
js中代码实现说明:
|
八、得到文字内容
js中代码实现说明:
|
九、得到多行文字内容
js中代码实现说明:
|
十、计算文字外包
c#中代码实现说明:
|
十一、增加文字样式
用户可以增加文字样式到数据库,并设置其字体等属性,具体实现c#代码如下:
|
具体实现js代码如下:
|
十二、得到文字样式
用户可以得到所有文字样式名,具体实现c#代码如下:
|
具体实现js代码如下:
|
十三、删除文字样式
用户可以删除某个文字样式,具体实现c#代码如下:
|
具体实现js代码如下:
|
十四、加粗文字
首先增加文字样式到数据库,如下代码所示:
|
将选中的文字样式设置为数据库中需要的文字样式名,如下代码所示:
|
十五、将文字变成曲线2
c#代码如下所示:
|
js代码如下所示:
|
最新文章
- CROSS JOIN连接用于生成两张表的笛卡尔集
- springMVC 的工作原理和机制(转)
- Winform TreeView 节点拖动
- 模糊查询&;&;日期时间操作
- mysql优化--博森瑞
- Design Pattern Memo 备忘录设计模式
- python 学习 [day8]class成员
- 201521123014 《Java程序设计》第9周学习总结
- 遍历数组中的元素(含es6方法)
- 死磕 java集合之LinkedHashMap源码分析
- python locust 性能测试:嵌套
- Vue-校验props传来的值
- Android——MaterialDesign之一Toolbar
- LoadRunner脚本参数化之设置条件与运行结果说明
- Java集合:HashSet的源码分析
- PAT A1141 PAT Ranking of Institutions (25 分)——排序,结构体初始化
- 移动端三合一瀑布流插件(原生JS)
- 第四周PSP&;进度条
- Spark Broadcast内幕解密:Broadcast运行机制彻底解密、Broadcast源码解析、Broadcast最佳实践
- FPS计算New