dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Другие CAD системы > Tekla > Блокировка пользовательского атрибута для объекта

Блокировка пользовательского атрибута для объекта

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 30.07.2018, 12:49 #1
Блокировка пользовательского атрибута для объекта
bartus
 
Регистрация: 06.03.2011
Сообщений: 58

bartus вне форума Вставить имя

Можно ли заблокировать атрибут REBAR_SEQ_NO (Порядковый номер арматуры) для определенных объектов модели? Для того, чтобы не менялись номера стержней тех объектов, чертежи на которые уже оформлены. Пока есть идея только одна - добавить этот атрибут в objects.inp в качестве атрибута, влияющего на нумерацию, тогда (по идее) при блокировке арматуры - атрибут нельзя будет перезаписать. Но этот метод не очень хочется использовать (неудобно).
Просмотров: 1318
 
Непрочитано 30.07.2018, 20:10
#2
Yuzer

Мозговой штурм
 
Регистрация: 26.10.2008
Рідна ненька - Україна, Харків
Сообщений: 4,840
Отправить сообщение для Yuzer с помощью ICQ Отправить сообщение для Yuzer с помощью Skype™


Проще префиксы назначить и вообще отказаться от этого атрибута.
__________________
Не доходит через голову?! Дойдет через руки и ноги!
Tekla Structures тоже я.
Yuzer вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 30.07.2018, 23:21
#3
bartus


 
Регистрация: 06.03.2011
Сообщений: 58


Не вижу плюсов этого метода, если не иметь под рукой готового плагина, который назначает каждой одинаковой марке ж/б элемента свой префикс арматуры - придется всегда контролировать уникальность префикса вручную. По сути - на выходе получается тот же самый макрос REBAR_SEQ_NO.

Редактировать макрос то можно, дописать бы туда проверку на ВКЛ/ВЫКЛ атрибута блокировки арматуры или родительской детали, если ВКЛ - не менять порядковый номер, ВЫКЛ - милости просим (можно привязать проверку к любому другому атрибуту, этот пример привел как очевидный). К сожалению C# не владею, может кто заглянет и подскажет.
bartus вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 31.07.2018, 06:42
#4
Yuzer

Мозговой штурм
 
Регистрация: 26.10.2008
Рідна ненька - Україна, Харків
Сообщений: 4,840
Отправить сообщение для Yuzer с помощью ICQ Отправить сообщение для Yuzer с помощью Skype™


Все наши беды от того, что хочется, чтобы все ровненько было. Но даже яички не ровненько висят.
На больших объектах количеством арматуры за 10-30 тыс. позиций этот макрос будет делать нумерацию минут 15-20. А если нумерацию нужно сделать раза 3 за день, то это довольно весело.
Если разбить конструкции на префиксы по этажам/захваткам/типу конструкции, то количество позиций по каждому типу будет в пределах 100. И текла легче будет это кушать и в шаблоны спокойно помещается.
Правда придется некоторым пережить инфаркт от увиденного, ведь в спецификациях у арматуры появятся префиксы и позиции будут идти не с единицы, но это уже совсем другая история.
__________________
Не доходит через голову?! Дойдет через руки и ноги!
Tekla Structures тоже я.
Yuzer вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 31.07.2018, 09:41
#5
bartus


 
Регистрация: 06.03.2011
Сообщений: 58


Да, нумерация идет с заметной задержкой, причем прогресс не отображается пользователю никак, может показаться, что она вообще не работает. Никто ведь не запрещает запустить еще одну Теклу и в фоне параллельно нумеровать, не задерживая работу. Не хочу (и не могу сейчас) отказываться от метода вывода номеров, повторюсь, часть уже оформлена.
В любом случае, выложу макрос сюда, может кто подскажет как и куда подставить в код проверку - заблокирован ли арматурный стержень, если нет - назначать номер.
Вложения
Тип файла: zip Нумерация арматуры по объекту.zip (1.1 Кб, 12 просмотров)
bartus вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 31.07.2018, 09:53
1 | #6
CuPo>I<a

Металлоконструкции
 
Регистрация: 28.02.2009
Златоуст
Сообщений: 448


Попробуй....Только аккуратно) я не тестировал. Прогресс в строку состояния добавил (кажется)
Вложения
Тип файла: zip Нумерация арматуры по объекту.zip (1.2 Кб, 12 просмотров)
CuPo>I<a вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 31.07.2018, 16:27
#7
bartus


 
Регистрация: 06.03.2011
Сообщений: 58


Спасибо! Проверю попозже, отпишусь как и что .
bartus вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 08.08.2018, 12:13
#8
bartus


 
Регистрация: 06.03.2011
Сообщений: 58



Пробую исполнить этот макрос, выдает ошибку (см. картинку). Что делать, как быть?
Миниатюры
Нажмите на изображение для увеличения
Название: Нумерация арматуры.png
Просмотров: 26
Размер:	14.9 Кб
ID:	205152  
bartus вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 09.08.2018, 08:33
#9
CuPo>I<a

Металлоконструкции
 
Регистрация: 28.02.2009
Златоуст
Сообщений: 448


так попробуй
Вложения
Тип файла: zip Нумерация арматуры по объекту.zip (1.2 Кб, 4 просмотров)
CuPo>I<a вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 28.08.2018, 10:13
#10
bartus


 
Регистрация: 06.03.2011
Сообщений: 58


Дошли руки наконец воспользоваться и проверить. Выдало ошибку (см. скрин). Я дописал вместо Operation.DisplayPrompt() -> Tekla.Structures.Model.Operations.Operation.DisplayPrompt() и заработало. Единственное - в прогрессе не отображались символы (знаки вопроса вместо букв, кодировка не та стояла?) - подправил. Если кому надо попользоваться - выкладываю здесь. Работает как штатный макрос, только не затрагивает заблокированную атрибутом арматуру + внизу в статус строке пишется прогресс - сколько стержней пронумеровано.

CuPo>I<a, спасибо Вам!
Миниатюры
Нажмите на изображение для увеличения
Название: фыв.png
Просмотров: 11
Размер:	7.4 Кб
ID:	205713  
Вложения
Тип файла: zip Нумерация арматуры по объекту.zip (1.2 Кб, 5 просмотров)

Последний раз редактировалось bartus, 28.08.2018 в 21:33.
bartus вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 28.08.2018, 11:16
#11
CuPo>I<a

Металлоконструкции
 
Регистрация: 28.02.2009
Златоуст
Сообщений: 448


я этот макрос не тестировал, если честно - лень было)
Цитата:
Сообщение от bartus Посмотреть сообщение
дописал
можно Operation.DisplayPrompt() оставить, а добавить using Tekla.Structures.Model.Operations;

Сделал пару стержней...
Цитата:
Сообщение от bartus Посмотреть сообщение
знаки вопроса вместо букв
у меня нормально
Почему арматура не нумеруется? Где чего включить надо?
CuPo>I<a вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 28.08.2018, 11:55
#12
bartus


 
Регистрация: 06.03.2011
Сообщений: 58


Не назначается атрибут с номером? Не знаю почему, попробуй вручную любому стержню вписать случайный номер (99999) и перенумеруй.

Для справки и ориентировке по времени работы: прогнал макрос по проекту с таким количеством арматуры:
78653 арматурных групп (встречаются и отдельные стержни)
Старт: 11:16
Появился прогресс бар: 11:34
Окончание работы макроса (прогресс дошел до конца): 11:44

Итого времени прошло с момента нажатия на макрос до появления строки с прогрессом: 18 минут (макросом составлялся список всех стержней модели все это время)
Само назначение номеров заняло 10 минут.
Все вместе 28 минут на 78653 шт. арматурных групп.

Рекомендую перед началом использования макроса произвести штатную нумерацию проекта. А при нажатии на макрос отказаться от нумерации (чтобы не тратить время). Макрос работает даже если отменить штатную нумерацию.

Если использовать стандартный макрос, метки армирования на уже оформленных чертежах могут сместиться и придется заново их двигать, обновлять метки и так далее. Тут - блокируем в модели стержни (в определенных пользователем атрибутах) уже оформленных на чертеже жб элементов и номера арматуры не изменятся.

Последний раз редактировалось bartus, 28.08.2018 в 12:02.
bartus вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 28.08.2018, 12:30
1 | #13
CuPo>I<a

Металлоконструкции
 
Регистрация: 28.02.2009
Златоуст
Сообщений: 448


атрибут назначается, но он для всех стержней 1

убрать нумерацию с помощью макроса можно закомментировав (поставить // в начале) строку:
akit.Callback("acmd_partnumbers_all", "", "main_frame");
CuPo>I<a вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 28.08.2018, 13:08
#14
bartus


 
Регистрация: 06.03.2011
Сообщений: 58


А текла запущена только одна? Для начала я бы перезашел в теклу, создал новую модель и в ней проверил. У меня был такой глюк, иногда вылечивалось само, при повторной прогонке макроса (на 3-й, 10-й иногда 20-й раз), но в новой модели стабильно всегда правильно нумеровала.

А если всем стержням задать любой порядковый номер, отличный от 1, например 123 и запустить макрос, он вернет обратно на единицу? А может стержни действительно одинаковые по форме и длине? Позиция у них по штатной нумерации должна быть разной.

Еще случалась такая штука, что заходишь в окно атрибутов стержня, там стоит единица, пишу вручную 2, жму изменить-получить, оно выдает, например, 4. То есть показывает одно, а на самом деле вшито другое значение, но почему-то оно скрыто и не отображается правильно.

Последний раз редактировалось bartus, 28.08.2018 в 13:20.
bartus вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 28.08.2018, 14:19
#15
CuPo>I<a

Металлоконструкции
 
Регистрация: 28.02.2009
Златоуст
Сообщений: 448


да мне в общем-то это не надо...просто решил попробовать макрос, а арматура так нехорошо себя ведёт.

Цитата:
Сообщение от bartus Посмотреть сообщение
Позиция у них по штатной нумерации
(0)? и не нумерует. Да и ... с ней
CuPo>I<a вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 29.08.2018, 16:00
#16
bartus


 
Регистрация: 06.03.2011
Сообщений: 58


Понадобилось из нумерации исключить арматурные сетки, т.к. они пойдут в спецификации виде сборочных единиц, а не стержнями, пытаюсь поправить код:

TSM.Reinforcement rebar = moe.Current as TSM.Reinforcement;

меняю на:

TSM.BaseRebarGroup rebar = moe.Current as TSM.BaseRebarGroup;

Тем самым включаю в нумерацию только группы стержней (Tekla.Structures.Model.BaseRebarGroup), а нужно еще и отдельные стержни (Tekla.Structures.Model.SingleRebar). Но в этом равенстве я не вижу способа подставить два значения.

Была мысль использовать здесь:
TSM.ModelObjectEnumerator moe = model.GetModelObjectSelector().GetAllObjects();
не GetAllObjects() а GetAllObjectsWithType Method (Type[]) , но не получается настроить типы, не хватает знаний - как перечислить здесь BaseRebarGroup+SingleRebar?
bartus вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 29.08.2018, 17:17
1 | #17
sivlad

Конструктор
 
Регистрация: 23.11.2005
Москва
Сообщений: 203


bartus, а почему бы просто не сделать такую проверку?
if (rebar != null && (rebar is TSM.BaseRebarGroup || rebar is TSM.SingleRebar))
sivlad вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 29.08.2018, 17:46
#18
bartus


 
Регистрация: 06.03.2011
Сообщений: 58


sivlad, спасибо! Я с этого и начинал, но по незнанию синтаксиса и языка практически в целом - вместо "is" ставил "=", текла ругалась и я забил на этот подход
bartus вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Другие CAD системы > Tekla > Блокировка пользовательского атрибута для объекта

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Консервация объектов незавершенного строительства msv_mnv Обследование зданий и сооружений 6 11.11.2017 23:07
СПДС 10. С чего начать при создании пользовательского объекта, к примеру "стропильная нога"? erikbond ПО от CSoft 63 19.05.2016 17:53
Применение в графике пользовательского объекта СПДС текста (проблемы при _mirror) AlexV ПО от CSoft 7 01.02.2016 12:47
Ввод в эксплуатацию салона красоты - нужно ли (и в какой форме) согласование с пожарниками ? drill_man Прочее. Архитектура и строительство 4 20.09.2013 12:03
Ищу 3д модель (приложение к паспорту антитеррористической защищенности объекта) Lirikk Поиск литературы, чертежей, моделей и прочих материалов 2 20.09.2012 21:53

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||