梦想CAD控件安卓参数绘图
在CAD绘图中,参数化绘图可以帮助我们极大缩短设计时间,用户可以按照设计意图控制绘图对象,这样即使对象发生了变化,具体的关系和测量数据仍将保持不变,能够对几何图形和标注进行控制,可以帮助用户应对耗时的修改工作。在此演示中,我们绘制了直线、多段线、点、样条线、圆、圆弧、椭圆、椭圆弧等实体。
用户可以在CAD控件视区任意位置绘制直线。
主要用到函数说明:
MxLibDraw.drawLine
绘制一个直线。详细说明如下:
| 参数 | 说明 |
|---|---|
|
double dDx1 |
直线的开始点x坐标 |
|
double dDy1 |
直线的开始点y坐标 |
|
double dDx2 |
直线的结束点x坐标 |
|
double dDy2 |
直线的结束点y坐标 |
MxLibDraw.addLinetype
增加一个线型定义。详细说明如下:
| 参数 | 说明 |
|---|---|
|
String pszName |
线型名 |
|
String pszLineDefine |
线定义字符串 |
|
float dScale |
缩放比例 |
代码实现说明:
MxFunction.openFile("");
// 设置画图颜色.
long[] rgb = new long[3];
rgb[0] = 255;
rgb[1] = 0;
rgb[2] = 0;
MxLibDraw.setDrawColor(rgb);
MxLibDraw.setLineWidth(10);
MxLibDraw.drawLine(10,10,200,300);
MxLibDraw.addLinetype("MyLine","20,-10",1);
MxLibDraw.setLineType("MyLine");
MxLibDraw.setLineWidth(5);
MxLibDraw.drawLine(10,300,200,10);
MxFunction.zoomAll();
多段线又被称为多义线,表示一起画的都是连在一起的一个复合对象,可以是直线也可以是圆弧并且它们还可以加不同的宽度。
主要用到函数说明:
MxLibDraw.pathMoveTo
把路径的开始位置移动指定的点。详细说明如下:
| 参数 | 说明 |
|---|---|
|
double dX |
点的X坐标 |
|
double dY |
点的Y坐标 |
MxLibDraw.pathLineTo
把路径下一个点移到指定位置。详细说明如下:
| 参数 | 说明 |
|---|---|
|
double dX |
点的X坐标 |
|
double dY |
点的Y坐标 |
MxLibDraw.drawPathToPolyline
把路径变成一个Polyline。
代码实现说明:
MxFunction.openFile("");
MxLibDraw.pathMoveTo(10,10);
MxLibDraw.pathLineTo(10,20);
MxLibDraw.pathLineTo(20,20);
MxLibDraw.pathLineTo(20,10);
MxLibDraw.drawPathToPolyline();
MxFunction.zoomAll();
在cad设计时,需要绘制样条线,用户可以设置样条线线重及颜色等属性。
主要用到函数说明:
MxLibDraw.pathMoveTo
把路径的开始位置移动指定的点。详细说明如下:
| 参数 | 说明 |
|---|---|
|
double dX |
点的X坐标 |
|
double dY |
点的Y坐标 |
MxLibDraw.pathLineTo
把路径下一个点移到指定位置。详细说明如下:
| 参数 | 说明 |
|---|---|
|
double dX |
点的X坐标 |
|
double dY |
点的Y坐标 |
MxLibDraw.drawPathToSpline
把路径变成一个样条线。
代码实现说明:
MxFunction.openFile("");
MxLibDraw.pathMoveTo(10,10);
MxLibDraw.pathLineTo(10,20);
MxLibDraw.pathLineTo(20,20);
MxLibDraw.pathLineTo(20,10);
MxLibDraw.drawPathToSpline();
MxFunction.zoomAll();
CAD绘制图像的过程中,画圆的情况是非常常见的,用户可以设置圆的圆心位置及半径属性。
主要用到函数说明:
MxLibDraw.drawCircle
绘制一个圆。详细说明如下:
| 参数 | 说明 |
|---|---|
|
double dCenterX |
圆的中心X值 |
|
double dCenterY |
圆的中心Y值 |
|
double dRadius |
圆的半径 |
代码实现说明:
MxFunction.openFile("");
MxLibDraw.drawCircle(10,10,100);
MxFunction.zoomAll();
主要用到函数说明:
MxLibDraw.drawArc
绘制一个圆弧。详细说明如下:
| 参数 | 说明 |
|---|---|
|
double dCenterX |
圆弧的中心X值 |
|
double dCenterY |
圆弧的中心Y值 |
|
double dRadius |
圆弧的半径 |
|
double dStartAng |
圆弧的开始角 |
|
double dEndAng |
圆弧的结束角 |
代码实现说明:
MxFunction.openFile("");
MxLibDraw.drawArc(10,10,200,0,45 * 3.14159265/ 180.0);
MxFunction.zoomAll();
在cad设计时,需要绘制椭圆,用户可以设置椭圆的基本属性。
主要用到函数说明:
MxLibDraw.drawEllipse
绘制椭圆。详细说明如下:
| 参数 | 说明 |
|---|---|
|
double dCenterX |
椭圆的中心点X坐标 |
|
double dCenterY |
椭圆的中心点Y坐标 |
|
double dMajorAxisX |
椭圆的主轴向量X值 |
|
double dMajorAxisY |
椭圆的主轴向量Y值 |
|
double dRadiusRatio |
椭圆的副轴长度与主轴长度的比值 |
代码实现说明:
MxFunction.newFile(); MxLibDraw.drawEllipse(0,0,100,100,0.5); MxFunction.zoomAll();
在cad设计时,需要绘制椭圆弧,用户可以设置椭圆弧基本属性。
主要用到函数说明:
_DMxDrawX::DrawEllipseArc
绘制椭圆弧。详细说明如下:
| 参数 | 说明 |
|---|---|
|
DOUBLE dCenterX |
椭圆的中心点X坐标 |
|
DOUBLE dCenterY |
椭圆的中心点Y坐标 |
|
DOUBLE dMajorAxisX |
椭圆的主轴向量X值 |
|
DOUBLE dMajorAxisY |
椭圆的主轴向量Y值 |
|
DOUBLE dRadiusRatio |
椭圆的副轴长度与主轴长度的比值 |
|
DOUBLE dStartAng |
椭圆弧的开始角度 |
|
DOUBLE dEndAng |
椭圆弧的结束角度 |
js中实现代码说明:
function DrawEllipseArc() {
//清空当前显示内容
mxOcx.NewFile();
//把颜色改回黑白色
mxOcx.DrawCADColorIndex = 0;
//把线型改成实线
mxOcx.LineType = "";
//设置线宽 4
mxOcx.LineWidth = 0;
//创建一个图层,名为"EllipseArcLayer"
mxOcx.AddLayer("EllipseArcLayer");
//设置当前图层为"EllipseArcLayer"
mxOcx.LayerName = "EllipseArcLayer";
//绘制椭圆弧
//参数一为椭圆的中心点X坐标,参数二为椭圆的中心点Y坐标
//参数三为椭圆的主轴向量X值,参数四为椭圆的主轴向量Y值
//参数五为椭圆的副轴长度与主轴长度的比值
//参数六为椭圆弧的开始角度,参数七为椭圆弧的结束角度
mxOcx.DrawEllipseArc(0, 1600, 80, 30, 0.4, 30, 200);
//----------------------------------------------------------------------------------------------------------
mxOcx.AddLinetype("MyEllipseArcType", "6,-10");
//设计当前线型为"MyEllipseArcType"
mxOcx.LineType = ("MyEllipseArcType");
mxOcx.DrawCADColor = 16711680;
mxOcx.DrawEllipseArc(200, 1600, -80, 30, 0.5, 60, 300);
//把所有的实体都放到当前显示视区
mxOcx.ZoomAll();
//更新视区显示
mxOcx.UpdateDisplay();
}
在cad设计时,需要绘制文字,用户可以设置设置绘制文字的高度等属性。
主要用到函数说明:
MxLibDraw.drawText
绘制一个单行文字。详细说明如下:
| 参数 | 说明 |
|---|---|
|
double dDx |
>文字的位置的X坐标 |
|
double dDy |
文字的位置的Y坐标 |
|
double height |
文字高度 |
|
String sTxt |
文字内容字符串 |
代码实现说明:
MxLibDraw.drawText(193,198,500,"测试Test");
用户可以在控件视区任意位置绘制图片。
主要用到函数说明:
MxFunction.drawImageMarkEx
绘制一个图象标记对象。详细说明如下:
| 参数 | 说明 |
|---|---|
|
String imageFile |
标记文件名 |
|
double dDx |
绘制位置,是图片的中心点X |
|
double dDy |
绘制位置,是图片的中心点y |
|
double dScale |
缩放比例,如果输入负数时,表示图片随视区大小缩放,负数的决对值表示图片的高度,图片宽度自动计算 |
|
int iAttachment |
对齐方式 |
代码实现说明:
MxFunction.openCurrentLayer();
MxFunction.drawImageMarkEx("location2.png",19354.596193,19813.267774,0.5,MxFunction.ImageAttachment.kBottomCenter);
主要用到函数说明:
MxLibDraw.drawBlockReference
绘制块引用对象。详细说明如下:
| 参数 | 说明 |
|---|---|
|
double dPosX |
插入点的X坐标 |
|
double dPosY |
插入点的Y坐标 |
|
String pszBlkName |
图块名 |
|
double dScale |
图块缩放比例 |
|
double dAng |
图块的旋转角度 |
代码实现说明:
MxFunction.newFile();
Log.e("isModifyed",MxFunction.isModifyed() ? "Y" : "N");
String sFileName = MxFunction.getWorkDir() + "/tree.dwg";
String sBlkName = "tree";
MxLibDraw.insertBlock(sFileName,sBlkName);
// drawBlockReference(double dPosX, double dPosY, String pszBlkName, double dScale, double dAng);
MxLibDraw.drawBlockReference(0,0,sBlkName,1,0);
MxFunction.zoomAll();
梦想CAD控件安卓参数绘图的更多相关文章
- 梦想CAD控件安卓交互绘图
在cad使用过程中,动态绘制的使用会使我们绘图速度大大加快.在此演示中,我们绘制了直线.多段线.点.样条线.圆.圆弧.椭圆.椭圆弧等实体. 用户可以在CAD控件视区任意位置绘制直线. 主要用到函数说明 ...
- 梦想CAD控件安卓界面控制
CAD控件界面上所有元素都可以控制显示或隐藏,下面将逐一介绍详细用法. 设置工具文件 MxFunction.setToolFile 设置工具文件.详细说明如下: 参数 说明 String sFile ...
- 梦想CAD控件安卓选择集
在本示例中将使用构造选择集对被过滤对象进行过滤,该类封装了选择集及其处理函数,支持如下过滤条件. 参数类型 类型 RTDXF0 TEXT 文字 MTEXT 多行文字 CIRCLE 圆 ARC 圆弧 L ...
- 梦想CAD控件安卓图层
新建图层 CAD中我们设置好图层后除了我们平常的绘图时选择线段的颜色,线型,线宽等作用,而且我们还可以在出图时选择性显示图形,冻结图形,已达到我们想要的效果. 实现代码说明: //增加一个图层 参数为 ...
- 梦想CAD控件安卓文字样式
增加文字样式 用户可以增加文字样式到数据库,并设置其字体等属性,具体实现代码如下: // 增加文字样式 //getCurrentDatabase()返回当前数据库对象 //getTextstyle() ...
- 梦想CAD控件安卓控件事件
MxDrawActivity.commandEvent 命令调用事件. 参数 说明 int iCommand 命令ID,这个ID用户自已来取的,只要多个命令ID不重复就可以 代码实现如下: publi ...
- 如何在网页中浏览和编辑DWG文件 梦想CAD控件
如何在网页中浏览和编辑DWG文件 梦想CAD控件 www.mxdraw.com 梦想绘图控件5.2 是国内最强,最专业的CAD开发组件(控件),不需要AutoCAD就能独立运行.控件使用VC 201 ...
- 梦想CAD控件图层COM接口知识点
梦想CAD控件图层COM接口知识点 一.新建图层 主要用到函数说明: _DMxDrawX::AddLayer 增加新的图层.详细说明如下: 参数 说明 BSTR pszName 图层名 c#中实现代码 ...
- 梦想CAD控件图块COM接口知识点
梦想CAD控件图块COM接口知识点 图块是将多个实体组合成一个整体,并给这个整体命名保存,在以后的图形编辑中图块就被视为一个实体.一个图块包括可见的实体如线.圆.圆弧以及可见或不可见的属性数据.图块的 ...
随机推荐
- react 引入 百度地图API
使用 Echarts 的地图的时候,发现报错,说 Bmap api is not loaded 百度地图API没有加载 乍一想,Echarts 用的也是 百度地图 啊,没有引入百度地图,还用个啥,当然 ...
- 美国诚实签经验——我们准备了XX万的存款,这足以应付我预算表中涉及的所有开支,如果有意外情况我们的资金不足以应付,我们双方的父母也会支援我们,绝对不会占用美国的任何福利
闲话少絮,直接分享本人诚实签的经验,希望对有此打算的朋友有帮助! 个人经验有限,经历仅供参考~~ 第一步:决定赴美生子. 第二步:选择诚实签. 第三步:填写DS160表格(网址https://ceac ...
- 获取view宽高
在oncreate()中利用view.getWidth()或是view.getHeiht()来获取view的宽和高,看似没有问题,其实他们去得值是0,并不是你想要的结果? 这是为什么呢? 在调用onc ...
- ZOJ3962 2017 E.Seven Segment Display
数码管从某个状态顺序转移N个状态 计算总共有多少个数码管被点亮 N<=10^9 观察数码管的变化规律,有明显的周期和重复,利用这个性质,计算相对于初始状态,某一位上的某个状态重复了多少次,就可以 ...
- 给网站添加免费Https SSL证书
基于阿里云的云盾证书服务,系统是centos6.8,web服务器是nginx1.8.0,简单记录下踩坑情况. 申请证书 登录阿里云控制台→安全(云盾)→证书服务→购买证书(https://common ...
- E20180115-hm
auxiliary adj. 辅助的; 备用的,补充的; 附加的; 副的; n. 助动词; 辅助者,辅助人员; 附属机构,附属团体; 辅助设备; departure ...
- bzoj 1642: [Usaco2007 Nov]Milking Time 挤奶时间【dp】
这不就是个n方dp吗--看了眼洛谷题解简直神仙打架 我全程没用到n-- 把休息时间并入产奶时间,注意"结束时间不挤奶",所以ei=ei+r-1,注意这个-1! 然后按r排序,设f[ ...
- 微服务下,使用ELK做日志收集及分析
一.使用背景 目前项目中,采用的是微服务框架,对于日志,采用的是logback的配置,每个微服务的日志,都是通过File的方式存储在部署的机器上,但是由于日志比较分散,想要检查各个微服务是否有报错信息 ...
- 再谈 webpack build 及 加载优化
之前项目多,事情忙,一直没时间写博客,现在空闲下来了,总结一下 之前讲过了关于 build 压缩文件的方法,有兴趣的可以看下: 点击查看 现在讲讲一个页面的首屏加载速度该如何提升 提前说明 需要 we ...
- Can't install '*' from pristine store, because no checksum is recorded for this file (SVN报错)
问题:同步.cleanup都会出现下面的提示 svn: E155017: Can't install '*' from pristine store, because no checksum is r ...