概述
1、在我们CAD绘图的时候,我们可能会遇到需要绘制带面积和周长的矩形框,有的用户需要动态实现这个功能,那么如何实现呢,下面将讲解实现过程。
2、实现思路:首先我们先定义一个动态拖放时的绘制事件,这个事件的实现是先由用户在图面上提取一个点,然后计算中心点的位置,这个中心点的位置是用来显示面积和周长的位置,用到了DrawText方法把面积和周长绘制到中心点位置处,最后用DrawLine绘制四条首尾相连的直线组合成一个矩形框。最后我们可以调用这个DynWorldDrawMatrix方法实现了绘制带面积周长的矩形框。
3、主要用到函数说明:
(1)_DMxDrawX::DrawLine
绘制一个直线。详细说明如下:
参数 | 说明 |
---|---|
DOUBLE dX1 | 直线的开始点x坐标 |
DOUBLE dY1 | 直线的开始点y坐标 |
DOUBLE dX2 | 直线的结束点x坐标 |
DOUBLE dY2 | 直线的结束点y坐标 |
(2)_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 |
(3)IMxDrawCustomEntity::Draw
把实体绘制到图上。一般用于动态拖放时,在拖放结束时,绘制到图上。js中实现代码说明:
动态拖放时的绘制事件:
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 |
|
动态绘制矩形框:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
4、效果展示:
通过点击绘制矩形框按钮,触发DynDrawMatrix()事件,则用户可以在CAD控件视区绘制所需的矩形框。如下图所示:
最后
以上就是幽默小笼包为你收集整理的CAD交互绘制带面积和周长的矩形框的全部内容,希望文章能够帮你解决CAD交互绘制带面积和周长的矩形框所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复