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

29/10/2018

Вставка формы (SHAPE) в чертеж AutoCAD при помощи .NET APIАвтор: Александр Ривилис

Вопрос: Как при помощи AutoCAD .NET API вставить в чертеж форму, как это делает команда ФОРМА (_SHAPE)?

Ответ: Как оказалось эта информация нигде не освещена. Для того чтобы вставить форму в чертеж необходимо:

  1. Создать текстовый стиль, указывающий на файл содержащий форму
  2. Создать примитив Shape, который имеет соответствующий стиль и имя соответствующее имени формы. Имеются определённые особенности, которые отражены в коде ниже:
Опубликовано 29.10.2018     Читать далее >>>
26/09/2018

Перечисление dbId в 2D-представлениях

Рассматриваются особенности перечисления dbId в 2D-представлениях
Опубликовано 26.09.2018     Читать далее >>>
26/09/2018

Параметры принудительной установки свойств запроса конечной точки GET Properties

Рассматриваются особенности возврата данных из конечной точки GET Properties
Опубликовано 26.09.2018     Читать далее >>>
31/08/2018

Добавление 3D-геометрии в сцену в приложении Forge

Рассматриваются особенности добавления 3D геометрии в сцену Viewer
Опубликовано 31.08.2018     Читать далее >>>
22/08/2018

Получение Id общего параметра для использования в ElementParameterFilter

Иногда при разработке функционала addin для Revit Вам необходимо получить Id (ElementId) определения общего параметра. Читайте далее, как это можно легко сделать

Опубликовано 22.08.2018     Читать далее >>>
22/08/2018

Revit 2019.1 и библиотека CEFSharp

Revit и некоторые addin-ы от Autodesk для реализации некоторых своих функций используют библиотеку CEFSharp - собственный встроенный web browser. Ваш addin также может использовать эту библиотеку.

Иногда использование разных версий этой библиотеки может привести к нестабильному поведению Revit.

Опубликовано 22.08.2018     Читать далее >>>
14/08/2018

Просмотр больших OCR/Terrain изображений в приложении Forge Viewer

Рассматриваются примеры построения приложений для просмотра больших OCR/Terrain изображений в приложении Forge Viewer
Опубликовано 14.08.2018     Читать далее >>>
13/08/2018

Введение в BIM 360 Issues API

Рассматриваются руководства по BIM 360 Issues API
Опубликовано 13.08.2018     Читать далее >>>
09/08/2018

Создание разметки Pushpin по SVG

Рассматриваются особенности создания разметки Pushpin с помощью SVG
Опубликовано 09.08.2018     Читать далее >>>
01/08/2018

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

Как сделать вставку точки в разрыв кривой?

На форуме мне задали вопрос о том, как можно эмулировать команду _BREAK и вставлять в разрыв точку? Ниже код, показывающий как используя метод getSplitCurves можно добиться результата.

Опубликовано 01.08.2018     Читать далее >>>
31/07/2018

Об использовании FilterCategoryRule

Вопрос: у меня есть 3 вопроса относительно использования класса FilterCategoryRule

1) Как он соотносится с пользовательским интерфейсом Revit?

2) Если он представляет собой фильтр по категориям, как он соотносится с перечнем категорий, передаваемых в метод ParameterFilterElement.Create?

3) Как мне создать фильтр с этим правилом? Я пробовал в 2017 и 2018 версиях Revit и получал ошибку "An internal error has occurred". В справке сказано, что FilterCategoryRule это правило фильтра, по которому отбираются элементы заданного множества категорий.

Опубликовано 31.07.2018     Читать далее >>>
30/07/2018

Ускоряем ComboBox-ы в формах на WPF

Если Вы разрабатываете UI ваших addin-ов с использованием технологии WPF, то, вероятно замечали "тормоза" интерфейса, что особенно заметно в элементах управления "выпадающий список" (ComboBox). Давайте разберемся, как можно ускорить работу Ваших форм в Revit.
Опубликовано 30.07.2018     Читать далее >>>
30/07/2018

Создание размеров труб

В статье описывается способ создания размеров вдоль труб. Вопрос не настолько прост, насколько кажется, метод GetEndPointReference кривой pipe.Location возвращает null. Кроме того, есть множество нюансов, относящихся к созданию размеров. Давайте попробуем разобраться, как, всё-таки, решить эту задачу
Опубликовано 30.07.2018     Читать далее >>>
29/07/2018

Удаление границы штриховки

Класс AcDbHatch предоставляет методы для получения границ и для удаления границ. Каждая граница представляет собой так называемый цикл. С помощью методов класса AcDbHatch вы можете выполнять итерацию всех циклов. Затем вы можете получить все объекты, принадлежащие одному циклу. Все, что вам нужно сделать, это сравнить метки объектов цикла с меткой граничного объекта, который должен быть удален из объекта штриховки. Если у одного из объектов цикла есть дескриптор, который вы ищете, вы можете использовать AcDbHatch :: removeLoopAt (), чтобы удалить петлю из штриховки.

Следующая функция делает именно это. Параметр handleRemove является меткой примитива, принадлежащего к циклу, который следует удалить.

Опубликовано 29.07.2018     Читать далее >>>
27/07/2018

Создание штриховки и установка её масштаба

Вопрос:

Как можно создать штриховку и установить ей масштаб? Я написал функцию, которая создаёт штриховку. Но я обратил внимание, что она не в состоянии назначить масштаб штриховки и мне приходится это делать вручную. Почему это происходит?

Ответ:

Причина может быть в том, что вызов метода setPatternScale() происходит не в тот момент, когда это следует делать. Обратите внимание, что вы должны установить свойства штриховки, такие как угол, масштаб, ассоциативность и имя штриховки сразу же после создания AcDbHatch. После добавления границ штриховки вы можете установить другие свойства, такие как слой, цвет, стиль штриховки и т.д. Затем следует вызвать метод evaluateHatch() чтобы штриховка правильно отобразилась на экране. И после этого штриховку следует добавить к базе чертежа AutoCAD и закрыть. Следующий код показывает как это следует делать. Более детальную информацию можно найти в ObjectARX документации для класса AcDbHatch.

Опубликовано 27.07.2018     Читать далее >>>
27/07/2018

Ассоциативность AcDbHatch

После того как я создал объект штриховки, добавил его в базу, установил стиль и т.д. у неё нет ассоциативности к объектам границы. Чтобы сделать её ассоциативной нужно сделать объект штриховки постоянным реактором для примитивов, которые штрихуются. Следующий пример кода демонстрирует как создать штриховку и сделать её ассоциативной к примитивам её границы (прямоугольник и круг).
Опубликовано 27.07.2018     Читать далее >>>
11/07/2018

Пользовательский индикатор загрузки для Viewer

Рассматривается пример замены индикатора загрузки модели во Viewer
Опубликовано 11.07.2018     Читать далее >>>
03/07/2018

Примечания к выпуску Viewer: v5.0

Примечания к выпуску Viewer: v5.0
Опубликовано 03.07.2018     Читать далее >>>
02/07/2018

Получение видового представления 2D линий из 3D-моделей

Рассматривается пример изменения видового представления в Viewer
Опубликовано 02.07.2018     Читать далее >>>
02/07/2018

Derivative Webhooks .NET SDK

Рассматриваются особенности использования пакета Derivative Webhooks .NET SDK
Опубликовано 02.07.2018     Читать далее >>>