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
Сегодня у Vysotsky consulting (VC) юбилей и моя скромная персона затесалась на праздничном фото крайняя справа :) Спасибо им что ставят в одну линейку с легендами команды разработки курсов, приятно. Обычно к юбилею стараются приурочить разные неожиданные приятные события, но у меня особо нового ещё нет, но скоро будет, точно до Нового года 🙂...

Последние 2 недели в свободное время убивался об задачу реализации в NanoCAD (и будем честными, для AutoCAD тоже будет работать) расширенных объектных свойств — аналога Наборов характеристик в Civil3D или чего-то там похожего (забыл) в Revit. Тем более что программная база для этого была еще до моего рождения 😂 — так называемые "динамические свойства". Вдохновившись утверждением И. Слободина из Нанософта что это вообще возможно (создавать объекты класса-шаблона свойства), я только сегодня к вечеру смог реализовать работающую конструкцию. При этом честно скажу, примерно половину времени я убил на приведение строк в коде (мерзость под названием BSTR и сводимые к ней данные), а оставшуюся половину - на хирургические опыты "на что повлияет вот эта операция" из-за почти полного отсутствия документации/чужих примеров на подобные действия. Ознакомиться с кратеньким немым роликом можно по ссылке. Сам же исходный код приведен тут (он пока очень грубый, там много чего нет и надо будет делать, но задел модуля "расширенных свойств" заложен точно. Хоть и от перспективы писать оконные модули на qt сжимается *** сердечко 😂. Надеюсь в ближайшие пару недель - месяц его дописать до состояния "можно делать открытую презентацию" в форме вебинара/открытого тестирования ... так как скажу честно, наполнение информационной модели атрибутами (где объекты модели - графические примитивы) на платформе NanoCAD было бы хорошим подспорьем. И вдобавок — далее можно будет перейти к реализации импорта ГИС-данных (где камнем преткновения было именно передача атрибутики)

Позавчера, 8 ноября, в Москве прошла конференция разработчиков NanoCAD, на ней в том числе было заслушано моё выступление, ссылку на него прикладываю с таймингом. Тезисные положения по конференции представлены в небольшой статье.

Наконец-то получил на руки публикацию в Proceedings of STCCE 2022, которую мы отправляли летом и которая вышла 1 октября. Краткая информация о статье здесь. Сама статья во вложении. Она частично коррелируется с ранней публикацией из "Путевого навигатора". P.S. Перевод возможно не совсем на чистый английский был из-за сжатых сроков подачи 😂.

С удивлением открыл для себя красную кнопку, единственную скриптовую команду а-ля cd C:\ODM python run.py odm_non_gcp --proje
С удивлением открыл для себя красную кнопку, единственную скриптовую команду а-ля
cd C:\ODM
python run.py odm_non_gcp --project-path  some_path --dtm
формирующую из набора растров (сырые результаты съемки с дрона) с помощью консольной версии ODM (OpenDroneMap) и ортофотоплан, и сшитое облако точек, и мэш-модель текстурированную... Согласен, что профессиональное ПО это умеет итак, тем более что Agisoft Metashape разработанный в России никуда не исчезал, но от open-source я не ожидал такой работоспособности. Приятно удивлен, надо признать, довольно корректным результатом, притом что обработка производилась без опорных точек. В общем, надо поднять методические материалы (это среди них) созданные в своё время Э.Казаковым и интегрировать работу в нём не только в образовательную среду, но и рабочие процессы. Со времен ранних публикаций он теперь доступен и под винду (с мая 2021 года) и не сыпется с ошибками. На картинке результат на пару корпусов нашего вуза СПбПУ на фоне OSM в среде QGIS:

8 ноября в Москве состоится "Конференция разработчиков nanoCAD", мероприятие оффлайн с онлайн-дублированием; и я там буду в т
8 ноября в Москве состоится "Конференция разработчиков nanoCAD", мероприятие оффлайн с онлайн-дублированием; и я там буду в том числе читать вещать доклад "Визуальное программирование. Интеграция Dynamo с Платформой nanoCAD" (время 17:00 — 17:20). Не то чтобы я рвался туда (как и на любую другую конференцию), но предложили и почему бы и нет 😂. Выступление будет в основном про отдельные принципы программной интеграции dynamo с чем-либо имеющим COM API на примере платформы NanoCAD. Запись останется и после завершения мероприятия*. Понятно, что функционально к похожему в Dynamo for Civil3D конечно пока не приблизимся, но заткнуть некоторые направления ручной работы уже можно. (на картинке процесс создания таблиц).

С какого-то времени подсел на разные мемные паблики, и неделю назад встретился "забавный" мем про "читаемый C++ код". Я посме
С какого-то времени подсел на разные мемные паблики, и неделю назад встретился "забавный" мем про "читаемый C++ код". Я посмеялся и порадовался что ни разу с таким не встречался .... а вот сегодня решил вкусить интересный кейс "динамические свойства в NanoCAD через их + ODA C++ api" 😀. И кто бы мог подумать что один из вспомогательных классов из системной библиотеки atlcom.h будет изобиловать подобными эльфийскими письменами .... P.S. Нет, я не то чтобы не понимаю, просто .... итак больно на них писать, так еще и богомерзкий COM здесь же 😰 и многочисленные макросы (define) ведущие к 100500 другим непонятным функциям ... Слева мем, справа действительность.

Где-то месяц назад поставил на свой github контактный адрес электронной почты, чисто "на всякий случай", так как думал что люди будут писать в Issues (правда, для "своих" репозиториев это было лишь 2 случая и то, давно). Я был удивлен, что за последнюю неделю получил 2 письма по своим наработкам: первое по вопросу работы с ifc (откуда-то из Минска) и второе было сегодня - от Abdelkader Ben Saci (PhD от Архитектуры) из одного университета в Гренобле (Франция) по пакету для Dynamo для экспорта данных в PostgreSQL. Я начал писать его в конце марта этого года и тогда же бросил из-за отвратительных pipeline в самом Dynamo (логика последовательного выполнения команд), но сегодня вот чуть его исправил "по запросу", и результат работы скрипта - формирование файла sql для исполнения в ручном режиме. (ранее была связка с .NET Standard -либой Npgsql, для работы с которой из-под .NET Framework тянулось 11 доп. библиотек с версионностью, что при импорте в Dynamo создавало ошибки поиска зависимостей). Пролистал работы упомянутого исследователя - касаются в том числе генеративного дизайна, машинного обучения, городского планирования. Жаль, конечно, что вряд ли получится сотрудничество по статьям из-за политических запретов (со стороны редакций зарубежных журналов), но прецедент, тем не менее интересный, раннее во всяком случае мне не писали.

Курс по ТИМ-аналитике опубликован, можно анонсировать начало разработки следующего на платформе bim.vc: "Dynamo для Civil3D и NanoCAD" с готовностью где-то к декабрю сего года. Почему Civil3D? Признаем, что комплексно его не закрывает ни один отечественный САПР (закрытие через 10 решений от одного производителя не будем считать удобным). Курс будет с русской озвучкой, но на англоязычном Civil3D и возможно с дополнительной английской звуковой дорожкой — для просмотра зарубежными не-русскогоговорящими пользователями. Почему Dynamo для Civil3D? Под это не было ни одного структурированного курса на этот счет, и с момента его появления в Civil3D прошло уже почти 3 года, и появился ряд новых пакетов под платформу, по функциональности намного превышающей базовую поставку нодов. Каким местом тут NanoCAD? По той причине, что NanoCAD использует библиотеки от ODA (Teigha и odaX) для работы с DWG, общая вводная на тему "как устроено хранение данных в dwg-файле" будет одинакова, и в целом логика работы с простыми сущностями. Под NanoCAD пакет нодов в состоянии активной разработки (под его COM API). Кроме того, NanoCAD наиболее близкий к AutoCAD по логике работы с чертежами, дешевый и потому будет замещаться активней других аналогов. Внимание на курсе будет уделено обращению к API Civil3D через Python-скрипты (для Dynamo4Civil3D) и обработке COM-интерфейсов NanoCAD в частности. Базовое dynamo я до сих пор не очень выучил, поэтому курс будет вертеться вокруг работы с python-блоками, благо теперь после курса с МГУУ я его немного прокачал. Логику работы с САПР через COM на примере Renga отработал, шишки собрал, выводы сделал. Новый подход будет учитывать ошибки старого. Принимаются заявки на темы под рассмотрение 😊.

Упомянутый дважды курс по работе с данными выше (анализ данных), решили всё-таки сделать открытым и выложили в публичный дост
Упомянутый дважды курс по работе с данными выше (анализ данных), решили всё-таки сделать открытым и выложили в публичный доступ. Теперь код сопровожден видео и всё смотрится органично https://bim.vc/edu/courses/tim-orientirovannaya-analitika-sovremennye-instrumenty-raboty-s-dannymi/ P.S. Да, подпись к курсу "желтая" 😬

Мир стремительно завершал 2022 год, а новая версия Топоматик Робур 9.0 выпущенная в сентябре 2022 года требует средства разра
Мир стремительно завершал 2022 год, а новая версия Топоматик Робур 9.0 выпущенная в сентябре 2022 года требует средства разработки середины 2000х. 🫤 Которые мало того что не включены в состав дистрибутива 😡, так еще и нифига не качаются из-за ограничений Microsoft и не ставятся из-за недостатка других компонентов зпохи Палеолита. Придется на виртуалке ставить с включенным Центром обновления .... Кстати Робур на ближайшие годы видимо самая близкая альтернатива для работы с линейными объектами .... буду разбираться и материал по нему писать вскорости ....

Вчера в статье я упомянул большой "дорожный" проект, над котором я работал в СПбПУ почти год (и сейчас он продолжается в виде другого гос. контракта), более подробно о нем можно почитать в приложенной ниже статье в ВАК'овском журнале "Путевой навигатор" за сентябрь (№52), стр. 26. Архив номеров см. здесь, а саму статью прикладываю в виде PDF, извлеченной из полной версии журнала.

Я не особо люблю писать про себя и личную жизнь кроме как в резюме ... но тут так сложились звезды, что какой-то анализ подвести надо ... приуроченный к дате 30 сентября 2022 г. (вчера) - день увольнения (пусть и временного, конечно) из СПбПУ и поступления на очную аспирантуру в ННГАСУ. Кратенько пробегаюсь по своей осмысленной деятельности с момента её начала - с 2019 года до сей поры - обстоятельства, которые привели к такому ... повороту 😂😂 (нет-нет, политики и эмиграции тут нет, не волнуйтесь) Ознакомиться с истоками.

В продолжение выше опубликованного "анонса" проводимого на базе МГУУ курса размещаю материалы этого курса. Сам контент записан, но в полной своей части авторские права на курс у МГУУ (собственно, видео-озвучка) , в то время как "программная" часть открыта - и доступа на публичном репозитории. Это 9 python-скриптов с пошаговым погружением в анализ файлов (в основном, ifc, чуть-чуть xml и на базе полученных таблиц из ifc - простейшая аналитика в pandas и postgresql). Понятно конечно. что серьезным курс не назвать в его оговоренном объеме, но для начала пойдет (как методика освещения процесса). Фоном сделал маленькое пособие для начала работы с py-IfcOpenShell, доступное также там же. P.S. Возможно он будет немного дополнен более углубленным материалом, в сторону графической составляющей, так как признаюсь честно: PythonOCC мозги выносит знатно 😂

Сделаю, пожалуй, репост публикации VC о старте совместного с ними курса на базе МГУУ в продолжение ранней "тестовой" публикац
Сделаю, пожалуй, репост публикации VC о старте совместного с ними курса на базе МГУУ в продолжение ранней "тестовой" публикации на тему использования IfcOpenShell для работы с IFC файлами. Насчет открытости курса не уверен, но наверное в его развитие позже будет опубликована и версия "для распространения". https://t.me/bimvc_live/35?single

Статья №60. Продукты Autodesk - загрузка и настройка дистрибутива для безопасного использования
Постарался аккуратно затронуть тему изменения установщика продуктов Autodesk для использования оного без ... лицензии, правда о конкретной последовательности действий с менеджером сетевых лицензий писать уже побоялся 😬. В целом, все сборки на торрентах - это и есть модифицированные официальные дистрибутивы с приложением "папочки crack". Только там также интегрированы дополнительные модули, загружаемые (в обычном случае) через Личный кабинет -- хотфиксы, утилиты, регулярные обновления. Глянул состав сборок на Рутрекере, там нету сборок под Civil3D и менее распространенного ПО Autodesk ... есть где разгуляться. Так как боюсь что и текущие способы загрузок скоро тоже обрубят .... Перейти к статье.

Статья №59 (впрочем в нумерации я уже сбился) NanoCAD и GIS - создаем свою среду для работы, часть 1 Воодушевившись непаханными полями и вконец устав от глючного и медленного civil3d решил, что пора всё таки писать реализацию отдельных функций из map3d (civil3d) на базе NanoCAD, хотя бы из числа самых-самых насущных. В текущей реализации отладил логику работы с библиотекой PROJ (я писал о ней раннее), теперь она быстро пересчитывает координаты и извлекает информацию о базе проекций СК, что сразу было воплощено в аскетичном менеджере по работе с СК в NanoCAD. Следующая (самая простая в реализации опция), это импорт текстовых файлов с их пересчетом в виде блоков/точек. Обе эти функциональные возможности представлены в видео в статье (я стал уходить от статей вообще в пользу либо Справки, либо видео .. так как непрерывная демонстрация в видео "заходит" намного лучше чем кусочная по тексту). Во всяком случае OCCT мне "зашел" по видео, а не Справке. За тестирование и идеи благодарю Алексея Куренкова из tbs-software! p.s. также желаю терпения команде разработки nanosoft ... 😂😂😂 Перейти к статье.

Все совпадения случайны и все персонажи вымышленные. 😂😂😂 Я регулярно спрашиваю в одном чате, будет ли сегодня готов курс. Каждый раз мне отвечают неоднозначно. Я спрашивал уже раз 150 и 150 раз мне ответили неоднозначно. Смысл в том, что отвечает мне один и тот же человек, отвечает с неизменной интонацией. А я каждый раз с неизменной интонацией спрашиваю: —Курс будет готов завтра? —Да, скоро будет готов. —Как насчет опубликовать курс завтра? —Не могу точно ответить. Лучше спросите позднее. —Можно ли надеяться что курс опубликуете на этой неделе? —Всё может быть, его надо опубликовать на сайте ещё. Подойдите позднее с этим вопросом. —Я бы хотел узнать, когда вы опубликуете наконец курс? —Извините, у нас ждут другие курсы, спросите позже. И ведь этот человек знает меня идеально в лицо, знает, что я спрошу и знает, что он мне ответит. Но ещё ни разу ни один из нас ни жестом, ни словом не показал, что каждый из нас знает сценарий. Бывает куратор курсов проверяет другой контент, когда я появляюсь онлайн в нашем чате. Тогда я подсматриваю за его активностью, он равнодушно заканчивая посмотреть очередное видео, обращается ко мне: —Что Вы хотели? — Мне бы хотелось узнать насчет даты публикации моего курса. —У нас сейчас загрузка, но по нему действительно осталось немного. —Жаль. Иногда он общается с другими авторами, тогда когда они закончат: —Могу ли я узнать про публикацию моего курса? —Еще не готово, надо опубликовать много материала. Иногда он просто скучает за компьютером, когда остальные участники чата неактивны, и только я сижу в онлайне. Конечно, он знает, что будет дальше, но не подаёт виду и равнодушно смотрим очередное видео. - Что-то я насчет своего курса давно не спрашивал, как там он? - Пока работаем над материалом, Подойдите позднее. Это очень суровое, по-настоящему мужское противостояние, исход которого не ясен. Очевидно, что каждая сторона рассчитывает на победу.

Обновленный плагинчик выше (можно корректировать точку обзора и выводить точки обзора в файл - фактически, рендер). Идею с корректировкой положения (и самой необходимостью такой операции) подкинул Е.Ширинян (@e_shirinyan), спасибо за идею! Посмотреть на изменения.

Написал небольшой плагинчик для Renga - для создания и переключения между точками обзора в файле модели с учетом скрытия объектов (функции которой не хватало по сравнению с иными похожими САПР). Ознакомиться с плагинчиком.