导出CAD文件的几种方法
1. 直接导入COM组件里的AutoCAD的dll。
private void Write(){a = new AcadApplicationClass();a.Visible = true;var p = a.ActiveDocument.ModelSpace;p.AddBox(new double[] { 0, 0, 0 }, 200, 200, 1);p.AddCircle(new double[] { 100, 100, 1 }, 100);var pts = VirtualPoints();for (int i = 0; i < pts.Count; i++){bool hasException;do{try{p.AddBox(new double[] { pts.ElementAt(i).X, pts.ElementAt(i).Y, 0 }, 10, 10, 1);hasException = false;}catch (System.Runtime.InteropServices.COMException e){if (e.ErrorCode == -2147418111){hasException = true;}else{throw;}}catch (Exception){throw;}} while (hasException);}if (a.ActiveDocument.Saved == false){a.ActiveDocument.SaveAs("F:\\Wafer_Sort\\image.dwg", AcSaveAsType.ac2018_dwg, null);}}
2. 利用netdxf的库进行开发。
public static void Main()
{// your DXF file namestring file = "sample.dxf";// create a new document, by default it will create an AutoCad2000 DXF versionDxfDocument doc = new DxfDocument();// an entityLine entity = new Line(new Vector2(5, 5), new Vector2(10, 5));// add your entities heredoc.Entities.Add(entity);// save to filedoc.Save(file);// this check is optional but recommended before loading a DXF fileDxfVersion dxfVersion = DxfDocument.CheckDxfFileVersion(file);// netDxf is only compatible with AutoCad2000 and higher DXF versionsif (dxfVersion < DxfVersion.AutoCad2000) return;// load fileDxfDocument loaded = DxfDocument.Load(file);
}
3. 收集资料得到(未尝试)
private void ExportCad(){using (Services svcs = new Services()){Database db = new Database();Circle cirl = new Circle();cirl.Center = new Point3d(100, 100, 0);cirl.Radius = 14;BlockTableRecord btr = (BlockTableRecord)db.CurrentSpaceId.Open(OpenMode.ForWrite);btr.AppendEntity(cirl);db.SaveAs("C:\\test.dwg", DwgVersion.Current);}}
4. 利用CAD二次开发。
第一种方式比较直接,但对版本号有要求。
第二种也是笔者采用的方法,比较简单,官网也有教程,通俗易懂。
第三种看似简单,但是找不到匹配的库,未采用。
第四种与我的需求不符,但是是最常用的方法,网上资料也最多。
导出CAD文件的几种方法相关推荐
- GIS开发进阶之路(十四) ArcEngine打开cad文件的五种方法、ArcGIS Engine错误码
ArcEngine打开cad文件的几种方法 方法一.通过遍历CAD数据集,依次加载中点线面注记等图层,所加载的数据均为一个独立的图层. IWorkspaceFactory pWorkspaceFact ...
- SAS导出EXCEL文件的几种方法
SAS学习 SAS导出EXCEL文件的几种方法 以下基于SAS 9.3简体中文版 一.proc export proc export data=a.dataname outfile='D:\excel ...
- 打开cad文件的几种方法
打开cad文件的几种方法 方法一.通过遍历CAD数据集,依次加载中点线面注记等图层,所加载的数据均为一个独立的图层. IWorkspaceFactory pWorkspaceFactory; IFea ...
- .NET CORE 2.1 导出excel文件的两种方法
最近在做 MVC 项目的时候遇到项目的导出,下面总结下两种导出到excel 的方法 第一种方法: 将文件写到本地,然后返回这个File 或者返回这个 File 的绝对地址 其中 _hostingE ...
- web导出excel文件的几种方法
KimmKing kimmking@163.com 2009年9月4日10:19:09 总的来说,两种方法:服务器端生成和浏览器端生成. 服务器端生成就是:根据用户请求,获取相应的数据,使用poi/j ...
- php原生导出excel文件的两种方法
第一种方法: $filename='文件名称';$filetitle='你的标题';if($_POST){set_time_limit(10000):$title = '';ini_set('memo ...
- ArcGis 打开CAD文件的几种方法
方法一. iworkspacefactory pworkspacefactory; ifeatureworkspace pfeatureworkspace; ifeaturelayer pfeatur ...
- oraclek导出表_Oracle导出DMP文件的两种方法
导出: 方法一:利用PL/SQL Developer工具导出: 菜单栏---->Tools---->Export Tables,如下图,设置相关参数即可: 方法二:利用cmd的操作命令导入 ...
- Oracle导出DMP文件的两种方法
导出: 方法一: 利用PL/SQL Developer工具导出: 菜单栏----> Tools---->Export Tables,如下图,设置相关参数即可: 方法二: 利用cmd的操作命 ...
最新文章
- 看到这儿,你就不会再轻易相信自己的眼睛
- 【 NLS 】Gauss-Netwon algorithm Iteration Procedure of TOA - Based Positioning
- 【测试】批量删除供应商配额(Quota )
- 3个月转行数据分析师,你需要掌握这些内容
- 使用对象存储应对勒索病毒
- [转]JavaScript:只能输入数字(IE、FF)
- mysql取消操作系统_Linux下的MySQL简单操作(服务启动与关闭、启动与关闭、查看版本)...
- 一会儿花雨停了的飞鸽传书
- 如何优雅地在 Linux 上运行 QQ、微信?
- linux安装perl模块
- miui linux桌面图标,小米主题编辑器(miui主题编辑工具)下载了最新的正式版v5.3.23...
- 基于MATLAB的数字水印技术实现解析
- 教你电脑休眠如何取消
- 下载美国气候数据中心地址
- 最后一天了(再见了)
- Asp.Net 上传图片并生成高清晰缩略图
- 怎么修复linux受损文件,Linux文件数据损坏的快速修复办法-文件或目录损坏且无法读取...
- 头歌Educoder——Java高级特性 - JDBC(上)
- vue本地的模糊匹配
- 【matlab矩阵运算】01、把矩阵展开成向量
热门文章
- Java容器类 Collection (set list queue)和map
- 12月更新!EasyOps全平台产品能力再升级,新增22+功能亮点解读~
- 异物堆积,导致手机Type-C接口充电不畅、无法充电的问题
- 1.【Windows图标点击无反应修复
- CSS3边框、颜色、伪选择器
- openvino只支持英特尔6代以上的cpu
- 苯四乙酸 cas1820793-31-4 齐岳中间体|单体材料
- java中的数据解析是_Java从网络中请求获取JSon数据以及解析JSON数据----(自创,请注明)...
- Halcon识别金属上的雕刻字符
- 【烈日炎炎战后端】Zookeeper(0.5万字)