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

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

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

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

  • ADN OPEN
  • Сообщений: 29
  • Карма: 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
  • *****
  • Сообщений: 990
  • Карма: 297
  • 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
  • Сообщений: 29
  • Карма: 0
 понял ваш ответ
параметр normal я выставляю так
normal = New XYZ(0, 0, 1), т.к. потом я этот стержень копирую командой
GetShapeDrivenAccessor().SetLayoutAsFixedNumber

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

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

  • Administrator
  • *****
  • Сообщений: 990
  • Карма: 297
  • 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
  • Сообщений: 29
  • Карма: 0
спасибо , понятно
а какой командой можно создать гнутый стержень не в плоскости ?

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

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

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

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

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

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

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

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

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