Создание гнутого стержня командой Rebar.CreateFromCurves, не в плоскости

Автор Тема: Создание гнутого стержня командой Rebar.CreateFromCurves, не в плоскости  (Прочитано 3313 раз)

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

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

  • ADN OPEN
  • **
  • Сообщений: 65
  • Карма: 0
Всем привет, нужна помощь.
Я создаю гнутый стержень командой
Код - vb.net [Выбрать]
  1.  Dim rebar__1 As Rebar = Rebar.CreateFromCurves(document, RebarStyle.Standard, barType, hookType, hookType, host,
  2.             normal, curves, RebarHookOrientation.Left, RebarHookOrientation.Left, True, True)

Если все линии располагаются в одной плоскости, т.е. у меня меняются координаты X,Y, а Z не меняется, то гнутый стержень ревит рисует, как только меняю хотя бы у одной точки Z (мне нужен такой гнутый стержень), то ревит ничего не рисует и при этом не выдает ошибку.

Значит этой командой такое нельзя нарисовать ?

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

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Смотри, у CreateFromCurves один из параметров - нормаль.
Цитировать
norm
Type: Autodesk.Revit.DB.XYZ
The normal to the plane that the rebar curves lie on.
curves

Соответственно, curves-ы должны лежать в одной плоскости. Эта плоскость не обязательно параллельна XY.

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

  • ADN OPEN
  • **
  • Сообщений: 65
  • Карма: 0
 понял ваш ответ
параметр normal я выставляю так
normal = New XYZ(0, 0, 1), т.к. потом я этот стержень копирую командой
GetShapeDrivenAccessor().SetLayoutAsFixedNumber

а какой командой можно создать такой гнутый стержень ? не в плоскости....

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

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Код - C# [Выбрать]
  1. public static Rebar CreateFromCurves(
  2.         ...
  3.         XYZ norm,
  4.         IList<Curve> curves,
  5.         ...
  6. )

curves должны быть в плоскости, определяемой norm

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

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

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

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Может, я чего-то не понимаю. Аналог метода CreateFromCurves в UI это - жмем команду "Арматурный стержень", дальше выбираем поверхность основу, потом жмем кнопку эскиз арматурного стержня, т.е. рисуется в плоскости поверхности основы.

Наверное, тебе нужен метод CreateFreeForm, но это не точно. Попробуй соотнести то, как ты создаешь арматуру в UI и сигнатуры методов.

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

  • ADN OPEN
  • **
  • Сообщений: 65
  • Карма: 0
поясню, мне нужно создать гнутый стержень, который не расположен в одной плоскости
у команды CreateFreeForm не увидел например таких параметров как наличие загиба на конце стержня (hook)  и его ориентация

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

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Так отгибы можно задать после создания Rebar-а:
-SetHookOrientation
-SetHookRotationAngle
-SetHookTypeId

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

  • ADN OPEN
  • **
  • Сообщений: 65
  • Карма: 0
спасибо, буду смотреть

Оффлайн gipyugseru

  • ADN OPEN
  • Сообщений: 1
  • Карма: 0
Здравствуйте!
В Revit 2016 скрипт "6.33_Арм. обрамления проема плиты_2.dyn" (автор Aleksandr Popov) - проёмы армируются с ошибкой:
U-стержни укладываются только вдоль одной стороны, а не по периметру проёма. При выборе нескольких проёмов, скриптом обрабатывается только один.
При этом скрипт выдаёт предупреждение:

Предупреждение: IronPythonEvaluator.EvaluatelronPythonScript операция не выполнена.
Traceback (most recent call last):
File "<string>", line 255, in <module>
File "<string>", line 217, in create_U_bylinepoints
AttributeError: 'Rebar' object has no attribute 'GetShapeDrivenAccessor'

Я обращался к разработчику скрипта, когда его блог ещё работал, с вопросом, можно ли адаптировать его скрипт для Revit 2016? Он сказал, что это возможно, но ему эта тема не интересна.
Если кто-то откликнется, буду очень признателен, т.к. я скрипты писать не умею, максимум - могу без особого понимания прочитать листинг.

Исходники см. здесь:
https://disk.yandex.ru/d/kOXwB2-ETngWcg

ИНФО:
&t=14s