Как получить все доступные параметры экземпляра для категорииАвтор: Виктор Чекалин
Получить все параметры заданной категории можно двумя способами.
Первый заключается в том, что нужно получить объект в модели заданной категории и взять его коллекцию параметров.
Порядок создания мультивыноски (MLEADER) в AutoCAD
Подняли тут тему на dwg.ru о порядке создания мультивыноски в AutoCAD. Результаты собственных изысканий представляю на суд общественности.Прозрачность в AutoCAD средствами lisp
Понадобилось тут "поиграться" с прозрачностью примитивов и слоев в AutoCAD. Это оказалось очень интересно и очень познавательно.Установка прозрачности слоя в .NET
Слою можно назначить (начиная с версии AutoCAD 2011) прозрачность при помощи диалога команды слой.
Это пример того, как можно достигнуть такого же результата при помощи AutoCAD .Net API.
Перед тем как попробовать этот код не забудьте установить системную переменную TRANSPARENCYDISPLAY в 1.
Прозрачность слоев в ObjectARX
Следующий код показывает процедуру изменения «прозрачности» слоя при помощи ObjectARX. Он устанавливает слою 0 прозрачность 60%. Чтобы на экране отобразились изменения требуется регенерация.
Извлечение информации о материале
Вопрос: Как можно с помощью Revit API извлечь типовые свойства представления материала и файл изображения выдавливания?
Я добрался до некоторых свойств представления материала:
foreach (Element elem in collector){
Material mat = elem as Material;
AppearanceAssetElement ae = (AppearanceAssetElement)
m_CurrentDocument.GetElement(mat.AppearanceAssetId);
Asset set = ae.GetRenderingAsset();
......
}
Но как получить название и путь к файлу?
Запись данных в расширяемую область хранения при импорте IFC
Вопрос: я успешно изменил модуль экспорта в IFC и добавил экспорт данных из расширяемой области хранения.
Сейчас мне нужно изменить модуль импорта IFC файла для записи этих данных обратно в расширяемую область хранения. Как это можно реализовать?
Двумерные координаты конечных точек кривой на 3D-виде
Мне всегда нравились вопросы по геометрии, даже если они достаточно простые. Этот вопрос возможно не такой уж и простой.
Вопрос: Я хочу получить двумерные координаты конечных точек кривой, находясь в 3D-виде.
Ошибка при создании арматурных стержней из кривых
Мы знаем, что создать арматуру можно с помощью нескольких перегруженных методов. Одним из них является метод CreateFromCurves:
public static Rebar CreateFromCurves(Document doc, RebarStyle style, RebarBarType barType,
RebarHookType startHook, RebarHookType endHook, Element host,
XYZ norm, IList<Curve> curves,
RebarHookOrientation startHookOrient,
RebarHookOrientation endHookOrient,
bool useExistingShapeIfPossible, bool createNewShape);
Текстуры для произвольной фигуры
Вопрос: Можно ли задать текстуру (материал) для произвольной фигуры?
Создание зависимостей труб по осевой линии
Заказчик хочет использовать Revit API для создания зависимостей двух труб по центру их осей. Я думаю, это вполне осуществимо, и вот такой у меня родился план действий:
- Получить осевую линию труб с помощью метода Element.get_Geometry()
- Создать новую зависимость методом Document.Create.NewAlignment()
Категории для произвольной фигуры
Вопрос: Я хотел бы создать произвольные фигуры (DirectShape) для визуального отображения разлиных типов балок и поместить их в различные категории. Пока что я могу создать их только во встроенной категории, например, вот так:
ElementId id = new ElementId(BuiltInCategory.OST_StructuralFraming );
DirectShape ds = DirectShape.CreateElement(
doc, id, "A", "B" );
А могу ли я создать свою категорию и использовать ее при создании фигуры?
Разработка CRX приложений
Мы получили несколько общих вопросов от разработчиков использующих AcCoreConsole. Это два вопроса (и ответы любезно предоставленные членом нашей команды разработчиков AutoCAD) …Вопрос 1: Какие библиотеки ObjectARX я могу прилинковать к моей DLL для загрузки в AcCoreConsole (или другого AcCore-продукта, который Autodeskможет выпустить в будущем)?
Быстрое получение количества примитивов в Пространстве Модели
LINQ предлагает легкий способ нахождения числа примитивов в Пространстве Модели без итерации по ней. Интерфейс IEnumerator обеспеченный классом BlockTableRecord может быть приведён к IEnumerable<ObjectId> для подсчета количества. Ниже пример кода :Получение свойств и методов класса ActiveX/COM из .NET
Если вы используете COM-интерфейс AutoCAD или Inventor из .NET-приложения и хотите найти какие свойства и методы есть у объектов, то почитайте прекрасную статью (на английском), которая показывает, как это следует делать. Этот метод работает даже если ваш проект не ссылается на соответствующую библиотеку или сборку и вы используете позднее связывание:Получение информации о типе имеющих IDispatch-интерфейс COM-объектов из управляемого кода
Уведомление в элементе статусной строки
В ObjectARX 2004 SDK был прекрасный пример на C++, который добавлял элементы в статусную строку и показывал уведомления для одного из этих элементов. Я выполнил миграцию этого примера для работы с AutoCAD 2015 и полный проект можно скачать здесь:Просмотр чертежа в WPF палитре
Как мы уже знаем пример BlockView.Net демонстрирует использование Графической системы для просмотра чертежа на форме Windows. Этот пример для версии AutoCAD 2015 доступен здесь: http://adn-cis.org/izmeneniya-v-grafike-v-autocad-2015.htmlСоздание 3DSolid из набора SubDMesh
Если у вас имеется коллекция subDMesh и вы хотите создать из неё 3DSolid, сначала нужно сконвертировать каждую из сетей в поверхность. Если поверхности вместе образуют замкнутый объём, тогда из них можно создать твердое тело. Ниже пример кода:
Поворот на Пи
Вопрос: Я пытаюсь создать приложение, которое переведет модель из SolidWorks в Revit. Идея состоит в том, чтобы перерисовать модель SolidWorks в Revit.
Я столкнулся с очень странным поведением метода ElementTransformUtils.RotateElement, и мне интересно, сталкивались вы с этим или может у вас есть какие мысли по этому поводу.
Пересечение всех экземпляров семейств с элементом
Вопрос: Как я могу найти все колонны, которые пересекают заданную стену?
Ответ: В Revit API нет метода, который позволили бы определить отношения между колоннами и стеной.