Сопоставление участка арматуры с муфтой

Автор Тема: Сопоставление участка арматуры с муфтой  (Прочитано 3015 раз)

0 Пользователей и 3 Гостей просматривают эту тему.

Оффлайн user32Автор темы

  • ADN OPEN
  • **
  • Сообщений: 87
  • Карма: 0
Здравствуйте, никак не могу сообразить, возможно ли как то сопоставить муфту и участок арматуры.

Вот что имею ввиду:
Допустим есть какая-нибудь угловая арматура (см. скрин), в параметрах этой муфты есть размеры A,B,C,D... которые указывают длину участка поворота
На её концах ест разные муфты.

Я хочу как то сопоставить муфты и участки, то есть например что первая муфта присоединена к участку А, вторая к участку B,
У арматуры есть параметры "Обработка в начале" и "Обработка в конце", но как я понял это переменные величины, то есть если есть всего одна муфта, то она будет записана в параметр "Обработка в начале", но если добавить вторую муфту, то первая муфта сместится в конец, а в начало поставится последняя муфта...

Т.е. на выходе я бы хотел получить след. вариант, что муфта_1 присоединена к участку B, а муфта_2 к участку A
Можно ли как то достучаться до этого?
Спасибо.




Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Муфты - это отгибы?

Тогда их получаем методом Rebar.GetHookTypeId или из параметров арматурного стержня.

По анализу участков - вот краткий путь к победе (Iron Python Shell):
Код - Python [Выбрать]
  1. shape = doc.GetElement(s0.GetShapeId())
  2. shapeDefinition = shape.GetRebarShapeDefinition() # дальше исхожу из того, что пришёл RebarShapeDefinitionBySegments, для дуг напишешь сам
  3.  
  4. for i in range(0, shapeDefinition.NumberOfSegments):
  5.         segment = shapeDefinition.GetSegment(i)
  6.         lengthConstraint = segment.GetConstraints().OfType[RebarShapeConstraintSegmentLength]().Single() # length constraint должен быть определен всегда *
  7.         print doc.GetElement(lengthConstraint.GetParamId()).Name # исхожу из того, что constraint накинут на общий параметр или параметр проекта. На встроенный параметр тоже, теоретически может быть, ну, в общем, добавь проверку :-)


* могу ошибаться, но вроде, все-таки, нет:
Цитировать
Each segment must have enough constraints to determine its position. Overconstraining is allowed. The most common combinations are:

A fixed direction together with a parallel length constraint;
A parallel length constraint plus another length constraint parallel to the x-axis or y-axis;
A parallel length constraint plus length constraints parallel to both the x-axis and y-axis.
Multiple constraints may be driven by the same parameter, even on the same segment.

Length constraints may be measured in two ways. For "measured to the outside of the bend," the reference is a tangent to the exterior face of the bar; the thickness of the bar is included. For "measured to the inside," the reference is the center of the arc of the bend; this is the point where the bend begins, if the constraint is parallel to the segment.

A 180-degree bend is described by introducing a short segment in between the two straight segments, tangent to the midpoint of the bend.