我有一个小型 vb.net 应用程序,可以从头开始创建 DXF 文件,其中包含折线和一些文本对象。它正在按预期工作,并且目前正在完成其工作,利用了我在网上找到的一些“最低 dxf 要求”信息。
作为应用程序的升级,我决定在折线上添加一些扩展数据,这就是我遇到一些麻烦的地方。
我在实体部分的折线定义中添加了以下几行:
1001
MYAPPID01
1002
{
1000
-Some string I want to associate with the polyline-
1002
}
还为 appid 创建了一个表部分,如下所示:
0
SECTION
2
TABLES
0
TABLE
2
APPID
2
MYAPPID01
70
0
0
ENDTAB
0
ENDSEC
我还在 acaddoc lsp 文件中添加了自动加载过程来注册应用程序:
(if (not (tblsearch "APPID" "MYAPPID01"))
(regapp "MYAPPID01")
)
我的 dxf 文件无法加载并出现“无效的应用程序”错误。我必须做什么才能以最少的添加量将此 xdata 添加到我的正常 dxf 例程中?
任何有关 APPID 及其注册的帮助都会很棒。 提前谢谢大家。
最佳答案
表类型定义标记(2
、APPID)之后缺少最大表计数标记(
),下表条目以 (70
、count
) 0
, APPID
) 标记开头。 (DXF R12解决方案)
0
SECTION <<< start table section
0
TABLE <<< start table
2 <<< group code 2 for
APPID <<< table type definition
70
10 <<< max table entry count
0 <<< group code 0 for
APPID <<< 1. table entry
2
ACAD <<< application name
70
0 <<< flags, 0 is good
0
APPID <<< 2. table entry
2
MYAPPID01 <<< application name
70
0 <<< flags
... and so on
0
ENDTAB
0
ENDSEC
您可以找到更多信息here (适用于 DXF R13 及更高版本):
关于dxf - 以编程方式创建的 DXF 文件上的 XDATA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53610068/