在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. C语言之基本算法21—可逆素数

    /* ================================================================== 题目:可逆素数是指一个数是素数,逆序后还是素数,如ABC是素 ...

  2. Python正則表達式小结(1)

    学习一段python正則表達式了, 对match.search.findall.finditer等函数作一小结  以下以一段网页为例,用python正則表達式作一个范例: strHtml = '''& ...

  3. 纯css3实现美化复选框和手风琴效果(详细)

    关键技术点和原理: 原理就是把 checkbox或 radio 给隐藏掉   ,然后给选框 绑定一个label标签. 然后用label标签作为容器,在里面放一个:before或一个after 用bef ...

  4. Linux/Android——input系统之 kernel层 与 frameworks层交互 (五)【转】

    本文转载自:http://blog.csdn.net/jscese/article/details/42291149 之前的四篇博文记录的都是linux中的input体系相关的东西,最底层以我调试的u ...

  5. 【前端】jQuery的animate在火狐浏览器上不支持backgroundPosition的解决方法

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/4375678.html jQuery的animate是一个非常好用的东东,但某些动画效果支持得不够好,比如back ...

  6. bzoj4237 稻草人——分治

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4237 分治: 先把所有点按 y 排序,然后二分递归: 对于每个 mid ,计算经过它的矩形的 ...

  7. 模块化编程:AMD规范

    目前,通行的Javascript模块规范共有两种:ComonJS和AMD. CommonJS node.js的模块系统,就是参照CommonJS规范实现的.在ConmonJS中,有一个全局方法requ ...

  8. 将数据从数据仓库Hive导入到MySQL

    1.启动Hadoop,hive,mysql 2.在mysql中建表(需要导入数据的) mysql> CREATE TABLE `dbtaobao`.`user_log` (`user_id` v ...

  9. 【168】ENVI入门系列

    参考:ENVI-IDL中国的博客 [ENVI入门系列]01.ENVI产品简介与入门 [ENVI入门系列]02.自定义坐标系(北京54.西安80.2000坐标系) [ENVI入门系列]03.基于自带定位 ...

  10. Quartz定时调度jar包的执行Demo分享

    1.Quartz简介 ​ Quartz框架的核心是调度器.调度器负责管理Quartz应用运行时环境.调度器不是靠自己做所有的工作,而是依赖框架内一些非常重要的部件.Quartz不仅仅是线程和线程管理. ...