как програмно выделить объект?
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > как програмно выделить объект?

как програмно выделить объект?

Ответ
Поиск в этой теме
Непрочитано 10.07.2009, 04:45 #1
как програмно выделить объект?
Jonas
 
конструктор машиностроитель
 
Новосибирск
Регистрация: 14.05.2007
Сообщений: 893

Можни ли (есть ли команда) выделить ("высветить") объект не указывая курсорои чтобы засветились "ручки". Например последний созданый или по имени и пр.

Последний раз редактировалось Jonas, 10.07.2009 в 07:30.
Просмотров: 3396
 
Непрочитано 10.07.2009, 08:18
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


Перенес в "Программирование".
Если задачу решать лиспом, то получится нечто типа
Код:
[Выделить все]
(setq ent    (entmakex '((0 . "LINE") (10 0. 0. 0.) (11 1000. 100. 0.)))
      selset (ssadd ent)
      ) ;_ end of setq
(sssetfirst selset selset)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 10.07.2009, 08:26
#3
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Для этой цели можно применить функцию AutoLisp (sssetfirst), например, так:
......
(setq ss (ssget "_L"))
(sssetfirst nil ss)
......

Последний раз редактировалось Profan, 10.07.2009 в 08:34.
Profan вне форума  
 
Непрочитано 10.07.2009, 12:05
#4
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Код:
[Выделить все]
(sssetfirst nil (ssadd (entlast)));включить  - вместо (entlast) - (entnext) имя примитива.
(sssetfirst nil nil); выключить
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 10.07.2009, 12:45
#5
Jonas

конструктор машиностроитель
 
Регистрация: 14.05.2007
Новосибирск
Сообщений: 893


Спасибо.
Собственно просил для макроса просмотра (показа) отдельной детали (делей) в большой сборке модели но не получилось. Нужно не последний созданный объект а последний выбранный.

Код:
[Выделить все]
^C^C_select;\_vscurrent;_R;(setq ss (ssget "_L"))(sssetfirst nil ss);'_3DFOrbit;_.undo;;
Пока получается только так -
Код:
[Выделить все]
^C^C_copy;\;@;@;_vscurrent;_R;(sssetfirst nil (ssadd (entlast)));'_3DFOrbit;_.undo;3;
К сожжалению только один объект.

Последний раз редактировалось Jonas, 17.07.2009 в 08:17.
Jonas вне форума  
 
Автор темы   Непрочитано 31.07.2009, 11:43
#6
Jonas

конструктор машиностроитель
 
Регистрация: 14.05.2007
Новосибирск
Сообщений: 893


Все же домучил макрос!
Код:
[Выделить все]
^C^Cвыбрать;\(ssget);т;;_vscurrent;Р;(setq ss (ssget "_P"))(sssetfirst nil ss);'_3DFOrbit;_.undo;2;
Jonas вне форума  
 
Автор темы   Непрочитано 29.09.2009, 12:20
#7
Jonas

конструктор машиностроитель
 
Регистрация: 14.05.2007
Новосибирск
Сообщений: 893


Не создаю новую тему, предпологаю короткий ответ.

Пишу макрос -
Код:
[Выделить все]
^C^C_rectang;\'_cal;p1=@;\'_cal;p2=@;_erase;_last;;_section;'_cal;p1;'_cal;p2;
- далее если пишу ";" , то не работает,
- если клик правой кнопкой или клавиша "enter", то все в порядке, можно продолжать.

Будьте добры, подскажите в чем дело.
Jonas вне форума  
 
Непрочитано 29.09.2009, 17:46
#8
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Найти ссылку не получилось. Но Vova как-то указывал, что calc в макросе может глючить.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > как програмно выделить объект?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как выделить все объекты одного слоя или быстро сделать н... Валера_ AutoCAD 42 02.08.2022 12:13
Как добавить програмно OPTIONS>Files>Printer SupportFile Path>Plot Style Table Search Path ???? Startrek Программирование 8 21.10.2008 02:28
Как выделить сети из объекта УКС Инженерные сети 1 23.05.2008 12:22