Цитата

«Качество надо производить, а не обеспечивать в результате контроля»(с)nmivan

вторник, 30 января 2018 г.

Allplan - кое что об автоматизации

В свете последних событий в строй отрасли, вопрос о расширении спектра выпускаемой продукции за счет "BIM" появляется все чаще.
В свое время, смотрели на Ревит, но это как была архитектурная программа, так ею и осталась.
Потребности конструктора она совсем не удовлетворяет . На рынке, помимо решения от Автодеска, присутствуют еще некоторое количество "BIM" программ: Текла, Аллплан и несколько поменьше.
Программы достаточно обширные и возможности у них много шире чем у Ревита, однако всегда найдется место для затачивания программы под себя.
Про написание скриптов под Теклу, можно посмотреть на канале Сени Бусина и массе других каналов ютуба, а вот по поводу Аллплан, все очень компактно.
Вернее не совсем тихо, но касается в основном СмартПартс и ПайтонПартс, однако хотелось бы большего.
Решил поискать для себя информацию по поводу Allplan API и нашел вот это: proektant.org
Если коротко, то есть 3 вида доступа:
  1. COM
  2. Allplan API Basic в рамках Nemetschek Opened Interface - без доступа к архитектурным и конструкторским объектам
  3. Allplan API BIM в рамках Nemetschek Opened Interface - полный доступ
Найти и скачать где бы то ни было NOI мне так и не удалось, а потому принялся за СОМ.
Тут все несколько проще, на картинке в теме по ссылке выше, можно заметить, что СОМ в Аллплан названа Allcom, вот ее то найти достаточно просто: help.allplan-connect.com/Allcom

Беглый просмотр модели приводит в уныние...

понедельник, 22 января 2018 г.

VBA. Узнать, есть ли в аттрибуте блока поле.

По мотивам вот этой вот темы на dwg форуме: ссылка

Как и всегда в подобных случаях, самый простой способ это воспользоваться утилитой ArxDbg и посмотреть на атрибуты с полем и без поля, сразу будет видно, что атрибут с полем содержит словарь расширенных данных с соответствующим именем ACAD_FIELD.
Вот по наличию и имени словаря и будем проверять наличие поля в атрибуте.

Тут важна именно подчеркнутая часть, проверить НАЛИЧИЕ поля средствами VBA можно, а вот прочитать код поля  - нет.

Код для VBA достаточно прост:

среда, 17 января 2018 г.

Возвращение блудного попугая

Ух ты, отрыл доступ на старенький бложек!
Так как experement.spb.ru должен скоро издохнуть, то буду резвиться тут.