en
Feedback
✒️ Хроники Георга

✒️ Хроники Георга

Open in Telegram

Блог о своих курсах, прикладном программировании, теме BIM/GIS. Обо мне: Гребенюк Егор; работаю в СПбПУ, ООО Цифровые технологии 1520 (РЖД), Нанософт-разработке и также сотрудничаю с Vysotskiy consulting и TBS-Software.

Show more
355
Subscribers
No data24 hours
No data7 days
No data30 days
Posts Archive
Статья №45. Renga API & Dynamo Core. Часть 3 - создание новых свойств, присвоение объектам, транзакции.
Не смог удержаться перед соблазном продолжить (тем более что часть материала была итак), здесь мы завершаем тему свойств и вскользь касаемся темы реализации транзакций в модели с объектами Renga (операции присвоения им пользовательских свойств) Перейти к статье.

Статья № 44. Renga API & Dynamo Core. Часть 2 - интерфейсы, константы, свойства, чтение свойств; выборка объектов модели и их свойства
Вторая часть нашей эпопеи - проходим огонь, воду и медные трубы интерфейсы, константы (Enum) и свойства объектов в Renga. Оказывается их там аж 3 типа несвязанные друг с другом! Статья получилась короче предыдущей, под конец уже устал писать (кода вышло оооочень много на реализацию всех вспомогательных методов для работа со свойствами). Изменение свойств, как и создание новых уже не осилил - будет в третьей части, а в четвертой хотел начать рассматривать геометрию. Перейти к статье.

Статья №43. Renga API & Dynamo Core. Часть 1 - понятие документа, пакетные операции экспорта в IFC и вывод чертежей
Проснувшись среди прошлой ночи пришла в голову шальная мысль "а почему бы не ..." 😂😂. Необходимость погружения в API Renga всё равно была в контексте курса по BIM-менеджменту (пакетные процедуры валидации файлов и экспорта ifc), решил совместить ... на удивление - что-то да получилось! Статья о том как "дружить" Dynamo Core (open-source) с другими САПР с нуля используя API для конкретной САПР. В текущей части рассматриваем логику инициации процесса Renga и её документа/проекта. Производим пакетные процедуры экспорта ifc и чертежей. Перейти к статье.

Статья №42. AutoCAD 3D API и OSM. Назначаем материалы граням 3D-тел.
Обновление*. Неоднозначный кейс о назначении граням 3д-тела отдельных цветов/материалов. Столкнулся со сложностями и со стабильностью работы скрипта. Описал это в статье + свои рекомендации. На солиде в 2104 граней (ок. 700 точек) отработало за полминуты. Солид на 67 000 граней порядка полчаса, что в общем медленно, но ускорить идей нет никаких. Что рассматривается? Устройство 3д-тела, процесс получения координат центроида каждой грани, идентификаций грани, операции объединения атрибутов (точки с полигонами) в QGIS, работа с ObjectData и с (крайне нестабильными в контексте Dynamo, как показала практика) методами AutoCAD 3D API по работе с телами. Перейти к статье.

Статья №41. Civil 3D & Dynamo. Подходы к оцифровке топографии. Часть 1 - Мультивыноски и выборка данных.
Рассматриваем применение упомянутых в ранней статье R-деревьев для сборки мультивыносок (MLeader) AutoCAD из набора расчлененки. Касаемся предварительной выборки, работе с несколькими деревьями и методами запроса на поиск ближайшего соседа и набора соседей в рамках области. К сожалению, полностью на чистом Python (dynamo) это уже не стал делать ... на типизацию деревьев меня уже не хватило -- реализовал отдельные методы для скрипта как .NET-вставки (отдельные методы в рамках своих пакетов Civil3D.CustomNodes и DynamoRtree). Перейти к статье.

Статья №40. AutoCAD и его объекты. Использование RTree для пространственной индексации данных.
Довольно фундаментальная статья-вводная к циклу последующих статей (даем разъяснение логике хранения объектов в AutoCAD и Dynamo, настраиваем между ними связи). Описываем реализацию деревьев RTree для пространственной индексации элементов чертежа для поиска ближайших соседей (в рамках нового пакета Dynamo -- DynamoRTree). Перейти к статье.

Статья №39. О пакетной обработке DWG-чертежей, программный подход с Map 3D - Часть 1
Сел осваивать AutoCAD Map 3D API (в части пакетной обработки файлов - применения к ним запросов (ADEQUERY) для подключения внешних чертежей для получения части их геометрии). Это первая часть статьи, иллюстрирует лишь особый подход к программной реализации действия; вторая часть будет более конкретней направлена на настройку запросов. Перейти к статье.

Статья №38. Занимательное Dynamo. Перестроение поверхностей для линейных объектов
О возможности автоматизировано переносить представление поверхностей линейных объектов из иного ПО в Civil 3D через LandXML минуя некорректную структуру поверхностей (фактически, процессы создания поверхностей в Dynamo по исходных данным). Перейти к статье.

Статья №37. Занимательное Dynamo. Получение геометрии трассы для экспорта в форме текстового файла. Особенности обработки дробных чисел.
Рассматриваем прикладную задачу о формировании набора точек по трассе Civil 3D (для выноса проектных решения в натуру - полевой съемке). Касаемся вопросов работы с числами с плавающей точкой (double) . Перейти к статье.

Статья №36. Civil 3D API. Работаем с быстрыми ссылками - Часть 1
Решил посмотреть на "новые" методы в Civil 3D API по работе с быстрыми ссылками на базе Dynamo - импорт данных из существующей базы ссылок. Столкнулся с большим количеством вопросов - но всё же, задачу импорта в чертеж определений из большой коллекции ссылок я реализовал. На удивление, в сети было крайне мало информации о работе с БС, несмотря на полезность инструмента (впрочем, существующее API по работе с ними весьма мудреное ... надо будет разбираться). Гонясь за решением, добавил вспомогательный нод в свою Dynamo-пакет Civil3D.CustomNodes, для временного обхода непонятных методов API (через анализ xml-записей об объектах в папке проекта БС). Ознакомиться со статьей.

Статья №35. Занимательное Dynamo. Транзакции к содержимому чертежа. Операции с текстом и немного прикладной геометрии.
Работаем с объектами AutoCAD типа Text и Mtext. Выравниваем текст (угол поворота) относительно положения трассы (объекта civil 3d) для устранения коллизий на видовых экранах при печати. Перейти к статье.