在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控件安卓参数绘图的更多相关文章

  1. 梦想CAD控件安卓交互绘图

    在cad使用过程中,动态绘制的使用会使我们绘图速度大大加快.在此演示中,我们绘制了直线.多段线.点.样条线.圆.圆弧.椭圆.椭圆弧等实体. 用户可以在CAD控件视区任意位置绘制直线. 主要用到函数说明 ...

  2. 梦想CAD控件安卓界面控制

    CAD控件界面上所有元素都可以控制显示或隐藏,下面将逐一介绍详细用法. 设置工具文件 MxFunction.setToolFile 设置工具文件.详细说明如下: 参数 说明 String sFile ...

  3. 梦想CAD控件安卓选择集

    在本示例中将使用构造选择集对被过滤对象进行过滤,该类封装了选择集及其处理函数,支持如下过滤条件. 参数类型 类型 RTDXF0 TEXT 文字 MTEXT 多行文字 CIRCLE 圆 ARC 圆弧 L ...

  4. 梦想CAD控件安卓图层

    新建图层 CAD中我们设置好图层后除了我们平常的绘图时选择线段的颜色,线型,线宽等作用,而且我们还可以在出图时选择性显示图形,冻结图形,已达到我们想要的效果. 实现代码说明: //增加一个图层 参数为 ...

  5. 梦想CAD控件安卓文字样式

    增加文字样式 用户可以增加文字样式到数据库,并设置其字体等属性,具体实现代码如下: // 增加文字样式 //getCurrentDatabase()返回当前数据库对象 //getTextstyle() ...

  6. 梦想CAD控件安卓控件事件

    MxDrawActivity.commandEvent 命令调用事件. 参数 说明 int iCommand 命令ID,这个ID用户自已来取的,只要多个命令ID不重复就可以 代码实现如下: publi ...

  7. 如何在网页中浏览和编辑DWG文件 梦想CAD控件

    如何在网页中浏览和编辑DWG文件 梦想CAD控件 www.mxdraw.com 梦想绘图控件5.2  是国内最强,最专业的CAD开发组件(控件),不需要AutoCAD就能独立运行.控件使用VC 201 ...

  8. 梦想CAD控件图层COM接口知识点

    梦想CAD控件图层COM接口知识点 一.新建图层 主要用到函数说明: _DMxDrawX::AddLayer 增加新的图层.详细说明如下: 参数 说明 BSTR pszName 图层名 c#中实现代码 ...

  9. 梦想CAD控件图块COM接口知识点

    梦想CAD控件图块COM接口知识点 图块是将多个实体组合成一个整体,并给这个整体命名保存,在以后的图形编辑中图块就被视为一个实体.一个图块包括可见的实体如线.圆.圆弧以及可见或不可见的属性数据.图块的 ...

随机推荐

  1. cocos2d-x 3.3 之卡牌设计 NO.4 定时器的使用(清理内存)

    我的卡牌游戏卡牌有两个类.各自是OpenCard和CardSprite. 不知道分成两个是不是有些奇怪.我分开的原因是:一个卡牌用来当手牌,一个用来当场上的牌,这样说是不是更加奇怪了.. 玩家类里定义 ...

  2. iOS动画案例(1) 仿qq账号信息里的一个动画

       受人所托,模仿qq账号信息里的一个动画,感觉挺有意思,也没感觉有多难,就开始做了,结果才发现学的数学知识都还给体育老师了,研究了大半天才做出来.    先看一下动画效果:   用到的知识点: ( ...

  3. ubuntu12.04安装NVIDIA显卡驱动和CUDA

    1.安装显卡驱动 vim /etc/modprobe.d/blacklist.conf #编辑该文件 blacklist nouveau #行末添加,禁用原来的显卡驱动 apt-get install ...

  4. c#生成AVI自动设置压缩格式,不调用AVISaveOptions

    工作中遇到生成AVI视频的项目,代码中会调用AVISaveOptions来设置压缩格式,针对单个文件还好说,但是批量生成视频的时候,每一个都要设置格式, 体验不是很好,经过查询资料问题得到解决 最开始 ...

  5. overwrite 复制

    [root@myv xiaole_dl_img]# cp upfc/mainDEBUGmysqllogTEST.py online_package_test_/tmp/ cp: overwrite ‘ ...

  6. java7-Fork/Join

    Fork/Join 框架与传统线程池的区别采用“工作窃取”模式(work-stealing):当执行新的任务时它可以将其拆分分成更小的任务执行,并将小任务加到线程队列中,然后再从一个随机线程的队列中偷 ...

  7. C#计算运行时间

    using System.Diagnostics; private Stopwatch stw = new Stopwatch(); stw.Start(); stw.Stop(); MessageB ...

  8. 嵌入式Linux系统---ppp拨号,4G模块上网【转】

    本文转载自:http://blog.csdn.net/qq562029186/article/details/65438553 4G模块PPP拨号上网 方法1 所需文件: xxx-chat-conne ...

  9. iOS:界面适配(二)--iPhone/iPad适配(关于xib)

    本文纯属个人看法,强迫症后遗症 版本:xcode 6.0 + iOS SDK 8.0 讨论范围:控制器的view(创建VC时自带的xib) ------------------------------ ...

  10. SYSUCPC2017 1007 Tutu’s Array II

    题目大意:有A个0和B个1,每次取两个出来进行{XNOR,NAND,NOR}操作生成一个新的0/1,直到只剩一个元素.问最后是否可能剩下一个0,是否可能剩下一个1. XNOR 比较特殊 a XNOR ...