[VetCAD++] - главная Форумы VetCAD++
VetCAD++ - утилиты для AutoCAD
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Автоматические спецификации VetCAD++

Формат хранения данных VetCAD в файлах .dwg
Версия для печати

 
Начать новую тему   Ответить на тему    Список форумов Форумы VetCAD++ -> VetCAD++ - отзывы, пожелания, проблемы, решения
Предыдущая тема :: Следующая тема  
Автор Сообщение
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.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
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 писал(а):

Жаль, что ж, в случае необходимости, придется действовать путем "проб и ошибок".


Можно спрашивать о формате хранения по конкретным интересующим местам.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
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 - нет
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
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")
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
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))




VetCAD.png
 Description:
 Filesize:  7.83 KB
 Viewed:  4754 Time(s)

VetCAD.png


Вернуться к началу
Посмотреть профиль Отправить личное сообщение
VetalBY
Site Admin


Зарегистрирован: 22.03.2007
Сообщения: 1909

СообщениеДобавлено: Вт Июл 19, 2022 17:43    Заголовок сообщения: Ответить с цитатой

Да, ошибся, когда определял константы, должно быть
#define FLD_RES_COUNT _T("C")

Благодарю.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Форумы VetCAD++ -> VetCAD++ - отзывы, пожелания, проблемы, решения Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
You cannot attach files in this forum
You can download files in this forum