CAD交互绘制带周长面积的矩形框(网页版)
主要用到函数说明:
_DMxDrawX::DrawLine
绘制一个直线。详细说明如下:
参数 | 说明 |
---|---|
DOUBLE dX1 |
直线的开始点x坐标 |
DOUBLE dY1 |
直线的开始点y坐标 |
DOUBLE dX2 |
直线的结束点x坐标 |
DOUBLE dY2 |
直线的结束点y坐标 |
_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 |
IMxDrawCustomEntity::Draw
把实体绘制到图上。一般用于动态拖放时,在拖放结束时,绘制到图上。
js中实现代码说明:
动态拖放时的绘制事件:
- function DynWorldDrawMatrix( pCustomEntity, pWorldDraw, curPt) {
- //与用户交互在图面上提取一个点
- var vBasePt = pCustomEntity.GetPoint("BasePoint");
- //计算中心点位置
- var centerPt = mxOcx.NewPoint();
- {
- centerPt.x = curPt.x + (vBasePt.x - curPt.x) / 2;
- centerPt.y = curPt.y + (vBasePt.y - curPt.y) / 2;
- }
- //计算面积(取绝对值)
- var arec = Math.abs(vBasePt.x - curPt.x) * Math.abs(vBasePt.y - curPt.y);
- //计算周长
- var girth = 2 * (Math.abs(vBasePt.x - curPt.x) + Math.abs(vBasePt.y - curPt.y));
- //变换视区长度
- var dHeigth = mxOcx.ViewLongToDocCoord(15);
- //绘制一个单行文字
- //参数一为文字的位置的X坐标 ;参数二为文字的位置的Y坐标 ;参数三为文字内容字符串
- //参数四为文字高度;参数五为文字的旋转角度
- //参数六为文字的水平对齐方式,0=kTextLeft,1=kTextCenter,2=kTextRight
- //参数七文字的竖直对齐方式,1=kTextBottom,2=kTextVertMid,3=kTextTop
- pWorldDraw.DrawText(centerPt.x, centerPt.y, "面积:" + arec.toFixed(2), dHeigth, 0, 1, 1);
- pWorldDraw.DrawText(centerPt.x, centerPt.y, "周长:" + girth.toFixed(2), dHeigth, 0, 1, 3);
- //绘制一个直线
- //参数一直线的开始点x坐标,参数二直线的开始点y坐标,参数三直线的结束点x坐标,参数四直线的结束点y坐标
- pWorldDraw.DrawLine (vBasePt.x, vBasePt.y, vBasePt.x, curPt.y);
- pWorldDraw.DrawLine (vBasePt.x, curPt.y, curPt.x, curPt.y);
- pWorldDraw.DrawLine (curPt.x, curPt.y, curPt.x, vBasePt.y);
- pWorldDraw.DrawLine (curPt.x, vBasePt.y, vBasePt.x, vBasePt.y);
- }
动态绘制矩形框:
- function DynDrawMatrix() {
- // 创建一个与用户交互取点的对象。
- var point1 = mxOcx.GetPoint(false,0,0,"\n 点取开始点:");
- if(point1 == null)
- {
- return;
- }
- var getSecondPt = mxOcx.NewComObject("IMxDrawUiPrPoint");
- getSecondPt.message = "第二点";
- getSecondPt.basePoint = point1;
- //不开启皮筋效果
- getSecondPt.setUseBasePt(false);
- //调用
- var spDrawData = getSecondPt.InitUserDraw("TestDynDrawMatrix");
- // 设置动态绘制参数.
- spDrawData.SetPoint("BasePoint", point1);
- // 开始取第二个点。
- if (getSecondPt.go() != 1)
- return;
- var ret = spDrawData.Draw();
- }
CAD交互绘制带周长面积的矩形框(网页版)的更多相关文章
- CAD交互绘制带周长面积的矩形框(com接口)
主要用到函数说明: _DMxDrawX::DrawLine 绘制一个直线.详细说明如下: 参数 说明 DOUBLE dX1 直线的开始点x坐标 DOUBLE dY1 直线的开始点y坐标 DOUBLE ...
- CAD交互绘制带颜色宽度的直线(网页版)
用户可以在CAD控件视区任意位置绘制直线. 主要用到函数说明: _DMxDrawX::DrawLine 绘制一个直线.详细说明如下: 参数 说明 DOUBLE dX1 直线的开始点x坐标 DOUBLE ...
- CAD交互绘制带颜色宽度的直线(com接口)
用户可以在控件视区任意位置绘制直线. 主要用到函数说明: _DMxDrawX::DrawLine 绘制一个直线.详细说明如下: 参数 说明 DOUBLE dX1 直线的开始点x坐标 DOUBLE dY ...
- CAD交互绘制矩形批注(网页版)
js中实现代码说明: 动态拖放时的绘制事件: function DynWorldDrawComment2( pCustomEntity,pWorldDraw, curPt) { // 得到绘制参数. ...
- CAD交互绘制矩形框(网页版)
主要用到函数说明: _DMxDrawX::DrawLine 绘制一个直线.详细说明如下: 参数 说明 DOUBLE dX1 直线的开始点x坐标 DOUBLE dY1 直线的开始点y坐标 DOUBLE ...
- CAD交互绘制矩形框(com接口)
主要用到函数说明: _DMxDrawX::DrawLine 绘制一个直线.详细说明如下: 参数 说明 DOUBLE dX1 直线的开始点x坐标 DOUBLE dY1 直线的开始点y坐标 DOUBLE ...
- CAD交互绘制圆形批注(网页版)
js中实现代码说明: 动态拖放时的绘制事件: function DoDynWorldDrawFun(dX,dY,pWorldDraw,pData) { //自定义实体的GUID标识符 var sGui ...
- CAD交互绘制云线批注(网页版)
js中实现代码说明: 动态拖放时的绘制事件: function DoDynWorldDrawFun(dX,dY,pWorldDraw,pData) { //自定义实体的GUID标识符 var sGui ...
- CAD动态绘制带面积周长的圆(com接口)
CAD绘制图像的过程中,画圆的情况是非常常见的,用户可以在控件视区点取任意一点做为圆心,再动态点取半径绘制圆. 主要用到函数说明: _DMxDrawX::DrawCircle 绘制一个圆.详细说明如下 ...
随机推荐
- .NETFramework:Stream
ylbtech-.NETFramework:Stream 1.返回顶部 1. #region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, Publi ...
- nable to load bean: type:com.opensymphony.xwork2.util.ValueStackFactory
严重: Exception starting filter struts2 Unable to load bean: type:com.opensymphony.xwork2.util.ValueSt ...
- E20170425-gg
margin n(网页设置,CSS) 外铺,(金融,外汇交易)保证金 property n(计算机)类的属性变量 , 资产
- 你不知道的meta标签
前言 meta标签可以用来做seo优化.指定移动端viewport的展现形式.设置http请求.告诉浏览器缓存静态资源的模式等等.今天整理一下使用meta标签实用的,常见的场景. meta标签的组成 ...
- Qt容器类之一:Qt的容器类介绍
一.介绍 Qt库提供了一套通用的基于模板的容器类,可以用这些类存储指定类型的项.比如,你需要一个大小可变的QString的数组,则使用QVector<QString>. 这些容器类比STL ...
- linux的目录结构详细介绍
linux的目录结构详细介绍 1. /目录(根目录) 2./ect/目录 特定主机系统范围内的配置文件. 3./usr/目录 默认软件都会存于该目录下.用于存储只读用户数据的第二层次:包含绝大多数的用 ...
- FACVSPOW - Factorial vs Power 数学方法 + 二分
http://www.spoj.com/problems/FACVSPOW/ 求解n! > a^n最小的整数n 对于有n!和a^n的东西,一般是取ln 然后就是求解 (ln(1) + ln(2) ...
- 数位dp知识
转自http://blog.csdn.net/zhaoxinfan/article/details/8707605 下面先给出数位DP的背景: •在给定区间[A,B]内,找满足要求的数. •要求一般和 ...
- 组件的 render 方法
React.js 中一切皆组件,用 React.js 写的其实就是 React.js 组件.我们在编写 React.js 组件的时候,一般都需要继承 React.js 的 Component(还有别的 ...
- P1847 轰炸II
题目背景 本题为轰炸数据加强版 题目描述 一个城市遭到了M次轰炸,每次都炸了一个每条边都与边界平行的矩形 在轰炸后,有N个关键点,指挥官想知道,它们有没有受到过轰炸,如果有,被炸了几次,最后一次是第几 ...