Re: Поделитесь программкой для чистки файлов
up
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → LISP → Поделитесь программкой для чистки файлов
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Всем привет!
Кто-нибудь знает, как программно определить,
есть ли в чертеже неиспользуемые блоки?
Просто определить. Действия или там сообщения
какие - это второстепенно и проблем не
вызывает.
Успехов!
(ssget "X" (list(cons 0 "Insert")))
возвратит набор всех вставленных блоков,
а с помощью (tblnext "Block") можно добыть все определенные в данном документе блоки. Остальное дело техники, чтобы сравнить то и другое.
Либо это можно проделать через vla- функции.
(ssget "X" (list(cons 0 "Insert")))
возвратит набор всех вставленных блоков,
а с помощью (tblnext "Block") можно добыть все определенные в данном документе блоки. Остальное дело техники, чтобы сравнить то и другое.
Ситуация - есть блок ?1 вложенный в другой блок ?2, а на самом чертеже явно вставленного блока ?1 и нет. Чтобы выдать правильный результат в таком случае необходимо ещё перелопатить всё содержимое блоков.
Проще сделать через vla функции
Привет!
Я почему спрашиваю - до 12-го АКАДа включительно
это делалось одним движением (был явный признак
в результате вызова функции (tblnext "block").
Потом эта возможность (она была недокументирована)
пропала. Может где-то есть другие признаки? Ну,
системная переменная какая-нибудь...
Счастливо!
===AAA=== создай тему со своим вопросом!!
Вопрос в силе: как сделать purge папке вместе со всеми вложенными папками и файлами в них?
[rus]U mena ne tak krasivo, no rabotaet.
Otkrivaesch nowij dwg, v tom direktorii,
v kotorom iskomie dwg file i zapuskaesch programmku.[/rus]
Предупреждение! Помещайте транслит между тагами [rus] и [/rus].
/Администратор./
(defun c:del_xlam () (setq dwg_pfad (getvar"dwgprefix")) (vl-load-com) (setq spisokfile nil) (setq spisokfile (vl-directory-files dwg_pfad "*.dwg" 1)) (if (/= spisokfile nil) (progn (setq i 0 num (length spisokfile)) (repeat num (setq name (nth i spisokfile)) (setq file (strcat dwg_pfad name)) (command "purge" "all" "" "n") (command "insert" file (list 0 0) "" "" "") (command "zoom" "e") (command "explode" "l") (command "purge" "all" "" "n") (command "_save" file "Y") (command "erase" "all" "") (setq i (1+ i)) );repeat );progn );end if );end defun
это и во вложенных папк5ах чистит или только в той где файл открыт?
Да проще скриптом сделать полный purge. Причем не только в одной папке, а где угодно.
например такой скрипт:
-purge a * n -purge a * n -purge a * n _qsave
И с помощью Script Pro применяем данный скрипт к нужным файлам (drag'n'drop поддерживается)
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → LISP → Поделитесь программкой для чистки файлов
Форум работает на PunBB, при поддержке Informer Technologies, Inc