Новый ZWCAD 2017
dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > LISP удалить связи все связи словаря "Datalink"

LISP удалить связи все связи словаря "Datalink"

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 31.05.2011, 20:31 #1
LISP удалить связи все связи словаря "Datalink"
gizmo_zx
 
Проектировщик ЭО,ЭМ, ЭОС
 
Нижний Новгород
Регистрация: 18.07.2007
Сообщений: 190
Отправить сообщение для gizmo_zx с помощью ICQ Отправить сообщение для gizmo_zx с помощью Skype™

gizmo_zx вне форума Вставить имя

Добрый день.

Помогите доработать "dictedit".
Чтоб удалить все связи словаря "Datalink" за раз по нажатию "Delete" (их уже сотни).

Может есть любое другое готовое решение?

Вложения
Тип файла: lsp DictEdit.lsp.lsp (12.8 Кб, 283 просмотров)
Тип файла: zip DictEdit.zip (955 байт, 143 просмотров)

Просмотров: 3586
 
Непрочитано 31.05.2011, 22:16
3 | #2
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,449
Отправить сообщение для VVA с помощью ICQ Отправить сообщение для VVA с помощью Skype™


Код:
[Выделить все]
 
(defun C:KILL-DATALINK ( / dic edic)
  (vl-load-com)
  (and
    (setq dic (member (cons 3 "ACAD_DATALINK")(entget (namedobjdict))))
    (setq edic (cdr(assoc 350 dic)))
    (setq edic (vlax-ename->vla-object edic))
    (VL-CATCH-ALL-APPLY 'vla-delete (list edic))
    )
  (princ)
  )
Еще проще
Код:
[Выделить все]
 
(dictremove (namedobjdict) "ACAD_DATALINK")
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 23.12.2011 в 15:30.
VVA на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 11.08.2015, 11:30
#3
Avodo


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


Добрый день.
Первая часть кода работает, все как надо.
А вторая, которая "Еще проще" - нет. Или я не пойму как ее использовать правильно. При сохранении кода в файл .LSP и загрузке - Акад пишет что лишняя скобка вначале, убираю. все равно пишет лишняя скобка...
Avodo вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 11.08.2015, 11:49
1 | #4
Кулик Алексей aka kpblc
Moderator

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


(dictremove (namedobjdict) "ACAD_DATALINK")
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 11.08.2015, 11:58
#5
Avodo


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


Спасибо, а использовать то как?
Я имею ввиду что "defun C:" отсутсвует и как запустить или вызвать команду не врубаюсь...

Последний раз редактировалось Avodo, 11.08.2015 в 14:17.
Avodo вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 11.08.2015, 14:43
#6
АлексЮстасу

топограф, технолог
 
Регистрация: 24.05.2009
Москва
Сообщений: 2,513


Вставить в комстроку. И Enter.
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 11.08.2015, 14:58
#7
Avodo


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


Спасибо. Так вроде пробовал, результат не сразу заметил. Словарь ссылок пустой, а в диспетчере внешних ссылок связь висела. После закрытия и открытия чертежа - пропадает и там.
На кнопку реально повесить эту команду?
Avodo вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 11.08.2015, 15:22
#8
АлексЮстасу

топограф, технолог
 
Регистрация: 24.05.2009
Москва
Сообщений: 2,513


А что мешает?
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 12.08.2015, 12:50
1 | #9
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,449
Отправить сообщение для VVA с помощью ICQ Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от Avodo Посмотреть сообщение
Я имею ввиду что "defun C:" отсутствует и как запустить или вызвать команду не врубаюсь.
Если с C: проще, то можно "преобразовать" в команду так
Код:
[Выделить все]
(defun C:KILL-DATALINK2 ()
(vl-load-com)
(dictremove (namedobjdict) "ACAD_DATALINK")
)
__________________
Как использовать код на Лиспе читаем здесь
VVA на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 06.04.2017, 12:25
#10
Theodor


 
Регистрация: 16.04.2009
Петрозаводск
Сообщений: 45


Коллеги, подскажите, а есть решение, чтобы удалить только неиспользуемые связи с данными. А то при копировании из файла в файл плодятся ненужные.
Theodor вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > LISP удалить связи все связи словаря "Datalink"

Инженерные консультации
Опции темы Поиск в этой теме
Поиск в этой теме:

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Максимальная ошибка в узле 50797 по направлению 2: 0.387%. Kastrulkin Расчетные программы 11 06.12.2011 15:35
Расчёт по СНиПу стальной стойки квадратного сечения не предусмотрен. Filя Металлические конструкции 330 09.02.2011 19:47
{Конкурс} Lisp. Задачки для студентов gomer LISP 10 05.01.2011 16:33
Непонятки со связями bezo Расчетные программы 8 06.06.2010 12:34
Нормативная документация для проектирования сетей связи ??? firger77 Поиск литературы, чертежей, моделей и прочих материалов 2 29.01.2008 12:50

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||


Размещение рекламы