在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. 浅谈MySQL load data local infile细节 -- 从源码层面

    相信大伙对mysql的load data local infile并不陌生,今天来巩固一下这里面隐藏的一些细节,对于想自己动手开发一个mysql客户端有哪些点需要注意的呢? 首先,了解一下流程: 3个 ...

  2. 【版本号公布】Jeecg-P3 1.0 公布,J2EE微服务框架(插件开发)

    JEECG-P3 1.0 公布了! JEECG-P3 1.0是一个J2EE微服务框架(插件开发). 特点:业务组件以JAR方式提供,插件模式.松耦合.可插拔.支持独立部署,也能够无缝集成Jeecg平台 ...

  3. android application类简单介绍(一)

    每次应用程序执行时.应用程序的application类保持实例化的状态. 通过扩展applicaiton类,能够完毕下面3项工作: 1.对android执行时广播的应用程序级事件如低低内做出响应. 2 ...

  4. 对json的爱恨情仇

    本文回想了对json的爱恨情仇. C++有风险,使用需慎重. 本文相关代码在:http://download.csdn.net/detail/baihacker/7862785 当中的測试数据不在里面 ...

  5. 数据结构 - 希尔排序(Shell's Sort) 具体解释 及 代码(C++)

    数据结构 - 希尔排序(Shell's Sort) 具体解释 及 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/2 ...

  6. git ignore的一些技巧

    当想要ignore的部分已经纳入版本控制的时候,可以使用 git rm --cache -rf cache 来强制ignore

  7. HDU 4070 + 赤裸裸的贪心~~

    J - Phage War Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Phage ...

  8. 实现SpringBoot登录

    SpringBoot登录 https://www.cnblogs.com/jiekzou/p/9303871.html 通过前面10篇文章的学习,相信我们对SpringBoot已经有了一些了解,那么如 ...

  9. [Codeforces 460C] Present

    [题目链接] https://codeforces.com/contest/460/problem/C [算法] 二分 + 贪心 要求最小值最大 , 我们不妨二分最小值 , 若一盆花的高度小于二分的值 ...

  10. bzoj 1594: [Usaco2008 Jan]猜数游戏【二分+线段树】

    写错一个符号多调一小时系列-- 二分答案,然后判断这个二分区间是否合法: 先按值从大到小排序,然后对于值相同的一些区间,如果没有交集则不合法:否则把并集在线段树上打上标记,然后值小于这个值的区间们,如 ...