Базу данных оборудования в зкаде нужно брать в кавычки - название условное, базой данных в прямом смысле это не является. Она сделана чтобы более-менее работала и не тратила моего времени. В текущем состоянии без изменений она существует уже очень долго (все изменения там это просто переименования и разные "чистки"), в дальнейшем она будет углублена и развита, или выкинута и переделана. поживем увидим. Кстати это какраз то место где работает "скрипт" и в рантайме парсятся файлы с синтаксисом похожим на паскаль))
Зкад в принципе может считать в чертежах хоть что, но я пользую эту фичу только для кабелей, поэтому на примере кабелей:
http://svn.shamangrad.net/zcad/trunk/ca ... stract.pas - там определен DbBaseObject - базовый объект "бд" зкада
http://svn.shamangrad.net/zcad/trunk/ca ... cebase.pas - тут он чуток расширен DbBaseObject->CableDeviceBaseObject до заготовки под кабельное оборудование
это определено в исходниках и скомпилировано.
Потом в рантайме "скрипт" читает файлы определения устройств (лежащие тут
http://svn.shamangrad.net/zcad/trunk/cad/programdb) и расширяет CableDeviceBaseObject до какогото конкретного кабеля какогото конкретного производителя
например
http://svn.shamangrad.net/zcad/trunk/ca ... abel/1.pas содержит определение вот этого кабеля
http://www.saranskkabel.ru/katalog-prod ... ep,-tppepz в нем к CableDeviceBaseObject добавлен перечислимый тип с сочетаниями именно его жильности-сечений прилагаю скрин как это выглядит в программе
Добавлено спустя 5 минут 40 секунд:идентификатор этого кабеля - SARCABLETPPep
уникальный идентификатор после того как я счелкну в открытом чекбоксе 20х2х0.5 (20 пар по 0.5мм) станет SARCABLETPPep-20х2х0.5
ну и после добавления этого кабеля в "бд" чертежа он получит еще один идентификатор _EQ000000 - (префикс _EQ + порядковый номер операции добавления _EQ)
Добавлено спустя 4 минуты 14 секунд:итого аж целых 3 идентификатора:
1 - SARCABLETPPep - идентифицирует оборудование в обобщенном виде
2 - SARCABLETPPep-20х2х0.5 идентифицирует оборудование в конкретном исполнении и получается автоматом по заданой в файле оределении маске из первого определения
3 - _EQ000000 - по нему примитивы с чертежа ссылаются на запись в "бд" чертежа, просто постоянно инкрементируемый идентификатор