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 绘制一个直线.详细说明如下 ...
随机推荐
- 微信小程序-B站:wxml和wxss文件
WXML WXML(WeiXin Markup Language)是微信的一套标签语言,结合基础组件.事件系统,可以构建出页面的结构. (小安娜:好像很厉害的样子,那基础组件.事件系统是什么?感觉更厉 ...
- appium九宫格解锁错误提示:The coordinates provided to an interactions operation are invalid解决办法
原文地址:http://blog.csdn.net/qqtMJK/article/details/77838814 今天做自动化解锁9宫格,发现swipe不能满足需求,于是用TouchAction去实 ...
- Gym 100299C && UVaLive 6582 Magical GCD (暴力+数论)
题意:给出一个长度在 100 000 以内的正整数序列,大小不超过 10^ 12.求一个连续子序列,使得在所有的连续子序列中, 它们的GCD值乘以它们的长度最大. 析:暴力枚举右端点,然后在枚举左端点 ...
- 51nod 1003【数学】
思路: 2和5能构成0,然后就是看2和5因子组成个数,然而我们知道,1-n中2的因子数肯定>5的,所以我们只要求一下1-n中5的因子个数就好了... #include <stdio.h&g ...
- PTA PAT Judge 【模拟题,未完待续】
The ranklist of PAT is generated from the status list, which shows the scores of the submittions. Th ...
- IT兄弟连 JavaWeb教程 Servlet转发
Servlet对象由Servlet容器创建,并且Servlet对象的service()方法也由容器调用,一个Servlet对象可否直接调用另一个Servlet对象的service()方法呢?答案是否定 ...
- Comet OJ - Contest #4--前缀和
原题:Comet OJ - Contest #4-B https://www.cometoj.com/contest/39/problem/B?problem_id=1577传送门 一开始就想着暴力打 ...
- 如何用Zookeeper来实现分布式锁?
什么是Zookeeper临时顺序节点? 例如 : / 动物 植物 猫 仓鼠 荷花 松树 Zookeeper的数据存储结构就像一棵树,这棵树由节点组成,这种节点叫做Zonde.# Znode分为四种类型 ...
- java高分局之jstat命令使用
S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC ...
- python实现计数排序
计数排序有局限性,最小值和最大值决定着数组的长度,如果分配均匀的话可以用 # @File: count_sort import random def count_sort(li, max_num=10 ...