Доступ к эскизным линиям

Главная Форумы Python Revit Library (API) Доступ к эскизным линиям

В этой теме 9 ответов, 4 участника, последнее обновление  Анатолий 1 месяц назад.

Просмотр 10 сообщений - с 1 по 10 (из 10 всего)
  • Автор
    Сообщения
  • #7055 Score: 0

    Анатолий
    Участник
    5 pts

    Друзья, если кто проходил этот этап и можете подсказать, прошу натолкнуть на мысли. Хочу добраться до эскизных линий крыши, но не получается найти подходящие команды с помощью dotpeek . После команды GetProfiles() и следующей(например) ToString() (илиGetType()) получаем некий элемент ModelCurveArray. Но этом к сожалению, все творческие мысли заканчиваются(..

    С помощью RevitLookUp, который также явно указывает на GetProfiles – ModelCurveArray – Model line ничего выудить не получается, направление есть, а команды не найти. Спасибо всем, кто откликнется.

    #7056 Score: 0

    ent1g
    Участник
    7 pts

    А что требуется, собственно? Свойства есть вроде

    #7057 Score: 0

    Анатолий
    Участник
    5 pts

    Все верно, ent1g, свойства в RevitLookUp показываются, а как добраться в питоне до них?

    #7058 Score: 0

    Legantmar
    Хранитель
    370 pts
    #7060 Score: 0

    Анатолий
    Участник
    5 pts

    Спасибо, Антон! Вчера целый вечер изучал твой скрипт – очень интересный, хоть я до конца, конечно и не осилил и тоже возникают вопросы.. Не смог понять откуда взялась рабочая команда get_Geometry , в dotpeek почему-то не смог ее найти, попробовал поработать с четырехскатной крышей с помощью скрипта, периметр обсчитывается только по тем линиям, которые соответствуют эскизным линиям крыши, на которых выставлена галка Формирование уклона. И, к сожалению, к эскизным линиям не понял как обратиться с помощью данных команд в коде питона. Если не ошибаюсь – создается некое тело (Solid), из которого вытаскиваются точки, линии, которые в некоей мере соответствуют эскизным.. Еще раз спасибо, буду искать дальше.

    #7062 Score: 1

    @zhukoven.com
    Участник
    15 pts

    @Анатолий, в пакете spring nodes есть узел:

    Springs.Collector.ElementSketch

    Можете попробовать через него собрать эскизные кривые:

    #7064 Score: 0

    Анатолий
    Участник
    5 pts

    Благодарю, @zhukoven.com! Очень полезный нод, буду изучать внутренний код питона. Действительно создает все линии, на подобии эскизным модельным, но, все-таки это немножко не тот результат в аналогии с линиями, которые можно посмотреть в лукап и имеют свой id и параметры (для крыш – ModelCurve).

    #7074 Score: 0

    ent1g
    Участник
    7 pts

    Анатолий, ты же сам все нашел )

    curves = roof.GetProfiles()

    мы до них добрались, дальше-то что нужно? )

    #7075 Score: 0

    Анатолий
    Участник
    5 pts

    ent1g, может я неверно свою мысль изложил) в первом посте, на картинке привел небольшое сравнение: с одной стороны вытащил крышу через категорию, а ниже на рисунке, зайдя в редактирование крыши выбрал одну ее эскизную линию с номером 645776, как видно тип объекта она имеет ModelCurve и имеет свои параметры, которые можно изменить. Вся задача состояла в том, чтобы через сам элемент крыши FootPrintRoof добраться до ее эскизных линий ModelCurve. Что получилось достать, так это только линии типа Autodesk.Revit.DB.ModelCurveLine через GetProfiles() или Autodesk.Revit.DB.ModelCurveArray далее добавив GetType(), но, к сожалению это не те необходимые эскизные линии, которые имею свои параметры. Еще раз спасибо за внимание к вопросу)

    #7077 Score: 0

    Анатолий
    Участник
    5 pts

    Огромное спасибо зарубежным коллегам! Вот и решение, все, как оказалось с данном случае, очень просто.

    Единственный нюанс, у меня ревит вместе с динамо виснет, если все подключить и выставить на автоматический запуск скрипта.

Просмотр 10 сообщений - с 1 по 10 (из 10 всего)

Для ответа в этой теме необходимо авторизоваться.