实例11 绘制基本图形
除了可以获取CAD文件中的图形对象外,还可以通过程序在CAD中绘制图形,特别是对于一些重复、繁琐的操作使用程序设计可以很大程度上提高工作效率。在CAD中绘制图形主要通过AcadModelSpace接口来实现,通过该接口程序设计者可以通过程序语言在CAD中绘制线条、面、三维实体等。下面介绍一些常用绘图函数:
1、绘制直线
绘制直线主要通过ModelSpace的AddLine()方法来实现。添加一个按钮,设置其Name和Text属性都为“绘制直线”,为其Click事件添加代码如下:
private void 绘制直线_Click(object sender, EventArgs e)
{
Microsoft.VisualBasic.Interaction.AppActivate(AcadApp.Caption);
double[] startPoint = new double[3];
double[] endPoint = new double[3];
startPoint[0] = 0; startPoint[1] = 0; startPoint[2] = 0;
endPoint[0] = 100; endPoint[1] = 100; endPoint[2] = 0;
AcadDoc.ModelSpace.AddLine(startPoint, endPoint);
}
其中,startPoint和endPoint为一个长度为3的Double类型数组,分别表示直线的起点坐标和终点坐标。运行程序,其显示结果如下图所示:
2、添加文字
添加文字主要通过ModelSpace的AddLine()方法来实现。添加一个按钮,设置其Name和Text属性都为“添加文字”,为其Click事件添加代码如下:
private void 添加文字_Click(object sender, EventArgs e)
{
Microsoft.VisualBasic.Interaction.AppActivate(AcadApp.Caption);
string textString="Hello";
double[] textInsertPoint = new double[3];
double textHeight=2.0;
textInsertPoint[0] = 0; textInsertPoint[1] = 0; textInsertPoint[2] = 0;
AcadDoc.ModelSpace.AddText(textString, textInsertPoint, textHeight);
}
其中,textString表示要添加的文字内容,textInsertPoint为文字的插入点,textHeight为文字的高度。运行程序,其显示结果如下图所示:
3、绘制三维多段线
三维多段线在三维建模中应用非常多,有时候作为主要的结构线条表示,有时候作为辅助线条来建立其他模型。绘制三维多段线主要通过ModelSpace的Add3DPoly()方法来实现。下面以一个将多段线转换为三维多段线的例子来说明如何绘制三维多段线。首先添加一个按钮,设置其Name和Text属性都为“绘制三维多段线”,然后为其Click事件添加代码如下:
private void 绘制三维多段线_Click(object sender, EventArgs e)
{
handle01:
Microsoft.VisualBasic.Interaction.AppActivate(AcadApp.Caption);
object returnObj, pickPoint;
string pickPrompt = "选取Polyline对象!";
AcadDoc.Utility.GetEntity(out returnObj, out pickPoint, pickPrompt);
AcadObject returnCADObj = (AcadObject)returnObj;
if (returnCADObj.ObjectName != "AcDbPolyline") goto handle01;
AcadLWPolyline returnLWPolyline = (AcadLWPolyline)returnCADObj;
if (!returnLWPolyline.Closed)
{
MessageBox.Show("选取的多段线没有闭合!");
goto handle01;
}
Double[] LWPolylineCoords, create3DPolyCoords;
LWPolylineCoords = (Double[])returnLWPolyline.Coordinates;
int i;
create3DPolyCoords = new Double[3 * LWPolylineCoords.Length / 2];
for (i = 0; i < LWPolylineCoords.Length / 2; i++)
{
create3DPolyCoords[3 * i] = LWPolylineCoords[2 * i];
create3DPolyCoords[3 * i + 1] = LWPolylineCoords[2 * i + 1];
create3DPolyCoords[3 * i + 2] = 0;
}
AcadDoc.ModelSpace.Add3DPoly(create3DPolyCoords);
}
其中,Add3DPoly()方法绘制三维多段线要求其参数为长度为3*n的double数组。运行程序,其显示结果如下图所示:
添加其他图形的方式和前面介绍的基本上一样,只需要设置所对应函数的相应参数即可,在此就不一一介绍了。
分享到:
相关推荐
全书包括基础篇和应用篇两部分,其中基础篇主要介绍AutoCAD 开发中常见的图形对象获取、图形绘制、图形编辑等实例,应用篇主要结合实际工程问题、基于数学理论知识、采用程序设计来解决这些问题。 本书内容深入浅出...
C#.net开发AutoCAD插件实例源码
实例11 绘制基本图形 27 1、绘制直线 27 2、添加文字 27 3、绘制三维多段线 28 实例12 编辑对象 30 1、复制对象 30 2、删除对象 30 3、旋转对象 30 4、缩放对象 32 5、移动对象 34 实例13 图层对象 37 1、添加新图层...
料等,主要介绍如何采用Visual C# 语言对DirectX进行三维图形开发。本文 共分十六章,以“由易到难、由简单到复杂”为主线,以介绍DirectX 开发方 法为主,并穿插介绍相关的计算机三维图形知识等。
本文结合计算机三维图形学和DirectX的开发帮助,并参考国内外关于DirectX开发的书籍和网站资料等,主要介绍如何采用Visual C# 语言对DirectX进行三维图形开发。本文共分十六章,以“由易到难、由简单到复杂”为主线...
基于Visual C#的DirectX开发实例,教程,程序等大全
全书包括基础篇和应用篇两部分,其中基础篇主要介绍 AutoCAD 开发中常见的图形对象获取、图形绘制、图形编辑等实例,应用篇主要结合实际工程问题、基于数学理论知识、采用程序设计来解决这些问题。本书内容深入浅出...
Visual C# .NET 编程经典——从VB6到Visual C# .NET 快速进阶
Visual C++开发GIS系统——开发实例剖析
本书以实例形式介绍采用 Visual C#语言对AutoCAD 进行二次开发的技术。全书包括基础篇 和应用篇两部分,其中基础篇主要介绍AutoCAD 开发中常见的图形对象获取、图形绘制、图形编 辑等实例,应用篇主要结合实际工程...
书第1,2章分别介绍了使用Visual C#和SQL Server开发数据库应用程序的基本知识,第3章~第10章,通过开发8个完整实用的数据库应用程序,系统全面地介绍了用Visual C#和SQL Server来进行数据库应用程序开发的各种技术...
《Visual C++项目开发指南——定制自己的Photoshop》 PDG格式电子书完整版 本书以实现“我的Photoshop”项目的开发过程贯穿始终,通过大量实例,深入浅出地介绍了许多Visual C++ 6.0的编程技术及项目管理方法。所讲...
vc开发GIS矢量图形系统——开发实例剖析 vc电子教程下载
Visual C#图像处理程序设计实例
Visual C#+SQL Server数据库开发与实例光盘第十章节 本书第1,2章分别介绍了使用Visual C#和SQL Server开发数据库应用程序的基本知识,第3章~第10章,通过开发8个完整实用的数据库应用程序,系统全面地介绍了用...
实例105 如何 实现图形绘制拉伸效果 实例106 如何控制图像的显示方式 实例107 如何控制图像的显示质量 实例108 如何绘制渐变色背景 实例109 如何绘制颜色散射图形 实例110 如何复制粘贴图像 实例111 如何转换图像...
Visual C#图形程序设计实例 pdf格式
Visual C#+SQL Server数据库开发与实例光盘第十一章节 本书第1,2章分别介绍了使用Visual C#和SQL Server开发数据库应用程序的基本知识,第3章~第10章,通过开发8个完整实用的数据库应用程序,系统全面地介绍了用...
《Visual C++开发GIS系统——开发实例剖析》附书源代码.zip