CAD二次开发总结
- 格式:ppt
- 大小:1.11 MB
- 文档页数:88


cad二次开发saveas用法
CAD二次开发中的SaveAs方法是用于将当前CAD文档保存为其他格式的方法,它允许开发人员在自己的应用程序中实现将CAD文件保存成不同格式的功能。下面是关于CAD二次开发SaveAs方法的详细讲解。
1. 使用SaveAs方法
SaveAs方法是CAD二次开发中常用的一个方法,它可以将当前CAD文档保存为其他格式的文件。一般使用该方法需要准备以下参数:
-文件路径:指定保存文件的路径和名称,文件名的后缀决定了保存文件的格式。
-文件格式:指定保存文件的格式,如DWG、DXF、DGN等。
-保存选项:可以设置一些保存选项,如是否保存预览图、是否进行版本转换等。
SaveAs方法的使用步骤如下:
1.获取当前CAD文档的对象。
2. 调用文档对象的SaveAs方法,并传递文件路径、文件格式和保存选项等参数。
示例代码如下:
```csharp
Document doc = Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database; //设置文件保存路径和格式
string filePath = "C:\\temp\\example.dwg";
string fileFormat = "DWG";
//设置保存选项
DwgVersion version = DwgVersion.Current;
// 调用SaveAs方法保存文件
db.SaveAs(filePath, version);
```
2.支持的文件格式
CAD软件支持多种不同的文件格式,SaveAs方法也能够将CAD文档保存成各种格式的文件。以下是一些常见的CAD文件格式:
- DWG:AutoCAD的原生文件格式,保存时兼容性好,可以在多个CAD软件中打开。
- DXF:AutoCAD绘图交换格式,用于与其他CAD软件之间进行文件交换。
大家知道什么是宏吗?
说白它就是VBA过程。
看下面的代码:
Public Sub MacroDemo()
MsgBox "Hello,Welcome to AutoCAD VBA!"
End Sub
这就是宏。
打开CAD输入命令vbaide回车会出现VBA的编辑界面,双击ThisDrawing在右侧的代码区输入上面的代码。如下图:
然后按F5键会出现宏窗口,如下图:
点击运行,大家看到什么?
这就是一个最简单的一个用VBA对CAD进行二次开发的程序,也就是宏
那什么是VBA呢?VBA就是VB的一个子集它的全称是Visual Basic For Application,它具有VB的大部分功能。
既然我们选择了VBA,我们首先要知道VBA能操作CAD里的哪些对象呢?
打开VBAIDE窗口按下F2键会出现对象浏览器。如下图
库选择AutoCAD,这时下面显示的就是CAD为VBA提供的可操作的对象的类了。
这时有的人因没有基础,所以还是一头雾水,别怕,选中一个类图标后按F1,这时会弹出AutoCAD ActiveX
and VBA Reference,选择最上面的一个子项Object Model(对象模型),这个就是在CAD里那些对象的关系,如下图:
如果英文不好的话,可以安装CAD2000,它的这个部分是中文的。为想学好VBA二次开发这个是必需的,而且VBA对Office的二次开发也是这样的。
这个在编程界叫做Active X,包括Active X控件、Active X DLL、和Active X EXE
就好比一个程序为其它程序提供的一个后门一样
下面我就给大家讲一下菜单吧。
因为我们用到的其它公司做CAD二次开发的插件,从直观上首先接触的就是它的菜单,刚开始用的时候就是从它的菜单开始接触的。
我经常用到的做菜单的方法有两种,一种是用CAD的菜单文件,另一种就是用VBA代码直接长成菜单。
AcDbObjectId objId; //my : AcDbObjectId是一个典型的C++类,每一个ACAD对象都会分配一个唯一的ID号,用于查询等操作,ACAD图形本质是数据库,一个ACAD对象对应一条数据库记录,ID号相当于记录的索引或主键。
ads_name ss;
AcDbObjectIdArray objIds;
指向成员操作符。要求是对象是指针。
比如你有一个类,叫CClass,则:
CClass *pt = new CClass;
pt->func();
->运算符的左边必须是一个指针,右边必须是左边的指针指向的类中的成员。
acedSSGet()函数用法详解
大多数ObjectARX函数在处理选择集和实体时,都用名字来识别选择集或实体,该名字用一个长整型对来表示的,并对AutoCAD来维护。在ObjectARX中,该名字的类型为ads_name。
在对选择集或实体进行操作之前,ObjectARX应用程序必须通过调用一个返回其名字的库函数来得到选择集或实体名字。
注意:选择集和实体的名字是不稳定的,它们仅仅在AutoCAD当前图形工作时有效。如果从AutoCAD退出或切换到另一个图形时其值就会丢失。
对于选择集来说,它也是与当前图有关联的,所以其名字的不稳定性不会影响选择集。但是对于实体就不一样了,因为它是被存放在图形数据库中的,名字的不稳定性要影响到对实体的操作。应用程序必须在下一次对同一图文件中的同一实体进行操作,可以使用实体句柄,重新获取其实体名。
选择集的处理
ObjectARX函数对选择集的处理类似于AutoLISP。acedSSGet()函数提供大多数创建选择集方法。它一般通过以下三种方法之一创建选择集:
(1)提供让用户选择对象。
(2)象交互式应用AutoCAD一样,利用RICKFIRST定义、Crossing、Crossing Polygon、Fence、Last、Previous、Window、Window Polygon等匹配条件的方式来选择实体对象,也可以通过指定一个单独点或Fence点来选择。
CAD二次开发:SaveAs用法
1. 什么是CAD二次开发?
CAD(计算机辅助设计)是一种通过计算机软件辅助进行各种设计和绘图工作的技术。CAD软件通常提供了一系列的功能和工具,但有时候用户需要根据自身需求进行定制化开发,以满足特定的设计要求。这就是CAD二次开发。
CAD二次开发允许用户使用编程语言(如C++, C#, Python等)来扩展或修改现有的CAD软件功能,或者创建全新的插件、应用程序。通过CAD二次开发,用户可以提高工作效率、简化复杂任务、实现自动化流程等。
2. SaveAs方法的作用
SaveAs方法是CAD软件中常用的一个功能,它可以将当前打开的文档保存为另一种格式或者另一个文件名。SaveAs方法在CAD二次开发中非常重要,因为它可以帮助用户实现批量处理、格式转换、文件归档等操作。
3. SaveAs方法的使用
在进行CAD二次开发时,我们需要了解具体的SaveAs方法使用方式和参数设置。下面以AutoCAD为例介绍SaveAs方法在C#编程中的使用:
Document doc = Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
// 获取当前文档的文件名和路径
string currentFileName = ;
string currentFilePath = doc.Path;
// 构造保存的文件名和路径
string newFileName = "NewFile.dwg";
string newFilePath = "C:\\NewFolder\\";
// 拼接完整的保存路径
string saveAsPath = bine(newFilePath, newFileName);
// 设置保存参数
DwgVersion saveAsVersion = DwgVersion.Current;