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

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     Читать далее >>>
29/10/2016

Стоит ли использовать постоянные объектные реакторы?

Тот факт, что в AutoCAD можно "прописать" собственные реакции на какие-либо действия ACAD'a, не секрет.
Опубликовано 29.10.2016     Читать далее >>>
26/10/2016

Как выполнить Overrule для замкнутого сплайна так, чтобы он был заполнен своим цветомАвтор: Александр Ривилис

Вопрос: Как выполнить Overrule для замкнутого сплайна (Spline) так, чтобы он был заполнен своим цветом?

Ответ: Простейший способ – это выполнить аппроксимацию сплайна и рисовать сплайн при помощи Geometry.Polygon указав в качестве параметра точки аппроксимации.

Ниже пример как это можно реализовать:

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

Как в .NET выбрать грани 3DSOLID и изменить им цвет.Автор: Александр Ривилис

Недавно мы обсуждали как это сделать средствами ObjectARX. Сегодня рассмотрим, как это делается в .NET API:

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

Как в ObjectARX выбрать грани 3DSOLID и изменить им цветАвтор: Александр Ривилис

Оказалось, что на такой, казалось бы простой и распространенный вопрос найти примера в интернете не удается. Более того несколько функций, которые я использовал для решения этой задачи входят в состав ObjectARX SDK начиная с версии 2008, но никогда ни в одном примере не фигурировали. Есть готовые примеры как найти выбранную грань 3DSOLID, но они очень громоздки, зависят от ПСК, точки зрения, точки указания и т.д. В этом же примере всё очень просто и лаконично и основывается на функции обычного выбора примитивов acedSSGet:

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

Обзор Data Management API

Рассматриваются общие сведения по Data Management API Autodesk Forge
Опубликовано 18.10.2016     Читать далее >>>
12/10/2016

Autodesk Forge: видеозаписи обучающих вебинаров

Autodesk Forge: видеозаписи обучающих вебинаров.

Продолжается серия обучающих вебинаров и сессий «вопрос-ответ», которые проходят в рамках онлайн хакатона Autodesk Forge и Fusion 360

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

Autodesk Forge: видеозаписи обучающих вебинаров

Autodesk Forge: видеозаписи обучающих вебинаров.

Продолжается серия обучающих вебинаров и сессий «вопрос-ответ», которые проходят в рамках онлайн хакатона Autodesk Forge и Fusion 360

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

Autodesk Forge: видеозаписи обучающих вебинаров

Продолжается серия обучающих вебинаров и сессий «вопрос-ответ», которые проходят в рамках онлайн хакатона Autodesk Forge и Fusion 360

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

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

Руководство по получению 3-Legged токена для OAuth Autodesk Forge

Рассматриваются особенности получения 3-Legged токена для OAuth Autodesk Forge
Опубликовано 07.10.2016     Читать далее >>>
03/10/2016

Аналог attout и attin

В составе ExpressTools есть две весьма интересные команды - attout и attin.
Опубликовано 03.10.2016     Читать далее >>>
30/09/2016

Как получить форму воздуховода и трубы

Это довольно старая тема, которая ранее уже обсуждалась. Еще тогда было потрачено довольно много времени для решения этой проблемы.

Сейчас ситуация немного изменилась и процесс стал гораздо легче, так как в Revit 2015 появилось свойство ElementType.FamilyName.

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

Динамические размеры в AcEdJig с использованием ObjectARXАвтор: Александр Ривилис

Вопрос:
Не могу найти готовые примеры использования динамических размеров в AcEdJig в интернете и в ObjectARX SDK, а описания этого процесса в документации ObjectARX SDK нет. Подскажите как их использовать? Хочется иметь возможность использовать динамические размеры по аналогии с тем, как это делается в командах AutoCAD.

Ответ:
В составе ObjectARX SDK 2007 и 2008 был пример Grip, в котором разъяснялась техника использования динамических размеров. К сожалению этот пример отсутствует в более новых версиях ObjectARX SDK. Я адаптировал этот пример для AutoCAD 2017 и ObjectARX SDK 2017.

Для проверки загрузите этот пример, перестройте приложение и загрузите grip.arx в AutoCAD 2017. Запустите команду RECTJIG и вы увидите как можно задать размеры по горизонтали и вертикали в динамических размерах.

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