我正在寻找一种将简单的二维路径从 CAD 程序(如 AutoCAD)传输到我的程序的方法。
格式应尽可能简单易解析。
该程序是用 c# 编写的。
每个文件将有一个或最多很少的路径,并且这些路径可能是打开的或关闭的。
我一直在研究标准的CAD导出格式。IGES,EPS,DXF,PDF都足够强大,但问题是它们要强大得多,编写一个转换器而不是从中提取路径描述将是一项重大任务。
STL 格式的简单性完全符合我的需求,只是它仅适用于 3D 表面,不适用于 2D 路径。
从 CAD 程序获取 2D 路径的标准方法是什么?
是否有我错过的另一种格式,或者是否有适用于这些格式中的任何一种的 .net 库,可以提取我需要的信息?
DXF 非常容易解析,您可以跳过大部分文件内容,专注于您唯一感兴趣的实体......
我同意 Alberto 的观点,DXF 应该很容易管理。这取决于您希望如何使用程序中的信息(例如,您要绘制它吗?
当你说2D路径时,我假设你的意思是折线。另一种方法是将所有折线转换为 SVG。
您只需要解析折线的每一段并确定它是直线还是弧线。然后,您需要将直线或弧线转换为SVG字符串。
编辑:这实际上仅在编写AutoCAD插件以导出数据时才可行。如果您只想使用内置格式之一的AutoCAD保存AutoCAD文件,那么DXF可能是最佳选择。
您应该考虑使用标准数据格式,如 STEP(用于交换产品模型数据的标准)从 CAD 工具中提取数据。有一个用C++编写的开源库STEPcode。
Autocad 应将数据导出为 STEP P21 格式:请参阅此对话。