我想解析AutoCAD的MText实体并提取原始文本。我看到文本格式化的模式。如果这已经解决了,那么我就不需要重新发明轮子了。我在网上搜索过,但没有找到足够的信息。
我正在搜索有关此主题的任何链接或参考资料。
修改
为了进一步说明,我们使用ODA(开放设计联盟)库来访问DWG文件。我不熟悉这个库。另一个开发人员正在使用该库并从文件中提取信息,包括MText实体。然后我提供了一个包含MText文本的文件,这正是我所看到的。我正在查看MText格式化的文本,我可以访问并使用C#。
问题:
答案 0 :(得分:3)
这个Forum thread包括一个VB程序,用于从MText中删除控制字符。代码表明要删除每个控制字符应该做什么,因此在C#中编写类似的内容应该很简单。
此外,格式代码的文档可在AutoCAD documentation。
中找到答案 1 :(得分:2)
如果您使用的是C#和.NET接口,则MText对象的Text属性会提供原始文本:
MText mt;
...
string rawText = mt.Text;
如果您还想要格式化,解决方案也不同。
答案 2 :(得分:1)
如果要在不使用AutoCAD的情况下解析AutoCAD文件,则需要指定要解析的文件类型。但是,这个问题基本上是以下问题的一部分:
对于DWG,基本选项为Open Design Alliance和AutoCAD RealDWG。
如果这样做无效,请详细说明您的具体操作。
答案 3 :(得分:1)
如果您使用的是C#,请尝试使用netDXF库。
我认为伪代码应该是这样的:
DxfDocument dxf = new DxfDocument();
dxf = DxfDocument.Load(openFileDialog1.FileName);//load your file
//This extracts the raw text of your first text obj
dxf.MTexts[0].PlainText;