Программное дополнение LabPP_GoodwinGDL создано чтобы расширить возможности ARCHICAD при управлении BIM объектами.
Например Вы создаете GLD BIM объект, у которого есть правила формирования цены, варианты покрытия и т.п.
Но этот объект должен уложен на пол в определенной форме.
Например, ламинат.
По одной доске это сделать неудобно и как обрезать доски?
Если создать площадку, то как задать ее форму? Как сделать вырезы, там, где ламината нет?
Видится разумным такой алгоритм:
Пользователь рисует 2d элемент штриховки. Можно с вырезами.
Ставит в проект Ваш объект.
Выбирает одновременно штриховку и объект.
Нажимает кнопку LabPP_GoodwinGDL и координаты штриховки транслируются прямо в параметры Вашего объекта.
Вашему объекту остается только при помощи 3d и 2d скриптов нарисовать фигуру по этим координатам.
Вот пример BIM GDL объекта, созданного на базе технологии формования штриховкой.
Это рамка. Сначала на разрезе создается штриховка произвольной формы.
Затем объект рамки выбирается одновременно с этой штриховкой.
По нажатию кнопки LabPP_GoodwinGDL координаты границ штриховки записываются в параметры объекта.
Объект воспроизводит эту форму. Создавать новый объект не требуется.
При желании можно восстановить штриховку по форме рамки. Внести изменения и снова записать в рамку.
Так можно создавать рамки совершенно произвольной формы. Так же считается длина багета.
Чтобы add-ons мог работать с Вашим объектом нужно создать параметры с соответствующими именами.
(вы можете взять за основу объект, который имеется в дистрибутиве).
Параметр GoodwinGDLAssignDataMethods
Это числовой массив.
По сути таблица.
В первой колонке - номер кнопки LabPP_GoodwinGDL.
Во второй колонке - номер алгоритма, по которому Ваш объект будет заполняться данными при нажатии этой кнопки.
В третьей колонке - маска для выполнения алгоритма. Задается по типу масок в GDL как сумма 1*j1 + 2*j2 + 4*j3 + 8*j4 и т.д., где j1, j2, ..., jn - опции при выполнении алгоритма.
Можно указать несколько кнопок.
Номера кнопок указаны ниже на рисунке.
Остальные параметры - для записи результатов операций.
Для разных алгоритмов и кнопок эти параметры могут быть различными.