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

17/01/2017

Fusion API: Атрибут возвращает NONE для грани, к которой был присоединён атрибут

Рассматриваются особенности получения атрибутов граней в сборках
Опубликовано 17.01.2017     Читать далее >>>
16/01/2017

Пути по умолчанию для загрузки надстроек Fusion

Рассматриваются особенности путей размещения надстроек Autodesk Fusion
Опубликовано 16.01.2017     Читать далее >>>
13/01/2017

Основы Data Management API - Производные и эскизы, ошибки

Рассматриваются особенности производных и эскизов, ошибки
Опубликовано 13.01.2017     Читать далее >>>
12/01/2017

Основы Data Management API - Аутентификация и области применения, фильтрация

Рассматриваются особенности аутентификации, областей применения, и фильтрация запросов
Опубликовано 12.01.2017     Читать далее >>>
10/01/2017

Основы Data Management API - Пользовательские отношения

Рассматриваются особенности пользовательских отношений
Опубликовано 10.01.2017     Читать далее >>>
09/01/2017

Основы Data Management API - Типы расширений

Рассматриваются особенности типов расширений
Опубликовано 09.01.2017     Читать далее >>>
06/01/2017

Основы Data Management API - Object Storage Service (OSS)

Рассматриваются особенности Object Storage Service (OSS)
Опубликовано 06.01.2017     Читать далее >>>
27/12/2016

Использование атрибута JournalingAttributeАвтор: Виктор Чекалин

Андрей Бушман задал интересный вопрос по использованию атрибута JournalingAttribute и свойству JournalMode. Какой-либо информации по их назначению не нашлось, добираться до истины пришлось самому.

Вот что мне удалось выяснить, после небольшого анализа.

Опубликовано 27.12.2016     Читать далее >>>
26/12/2016

Как можно создать фильтр, содержащий все типы кривых в чертежеАвтор: Александр Ривилис

Вопрос: Мне нужно дать возможность пользователю выбирать любые типы кривых - все типы полилиний, сплайны, дуги и т.д., и в том числе и пока неизвестные пользовательские кривые… Как это можно сделать?

Ответ: Для этой цели следует проанализировать SystemObjects.ClassDictionary, найти все классы-наследники класса Curve и получить их DXF-коды. Ниже приведен код, который реализует этот алгоритм:

Опубликовано 26.12.2016     Читать далее >>>
25/12/2016

Графическое отображение границ зоны

Недавно я работал над проблемой одного разработчика, у которого были трудности с границами зоны и попыткой определить, является ли граница замкнутой или нет, с помощью значений координат в RevitLookup.

Очевидно, что это не самый легкий способ, попытаться проанализировать кучу чисел.

Поэтому я реализовал небольшую команду DisplayBoundary для отображения границы. В ней перебираются все сегменты границы выбранных зон или всех зон в модели и с помощью линий модели рисуется каждый сегмент.

Опубликовано 25.12.2016     Читать далее >>>
21/12/2016

Создание фильтра примитивов унаследованных от полилинийАвтор: Александр Ривилис

Вопрос: У меня есть собственные примитивы, унаследованные от AcDbPolyline. Я хочу иметь возможность фильтровать их, а также другие типы полилиний (AcDb2dPolyline и AcDb3dPolyline), при помощи функции acedSSGet. Я пробовал создавать фильтр при помощи такого кода:

Опубликовано 21.12.2016     Читать далее >>>
07/12/2016

Метки начала и конца отмены в лиспе

Почитав про транзакции в .NET, задумался: а если в лиспе сделать вложенные метки начала / конца отмены?
Опубликовано 07.12.2016     Читать далее >>>
02/12/2016

Как определить избыточное помещение

Вопрос: Использую терминологию спецификации помещений, мне нужно определить все неразмещенные, избыточные и не окружённые помещения.

 

Я не могу полагаться на какую-либо конкретную спецификацию в модели.

Опубликовано 02.12.2016     Читать далее >>>
30/11/2016

Московская конференция "День Разработчика Autodesk 2016"

Московская конференция «День Разработчика Autodesk 2016»

Уважаемые коллеги, приглашаем вас 26 января 2017 г на очередную конференцию «День Разработчика Autodesk 2016». Если вы планируете или уже разрабатываете приложения с использованием технологий Autodesk, хотите узнать, в каком направлении Autodesk развивает свои облачные и десктопные API, то эта конференция для вас.

На этот раз девиз конференции: «Data at the Center». Это новый подход к работе с данными, который стал возможным благодаря облачным технологиям. Отдельно мы рассмотрим Autodesk Forge, платформу для решения инженерных и бизнес-задач, объединяющую новое поколение облачных API и веб сервисов.

В ходе конференции вы узнаете свежие новости о разработке приложений для облачных и десктопных платформ Autodesk, мы подробно остановимся на новых возможностях Data Management API, Model Derivative API, Viewer, Design Automation API, 3D Print API, BIM 360 API, Reality Capture API и Fusion 360 Client API и, конечно же, не забудем про наши десктопные платформы AutoCAD, Revit, Civil 3D, Inventor, Vault. Отдельно расскажем об использовании онлайн-магазина приложений Autodesk App Store для популяризации ваших приложений.

Опубликовано 30.11.2016     Читать далее >>>
29/11/2016

Основы Data Management API

Рассматриваются основы Data Management API Autodesk Forge
Опубликовано 29.11.2016     Читать далее >>>
14/11/2016

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

Это экзотическая ситуация, но может возникнуть необходимость полностью запретить команду AutoCAD. Один из вариантов – выполнение метода veto() в событии DocumentLockModeChanged. Но при этом команда есть в списке доступных команд и её выполнение начинается, а затем прерывается.

Есть более радикальный метод – использование метода RemoveCommand недокументированного класса Utils из пространства имён Autodesk.AutoCAD.Internal. Этот метод – обертка для метода AcEdCommandStack::removeCmd из ObjectARX. Ему передаются два параметра – имя группы команд и имя команды. Обычно достаточно передать глобальное имя команды, но бывают и исключения. Поэтому мы удалим команду и по глобальному и по локальному имени. Так как мы не знаем в какой локализации AutoCAD будет выполняться код, то нам нужно получить имя локализованной команды по её глобальному имени. Для этой цели в ObjectARX есть функция acedGetCName которая в версиях AutoCAD до 2012 включительно содержится в acad.exe, а позднее в accore.dll Мы воспользуемся P/Invoke для вызова её из .NET

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

Как получить 3D-полилинию, по которой получается тело сдвигаАвтор: Александр Ривилис

Вопрос: Имеется труба - твердое тело, полученной сдвигом круга (Circle) по траектории, образованной 3D-полилинией (3DPoly). Как получить вершины 3D-полилинии?

Ответ: Вариантов решения этой задачи несколько:

1) Использование метода GetGripPoints. Для тела у которого не очищена история редактирования если пропустить первые четыре ручки, то мы получим вершины 3D-полилинии. Но если история очищена, то получить вершины таким образом не получится, так как расположение ручек совсем другое.

2) Использовать BREP .NET API для получения информации о вершинах.

Второй вариант мы и рассмотрим, так как он более универсальный. Нам следует получить все ребра (Edge) твердого тела, выделить из них круглые (CircularArc3d) и эллиптические (EllipticalArc3d) и найти их центры.

Опубликовано 07.11.2016     Читать далее >>>
29/10/2016

Разделение ячеек спецификацииАвтор: Виктор Чекалин

Евгений Пашин задал на форуме интересный вопрос. В пользовательском интерфейсе есть возможность объединения и разделения ячеек спецификации. С помощью Revit API объединить ячейки достаточно просто. Нужно попользоваться методом TableSectionData.MergeCells. А как снять объединение с помощью Revit API?

Опубликовано 29.10.2016     Читать далее >>>
29/10/2016

Рисование кривых по списку точек

Вопрос: Я пытаюсь нарисовать соприкасающиеся друг с другом кривые в активном документе ActiveUIDocument.Document, из списка точек XYZ. Большинство примеров рисования кривых демонстрируется в редакторе семейств FamilyDocument и я так и не могу их адаптировать для рисования в проекте. Необходимо создавать рабочую плоскость для таких кривых?

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