`
yuanlanxiaup
  • 浏览: 857484 次
文章分类
社区版块
存档分类
最新评论

基于Visual C#的AutoCAD开发——实例4 多段线对象

 
阅读更多

实例4 多段线对象

1、获取多段线节点坐标

获取多段线节点坐标主要是通过AcadLWPolyline对象的Coordinates属性获取。添加一个按钮,设置其NameText属性都为“获取多段线节点坐标”,同时添加一个RichTextBox控件,设置其name为“ResultInfo”。为“获取多段线节点坐标”按钮的Click事件添加如下代码:

private void 获取多段线节点坐标_Click(object sender, EventArgs e)

{

handle01:

Microsoft.VisualBasic.Interaction.AppActivate(AcadApp.Caption);

object returnObj, pickPoint;

string pickPrompt = "选取多段线!";

AcadDoc.Utility.GetEntity(out returnObj, out pickPoint, pickPrompt);

AcadObject returnCADObj = (AcadObject)returnObj;

if (returnCADObj.ObjectName == "AcDbPolyline")

{

AcadLWPolyline returnPolyLine = (AcadLWPolyline)returnCADObj;

double[] polyLinePoint;

polyLinePoint = (Double[])returnPolyLine.Coordinates;

int i, pointCount = polyLinePoint.Length / 2;

string showInfo="";

for (i = 0; i < polyLinePoint.Length-1; i = i + 2)

{

showInfo += polyLinePoint[i].ToString() + "," + polyLinePoint[i+1].ToString() + "/n";

}

showInfo += "标高为:" + returnPolyLine.Elevation.ToString();

ResultInfo.Text = showInfo;

}

else

{

MessageBox.Show("选择的不是多段线!请重新选择!");

goto handle01;

}

Microsoft.VisualBasic.Interaction.AppActivate(this.Text);

}

其中,polyLinePoin为获取到的坐标点数组,polyLinePoint.Length表示数组的长度。由于Polyline中所有节点都在一个平面上,AcadLWPolylineCoordinates属性中只是包含节点的两个坐标(X坐标和Y坐标),Z坐标通过Elevation属性来获得,所以节点个数pointCount = polyLinePoint.Length/2

运行程序,其显示结果如下图所示:

2、其他常用属性和方法

和直线对象一样,若需要删除该直线对象,通过对象的Delete()方法即可完成。其常用的属性和方法如下表所示:

属性

说明

方法

说明

Area

多段线所包围范围的面积

Delete()

删除多段线

Closed

是否闭合

Explode()

分解多段线

ConstantWidth

全局宽度

get_Coordinate(Index)

获取多段线中指定点的坐标

Coordinates

节点坐标

GetBoundingBox(MinPoint,MaxPoint)

获取多段线包围盒的最大坐标和最小坐标位置

Document

所在的CAD文档

Highlight(bool)

是否高亮显示

Layer

所在图层

IntersectWith(IntersectObject,option)

与其他图形对象相交操作

Length

长度

Move(FromPoint,ToPoint)

移动多段线

Normal

多段线所在面的法线

set_Coordinate(Index,pVal)

设置指定节点的坐标

Visible

是否可见

Rotate(BasePoint,RotationAngle)

根据基点击角度旋转多段线

分享到:
评论

相关推荐

    《基于Visual C#的AutoCAD开发及其在工程中的应用》

    本书以实例形式介绍采用 Visual C#语言对AutoCAD 进行二次开发的技术。全书包括基础篇和应用篇两部分,其中基础篇主要介绍AutoCAD 开发中常见的图形对象获取、图形绘制、图形编辑等实例,应用篇主要结合实际工程问题...

    C#.net开发AutoCAD插件实例源码

    C#.net开发AutoCAD插件实例源码

    基于Visual C#的AutoCAD开发及其在工程中的应用

    实例4 多段线对象 9 1、获取多段线节点坐标 9 2、其他常用属性和方法 10 实例5 获取三维多段线节点坐标 11 实例6 获取点的坐标 13 实例7 获取块的插入点 14 实例8 获取文字插入点及内容 15 实例9 获取样条曲线的控制...

    [肖泽飞] 基于Visual C# 的AutoCAD开发及其在工程中... (1)

    本书以实例形式介绍采用 Visual C#语言对 AutoCAD 进行二次开发的技术。全书包括基础篇和应用篇两部分,其中基础篇主要介绍 AutoCAD 开发中常见的图形对象获取、图形绘制、图形编辑等实例,应用篇主要结合实际工程...

    AUTOCAD C#二次开发

    本书以实例形式介绍采用 Visual C#语言对AutoCAD 进行二次开发的技术。全书包括基础篇 和应用篇两部分,其中基础篇主要介绍AutoCAD 开发中常见的图形对象获取、图形绘制、图形编 辑等实例,应用篇主要结合实际工程...

    AutoCAD VBA&amp;VB;.NET开发基础与实例教程

    .NET开发基础与实例教程代码,主要内容包括AutoCAD .NET API介绍、使用AutoCAD .NET API控制AutoCAD工作环境、创建及编辑AutoCAD实体、创建和编辑尺寸标注、3D图形处理、定义打印布局、打印输出、处理AutoCAD事件,...

    AutoCAD.net多本教程及开发示例工程.zip

    基于Visual C#的AutoCAD 开发及其在工程中的应用,基于-NET的AutoCAD二次开发实例,AutoCAD .net开发人员手册中文版,02-AutoCAD+NET开发教程,自动加载程序集源码工程,开源工程等示例工程

    GIS算法c#源码:图形绘制、栅格化等

    c# GIS算法实验系统源码实例,包括图形绘制,点选多边形,点选多段线,求多边形面积,矢量线的栅格化,矢量多边形的区域填充,点的绘制,框选点要素,通过点集构建Delaunay三角网,道格拉斯压缩, Z填充曲线的生成,...

    2009.6.19—30举办3S研讨会暨Google Earth与Google Map等仿真建模与共享及ARCGIS与遥感高级程序员培训班

    模型库建立建模工具可以采用目前流行的工具建模软件应用,如3Dmax6.0、LightScape3.0、maya、AutoCAD2004设计开发;模型库管理与系统集成; 3)三维数字城市系统设计与开发以及基于OpenGL开发; 4)基于MultiGen ...

    2018 猎豹网校 教程大全 资源难找赶紧保存吧

    AutoCAD 快速入门到精通[MP4] ASP.NET 中级教程[MP4] ASP.NET 高级教程[MP4] ASP.NET 初级教程[MP4] ASP.NET MVC 开发实战[MP4] ASP 经典教程[MP4] 51单片机快速入门[MP4] 3D数学基础图形与游戏开发[MP4] 3...

    JAVASCRIPT从入门到精通

    ROM光盘1张)》, 《ASP.NET4.0从入门到精通(视频实战版)(附DVD-ROM光盘1张)》, 《Oracle从入门到精通(视频实战版)(附DVD-ROM光盘1张)》, 《外行学电脑从入门到精通(视频讲解+图解+技巧)(附光盘1张)》, 《AutoCAD 2011...

Global site tag (gtag.js) - Google Analytics