Tips and tricks (Советы и приемы)
Главная › Форумы › Python › Синтаксис и родные библиотеки Python › Tips and tricks (Советы и приемы)
- В этой теме 67 ответов, 9 участников, последнее обновление 6 лет, 2 месяца назад сделано Анатолий.
-
АвторСообщения
-
Порой, чтобы не выдумывать и не искать сложные команды revit, проще и удобнее в питон ноде использовать текстовую запись нодов динамо.
Для этого достаточно подключить библиотеку System (import System)
Например:
Это работает в большинстве случаев когда элементы поступающие на вход питон нода выбраны в ревит области с помощью нодов select model element или созданы заново в области динамо с помощью нодов.
НО, если вы попытаетесь выбрать элементы внутри питон нода, например:
wires = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Wire).WhereElementIsNotElementType().ToElements() – выбираются все провода в проекте
и далее захотите применить к ним текстовую запись нодов динамо, например GetParameterValueByName(“Имя”)), то питон нод выдаст ошибку
Чтобы не разбивать питон нод на 2, достаточно преобразовать элементы ToDSType(True)
Весь код будет выглядеть следующим образом:
P.S. не забывайте подключать все необходимые библиотеки или воспользуйтесь шаблоном
Вместо преобразований toDSType(True) также можно воспользоваться element.LookupParameter(“Имя”).AsString() или element.LookupParameter(“Имя”).AsValueString()
Удачи!
все время забываю, и каждый раз вспоминаю… поэтому лучше здесь один раз написать.
Из Revit в Dynamo:
ModelCurve to Line
Из Dynamo в Revit:
line = Line.ByStartPointEndPoint(point1, point2).ToRevitType() (без создания реальной линии)
и с преобразованием в модельную линию:
Line to ModelCurve revit:Открыть файл из dynamo (или как подсоединить библиотеку os)
если вы все еще не установили Python 2.7, то нужно это сделать
import sys
sys.path.append(“C:\\Python27\\Lib”) # установите python 2.7
import os
os.startfile(r’d:/image.jpg’) # укажите путь к нужному файлуЕсли не ошибаюсь,то вроде IronPython 2.7 устанавливается с Dynamo. Указанным выше способом можно запустить какой либо файл в программе назначенной по умолчанию для этих типов файлов, но если необходимо запустить файл в программе не назначенной по умолчанию, то способ будет следующий:
Очередная вариация на тему распознавания входной информации, немного доработал функцию Димитара Венкова, добавил вычисление пустоты(None), функция в любом случае выдает на выход список: из нескольких элементов, с одним элементом или пустой:
форматирование текста через %s (для string), %d (для integer), %f (для float), пример, %.2f (округление до двух знаков после запятой)
или через оператор .format
search and replace string (поиск и замена текста)
также можно узнать номер начального и конечного индекса, где расположено искомое слово (жаль что только первое, второе он игнорирует)
если мы точно не знаем как пишется Девид и есть ли там лишняя буква, то вместо неопределенного символа ставится точка, а вместо доп. буквы скобки и знак вопроса ()?
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.
Comments: 482