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

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

Страницы: 1 ... 7 8 [9] 10
81
Ну и ещё одна ремарка, опять скорее не про программирование, а про использование инвертора. Если у вас узел типовой и не меняется, в чем необходимость тащить его сборку  из проекта в проект и копировать по сто раз? Можно же сделать отдельный проект-библиотеку с типовыми узлами, подключать его к проектам и использовать.
82
Добрый день!

Возможно я немного оффтопик скажу, но для вашей операции есть встроенный функционал инвертора. Как подключиться к нему программно ( если это вобще возможно) я не знаю, но вот от «замены руками» он вам точно спасёт. В волте тоже есть копирование, но оно глючное, некорректно работает, если используете наследование. В целом вопрос наследования - главная проблема при копировании. Потому как, если его не используете, то просто рекурсивно открываете все подсборки, делаете в них замену и закрываете - точно также, ее вы это делали для главной сборки.
П.С. Если правильно работать с проектами инвертора, то от переименовывания деталей в целом можно отказаться, вы можете копировать сборку целиком в папку проекта ( и, например, переименовать только ее). По умолчанию сборка ищет детали в своей подпапке и папке проекта, детали из других проектов тащить не будет, даже если они одноименные. Другое дело, что если вы хотите с имён деталей номера брать, но тут опять же вопрос решаемый.  Хотя, на мой вкус, переименовывать детали все же лучше, чем не переименовывать ))
83
Громаднейшее спасибо.
84
Тупанул, извините:-\
Код - C# [Выбрать]
  1.                         // Создаём новый фильтр слоёв
  2.                         string myst;
  3.                         myst = string.Concat("NAME == \"*", MyLyFilter, "*\"");
  4.                         layerFilter.FilterExpression = myst;
  5.                         layerFilter.Name = MyLyFilter;
  6.                         filters.Add(layerFilter);
  7.                         // Устанавливаем изменённые фильтры для базы данных
  8.                         db.LayerFilters = filterTree;
85
Вариант 1: устанавливаем SDK. Там в каждом есть chm файлы, открываем, в каждом есть раздел What's new
Вариант 2: https://github.com/ADN-DevTech/revit-api-chms - тут есть все файлы справки, скачиваем / клонируем репу, дальше аналогично варианту 1
Вариант 3: https://www.revitapidocs.com, выбираем версию в меню сверху, находим What's New in the Revit xxxx API, откываем ссылку, например, для Revit 2024 - https://www.revitapidocs.com/2024/news
86
Попробуй воспользоваться методом Table.RecomputeTableBlock(true). И возможно в отдельной транзакции.
Спасибо! Именно этого и не хватало. Использовал в этой же транзакции
87
Видео с ScreenCast создать не получилось (ошибка при uploading).
Autodesk отменила поддержку Autodesk Screencast. Так что записывай видео для Youtube и вставляй сюда ссылки.
88
Попробуй воспользоваться методом Table.RecomputeTableBlock(true). И возможно в отдельной транзакции.
89
Добрый день.
Подскажите плиз где и как смотреть изменения, которые происходят от версии к версии.
У меня есть проект. Еще на Revit2019.
И вот пришло время его компилировать под 2022 и 2024. И просто так не получается.
Вот например, пропала структура DisplayUnitType, а FormatOptions уже не содержит тех переменных. ( DisplayUnits, UnitSymbol ).
В общем чтобы за каждым разом не спрашивать что делать, хочу найти где описан переход.
Спасибо.

90
Добрый день! Подскажите, имеется таблица. При программном изменении ее размеров (например, удаление части колонок и столбцов), границы удаленных ячеек продолжают отображаться. За них можно даже выделить таблицу, хотя реально ячеек там нет. Если скопировать и вставить такую таблицу, то её копия уже отображается правильно. Regen (программный и ручной) не помогает. В чем может быть ошибка? Видео с ScreenCast создать не получилось (ошибка при uploading).
Исходная таблица, например, 2х2


После запуска удаления одного столбца и одной колонки получаем


При копировании таблица (при перетаскивании) всё еще отображается как 2х2

но уже при вставке копии становится 1х1


Код прикладываю
Код - C# [Выбрать]
  1. public void CreateTable(string DevName, ObjectId TabObjId, List<string> CableNames) // Где TabObjId - ObjectId существующей таблицы
  2.         {
  3.             Document doc = Application.DocumentManager.MdiActiveDocument;
  4.             Database db = doc.Database;
  5.             Editor ed = doc.Editor;
  6.             int TabLength = CableNames.Count();
  7.  
  8.             Transaction tr = db.TransactionManager.StartTransaction();
  9.             using (tr)
  10.             {
  11.                 try
  12.                 {
  13.                     Table tab = tr.GetObject(TabObjId, OpenMode.ForRead) as Table;
  14.                     tab.UpgradeOpen();
  15.                     tab = ClearTable(tab);
  16.                     Cell c;
  17.                     for (int i = 1; i < tab.Rows.Count; i++)
  18.                         tab.DeleteRows(1, i);
  19.                     for (int i = 1; i < tab.Columns.Count; i++)
  20.                         tab.DeleteColumns(1, i);
  21.                     Cell c = tab.Cells[0, 0];
  22.                     tab.GenerateLayout();
  23.                     //tab.DowngradeOpen();
  24.                     tr.Commit();
  25.                     ed.Regen();
  26.                 }
  27.                 catch (System.Exception ex)
  28.                 {
  29.                     Autodesk.AutoCAD.Runtime.Exception ex2 =
  30.                       ex as Autodesk.AutoCAD.Runtime.Exception;
  31.                     if (ex2 != null && ex2.ErrorStatus != ErrorStatus.WasOpenForUndo)
  32.                     {
  33.                         ed.WriteMessage("\nAutoCAD exception: {0}", ex2);
  34.                     }
  35.                     else if (ex2 == null)
  36.                     {
  37.                         ed.WriteMessage("\nSystem exception: {0}", ex);
  38.                     }
  39.                 }
  40.             }
  41.         }
  42.  
Страницы: 1 ... 7 8 [9] 10