Spot Coordinates с помощью Dynamo+Python
Главная › Форумы › Python › Помогите с питон кодом › Spot Coordinates с помощью Dynamo+Python
Помечено: Python
- В этой теме 16 ответов, 4 участника, последнее обновление 8 лет, 9 месяцев назад сделано Khasan Mamaev.
-
АвторСообщения
-
Ребята, прошу помощи более опытных товарищей, не так давно начал вникать в Python. Топчусь на месте и не могу никак разгрести..
Задача: написать Python скрипт для простановки координат(Spot Coordinates) колонн по вверхправ / нижний левый углам, используя NewSpotCoordinate Method. С видом, точками все понятно, но я завис на Reference. Как создать ReferenceArray и вытянуть из геометрии колонн нужные References?? я так понимаю, мне нужны крайние точки Curves или Edges..
может кто посоветовать что-то по теме? спасибо за помощьНашел только одну ссылку http://thebuildingcoder.typepad.com/blog/2010/01/spot-elevation-creation-on-top-of-beam.html да о то не помогло. Каким образом получается референс непонятно
это можно сделать, я позже покажу (но это довольно сложный метод)
проще на мой взгляд идти этим путем:
Legantmar, Khasan спасибо за отклик. Я блог Таммика перечитал вдоль и поперек в поисках моей темы..ничего похожего на мой случай не нашел..
буду очень признателен, если поможете разобраться как скомпьютить референсы используя именно Python+Revit API.Legantmar, Я еще на начальной стадии отбросил предложенный Вами вариант, т.к. у меня сейчас в проекте 7 типоразмеров колонн, около 80 колонн на уровне и половина не ортогональны – повернуты к осям Х-У на 30/45/60 градусов. Слушком много IFs если идти методом LocationPoint + Offset.. Для меня более универсальным решением кажется будет NewSpotCoordinateMethod и четкий Python script + можно использовать в дальнейшем без адаптации под каждый частный случай
да не за что, кстати, я вчера записал ролик по армированию колонн, в своем скрипте я решал похожую задачу. В общем, найти угловые точки колонны, на каком бы она уровне не находилась и как бы не была повернута, не составляет труда.
да дело то не в точках – их найти совсем труда не составит даже используя native Dynamo ноды, но создать Spot Coordinate элемент по точкам не получится..вопрос в том, как в Python скрипте сделать stable reference для NewSpotCoordinate Method.. 3тий день копаю и впустую..щас на англозычных ресурсах спрашивать буду.. в любом случае, спасибо что обратили внимание))
кстати посмотрел Ваше видео, Хасан. Довольно интересно смешать все это дело с DynamoRebar package от Core StudioА в чем прелесть NewSpotCoordinate Method? Почему только так? Касательно взаимодействия с DynamoRebar скажу что я сделал свой скрипт армирования изза недостатков нодов Core Studio)
> да дело то не в точках — их найти совсем труда не составит
видимо я зря старался.. (reference к сожалению достать не удалось)
update:
попробовал из точки сделать reference point, но пишет, что сделать это можно только в семействе ((update2:
при внимательном рассмотрение понял, что ребра (edges) достаются из family instance относительно центра семейства и ничего общего с глобальными пространственными не имеют ((.
когда построены curves в Dynamo, скомпьютить армирование используя DynamoRebar проще простого…. На мой взляд ваш подход для армирования колонн хорош, ничего не имею против. Просто его дорабатывать нужно для различных типов армирования, в то время как DynamoRebar уже пакетом и custom нодами “сидит” в Dynamo. B чем Вы видите недостатки DynamoRebar?!
насчет NewSpotCoordinate Method.. хорош тем, что универсален и “привязан” к колонне. не важен типоразмер колонн, положение в плане.. Если колонны подвигать, координаты динамически апдейтяться и т.д. Создать элемент координат без reference невожможно. Точкой не задать положение Spot Coordinate. Это системное семейство..короче, как размеры. похожий класс. для создания, ему нужен референс к геометрии..
как альтернатива конечно, создать новое generic annotation семейство и запитать координаты точек с помощью Динамо..но это если не разберусь как сделать в Python..Первая версия пакета DynamoRebar не имела опцию для выбора крюка на конце стержня и крюк был по умолчанию. Также были глюки с разными версиями Динамо и Ревит. Мои знакомые динамщики даже написали скрипт в Питоне, чтобы избавиться от крюков. В дальнейшем разработчики исправили этот промах, но мне это было уже неинтересно, потому что я уже написал сам код для армирования, который имел на вход всего три слота(кривые, тип арматуры, армируемый элемент). В принципе можно использовать первую часть моего скрипта для получения геометрии в Динамо, а далее заменить нодами DynamoRebar, это уже как душе угодно.
Антон а что будет если двинуть колонну?
Антон видел твой вопрос на главном сайте. Ответ Собона чем то помог?
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.