Ведомость арматурных деталей. Задача для ума.
Главная › Форумы › Python › Помогите с питон кодом › Ведомость арматурных деталей. Задача для ума.
- В этой теме 21 ответ, 5 участников, последнее обновление 8 лет, 12 месяцев назад сделано Dubko Michail.
-
АвторСообщения
-
Все мы(почти) знаем как выглядит ведомость деталей (арматура) по ГОСТ и все мы знаем как автодеск забивает на это дело и я теперь понимаю почему. Максимум что мы можем получить это таблицу с набором параметров в столбцах, что исключает получение каких либо эскизов деталей с строковыми параметрами в эскизах (по подобию компонентов Tekla или Allplan smartpats). Из за этого собстно и начал изучать питон 2 месяца назад , убил на это все выходные и праздники и ночи. В итоге получил то что хотел получить и даже намного больше. Открылась целая вселенная реализации идей, а до решения этой задачи у меня лично стоял остро вопрос об уходе из Revit. Хотя мне сказали изначально знающие люди что это невозможно, но все оказалось возможным (но несколько десятков раз ко мне приходило отчаяние). Мой интерес к Dynamo можно сказать честно на уровне нуля, эта тема скорее задача форумчанам для реализации действительно серьезной задачи перед которой Revit до сих пор “краснеет”. Сразу скажу задача по сложности почти фантастическая но решив ее вы сразу найдете решения многих задач, перед которыми Revit в данный момент бессилен, и вам скажут спасибо не одна сотня конструкторов ревитчиков. Я писал код консультируясь с программистами и написав основные блоки понял насколько эта задача мелочная нежели если бы ее решал профессионал………… моя тема не преследует цели плагиата чужого решения , а почему это даже не возможно вы поймете когда решите эту задачу, удачи вам :)
P.S. может я слишком раздул тему и решение в Dynamo уже есть тогда еще лучше ! ( точнее не в Dynamo а в оболочке где реализованная основная часть синтаксиса IronPython)
Зуев же сделал ведомость с эскизами http://weandrevit.blogspot.ru/2014/08/blog-post_5.html
Это стандартная таблица Revita с “NoAlive” картинками.
А это живая таблица с живыми эскизами. Я уже сказал выше что не все так просто , данная задача не решается в Revit стандартными функциями никак …… и по сравнению с Allplan или Tekla ….Revit проигрывает тут катастрофически , но теперь нет , я бы даже сказал выигрывает потому как……ладно это секрет пока что :) .А если решите эту задачу то решение вопроса про ведомость расхода стали или спецификация металлопроката вообще задачи элементарные(они решаются и в данный момент но с такими костылями что я молчу …….., проще в акаде). Я уже не говорю про КМД в Revit, типо отправочные элементы + спецификации отправочных марок и тд …….. это элементарные задачи которые требует усердной работы и не более того. Главное понять принцип. И в связке Revit-Python даже не нужно внешних библиотек NamPy (для черчения не нужно ) или Matplotlib (внутреннея библиотека не хуже) и тд.
Любопытная задача. А вот интересно, а может быть попробовать организовать автоматическую выгрузку узлов из ревита в виде жпг картинок? А они будут потом обновляться и попадать в ведомости? И тогда схема в таблице будет живая… Все таки у Ревит таблиц есть множество преимуществ…
Если картинки делать то нужно связываться с windows для сохранения скрина либо автоматический вывод/ввод данных в файл в конкретное место по умолчанию (серия картинок) но если мы получили уже живой эскиз зачем его переводить в PNG ? и потом вставлять в некую таблицу опять ? это же мазохизм :). Тем более таблицы Revit не живые , большая часть параметров не просто read only, а даже больше……. они не доступны вообще. OST_ScheduleGraphics в целом похоже тайна за семью печатями.
Набросал скрипт
а дальше ? это пока что самое начало пути )
А дальше Ваш ход, гроссмейстер)
Если Вы хотите то же самое, что и в текле, делайте параметрические 2D узлы, параметрические спецификации в виде семейств, размещайте их на чертежных видах и обновляйте по нажатию кнопки из дино.
Просто ревит пытался от этого уйти, изначально программа позиционировалась, как “что на коробке, то и в коробке”, мол чтобы не приходилось проверять правильно ли отобразилось все на чертежах. А в таком подходе есть риск, что программа не поймет 3D модель или не правильно поймет. У теклы практически все предусмотрено (но частенько ошибки вылетают, когда что-то более менее не примитивное). У теклы есть движок по проверке изменений и облачка, где просмотреть изменения. Ревит от этого пытался уйти, т.к. это не правильное направление работы, это не будущее, в определенный момент этот подход достигает потолка и очень сильно ограничивает, т.к. это не BIM, это имитация BIM.
А что значит “Таблицы Ревит не живые”? Они что не получают информацию о арматуре в реальном режиме? У ревит таблиц есть преимущества сортировки и фильтрации… Ваша таблица так понимаю полностью нарисована линиями-палочками и текстом… Но она обновляется собирая информацию (что вы собственно и называете “живой таблицей”)… Я правильно понимаю, Михаил?
не живая потому что доступ к ней закрыт программно
У ревит таблиц есть преимущества сортировки и фильтрации…
нету преимуществ, всего то 4 варианта сортировки , мне например нужно для одной из задач 20 вариантов сортировки и около 8-10 фильтров.
https://www.youtube.com/watch?v=CC1uADSHYyc- у экселя с ревитом больше преимуществ чем с родной спецификацией
Михаил Вам удалось создать в Ревит “живую” ведомость арматурных деталей с помощью каких то сторонних приложений и Вы хотите,чтобы мы повторили это? Смысл этой темы в чем?
В Dinamo столкнулся с проблемами в самом начале , решил написать просто приложение без Dinamo ………. получилось , не стал особо разбираться в DInamo но остались подозрения что он не поддерживает полный синтаксис Python и особо не пригоден для решения сложных проблем. Вот и все , вроде бы так и описал в топике.
А что именно не получилось сделать в Питон скрипте Динамо?
Dubko Michail, очень интересный случай, когда в Dynamo не получилось что-то сделать, а на API получилось. Не поделитесь опытом?
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.