Search the Community
Showing results for tags 'Параметрические объекты'.
-
Всем добрый день! Сравнительно недавно начали работать в бим-среде от платформы Нанокад. При использовании конструкторского бима весьма удобно генерировать спецификации для штучных параметрических объектов. Учитывая специфику нашей отрасли (гидротехническое строительство), спецификация по штучным параметрическим объектам генерируется четко, легко и просто, к таким объектам относятся: швартовные тумбы, отбойные устройства, скоб-трапы и т.д. Но большая часть генерируемых нами параметрических объектов являются линейными, к примеру: лицевую стенку из шпунтовых свай и т.п. мы генерируем по погонному метру, что позволяет нам четко следовать линии кордона; шапочный брус также генерируется погонным метром, сюда же можно отнести колесоотбойный брус, подкрановые пути, плиты покрытия, все эти объекты генерируются линейным массивом вдоль направляющих отрезков либо другими типами массивов. При создании спецификации для массивов параметрических объектов столкнулись со следующей проблемой: такие параметры, как количество, вес и др. в спецификациях для массива параметрических элементов генерируются лишь для единицы этого массива, то есть для того элемента, на основании которого этот массив мы создаем. Да, можно вручную посчитать количество требуемых элементов и их вес, однако тогда в чем же преимущество функции создания спецификаций? Может, кто-то сталкивался уже с этой проблемой и знает пути ее решения? Как по итогу создать спецификацию для того же линейного параметрического объекта? Возможно ли такое вообще? Или может, мы изначально делаем что-то не так?
- 3 replies
-
- 1
-
-
- параметрические объекты
- спецификация
- (and 3 more)
-
Растягивание объекта за базовую точку (pntOrigin)
dromandon posted a blog entry in Делюсь опытом работы с Cad программами
В этой небольшой статье рассмотрим как можно отредактировать стандартный параметрический объект, чтобы за базовую точку объекта можно было не переносить объект, а растягивать. Это удобно будет при работе со швеллерами, трубами и прочими объектами, которые приходится растягивать в обе стороны. Для примера будет использовать стандартный параметрический объект трубу по ГОСТ 167-69 (Несущие конструкции -> КМ -> Трубы) Нас интересует функция OnMoveGripPoint По умолчанию она выглядит так: function OnMoveGripPoint{ if(NMovingGrip == 1){ L = vecLen(pntGrip0 - pntGrip1); vecDirection = pntGrip1 - pntGrip0; LoadInCache( B, s ); SelectInCache( "kFirst", "B", "~", B, "s", "~", s); } else { pntOrigin = pntGrip0; }; }; Давайте для удобства приведём к более понятному виду и уйдём от конструкции else function OnMoveGripPoint { if(NMovingGrip == 0) { pntOrigin = pntGrip0; }; if(NMovingGrip == 1) { L = vecLen(pntGrip0 - pntGrip1); vecDirection = pntGrip1 - pntGrip0; LoadInCache( B, s ); SelectInCache( "kFirst", "B", "~", B, "s", "~", s); }; }; Предыдущая запись скрипта имеет права быть, т.к. в объекте всего 2 ручки, но будет неудобна при условии добавления новых ручек, да и в принципе наша запись сразу позволяет понять, к какой ручке мы обращаемся. Итак, чтобы заставить объект удлиняться за базовую точку, надо прописать изменение длины объекта при перемещение базовой точки. Получаем: if(NMovingGrip == 0) { pntOrigin = pntGrip0; L = vecLen(pntGrip1 - pntGrip0); }; Ура, наш объект растягивается!) Осталось дописать поведение вектора направления объекта: if(NMovingGrip == 0) { pntOrigin = pntGrip0; L = vecLen(pntGrip1 - pntGrip0); vecDirection = pntGrip1 - pntGrip0; }; И всё, теперь всё работает просто великолепно) Вот такими несложными манипуляциями мы упростили работу со стандартным параметрическим объектом, добавив возможность растягивать его в обе стороны =)-
- 3
-
-
- спдс
- нанокадспдс
-
(and 1 more)
Tagged with:
-
Приветствую! Есть кто занимается созданием динамических блоков в Nanocad Интересует Монтажные конструкции. Пишите пож-та в личку