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

28/10/2020

Как запустить диалоговое окно калькулятора в AutoCAD, используя .NET API?Автор: Александр Ривилис

Вопрос: Можно ли запустить диалоговое окно калькулятора AutoCAD (не путать с палитрой калькулятора, вызываемой командой _QUICKCALC) и получить результаты вычисления?

Ответ: Диалоговое окно калькулятора (как и палитра калькулятора) упрятаны в сборке AcCalcUi.dll. Эта сборка не входит в состав ObjectARX SDK, так что следует сослаться на сборку в составе AutoCAD. Не забывайте указывать в свойствах сборки CopyLocal = False, чтобы не копировать эту сборку к своему приложению. Сборка содержит пространства имён:

Autodesk.AutoCAD.CalculatorUI
Autodesk.AutoCAD.CalculatorUI.CalculatorControl
Autodesk.AutoCAD.CalculatorUI.LayoutParser
Autodesk.AutoCAD.CalculatorUI.VariableParser

В простейшем случае для вызова калькулятора мы можем воспользоваться методом QCalcApplication.ShowModalCalculator. Смотрите пример использования:

Опубликовано 28.10.2020     Читать далее >>>
26/10/2020

Как обновить информацию в командной строке AutoCAD?Автор: Александр Ривилис

Вопрос: В процессе длительного выполнения кода необходимо обновлять информацию в командной строке AutoCAD (например, процент выполнения). В старых версиях AutoCAD достаточно было вызвать acedPrompt(L""). Начиная с AutoCAD 2015 это не помогает.

Ответ: По-прежнему в последних версиях AutoCAD lisp-выражение (princ) позволяет обновить содержимое командной строки. В ObjectARX для этой цели приходится использовать недокументированную функцию adsi_flushcommandline(). При этом следует учитывать, что для обновления интерфейса AutoCAD ему необходимо дать возможность обработать свои сообщения. Для этой цели можно воспользоваться такой функцией:

Опубликовано 26.10.2020     Читать далее >>>
30/09/2020

Как преобразовать LineWeight в текстовую строку и обратно?Автор: Александр Ривилис

Вопрос: Как выполнить средствами AutoCAD .NET API преобразование из веса линии (LineWeight) в строку (String) и обратно?

Ответ: Для этой цели можно воспользоваться классом Autodesk.AutoCAD.DatabaseServices.LineWeightConverter

Вот пример кода, который выполняет прямое и обратное преобразование:

Опубликовано 30.09.2020     Читать далее >>>
23/09/2020

Получаем список связанных файлов с помощью Design Automation API для Inventor-а

В статье рассматривается способ получения всех связанных файлов сборки Inventor-а, необходимых, например, для передачи в сервис Forge Model Derivative, при помощи сервиса Design Automation.
Опубликовано 23.09.2020     Читать далее >>>
16/09/2020

Forge Viewer: инструмент Snapper

Мы уже описывали ранее работу с пользовательскими инструментами (tools) в Forge Viewer ранее. В этой статье мы разберем как использовать существующий инструмент привязки (snapper) в Вашем расширении для Viewer-а
Опубликовано 16.09.2020     Читать далее >>>
14/09/2020

Установка «Показать область печати» с помощью API

Когда вы создаёте новый лист новые Параметры Листа называются *ЛистN*

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

Опубликовано 14.09.2020     Читать далее >>>
30/08/2020

Как скрыть командную строку без запроса к пользователю?Автор: Александр Ривилис

Как скрыть командную строку без запроса к пользователю?

Вопрос: Я использую для скрытия командной строки метод Autodesk.AutoCAD.Internal.Utils.CloseCommandLine(); При этом возникает запрос:

Можно ли как-то избавится от этого запроса, как будто в этом окне мы ответили Да?

Ответ: Это возможно при использовании HideableDialogSettings:

Опубликовано 30.08.2020     Читать далее >>>
30/08/2020

Как изменить цвет ПСЕВДОРАЗРЕЗА (LIVESECTION)?Автор: Александр Ривилис

Как изменить цвет ПСЕВДОРАЗРЕЗА (LIVESECTION)? Вопрос: Как изменить цвет ПСЕВДОРАЗРЕЗа (LIVESECTION)? Можно ли это сделать при помощи API? Ответ: Средствами AutoCAD .NET API это возможно. Для этой цели необходимо задать цвет при помощи SectionSettings:
Опубликовано 30.08.2020     Читать далее >>>
31/07/2020

Forge Viewer: Markup-ы PDF документов

В статье описывается решение проблемы с координатами Markup-ов при использовании разных методов отображения PDF в ForgeViewer, поскольку PDF документ может быть отображен в растровом или векторном формате.
Опубликовано 31.07.2020     Читать далее >>>
31/07/2020

Forge Viewer: получаем dbId по externalId

В статье описывается новый способ, доступный в v7
Опубликовано 31.07.2020     Читать далее >>>
31/07/2020

RealDWG: Получение информации о цвете граней твердых тел

Используя RealDWG SDK следующий код позволяет получить цвета граней твердых тел в чертеже AutoCAD.

Для извлечения цветов из компонентов твердого тела используется BREP API, поэтому необходимо сослаться на сборку AcDbMgdBrep.dll из RealDWG SDK.

Опубликовано 31.07.2020     Читать далее >>>
26/06/2020

Перечень типов файлов, поддерживаемых Design Automation для Inventor

Получаем перечень доступных для экспорта возможных форматов файлов, поддерживаемых Design Automation для Inventor
Опубликовано 26.06.2020     Читать далее >>>
26/06/2020

Design Automation для Civil 3D стал доступен в public beta!

В семействе сервисов Design Automation пополнение! К AutoCAD, Revit, Inventor и 3ds Max добавилась beta-версия Civil 3D!
Опубликовано 26.06.2020     Читать далее >>>
19/06/2020

Разделение составных твердых тел на отдельные тела

Мы можем воспользоваться методом Solid3d.SeparateBody

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

Опубликовано 19.06.2020     Читать далее >>>