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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Помогите с Lisp. Необходима команда для мгновенной выгрузки Выделенной внешней ссылки

Помогите с Lisp. Необходима команда для мгновенной выгрузки Выделенной внешней ссылки

Ответ
Поиск в этой теме
Непрочитано 14.10.2020, 13:17 #1
Помогите с Lisp. Необходима команда для мгновенной выгрузки Выделенной внешней ссылки
leshkabar
 
Регистрация: 14.10.2020
Сообщений: 7

К сожалению в Акаде 2015 в контекстном меню нет возможности Выгрузить внешнюю ссылку. Есть только Открыть/Подрезать/Редактировать. Для того, чтобы не лезть в Палитру внешних ссылок, искать название ссылки, выбрать и потом только "гасить" хотелось бы иметь хотя бы комманду, чтобы сразу это сделать, без лишних телодвижений. Жаль что разработчики не включили данную функцию в контекстное меню по правой кнопке мыши. Очень часто приходится выключать. Пробовал делать макросом - стопорюсь на том, что Акад просит внести Имя ссылки и не даёт возможности её выделить и показать, что нужно "гасить". Надеюсь на Вашу помошь. Спасибо.

Последний раз редактировалось leshkabar, 14.10.2020 в 13:39.
Просмотров: 2738
 
Непрочитано 14.10.2020, 13:29
#2
Кулик Алексей aka kpblc
Moderator

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


А где собственный код? На чем стопоришься?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 14.10.2020, 13:35
#3
leshkabar


 
Регистрация: 14.10.2020
Сообщений: 7


К сожалению, много времени потребуется для освоения и изучения элементарных команд программирования (чем совершенно на данном этапе не владею). Надеюсь на опытных пользователей, которым это сделать - "на раз-два". Извините пожалуйста.
leshkabar вне форума  
 
Непрочитано 14.10.2020, 13:38
#4
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


такая функция есть... только не в AutoCAD'е а рядом
trir вне форума  
 
Непрочитано 14.10.2020, 13:43
#5
stas_org


 
Регистрация: 05.04.2007
Самара
Сообщений: 1,199


Команда Delete. Нет?
stas_org вне форума  
 
Непрочитано 14.10.2020, 14:18
1 | #6
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Код:
[Выделить все]
(vl-cmdf "_-XREF" "_U" (cdr (assoc 2 (entget (car (entsel))))))
skkkk вне форума  
 
Автор темы   Непрочитано 14.10.2020, 14:18
#7
leshkabar


 
Регистрация: 14.10.2020
Сообщений: 7



Команда Delete - это хорошо. Но при обратном включении - приходится Вставлять заново. Я же пользуюсь командой - Обновить (после Выгрузки). Внешняя ссылка при этом сразу отображается.
leshkabar вне форума  
 
Непрочитано 14.10.2020, 16:53
#8
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


а чем команда скрыть не подходит?
Boxa вне форума  
 
Автор темы   Непрочитано 14.10.2020, 16:58
#9
leshkabar


 
Регистрация: 14.10.2020
Сообщений: 7


Цитата:
Сообщение от Boxa Посмотреть сообщение
а чем команда скрыть не подходит?
А Вы пробовали делать это с Внешней ссылкой? Абракадабра будет. Не то.

----- добавлено через ~20 мин. -----
Цитата:
Сообщение от skkkk Посмотреть сообщение
Код:
[Выделить все]
(vl-cmdf "_-XREF" "_U" (cdr (assoc 2 (entget (car (entsel))))))
Спасибо громадное за код. Работает на 10ку. Создал кнопку, в поле макрос вписал данный код. Супер. Единственное пожелание - поменять очередность. Т.е. по коду сначала вводим, потом выбираем ссылку; можно ли наоборот - сначала выделяем - потом уже заранее выделенную - выгружаем, без последующего выбора?. .. Но всё равно и так СПАСИБО. Буду регулярно пользоваться!
leshkabar вне форума  
 
Непрочитано 14.10.2020, 17:56
#10
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от leshkabar Посмотреть сообщение
А Вы пробовали делать это с Внешней ссылкой? Абракадабра будет. Не то.
Постоянно пользуюсь, но мы наверное про разное говорим.
я вот про это:
Boxa вне форума  
 
Автор темы   Непрочитано 15.10.2020, 08:01
#11
leshkabar


 
Регистрация: 14.10.2020
Сообщений: 7



Есть небольшой косячок. Код не срабатывает если в имени ссылки есть символ - " [ ] " Короче квадратные скобки.
И почему то после выгрузки в окне команд висит вот такая надпись - " Команда: T "

Последний раз редактировалось leshkabar, 16.10.2020 в 09:03.
leshkabar вне форума  
 
Непрочитано 16.10.2020, 13:29
1 | #12
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Цитата:
Сообщение от leshkabar Посмотреть сообщение
Есть небольшой косячок. Код не срабатывает если в имени ссылки есть символ - " [ ] "
Действительно. Странно, почему командный метод не воспринимает эти символы. Даже вручную попытался вбить на запрос команды - говорит, что нет такой ссылки в чертеже.
Ну тогда так:
Код:
[Выделить все]
 (vl-load-com)
(defun C:XREFUNLOAD ( / ss i lst)
	(setq ss (ssget '((0 . "INSERT"))))
	(if ss
		(progn
			(repeat (setq i (sslength ss))
				(setq lst (cons (ssname ss (setq i (1- i))) lst))
			)
			(setq lst
				(vl-remove-if 
					'(lambda (x) 
						(= 
							(vla-get-IsXRef 
								(vla-Item 
									(vla-get-Blocks (vla-get-ActiveDocument (vlax-get-acad-object)))
									(cdr (assoc 2 (entget x)))
								)
							)
							:vlax-false
						)
					)
					lst
				)
			)
			(setq lst (mapcar '(lambda (x) (cdr (assoc 2 (entget x)))) lst))
			(mapcar '(lambda (x) (vla-Unload (vla-Item (vla-get-Blocks (vla-get-ActiveDocument (vlax-get-acad-object))) x))) lst)
			(princ)
		)
	)
)
skkkk вне форума  
 
Непрочитано 16.10.2020, 13:53
#13
Кулик Алексей aka kpblc
Moderator

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


А если символы экранировать через или ?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 16.10.2020, 18:00
1 | #14
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Кулик Алексей aka kpblc, неа, не прокатывает.
А вот ActiveX'у без разницы. Без всякого экранирования принимает имя с этими симоволами.
В общем-то без оберток строка:
Цитата:
Сообщение от leshkabar Посмотреть сообщение
Код:
[Выделить все]
(vl-cmdf "_-XREF" "_U" (cdr (assoc 2 (entget (car (entsel))))))
преобразуется в строку немного подлиннее:
Код:
[Выделить все]
(vla-Unload (vla-Item (vla-get-Blocks (vla-get-ActiveDocument (vlax-get-acad-object)))(cdr (assoc 2 (entget (car (entsel)))))))
skkkk вне форума  
 
Непрочитано 16.10.2020, 19:49
| 1 #15
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 5,767


Offtop: Нечего ссылки делать с {} [].
engngr вне форума  
 
Непрочитано 27.10.2020, 17:38
1 | #16
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,665


c:xref_un_load
Нажмите на изображение для увеличения
Название: XRUL.jpg
Просмотров: 66
Размер:	66.1 Кб
ID:	231341
Вложения
Тип файла: rar xref_un_load.fas.rar (6.5 Кб, 42 просмотров)
koMon вне форума  
 
Непрочитано 27.10.2020, 22:14
#17
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Ух ты ж! Спасибо)
Нажмите на изображение для увеличения
Название: Схоронил.jpg
Просмотров: 36
Размер:	17.2 Кб
ID:	231344
skkkk вне форума  
 
Непрочитано 28.10.2020, 17:22
#18
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,665


koMon вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Помогите с Lisp. Необходима команда для мгновенной выгрузки Выделенной внешней ссылки

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отключение слоев из внешней ссылки Kimi247 AutoCAD 3 14.06.2019 12:24
DwgRuLispLib: Команда. Загрузка lisp файлов из указанной папки VVA Библиотека функций 7 15.02.2018 10:10
LISP. Копирование объекта из внешней ссылки в текущий чертеж skkkk LISP 19 17.04.2017 22:00
Civil 3D 2015 RUS Проблема при создании участка из объектов внешней ссылки dima_25 Вертикальные решения на базе AutoCAD 2 05.04.2017 13:58
Цвет линий внешней ссылки igormgsu AutoCAD 7 13.06.2010 22:56