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

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

Страницы: 1 ... 6 7 [8] 9 10
71
AutoCAD .NET API / Реализовать аналог ssget"_X" на NET
« Последний ответ от Алексей Кулик 14-08-2024, 23:26:27 »
Возникла задача - выбрать все примитивы (к примеру, вхождения блоков) на всех листах и пространстве модели. Учитывая, что в NET я понимаю очень немного, попытался нарисовать такой вот вариант:
Код - C# [Выбрать]
  1. [CommandMethod("get-all-layout")]
  2. public static void GetAllLayoutsBlockReferencesCommand()
  3. {
  4.     Document doc = Application.DocumentManager.MdiActiveDocument;
  5.     Database dbase = doc.Database;
  6.     using (Transaction trans = dbase.TransactionManager.StartTransaction())
  7.     {
  8.         BlockTable bt = trans.GetObject(dbase.BlockTableId, OpenMode.ForRead) as BlockTable;
  9.         List<ObjectId> blockRefList = new List<ObjectId>();
  10.  
  11.         DBDictionary layoutsDict = trans.GetObject(dbase.LayoutDictionaryId, OpenMode.ForRead) as DBDictionary;
  12.  
  13.         foreach (DBDictionaryEntry layout in layoutsDict)
  14.         {
  15.             using (BlockTableRecord space = trans.GetObject(layout.Value, OpenMode.ForRead) as BlockTableRecord)
  16.                 // space = null!
  17.             {
  18.                 foreach (ObjectId id in space)
  19.                 {
  20.                     if (id.ObjectClass.DxfName == "INSERT")
  21.                     {
  22.                         blockRefList.Add(id);
  23.                     }
  24.                 }
  25.             }
  26.         }
  27.     }
  28. }
Но уже при попытке обработки space я получаю ошибку, приводящую к падению ACAD (space == null). Отпуск совсем мне остатки мозгов привел в невменяемое состояние? Что я делаю не так?
ACAD2021
72
ObjectARX / Re: osnap и transient graphics
« Последний ответ от begiz 14-08-2024, 13:22:36 »
да, обычные точки, только стиль у них указан как окружность с крестом
количество около ~10к
занимает 6с

да, там алгоритм,который расчитывает координаты тоже подъедает нормальном
73
ObjectARX / Re: osnap и transient graphics
« Последний ответ от Привалов Дмитрий 14-08-2024, 13:12:17 »
но добавление такого количества графики происходит "медленно"
Обычные точки автокада? О каком количестве речь?
Если вставляется 300 тыс обычных точек, по идее должны быстро вставляться и дело в алгоритме.
74
AutoLisp / VisualLISP и DCL / Re: перключить язык клавиатуры лиспом
« Последний ответ от altver 13-08-2024, 22:05:45 »
Спасибо Александр!
А можно примерчик получить?
75
altver,
Средствами AutoLisp/VisualLisp этого сделать нельзя. Можно средствами ObjectARX (C++) или .NET.
76
ObjectARX / Re: osnap и transient graphics
« Последний ответ от Александр Ривилис 13-08-2024, 16:58:41 »
Вопрос: это так и должно быть что к трансиентной графике не прицепится оснап или я чтото не доделал?
Так и должно быть.
77
ObjectARX / osnap и transient graphics
« Последний ответ от begiz 13-08-2024, 11:57:31 »
Добрый день коллеги
ситуация 1: по вызову команды на чертеж добавляется КУЧА точек к которым можно привязыватся с помощью оснап, но добавление такого количества графики происходит "медленно"
ситуация 2: всё тоже самое, но точки отрисовываются как трансиентная графика, отрисовывается быстро, но к этой трансиентной  графике не цепляется оснап.

Вопрос: это так и должно быть что к трансиентной графике не прицепится оснап или я чтото не доделал?
может есть какой то другой мешанизм который можно задействовать для реализации такой задачи?

версии автокад - 2012 - 2024

Спасибо
78
AutoLisp / VisualLISP и DCL / Re: перключить язык клавиатуры лиспом
« Последний ответ от trir 13-08-2024, 10:20:01 »
dos_capslock - это DOSLib, который написан на плюсах
для смены языка надо дёргать WinApi https://learn.microsoft.com/en-us/windows/win32/api/winnls/nf-winnls-setlocaleinfoa
79
AutoLisp / VisualLISP и DCL / Re: перключить язык клавиатуры лиспом
« Последний ответ от altver 12-08-2024, 20:24:29 »
Caps Lock нашел, вот так:
(dos_capslock 1) - вкл
(dos_capslock) - выкл,
а вот как поменять язык...?
80
AutoLisp / VisualLISP и DCL / перключить язык клавиатуры лиспом
« Последний ответ от altver 12-08-2024, 16:19:52 »
Добрый день, господа!
Возможно ли лиспом перключить клавиатуру на английский язык и сделать маленькие буквы (caps Lock)?
Заранее благодарен!
Страницы: 1 ... 6 7 [8] 9 10