![[VetCAD++] - главная](templates/subSilver/images/logo_phpBB.gif) |
Форумы VetCAD++ VetCAD++ - утилиты для AutoCAD
|
 |
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Constantine
Зарегистрирован: 28.05.2022 Сообщения: 7 Откуда: Новосибирск
|
Добавлено: Сб Май 28, 2022 16:02 Заголовок сообщения: Формат хранения данных VetCAD в файлах .dwg |
|
|
Здравствуйте. В процессе решения проблемы описанной в соседней ветке форума столкнулся с необходимостью понимания "как именно VetCAD хранит данные внутри файла .dwg". И хотя изрядно поковырявшись, в тех местах куда можно сохранять пользовательские данные, задачу таки решить удалось, через замену "Handle" в XData. Но поиск того, что и где нужно заменить занял больше времени чем собственно написание скрипта замены. Ну и собственно нельзя ли как то получить информацию где, что и в каком формате хранится, это дало бы чуть больше степеней свободы для автоматизации работы.
|
|
Вернуться к началу |
|
 |
VetalBY Site Admin
Зарегистрирован: 22.03.2007 Сообщения: 1909
|
Добавлено: Пн Май 30, 2022 17:38 Заголовок сообщения: Re: Формат хранения данных VetCAD в файлах .dwg |
|
|
Constantine писал(а): | Здравствуйте. В процессе решения проблемы описанной в соседней ветке форума столкнулся с необходимостью понимания "как именно VetCAD хранит данные внутри файла .dwg". И хотя изрядно поковырявшись, в тех местах куда можно сохранять пользовательские данные, задачу таки решить удалось, через замену "Handle" в XData. Но поиск того, что и где нужно заменить занял больше времени чем собственно написание скрипта замены. Ну и собственно нельзя ли как то получить информацию где, что и в каком формате хранится, это дало бы чуть больше степеней свободы для автоматизации работы. |
Формат хранения данных нигде не расписан. Данные об изделиях хранятся в словарях. Формат хранения похож на формат записи в файлах vet.
|
|
Вернуться к началу |
|
 |
Constantine
Зарегистрирован: 28.05.2022 Сообщения: 7 Откуда: Новосибирск
|
Добавлено: Вт Май 31, 2022 7:27 Заголовок сообщения: Re: Формат хранения данных VetCAD в файлах .dwg |
|
|
VetalBY писал(а): | Формат хранения данных нигде не расписан. |
Жаль, что ж, в случае необходимости, придется действовать путем "проб и ошибок".
VetalBY писал(а): | Данные об изделиях хранятся в словарях. |
Да, это первое место куда я полез. Изделий в изучаемом файле создано не было, но как хранятся например конструкции или позиции в общих чертах стало понятно. Вопрос был больше про частности. Например:
Код: | ((1001,VetCAD-FLD)(1000,<X*2*1.09>)(1000,R=1;S=0;L=110000;)(1000,L=НЕПЕЧАТНЫЙ;C=256;)(1000,M=1;K=0.001;)(1010,(0,0,0))(1010,(0,0,0))(1000,1F)(1000,A9CB5)) |
1. (1001,VetCAD-FLD) - Указание на поле VetCAD.
2. (1000,<X*2*1.09>) - Формула по которой рассчитывается значение.
3. (1000,R=1;S=0;L=110000;) - ??? "нужно разбираться"
4. (1000,L=НЕПЕЧАТНЫЙ;C=256;) - Слой, и цвет фильтрации, я так понимаю и другие параметры фильтрации.
5. (1000,M=1;K=0.001;) - Коэффициент, и количество знаков ???
6. (1010,(0,0,0))(1010,(0,0,0)) - Координаты рамки выбора.
7. (1000,1F) - ???
8. (1000,A9CB5) - Handle объекта рамки выбора.
Но, это только частный случай, и т.к. исходные коды я по понятным причинам не видел, то при написании скриптов возникают определенные вопросы например "всегда ли (1000,A9CB5) должен быть на 8-м месте?" или "что будет если задать одновременно (1010,(0,0,0))(1010,(0,0,0)) и (1000,A9CB5)?", все это можно проверить конечно, но наличие документации от автора сняло бы часть таких вопросов.
Но, на нет и суда нет...
|
|
Вернуться к началу |
|
 |
VetalBY Site Admin
Зарегистрирован: 22.03.2007 Сообщения: 1909
|
Добавлено: Пн Июл 18, 2022 11:58 Заголовок сообщения: Re: Формат хранения данных VetCAD в файлах .dwg |
|
|
Constantine писал(а): |
Жаль, что ж, в случае необходимости, придется действовать путем "проб и ошибок".
|
Можно спрашивать о формате хранения по конкретным интересующим местам.
|
|
Вернуться к началу |
|
 |
VetalBY Site Admin
Зарегистрирован: 22.03.2007 Сообщения: 1909
|
Добавлено: Пн Июл 18, 2022 12:31 Заголовок сообщения: Re: Формат хранения данных VetCAD в файлах .dwg |
|
|
Constantine писал(а): |
3. (1000,R=1;S=0;L=110000;) - ??? "нужно разбираться"
|
#define FLD_TYPE_RADIO_INDEX _T("R")
#define FLD_SELECTION_TYPE _T("S")
#define FLD_BLOCK_NAME _T("B")
#define FLD_ATT_NAME1 _T("A1")
#define FLD_ATT_NAME2 _T("A2")
#define FLD_ATT_VALUE1 _T("V1")
#define FLD_ATT_VALUE2 _T("V2")
#define FLD_LEN_TYPE_CHECK _T("L")
#define FLD_TXT_INDEX_CALC _T("T")
#define FLD_TXT_TYPE_CHECK _T("C")
#define FLD_AREA_HATCH_NAME _T("A")
#define FLD_AREA_TYPE_CHECK _T("H")
там где CHECK
1 - флажок установлен, 0 - нет
|
|
Вернуться к началу |
|
 |
VetalBY Site Admin
Зарегистрирован: 22.03.2007 Сообщения: 1909
|
Добавлено: Пн Июл 18, 2022 12:52 Заголовок сообщения: Re: Формат хранения данных VetCAD в файлах .dwg |
|
|
Constantine писал(а): |
4. (1000,L=НЕПЕЧАТНЫЙ;C=256;) - Слой, и цвет фильтрации, я так понимаю и другие параметры фильтрации.
5. (1000,M=1;K=0.001;) - Коэффициент, и количество знаков ???
|
#define FLD_PROP_LAYER _T("L")
#define FLD_PROP_LINETYPE _T("T")
#define FLD_PROP_LINEWEIGHT _T("W")
#define FLD_PROP_COLOR _T("C")
#define FLD_RES_UNDERLINE _T("U")
#define FLD_RES_CENTER _T("C")
#define FLD_RES_INDEX_MASS _T("M")
#define FLD_RES_KOEF _T("K")
#define FLD_RES_ROUND _T("R")
|
|
Вернуться к началу |
|
 |
Constantine
Зарегистрирован: 28.05.2022 Сообщения: 7 Откуда: Новосибирск
|
Добавлено: Пн Июл 18, 2022 15:07 Заголовок сообщения: Re: Формат хранения данных VetCAD в файлах .dwg |
|
|
VetalBY писал(а): | Можно спрашивать о формате хранения по конкретным интересующим местам. |
Спасибо, будут вопросы обязательно обращусь.
UPDATE:
И вот первая путаница, судя по всему #define FLD_RES_CENTER _T("C") не то, за что себя выдает. Судя по названию должно отвечать за чекбокс "Центрировать". Однако смена "C=" в XData переключает режим подсчета с "Длина" на "Количество" и наоборот. При этом чекбоксы "Центрировать" и "Подчеркнуть" не активны, а чекбокс "Количество объектов" имеет тенденцию пропадать.
((1001,VetCAD-FLD)(1000,<X*2>)(1000,R=1;S=0;L=100000;)(1000,L=_0.5;C=161;)(1000,M=2;K=0.001;C=0;)(1010,(0,0,0))(1010,(0,0,0))(1000,1F)(1000,AD473))
((1001,VetCAD-FLD)(1000,<X*2>)(1000,R=1;S=0;L=100000;)(1000,L=_0.5;C=161;)(1000,M=2;K=0.001;C=1;)(1010,(0,0,0))(1010,(0,0,0))(1000,1F)(1000,AD473))
Description: |
|
Filesize: |
7.83 KB |
Viewed: |
4751 Time(s) |

|
|
|
Вернуться к началу |
|
 |
VetalBY Site Admin
Зарегистрирован: 22.03.2007 Сообщения: 1909
|
Добавлено: Вт Июл 19, 2022 17:43 Заголовок сообщения: |
|
|
Да, ошибся, когда определял константы, должно быть
#define FLD_RES_COUNT _T("C")
Благодарю.
|
|
Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах You cannot attach files in this forum You can download files in this forum
|
|