Tag: autocad

如何解析AutoCAD MText实体并将其转换为原始文本?

我想解析AutoCAD的MText实体并提取原始文本。 我看到文本格式化的模式。 如果这已经解决了,那么我就不需要重新发明轮子了。 我在线搜索过,但没有找到足够的信息。 我正在搜索有关此主题的任何链接或参考。 编辑: 为了进一步说明,我们使用ODA(开放式设计联盟)库来访问DWG文件。 我不熟悉这个库。 另一位开发人员正在使用该库并从文件中提取信息,包括MText实体。 然后我提供了一个包含MText文本的文件,这正是我所看到的。 我正在查看MText格式的文本,我可以访问并使用C#。 问题: 我问其他开发人员ODA库是否提供了一种提取未格式化原始文本的方法。 他的回答是,它可能会导致实体被写回DWG文件。 我对原始文本感兴趣而不影响原始DWG文件。 ODA是否提供了一种在不改变文件的情况下提取原始文本的方法? 我对MText的格式化规则的任何文档感兴趣,因此我可以考虑在必要时自己编写解析器。 有没有什么可以将MText转换为RTF? 我意识到RTF不会完全满足所有格式规则,但这可以提供一种在WinForms应用程序中显示格式化文本的令人满意的方法。 鉴于RTF,我也可以获得原始文本。

是否可以使用Autodesk.AutoCAD.Interop在AutoCAD中编辑块属性?

我开发了一个外部WPF应用程序来生成c#中的绘图。 我已经能够使用Autodesk.AutoCAD.Interop绘制,维度,添加块以及应用程序所需的所有其他内容,但是我似乎无法填充标题块或生成部件列表。 我见过的所有示例都基于要求应用程序作为AutoCAD内部插件运行的机制。 事实是,使用ModelSpace.InsertLine插入一行使用的是一行或两行代码,现在,它至少有8行代码! 有没有办法使用Autodesk.AutoCAD.Interop实现此function? 或者有没有办法将interop与可以从外部exe调用的插件结合使用? 任何关于此的指示将不胜感激。 谢谢。 编辑说明: // before – Draw Line with Autodesk.AutoCAD.Interop private static AcadLine DrawLine(double[] startPoint, double[] endPoint) { AcadLine line = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint); return line; } // Now – Draw line with Autodesk.AutoCAD.Runtime [CommandMethod(“DrawLine”)] public static Line DrawLine(Coordinate start, Coordinate end) { // Get the current document and database […]

如何使用C#保持acad.exe运行在Autocad中关闭文件?

我正在使用visual studio 2010,我有一个.DWG文件,我想在autocad中打开。 直到现在我已经用过了。 Process p = new Process(); ProcessStartInfo s = new ProcessStartInfo(“D:/Test File/” + fileName); p.StartInfo = s; p.Start(); 但我想要的是关闭Autocad中的文件,而不是autocad本身。 (表示atocad.exe应该继续运行)。 直到现在我已经使用过这个,但它关闭了acad.exe而不是文件。 foreach (Process Proc in Process.GetProcesses()) { if (Proc.ProcessName.Equals(“acad”)) { Proc.CloseMainWindow(); Proc.Kill(); } }

阅读.DXF文件

有没有人知道源代码,理想情况下是C#或类似的源代码,用于读取.DXF文件(由AutoCAD等使用)? 如果不是代码,那么表格显示各种代码(元素/块/等)及其含义? 我自己写了一个读者,并且有详细说明格式的死树文档,但我试图避免将255个ACI颜色中的每一个转换为RGB转换为… …谢谢!

如何通过.NET API打开AutoCAD 2015

我已经浏览了一个小时,还没有找到有助于此的东西。 我正在使用C#从VS2013中的.NET API打开AutoCAD,但出于某种原因,我无法让AutoCAD实际启动。 我正在使用以下代码: using System; using System.Runtime.InteropServices; using Autodesk.AutoCAD.Interop; using Autodesk.AutoCAD.Runtime; using Autodesk.AutoCAD.ApplicationServices; namespace IOAutoCADHandler { public static class ACADDocumentManagement { [CommandMethod(“ConnectToAcad”)] public static void ConnectToAcad() { AcadApplication acAppComObj = null; // no version number so it will run with any version const string strProgId = “AutoCAD.Application”; // Get a running instance of AutoCAD […]

C#中的开源cad绘图(dwg)库

有人知道C#中的开源DWG(autocad绘图)库吗?