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

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

Страницы: [1] 2 3 ... 10
1
AutoLisp / VisualLISP и DCL / Re: координаты области выбора
« Последний ответ от altver 18-04-2025, 20:13:21 »
отлично!
СПАСИБО!.
 (ssnamex) - ТО, ЧТО  НАДО!!!
2
Впрочем посмотри описание и примеры использования функции (ssnamex)
3
В такой постановке вопроса ответ - нет.
Можно средтвами ObjectARX и (кажется) AutoCAD.NET API
4
AutoLisp / VisualLISP и DCL / координаты области выбора
« Последний ответ от altver 18-04-2025, 18:44:01 »
Добрый день, господа!
вопрос такой:
выбираю объекты "Select Objects"  прямоугольной областью,
необхоимо получить координаты всех 4-х углов области.
Возможно ли через лисп?
Заранее блгодарен!
5
В общем, вся проблема оказалась в том, что атрибут для первого состояния видимости отмечен в определении блока как постоянный.
Прилагаю файл. В нём есть блок "Т1". В котором 3 состояния видимости (0-1-2). Для 0 и 1 состояний атрибуты помечены как постоянные, для 2-го состояния атрибут не помечен как постоянный.
В таком виде, если ставить блок для всех состояний видимости следующим кодом, то всегда будет виден только ATTR1:
Извините, вам запрещён просмотр содержимого спойлеров.

Если все атрибуты сделать непостоянными, то вставка атрибутов будет происходить в соответствие с состоянием видимости блока.
6
Можно попробовать сменить состояние видимости на начальное, добавить атрибуты и вернуть то, которое было, возможно разнести на разные транзакции.
7
Выложите пример, двух состояний блока. Естакой вот с такими атрибутами, есть такой же но тут вот так и выдеы только эти атрибуты.
8
По пробовать возвращать свойство Visible  и проверять его.
не очень понял. В какой момент и у кого свойство visible проверять?

Тут фишка именно при создании нового вхождения блока (blockReferenct) нужно "восстановить" атрибуты. Но у моего определения блока некоторые атрибуты видны для определенного состояния видимости, а некоторые не видны. По факту же получается, что когда я создаю новые вхождения атрибутов для вхождения блока, у меня видимость атрибутов всегда соответствует только первому состоянию видимости в определении блока, а не текущему состоянию видимости вхождения блока.
Возможно код, указанный выше, не верный.
9
По пробовать возвращать свойство Visible  и проверять его.
10
Всем здравствуйте!
Есть блок. В нём заданы атрибуты. Эти атрибуты могут быть видны или не видны для разных состояний видимости.

Я создаю экземпляры атрибутов для нового экземпляра блока:
       
Код - C# [Выбрать]
  1.                      if (blockDef.HasAttributeDefinitions)
  2.                         {
  3.                             foreach (ObjectId id in blockDef)
  4.                             {
  5.                                 DBObject obj = trans.GetObject(id, OpenMode.ForRead);
  6.  
  7.                                 if (obj is AttributeDefinition attDef)
  8.                                 {
  9.                                     if (attDef.Tag == "Авария" || attDef.Tag == "Состояние") continue;
  10.                                     AttributeReference attRef = new AttributeReference();
  11.                                     attRef.SetAttributeFromBlock(attDef, blockRef.BlockTransform);
  12.                                     attRef.Position = attDef.Position.TransformBy(blockRef.BlockTransform);
  13.                                     attRef.SetDatabaseDefaults(targetDb);
  14.                                     blockRef.SetDatabaseDefaults(targetDb);
  15.                                     blockRef.AttributeCollection.AppendAttribute(attRef);
  16.                                     trans.AddNewlyCreatedDBObject(attRef, true);
  17.                                 }
  18.                             }
  19.                         }
Однако, получается, что те атрибуты, которые были не видны в самом первом состоянии видимости у определения блока, тут будут так же не видны.
Если перед созданием экземпляров атрибутов выставить состояние видимости блоку, это никак не повлияет на видимость атрибутов.

Есть ли изящный способ узнать, виден ли аттрибут или любой другой объект динамического блока для разных состояний видимости?
Страницы: [1] 2 3 ... 10