XDATA в программно созданном файле DXF - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть небольшое приложение vb.net, которое создает файлы DXF с нуля, содержащие полилинии и некоторые текстовые объекты.Он работает так, как задумано, и выполняет свою работу в настоящий момент, используя некоторую информацию о «минимальных требованиях к dxf», которую я нашел в Интернете.

В качестве обновления для приложения я решил добавить некоторые xdata в полилиниии вот тут у меня возникли некоторые проблемы.

Я добавил следующие строки в определение полилинии в разделе ENTITIES:

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 и их регистрации.Спасибо всем заранее.

1 Ответ

0 голосов
/ 04 декабря 2018

Отсутствует тег максимального количества таблиц (70, count) после тега определения типа таблицы (2, APPID), следующие записи таблицы начинаются с (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

Более подробную информацию можно найти здесь (действительно для DXF R13 и более поздних версий):

DXF Group Codes

...