ADN Open CIS
Сообщество программистов Autodesk в СНГ

01/12/2021

Как создать конус, направленный вдоль заданной осиАвтор: Александр Ривилис

Вопрос: Как при помощи AutoCAD .NET API можно создать конус, который бы был направлен вдоль заданной пользователем оси?

Ответ: Для того, чтобы создать конус достаточно воспользоваться методом Solid3d.CreateFrustum. Созданный таким образом конус направлен вдоль оси Z, и начало координат находится в середине оси конуса. Дальше следует выполнить трансформацию конуса. Ниже исходный текст программы:

Опубликовано 01.12.2021     Читать далее >>>
23/11/2021

Доступны записи вебинаров с онлайн-тренинга по платформе Autodesk Forge для программистов на русском языкеАвтор: Юлия Еремеева

Доступны записи вебинаров с онлайн-тренинга по платформе Autodesk Forge для программистов на русском языке
Опубликовано 23.11.2021     Читать далее >>>
31/10/2021

Конец поддержки Internet Explorer 11 в Forge Viewer

Microsoft завершает поддержку Internet Explorer 11 (IE11) настольного приложения в июне 2022 года. Соответственно поддержка IE11 в Forge Viewer будет прекращена в конце января 2022 года.

Внимание: Некоторые продукты Autodesk, которые используют Forge Viewer, уже прекратили поддержку IE 11.

Если у вас есть вопросы или замечания по этому поводу – пишите на e-mail: forge.help@autodesk.com

По поводу анонса Microsoft читайте эту статью.

Источник: https://forge.autodesk.com/blog/end-internet-explorer-11-support-forge-viewer

Опубликовано 31.10.2021     Читать далее >>>
31/10/2021

Как обеспечить синхронизацию AcDbMLeader с его стилем AcDbMLeaderStyleАвтор: Александр Ривилис

Вопрос: Если создавать мультивыноску (класс AcDbMLeader) при помощи команды _MLEADER, то эта мультивыноска будет следовать изменениям в её стиле мультивыноски (класс AcDbMLeaderStyle). А если создавать при помощи кода, то мультивыноска не следует за изменениями в стиле мултивыноски. Почему? И как сделать, чтобы поведение созданной программно мультивыноски было такой же, что и у созданной в команде _MLEADER?

Ответ: Для того, чтобы сделать такое поведение необходимо выполнить два условия:

1) Необходимо вызвать метод AcDbMLeader::setOverride с параметром isOverride == false (это значит, что параметр не переопределён в мултивыноске и используется тот, который в стиле мультивыноски) и параметром propertyType соответствующим тому свойству, которое должно браться из стиля мультивыноски. Вызывать этот метод можно несколько раз с разными значениями propertyType.

2) Необходимо вызвать метод AcDbMLeaderStyle::addPersistentReactor для того, чтобы добавить AcDbMLeader::objectId() к стилю мультивыноски, чтобы стиль был в курсе какие мультивыноски следует обновлять.

Опубликовано 31.10.2021     Читать далее >>>
02/10/2021

Поддержка DWF и PDF в Forge Viewer

Forge Viewer (7.36) позволяет легко загружать и просматривать PDF и DWF файлы естественным путём. В прошлом эти файлы необходимо было обрабатывать дополнительно при помощи Model Derivative service но сейчас мы можем использовать расширения Autodesk.DWF и Autodesk.PDFдля загрузки этих файлов, аналогично тому, как это делает расширение Autodesk.glTF (https://forge.autodesk.com/blog/gltf-20-support-forge-viewer). Всё что от вас требуется – это вызвать методы loadExtension и loadModel в соответствии с выбранным типом расширения файла.

Опубликовано 02.10.2021     Читать далее >>>
02/10/2021

Использование клавиши табуляции для циклического выбора

В Revit можно использовать клавишу TAB для выбора различных вложенных элементов. Анимация в Revit показывает выбранные элементы, в статусбаре (слева внизу) показывая имена.
Опубликовано 02.10.2021     Читать далее >>>
13/09/2021

Создаём четыре видовых экрана модели и назначаем ортогональные виды

Недавно пользователю понадобилось модифицировать код для создания раздельных видовых экранов в модели и установить каждому из них различные ортогональные виды. Код ниже создаёт четыре раздельных видовых экрана в модели. Для этого мы создаём новые ViewportTableRecord, которые представляют новые видовые экраны, а их параметры устанавливаем на основе текущей ViewportTableRecord. Это гарантирует, что ViewportTableRecord будет правильно настроен для установки орфографического представления. И в конечном итоге мы выполняем показ до границ. Вот скриншот результирующего расположения видовых экранов.

Опубликовано 13.09.2021     Читать далее >>>
13/09/2021

Имитация штриховки при помощи DrawableOverrule

Если вам нужно временно заштриховать примитив – для этой цели можно воспользоваться DrawableOverrule. Рисование шаблона штриховки в WorldDraw / ViewportDraw может быть как простым, так и сложным в зависимости от того, какой шаблон штриховки используется. Чтобы корректно заштриховать границу штриховки при помощи шаблона штриховки можно воспользоваться подрезкой по контуру, создаваемой в Overrule. Это упрощает реализацию Overrule, так как отсечка шаблона штриховки за пределами объекта обеспечивается подрезкой по заданным границам объекта.

Опубликовано 13.09.2021     Читать далее >>>
10/08/2021

Доступ к файлам стандартов оформления AutoCAD (.dws)

У меня появился шанс исследовать эту проблему, когда я наткнулся на запрос на форуме.

Когда пользователь вызывает команду _LAYTRANS, появляется диалоговое окно транслятора слоёв, и пользователю разрешено сопоставление из загруженного рисунка на текущий рисунок.

Слои из загруженного чертежа сопоставляются со слоями в текущем чертеже или могут быть сопоставлены пользователем.

Эта настройка может быть сохранена в качестве файла стандартов (.dws), для будущего использования, когда пользователь получает рисунок от клиента, пользователь может проверить, соответствует ли чертеж указанным файлам стандартов.

Файл стандартов оформления содержит таблицу трансляции слоёв в виде расширенных данных для каждого из слоёв, которые могут быть сопоставлены или транслированы.

Например, в этом файле есть соответствие между слоями A,B,C и 1,2,3. Тогда слои A,B,C файла стандартов (исходного) транслируются в слои 1,2,3 текущего чертежа (назначения)

Чтение dws-файлов точно такое же как и чтение dwg-файлов, только с другим расширением (спасибо Lee за подсказку).

Опубликовано 10.08.2021     Читать далее >>>
02/08/2021

Установка исходной точки штриховки при её создании в .NET

У нас был вопрос, поднятый клиентом по поводу установки исходной точки штриховки в процессе её создания.

Было обнаружено, что исходную точку штриховки следует задавать не в той транзакции, в которой эта штриховка создаётся, для того чтобы исходная точка была установлена корректно.

Ниже код, который можно использовать для проверки :

Опубликовано 02.08.2021     Читать далее >>>
01/08/2021

Метод Editor.Snap для изменения режима привязки точки

При использовании метода Editor.GetEntity часто требуется получить в точности все координаты точки указания, используемые для выбора объекта.

Например, рассмотрим следующую ситуацию. Построим окружность с центром в точке point (0,0,5) и радиусом 5 в плоскости XY МСК при виде сверху.

При выборе точке на окружности с использованием Editor.GetEntity, PromptEntityResult.PickedPoint вернул : (3.50064192661003 , 3.35618169844321 , 0)

Опубликовано 01.08.2021     Читать далее >>>
11/07/2021

Удаление выбранных примитивов из групп, в которых они содержатсяАвтор: Александр Ривилис

Вопрос: Как средствами ObjectARX можно удалить выбранные примитивы из групп, в которых они содержатся?

Ответ: Для этого в первую очередь необходимо отключить групповой выбор (PICKSTYLE должно быть равно 0 или 2), чтобы можно было выбирать отдельные примитивы из групп. Ниже приведен код, позволяющий удалять выбранные примитивы из групп:

Опубликовано 11.07.2021     Читать далее >>>
06/07/2021

Как выполнить расчленение группы примитивов при помощи ObjectARXАвтор: Александр Ривилис

Следующий код показывает как можно расчленить группу, заданную её именем:
Опубликовано 06.07.2021     Читать далее >>>
06/07/2021

Как выполнить расчленение группы примитивов при помощи .NET APIАвтор: Александр Ривилис

Следующий код показывает как можно расчленить группу, заданную её именем:
Опубликовано 06.07.2021     Читать далее >>>
11/06/2021

Семнадцатый ролик в Информационном курсе по платформе Autodesk Forge

Информационный курс по платформе Autodesk Forge пополнимся новым, семнадцатым по счету видеороликом, в котором разбираются возможности Forge Design Automation for Inventor, а именно создание онлайн-конфигураторов и их применение на практике, конвергенция цифрового производства и проектирования в строительстве, а также автоматизация процессов проектирования в производстве.

Ссылка на видеоролик: https://youtu.be/KDJMFUNlgYI

Опубликовано 11.06.2021     Читать далее >>>
31/05/2021

Forge Coffee Break - "перерыв на кофе" - с командой Forge Advocates

Forge Coffee Break - перерыв на кофе - с командой Forge Advocates

Раз в 2 недели команда Forge Advocates приглашает разработчиков Forge собраться за чашкой кофе и обсудить последние новости из мира веб-разработки.

Во время Coffee Breaks компании будут демонстрировать свои решения, построенные на платформе Autodesk Forge, и отвечать на все возникающие технические вопросы.

Следующая встреча состоится на этой неделе в среду, 2 июня в 18:00 по московскому времени.

Опубликовано 31.05.2021     Читать далее >>>
28/05/2021

Доступна обновленная документация AutoCAD Plant 3D SDK

Обновленная версия документации Plant SDK, которая распространяется на версии с 2017 по 2022, доступна для скачивания в Центре разработчика: https://www.autodesk.com/developer-network/platform-technologies/autocad-p-id-and-plant-3d

Ссылка для загрузки документации: https://damassets.autodesk.net/content/dam/autodesk/files/autocad_plant_3d/autocad_plant_3d_sdk_2017_through_2022_english_documentation.zip

Опубликовано 28.05.2021     Читать далее >>>
27/05/2021

Определение активного пространства и активного листа

Database.CurrentSpaceId содержит ObjectId текущего пространства (Модели или Листа). Вы можете использовать ее для идентификации активного пространства. При помощи LayoutManager мы может узнать активный лист.
Опубликовано 27.05.2021     Читать далее >>>
30/04/2021

Forge Viewer: Печать листов

В статье показана реализация печати в Forge Viewer
Опубликовано 30.04.2021     Читать далее >>>
30/04/2021

Forge Viewer: Добавляем расширение Forge Viewer-а в пример использования Design Automation для Inventor (для замены Configurator 360)

Внедряем расширение для Forge Viewer в пример приложения на ReactJS, в котором Forge Viewer загружается динамически
Опубликовано 30.04.2021     Читать далее >>>