Последние сообщения

Последние сообщения

Страницы: [1] 2 3 ... 10
1
Вам нужно использовать методы из вспомогательного класса ElementTransformUtils, чтобы трансформировать семейство в нужное состояние
2
Lipes,
Прочитай пожалуйста у меня в подписи как следует форматировать код на форуме и соблюдай это правило.
3
запустить внешнее приложение, с GUI построенным на WPF
Я бы хотел по подробнее на этом остановится. Задача выглядит следующим образом: командой автокада вызывается диалоговые окно, пользователь щелкает по элементам управления и в автокаде что то происходит. Как это сделать?
А причем здесь внешнее приложение? Андрей Бушман имел в виду, что можно запустить из своего приложения, использующего AutoCAD .NET API внешний exe-файл, использующий WPF. Но судя по всему это не ваш случай. И уточните нужно ли вам модальное окно или палитра? Если палитра, то Дмитрий Загорулькин дал хороший хороший пример. А если модальное окно, то нужно ли WPF или достаточно Form?
4
Revit API / Как установить Transform для FamilyInstance?
« Последний ответ от Pabloa 17-07-2018, 14:30:08 »
Добрый день, подскажите пожалуйста, есть два документа, в них два одинаковых 3D семейства, в одном документе семейство вставлено и имеет свои Transform и LocationPoint, задача вставить в другом документе это семейство по аналогии, т.е., чтобы оно имело те же LocationPoint и Transform. Тип размещения семейств FamilyPlacementType.OneLevelBased. Вставляю методом NewFamilyInstance, но он принимает только XYZ в качестве координаты. Методом LocationPoint.Rotate я поворачиваю экземпляр на нужный угол, а как задать Transform? Метод ElementTransformUtils.CopyElements из одного документа в другой не подходит, т.к. при малейших различиях в семействах, во вставляемом проекте создается новое семейство с новыми типоразмерами с припиской "2". Можно конечно вычислить на какой угол, сколько раз и относительно какой линии нужно повернуть семейство, чтобы Transform совпали, но кажется, должен быть другой способ. Смотрел свойство GeometryInstance.Transform, но оно только для чтения, объект FamilyInstance.GetTransform() не влияет никак на модель, свойства SetTransform нету.
5
Спасибо, буду изучать статью
7
Navisworks API / Уникальные идентификаторы в таблицах Navis
« Последний ответ от Lipes 17-07-2018, 12:13:17 »
Как в API получить новый уникальный идентификатор для таблицы?
Пробовал вот так:
Код - C# [Выбрать]
  1.         private Int64 GetNewKeyValue()
  2.         {
  3.             Int64 id = GetLastInsertRowId();
  4.             id++;
  5.             return id;
  6.         }
  7.  
Но каждый раз возвращает мне 1. А есть нормальный штатный способ?
8
Navisworks API / Запись данных в таблицы TakeOff - как?
« Последний ответ от Lipes 17-07-2018, 12:10:23 »
Пытаюсь записать данные из 1С в таблицу ItemGroup.

Код - C# [Выбрать]
  1.            
  2.             // Копируем полученные данные в таблицу Navis
  3.             DocumentDatabase database = Autodesk.Navisworks.Api.Application.ActiveDocument.Database;
  4.             using (NavisworksTransaction trans =
  5.                 database.BeginTransaction(DatabaseChangedAction.Edited))
  6.             {
  7.                 var colMap = PrepareColumnMap(dataTableRef1C, dataTableNW);
  8.                 CopyTable(dataTableRef1C, dataTableNW, colMap);
  9.                 trans.Commit();
  10.             }
  11.  
  12.             DataGrid.DataSource = dataTableNW;
  13.  

В гриде вижу, что записи добавились.
Но при повторном открытии формы плагина - новые записи исчезли, как и не было.
Что я делаю не так?
9
запустить внешнее приложение, с GUI построенным на WPF
Я бы хотел по подробнее на этом остановится. Задача выглядит следующим образом: командой автокада вызывается диалоговые окно, пользователь щелкает по элементам управления и в автокаде что то происходит. Как это сделать?
10
Подписался на событие acCurDb.ObjectAppended, но в результате получил зацикливание. В чем я неправ?
Конечно же, будет зацикливание. Тут рекурсия в чистом виде. Добавляется объект в чертёж - запускается обработка события ObjectAppended, в котором также добавляются объекты в чертёж - при каждом добавлении объекта снова запускается обработка события ObjectAppended... И так лавинообразно до тех пор, пока не возникнет Exception переполнения памяти или ещё какой-нибудь. Более того, при обработке события ObjectAppended запускается метод, в котором ещё раз подписываемся на это событие. В .NET повторная подписка на событие означает, что обработчик будет вызываться несколько раз, при возникновении одного события. Это ещё больше усугубляет ситуацию.
Страницы: [1] 2 3 ... 10