1AUTOCAD二次开发C#系列
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AutoCAD二次开发C#系列(1)--AutoCAD对象基础
刚发了开篇,就有人提出了不少意见,首先声明,我也才接触不久,不是专家,仅供学习交流之用.错误之处请见谅,并指出.
一.AutoCAD对象分为:
1.图形对象,例如直线(Lines),球体(Sphere),文本(Text)和尺寸(Dimensions)
2.样式设置对象,例如线型(Linetypes)和尺寸标注样式(DimStyles)等.
3.组织结构,例如图层(Layers)和组(Groups)和块(Blocks)等.
4.图形显示对象,例如视图(View)和视口(Viewport)等.
5.AutoCAD应用程序(Application)和文档(Document).
其中最上面一层是AutoCAD应用程序对象,是对象模型的基础,称为根对象.各个对象之间的层次关系将在以后的章节中得到体现,下面介绍AutoCAD对象的创建以及图形文件的一般操作.
二.图形文件的使用(简单的不做详细介绍)
1.创建新图形文件:
AcadApplication app=new AcadApplication();
AcadDocument doc=app.ActiveDocument;
2.打开已有图形文件,使用Documents对象的Open方法:
public CADHelper(string filepath)
{
if(!File.Exists(filepath))
throw new Exception("文件不存在!");
app=new AcadApplication();
app.Visible=true;
doc=app.Documents.Open(filepath,Type.Missing,Type.Missing);
}//C#中默认的参数使用Type.Missing代替.
3.保存图形文件,使用ActiveDocument的Save和SaveAs方法:
app.ActiveDocument.Save();和
app.ActiveDocument.SaveAs("f:/CAD/Mydwg.dwg",Type.Missing,Type.Missing);
4.导入(Import)导出(Export)文件.
object.Import(FileName,InsertionPoint,ScaleFactor)
FileName:导入文件名
InsertionPoint:导入文件插入点坐标
ScaleFactor:导入文件缩放系数
如:double[]insertPoint=new double[3];
insertPoint[0]=100;insertPoint[1]=100;insertPoint[2]=0;
app.ActiveDocument.Import("D:/abc.dxf",insertPoint,2);
object.Export(FileName,Extension,SelectionSet)
FileName:导出文件名
Extension:导出文件扩展名(限于WMF,SAT,EPS,DXF)
SelectionSet:选择集对象
如:AcadSelectionSet sset=app.ActiveDocument.SelectionSets.Add("s"); app.ActiveDocument.Export("D:\abc.Ext","BMP",sset);
5.应用程序的关闭和释放
app.Documents.Close();
app.Quit();
if(app!=null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
app=null;
}
GC.Collect();