CAD交互绘制圆弧(网页版)
在CAD设计时,需要绘制圆弧,用户可以在图面点圆弧起点,圆弧上的一点和圆弧的终点,这样就绘制出圆弧。
主要用到函数说明:
_DMxDrawX::DrawArc2
由圆弧上的三点绘制一个圆弧。详细说明如下:
| 参数 | 说明 |
|---|---|
|
DOUBLE dStartPointX |
开始点X坐标 |
|
DOUBLE dStartPointY |
开始点Y坐标 |
|
DOUBLE dMidPointX |
圆弧上的一点X坐标 |
|
DOUBLE dMidPointY |
圆弧上的一点Y坐标 |
|
DOUBLE dEndPointX |
结束点X坐标 |
|
DOUBLE dEndPointY |
结束点Y坐标 |
IMxDrawCustomEntity::Draw
把实体绘制到图上。一般用于动态拖放时,在拖放结束时,绘制到图上。
_DMxDrawXEvents::DynWorldDraw
动态拖放时的绘制事件。详细说明如下:
| 参数 | 说明 |
|---|---|
|
DOUBLE dX |
当前鼠标位置X坐标 |
|
DOUBLE dY |
当前鼠标位置Y坐标 |
|
IDispatch* pWorldDraw |
IMxDrawWorldDraw对象,用于动态绘制 |
|
IDispatch* pData |
IMxDrawCustomEntity对象,动态绘制数据 |
js中实现代码说明:
动态拖放时的绘制事件:
function DoDynWorldDrawFun(dX,dY,pWorldDraw,pData)
{
//自定义实体的GUID标识符
var sGuid = pData.Guid;
//设置自定义事件的返回值
mxOcx.SetEventRet(0);
if (sGuid == "DrawArc") {
//与用户交互到在图上提取一个点
var pt1 = pData.GetPoint("pt1");
if (pt1 == null)
return;
var pt2 = pData.GetPoint("pt2");
if (pt2 == null)
return;
//由圆弧上的三点绘制一个圆弧
//参数一为开始点X坐标 ;参数二为开始点Y坐标 ;参数三为结束点X坐标
//参数四为结束点Y坐标 ;参数五为圆弧上的一点X坐标 ;参数六为圆弧上的一点Y坐标
pWorldDraw.DrawArc2(pt1.x, pt1.y, pt2.x, pt2.y, dX, dY);
}
}
动态绘制圆弧:
function DrawArc() {
// 新建一个COM组件对象
var getPt1 = mxOcx.NewComObject("IMxDrawUiPrPoint");
getPt1.message = "指定圆弧的起点";
if (getPt1.go() != 1) {
return;
}
// 新建一个COM组件对象
var getPt2 = mxOcx.NewComObject("IMxDrawUiPrPoint");
getPt2.message = "指定圆弧的第二个点";
//基点
getPt2.basePoint = getPt1.value();
//设置是否启用拖放基点 true:使用,false:不使用
getPt2.setUseBasePt(true);
if (getPt2.go() != 1) {
return;
}
// 新建一个COM组件对象
var getPt3 = mxOcx.NewComObject("IMxDrawUiPrPoint");
getPt3.message = "指定圆弧的端点";
//初始动态绘制; 动态绘制Id,在动态绘制函数里,这个值用于判断是那个动态绘制
var spDrawData = getPt3.InitUserDraw("DrawArc");
//设置point类型的属性
spDrawData.SetPoint("pt1", getPt1.value());
spDrawData.SetPoint("pt2", getPt2.value());
if (getPt3.go() != 1) {
return;
}
//把实体绘制到图上。一般用于动态拖放时,在拖放结束时,绘制到图上;返回新绘制的实体的id
spDrawData.Draw();
}
CAD交互绘制圆弧(网页版)的更多相关文章
- CAD交互绘制圆弧(com接口)
在CAD设计时,需要绘制圆弧,用户可以在图面点圆弧起点,圆弧上的一点和圆弧的终点,这样就绘制出圆弧. 主要用到函数说明: _DMxDrawX::DrawArc2 由圆弧上的三点绘制一个圆弧.详细说明如 ...
- CAD参数绘制圆弧(网页版)
在CAD设计时,需要绘制圆弧,用户可以在图面点圆弧起点,圆弧上的一点和圆弧的终点,这样就绘制出圆弧. 主要用到函数说明: _DMxDrawX::DrawArc2 由圆弧上的三点绘制一个圆弧.详细说明如 ...
- CAD参数绘制圆弧(com接口)
在CAD设计时,需要绘制圆弧,用户可以在图面点圆弧起点,圆弧上的一点和圆弧的终点,这样就绘制出圆弧. 主要用到函数说明: _DMxDrawX::DrawArc2 由圆弧上的三点绘制一个圆弧.详细说明如 ...
- CAD交互绘制圆形云线批注(网页版)
js中实现代码说明: 动态拖放时的绘制事件: function DoDynWorldDrawFun(dX,dY,pWorldDraw,pData) { //自定义实体的GUID标识符 var sGui ...
- CAD交互绘制文字(网页版)
在CAD设计时,需要绘制文字,用户可以设置设置绘制文字的高度等属性. 主要用到函数说明: _DMxDrawX::DrawText 绘制一个单行文字.详细说明如下: 参数 说明 DOUBLE dPosX ...
- CAD交互绘制圆(网页版)
CAD绘制图像的过程中,画圆的情况是非常常见的,用户可以在控件视区点取任意一点做为圆心,再动态点取半径绘制圆. 主要用到函数说明: _DMxDrawX::DrawCircle 绘制一个圆.详细说明如下 ...
- CAD交互绘制样条线(网页版)
在CAD设计时,需要绘制样条线,用户可以设置样条线线重及颜色等属性. 主要用到函数说明: _DMxDrawX::SendStringToExecuteFun 把命令当着函数执行,可以传参数.详细说明如 ...
- CAD交互绘制带颜色宽度的直线(网页版)
用户可以在CAD控件视区任意位置绘制直线. 主要用到函数说明: _DMxDrawX::DrawLine 绘制一个直线.详细说明如下: 参数 说明 DOUBLE dX1 直线的开始点x坐标 DOUBLE ...
- CAD交互绘制多段线(网页版)
多段线又被称为多义线,表示一起画的都是连在一起的一个复合对象,可以是直线也可以是圆弧并且它们还可以加不同的宽度. 主要用到函数说明: _DMxDrawX::DrawLine 绘制一个直线.详细说明如下 ...
随机推荐
- 廖雪峰python3练习题三
条件判断 题目: 答案: #!/usr/bin/env python3 #-*- coding:utf-8 -*- heigth = 1.75 weigth = 80.5 bim = weigth / ...
- MariaDB + Visual Studio 2017 环境下的 ODBC 入门开发
参考: Easysoft公司提供的ODBC教程 微软提供的ODBC文档 环境: Windows 10 x64 1803 MariaDB TX 10.2.14 x64 MariaDB ODBC Conn ...
- bzoj4555
ntt+cdq分治 原来zwh出的cf是斯特林 第二类斯特林数的定义是S(i,j)表示将i个物品分到j个无序集合的方案数,那么这道题中S(i,j)*j!*2^j是指将i个物品分到j个有序集合中并且每个 ...
- Hibernate自定义字段查询
关于Hibernate自定义字段查询的方法,网上有很多,我这里就不详细写了,只把几个查询方法的注意事项说明一下. 废话少说, 进入正题: 假设有2个实体对象,Institution和User,结构与配 ...
- 为什么选择SSM+Redis框架开发模式?
1.选择spring 目前企业的java应用中,spring框架是必须的,spring的核心是IOC(控制反转),它是一个大容器,方便组装和管理各类系统内外部资源,同时支持AOP(控制反转),这是对面 ...
- 洛谷 P3711 仓鼠的数学题【伯努利数+多项式科技】
有个东西叫伯努利数--一开始直接·用第一类斯特林推到自闭 式子来源:https://www.luogu.org/blog/ShadowassIIXVIIIIV/solution-p3711 https ...
- the little schemer 笔记(5)
第五章 “Oh My Gawd”:It's Full of Stars (rember* a l)是什么,其中a是cup,l是((coffee) cup ((tea) cup) rember*发音为r ...
- c++运费符优先级
L:左 R:右
- Jmeter安装说明
本文主要介绍Jmeter工具的安装 一.安装JDK 1.下载jdk,到官网下载jdk,下载jkd1.8即可,地址:http://www.oracle.com/technetwork/java/java ...
- Python %s和%r的区别
%s 用str()方法处理对象 %r 用rper()方法处理对象,打印时能够重现它所代表的对象(rper() unambiguously recreate the object it represen ...