Урок 10. Реализация семантики, часть 1. Сохранение определений свойств в XData в словарь БД
10 урок из авторского курса «Разработка под nanoCAD (AutoCAD) .NET API на примере импорта-экспорта GeoJSON с поддержкой атрибутов» посвящен реализация семантики, часть 1. Сохранение определений свойств в XData в словарь БД. Примечания к видео: - `3:25` - приложение для XData (APP_SEMANTIC) нужно для связки всех сохраняемых определений с каким-то идентификатором, чтобы при чистке DWG при удалении приложения были удалены все связанные с ним записи, в противном случае надо будет чистить их вручную, кроме того приложение облегчает получение связанных с ним данных для примитивов с XData; - `12:14` - в транзакцию добавляется по ошибке словарь всей БД (dbDict), далее на моменте `35:07` эта ошибка будет исправлена; - `19:20` - допущена важная ошибка, информацию необходимо добавлять не в свойство `XData`, а в свойство `Data` у Xrecord, где лимит данных не ограничен. В таком виде это работало бы, если бы при чтении (метод GetPropertyDefinitions) также считывать данные из свойства `XData`, но там будет `Data`. Эта ошибка всплывёт в видео №12; - `20:22` - созданный экземпляр Xrecord `propDefRecordRB` не добавляется в транзакцию. Реализация метода `SetAt` такова, что объект добавляется в транзакцию автоматически, но вызов вручную AddNewlyCreatedDBObject тем не менее не будет ошибкой, и для единства подходов к написанию кода им можно пользоваться. Во всех случаях в видео далее будет вызываться транзакция; - `21:52` - получать словарь `semanticDict` для записи нет необходимости, можно было оставить для чтения; - `23:34` - автор проговаривает свойство `XData`, но пишет правильно - в `Data` (см. комментарий через два выше); - `26:08` - упоминается метод `GetXDataForApplication` - его удобно вызывать для объекта, не проваливаясь внутрь его словарей и XData в отличие от рассмотренного варианта с полным чтением структуры данных; - `30:03` - автор оговорился, результат метода GetPropertyDefinitions вернется в виде массива, а не словаря; ➡️ Весь курс вы можете посмотреть по ссылке: https://rutube.ru/plst/1553743 Курс состоит из 15 видео общей длительностью около 5 часов. В них показаны все этапы разработки до отладки и исправления ошибок. Внимание: в некоторых видео встречаются описки и недочеты. Все важные моменты отмечены в описаниях под видео с таймкодами. Автор курса надеется, что вы отнесетесь с пониманием к этим моментам — он постарался отразить их в текстовых пояснениях. 📁 Репозиторий: https://github.com/GeorgGrebenyuk/cadApiDevCourse с демонстрационным кодом из видео и исходными данными (набором файлов GeoJSON) для тестирования, данные взяты с сервиса data.nextgis.com и доступны по соответствуюшим лицензиям. 📖 Локализованное на русский язык руководство разработчика AutoCAD .NET API с комментариями для nanoCAD: https://georggrebenyuk.github.io/acadDevDocsRu_Web/ac... Об авторе: Автор курса и локализованного перевода справочника для .NET API - Гребенюк Егор Александрович, технический писатель отдела технологий информационного моделирования департамента разработки ООО «Нанософт разработка», также инженер ФГАОУ ВО СПбПУ, ИСИ, ВШПГиДС. Бывший Autodesk Expert Elite (с апреля 2020 г.), участник локализации Civil 3D в части систем координат, автор ряда видеокурсов размещенных на платформах InfraWorks, IFC, Renga API и Dynamo в Civil 3D. ⬇️ Еще больше информации в наших социальных сетях. Подписывайтесь! • Telegram: https://t.me/TBSsoft • Youtube: https://www.youtube.com/@TBSsoft • Rutube: https://rutube.ru/channel/42067051/ • Вконтакте: https://vk.com/tbssoft • Дзен: https://dzen.ru/tbssoft • Telegram-чат для получения техподдержки по плагину: https://t.me/TBSapps • Telegram-чат для совместного обсуждения вопросов программирования для платформы nanoCAD и вертикальных решений на её базе: https://t.me/nanoCADAPI
10 урок из авторского курса «Разработка под nanoCAD (AutoCAD) .NET API на примере импорта-экспорта GeoJSON с поддержкой атрибутов» посвящен реализация семантики, часть 1. Сохранение определений свойств в XData в словарь БД. Примечания к видео: - `3:25` - приложение для XData (APP_SEMANTIC) нужно для связки всех сохраняемых определений с каким-то идентификатором, чтобы при чистке DWG при удалении приложения были удалены все связанные с ним записи, в противном случае надо будет чистить их вручную, кроме того приложение облегчает получение связанных с ним данных для примитивов с XData; - `12:14` - в транзакцию добавляется по ошибке словарь всей БД (dbDict), далее на моменте `35:07` эта ошибка будет исправлена; - `19:20` - допущена важная ошибка, информацию необходимо добавлять не в свойство `XData`, а в свойство `Data` у Xrecord, где лимит данных не ограничен. В таком виде это работало бы, если бы при чтении (метод GetPropertyDefinitions) также считывать данные из свойства `XData`, но там будет `Data`. Эта ошибка всплывёт в видео №12; - `20:22` - созданный экземпляр Xrecord `propDefRecordRB` не добавляется в транзакцию. Реализация метода `SetAt` такова, что объект добавляется в транзакцию автоматически, но вызов вручную AddNewlyCreatedDBObject тем не менее не будет ошибкой, и для единства подходов к написанию кода им можно пользоваться. Во всех случаях в видео далее будет вызываться транзакция; - `21:52` - получать словарь `semanticDict` для записи нет необходимости, можно было оставить для чтения; - `23:34` - автор проговаривает свойство `XData`, но пишет правильно - в `Data` (см. комментарий через два выше); - `26:08` - упоминается метод `GetXDataForApplication` - его удобно вызывать для объекта, не проваливаясь внутрь его словарей и XData в отличие от рассмотренного варианта с полным чтением структуры данных; - `30:03` - автор оговорился, результат метода GetPropertyDefinitions вернется в виде массива, а не словаря; ➡️ Весь курс вы можете посмотреть по ссылке: https://rutube.ru/plst/1553743 Курс состоит из 15 видео общей длительностью около 5 часов. В них показаны все этапы разработки до отладки и исправления ошибок. Внимание: в некоторых видео встречаются описки и недочеты. Все важные моменты отмечены в описаниях под видео с таймкодами. Автор курса надеется, что вы отнесетесь с пониманием к этим моментам — он постарался отразить их в текстовых пояснениях. 📁 Репозиторий: https://github.com/GeorgGrebenyuk/cadApiDevCourse с демонстрационным кодом из видео и исходными данными (набором файлов GeoJSON) для тестирования, данные взяты с сервиса data.nextgis.com и доступны по соответствуюшим лицензиям. 📖 Локализованное на русский язык руководство разработчика AutoCAD .NET API с комментариями для nanoCAD: https://georggrebenyuk.github.io/acadDevDocsRu_Web/ac... Об авторе: Автор курса и локализованного перевода справочника для .NET API - Гребенюк Егор Александрович, технический писатель отдела технологий информационного моделирования департамента разработки ООО «Нанософт разработка», также инженер ФГАОУ ВО СПбПУ, ИСИ, ВШПГиДС. Бывший Autodesk Expert Elite (с апреля 2020 г.), участник локализации Civil 3D в части систем координат, автор ряда видеокурсов размещенных на платформах InfraWorks, IFC, Renga API и Dynamo в Civil 3D. ⬇️ Еще больше информации в наших социальных сетях. Подписывайтесь! • Telegram: https://t.me/TBSsoft • Youtube: https://www.youtube.com/@TBSsoft • Rutube: https://rutube.ru/channel/42067051/ • Вконтакте: https://vk.com/tbssoft • Дзен: https://dzen.ru/tbssoft • Telegram-чат для получения техподдержки по плагину: https://t.me/TBSapps • Telegram-чат для совместного обсуждения вопросов программирования для платформы nanoCAD и вертикальных решений на её базе: https://t.me/nanoCADAPI
