А вообще интересно узнать, что вы думаете о нашей разработке?
Думаю что несмотря на реальное отсутствие "конкурентов" этому под Архикад, сама реализация крайне "слаба".
Такие вещи нужно продумывать от и до.
Сам много думал над реализацией подобного(но не на GDL, GDL должен только нарисовать), столько думал - что в итоге "руки опустились" - понял что это практически "задача Штайнера" - за обывательской простотой лежит очень большая предметная область.В частности поинтересуйтесь что такое ОКП и ТК.
Найдите посты Александра Ани, он реализовал "универсальную" таблицу. Только она другая крайность(IMHO) решения - все нужно заполнять руками, и как бонус можно сохранять настроенные шаблоны(с прописанными по правилам обсчета формулами ). В итоге и вашей и его разработкой пользоваться "себе дороже". КПД маловат.
Проще создать файлик вроде того что приаттачил и юзать его по мере необходимости...(прицеплю после 18.00 на работе нетю
)
Ближе к сути
Судя по тому что я прочитал, этот "ребенок" болен стандартными врожденными пороками молодости.
Zubr, если позволите пару вопросов:
1. Где прописаны значения характеристик конкретных материалов?(прокат, бетон), варианты ответа:
а) скрипт параметров этого самого библ. эл-та.
б) пользовательская БД внутреннего формата ArchiCAD(та что доступна по ключам и дескрипторам)
в) в отдельных файлах БД(организация БД на текстовых файлах) - Xml, txt...
Думаю что вариант а) и это первый врожденный порок. Почему так решил? Потому что упомянули о том что на сегодня реализовано. И сразу представил бесконечно раздуваемый Property Script, если это так то хочу предостеречь - идите по путям б) в), ибо на объем скрипта любого скрипта в самой ArchiCad.dll есть ограничения. А если и нет то время интерпретации скрипта параметров это прямая функция от стрессоустойчивости пользователя.
2. Решение заведомо не универсально. То есть Условное обозначение, например, двутавра С245, и бетона класса В2,5 принципиально отличаются, в первом случае это "дробь" - профиль/сталь, во втором одна строка. А значит в 2D скрипте есть строчки смысла:
if material="prokat" then risuem drob goto 2 endif
if material="polipropilen" then risuem "usl obozn polipropilena" goto 2 endif
2: end.
А теперь откройте ТУ на оцинкованную сталь(мой любимый пример условного обозначения)
А еще для некоторых материалов нужно изначально задавать наиболее употребимый типоразмер. Иначе каждый раз придется настраивать...а еще некоторых материалов не может оказаться в некоторых видах таблиц...бетона в ведомости расхода стали, а еще некоторые материалы имеют разные условные обозначения в разных типах таблиц(тот же двутавр в АС и в КМ и в КМД - 3 разных типа условного обозначения)...и еще много о чем я в свое время думал...
Т.е. Опять получаем бесконечно раздуваемый скрипт.
И соответственно большее время на потуги с той стороны - Ввод пользователя, Потому что Архикад предлагает интерактивный интерфейс - любой ввод пользователя обрабатывается сразу - будь то панель информации или скрипт интерфейса. Только в случае последнего анализируются все скрипты объекта на предмет возникающих ошибок. Сами подумайте к чему приведет раздувание того или иного скрипта в объекте.
Как от этого уйти? Я вижу 3 способа.
1. Писать человеческий интерфейс(читай софт), который будет отписывать txt для Архикад- объекта "рисователя".
2. Воспользоваться вариантом б) из вопроса №1
3. "Наколеночный" - УМНЫЕ УНИВЕРСАЛЬНЫЕ Макросы. Само условное обозначение должно быть описано на вспомогательном языке описывающем лексогруппы, входящие в условное обозначение, что то вроде:
[1]-[2], что после работы макроса по заполнению будет выглядеть как КС-1, Б-1, то есть как потребуется в дальнейшем.
Сводно обобщая - такие задачи надо решать изначально универсально. Иначе будет "захлеб".
По презентации:
1.То что у Вас пересчитываются итоги по мере уменьшения столбцов - гут!
В вышеупомянутой Таблице-Ани, просто не отрисовывались слипшиеся ячейки, итоги оставались теже.
2. Недавно спорил со старым конструктором-нормоконтролером, он мне грил что на бетон ГОСТ в спецификации не указывается, только класс, и характеристики F,W... и полистав серии я думаю также. Разберитесь. Раз вы собираетесь использовать это "на автомате".И для широкой публики(так что там все таки с распространением?)
Может мы с ним оба не правы.
3. Заголовки разделов спецификации конструкции не могут быть произвольными, м.б. только "Сборочные единицы", "Детали", "Стандартные изделия", "Материалы", и это тоже написано в ГОСТ. В вашем ролике название раздела "Сборочные элементы и детали колонн фахверка" некорректно, и поэтому приходится делать автосжатие текста.
4. отображать значок арматуры? это диаметр чтоли?(ну мы же русские люди!) для чего эта тычка?
по ГОСТу 21.501 прил.13 он есть всегда, не стоит наводить путаницу. Другое дело что он у вас рисуется 2Д примитивами. А вообще неплохо было бы найти программку Fontograph4, и создать на базе ГОСТовского шрифта UniCode шрифт и в позиции после 255 забить спецсимволы и поставлять объект сразу в комплекте с этим шрифтом.
P|S - вижу что реализован вариант в) уже неплохо.
НО Архикад предоставляет полную функциональность для варианта б) !!! Почитайте про создание пользовательской БД в ArchiCAD.
так что пока есть запал и желание сделать что-то по-хорошему - отказывайтесь от жестко детерминированных определений материалов в скрипте - тут как грится лучше день потерять потом за пять минут долететь.
Это все "ошибки молодости" - в частности мои на эту тему можно посмотреть здесь:
http://arch-grafika.ifolder.ru/18533905http://arch-grafika.ifolder.ru/18533876,
реализовано тоже по варианту в) правда еще и с экспортом, для создания сводной спецификации.
И еще...о чем стоит подумать сразу, так это о количестве взаимоувязанных характеристик - у вас их 2 максимум:
"тип", "номер" т.е. Для двутавров "колонный" и 20К1
А ведь для многих материалов это не два а 4 - 5 взаимоувязанных в сортаменте линеек, имеющих отображение друг на друга. В первую очередь нужна реализация типа данных "сортамент".(уже есть в ArchiCAD - ключи и дескрипторы) А все остальное - дело техники - рисование.
Заметьте, учить матчасть не отправлял )))
Надеюсь мои слова будут восприняты исключительно конструктивно. Не хотелось бы чтобы кто-нибудь посчитал это ложкой дегтя. Это не так.