AutoCAD二次开发
Leonard_Spark
这个作者很懒,什么都没留下…
展开
-
AutoCAD二次开发之删除图层及图层上所有的实体
可以通过调用如下方法进行删除 static public void EraseLayer(Document doc, Database db,List<string> listStrLayerName) { using (Transaction tr=db.TransactionManager.StartTransaction()) { //open layertable原创 2021-04-28 16:04:06 · 1250 阅读 · 0 评论 -
AutoCAD C# 二次开发项目----批量替换块(5)
3. vbs捏合所有,实现一键替换一般来说,accoreconsole.exe位于AutoCAD的安装目录,因为本工具有可能会给不同的人员使用,有可能有的人使用AutoCAD2016,有的人使用AutoCAD2018,这样一来,即使默认AutoCAD都安装在C盘,路径也会不一样,所以,首先用vbs弹出一个输入框,由使用这输入AutoCAD版本,以方便找到accoreconsole.exe.另外,为了确保BatchCAD.scr不被其他人修改,我用vbs自动生成一个BatchCAD.scr.然后,此vb原创 2021-04-17 21:34:49 · 941 阅读 · 1 评论 -
AutoCAD C# 二次开发项目----批量替换块(4)
2.SCR文件的创建SCR文件是AutoCAD的命令脚本,可以组合各种命令,然后交由AutoCAD进行批处理执行。为了达到我这个项目的目的,我的这个SCR文件比较简单,创建一个BatchCAD.SCR文件,然后用记事本打开,添加如下代码;不保存bak文件ISAVEBAK 0;不接收命令反馈cmdecho 0;安全加载级别将至0SECURELOAD0;使用netload加载我之前开发的dllnetload"C:\Users\Admin\Desktop\File\CADSmart.dll原创 2021-04-17 21:07:52 · 745 阅读 · 0 评论 -
AutoCAD C# 二次开发项目----批量替换块(3)
三、AutoCAD Command命令的开发遵守AutoCAD的规范,并调用前面开发两个静态函数,在CADSmart.cs中添加如下代码: [CommandMethod("SmartReplaceBlock")] public void SmartReplaceBlock() { Database db = HostApplicationServices.WorkingDatabase; string sPat原创 2021-04-17 20:47:15 · 682 阅读 · 0 评论 -
AutoCAD C# 二次开发项目----批量替换块(2)
项目总体规划考虑到项目需求,决定采用AutoCAD中的Accoreconsole.exe+.Net Dll来实现,对Accoreconsole不太了解的同学可以自行百度,总之一句话,要想高效的批量处理dwg文件,这个AutoCAD控制台是必须要了解的。对AutoCAD进行批量处理,以愚人之见,就是如下三个步骤:用C#开发.net DLL程序,生成所有需要的AutoCAD命令(Command)。编写SCR指令文件,在SCR中使用netload加载以上DLL并处理需要的AutoCAD命令(Comman原创 2021-04-17 20:31:52 · 1824 阅读 · 0 评论 -
AutoCAD C# 二次开发项目----批量替换块(1)
项目描述本项目主要目的是解决工作中遇到的一个实际问题,代码可能很ugly,但是以实用为目的,本文对整个实现过程进行详细总结,希望能对有类似需求的朋友提供一个参考。本项目主要需要实现如下功能:可能有很多份AutoCAD .dwg图纸,希望替换这些图纸中的所有块参照(Block Reference),并保留原块中的某些属性,当然,要对块的具体形式进行判断。不用打开每份CAD图纸实现一键进行批量替换。为了更清晰的说明,特上传如下图片,很多份.dwg图纸中都包含类似如下的块参照(Block Refere原创 2021-04-17 19:18:31 · 1517 阅读 · 0 评论