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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > PURGE

PURGE

Ответ
Поиск в этой теме
Непрочитано 10.05.2006, 10:41 #1
PURGE
Pave1
 
электроснабжение и автоматика
 
г. Пермь
Регистрация: 21.06.2005
Сообщений: 329

Что это такое?
Подсказал только что парень сидящий рядом.
При введении этой команды выскакивает диалоговое окно "Отчистка рисунка".
В нем компьютер предлагает удалить элементы, которые можно удалить.
Я с удовольствием удалил (т.к. очень хочу, чтобы файлы весили поменьше), и о чудо, файл уменьшился в размерах в два раза!!!
Я теперь что думаю! а я случайно не потерял ли что-нибуть при этом удалении?
Возможно я сейчас этого не замечаю, а потом этого уже будет не вернуть :(
__________________
хочу все знать
Просмотров: 7030
 
Непрочитано 10.05.2006, 10:50
#2
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Потерялось то, что в чертеже, в данный момент, не использовалось
Хмурый вне форума  
 
Непрочитано 10.05.2006, 10:53
#3
Sopro

Конструктор-машиностроитель
 
Регистрация: 22.12.2005
С.-Петербург
Сообщений: 1,224
<phrase 1=


Удаляется лишь то, что не используется в данном чертеже: слои (не все), типы линий, текстовые стили и т.п.
Sopro вне форума  
 
Автор темы   Непрочитано 10.05.2006, 10:55
#4
Pave1

электроснабжение и автоматика
 
Регистрация: 21.06.2005
г. Пермь
Сообщений: 329


что значит в данный момент?
приведи простенький пример, чтобы понятно все стало
Это типа если я как-то раз вставлял блок в этот файл, а потом удалил все изображения этого блока, то он у меня удаляется из состава файла и я больше не смогу вставить изображение этого файла не прибегая к помощи других файлов.
Что-то слишком запутанно описал, но возможно вы поймете
__________________
хочу все знать
Pave1 вне форума  
 
Автор темы   Непрочитано 10.05.2006, 10:58
#5
Pave1

электроснабжение и автоматика
 
Регистрация: 21.06.2005
г. Пермь
Сообщений: 329


Sopro!
что значит слои не используемые в данном чертеже?
Это слои в которых нет ни одного объекта? Но ведь возможно есть слои, в которых на данный момент нет ни одного объекта, а потом я в них что-нибуть "нарисую"
__________________
хочу все знать
Pave1 вне форума  
 
Непрочитано 10.05.2006, 11:03
#6
_Andre_

механизатор
 
Регистрация: 28.12.2004
Самара
Сообщений: 312
<phrase 1=


неиспользуемый слой - слой не являющийся текущим, и не содержащий ни одного примитива.

С блоками ты правильно понял, если нет ни одной вставки блока (примитив insert), то описание блока из файла удаляется
_Andre_ вне форума  
 
Непрочитано 10.05.2006, 11:03
#7
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Цитата:
Сообщение от Pave1
если я как-то раз вставлял блок в этот файл, а потом удалил все изображения этого блока, то он у меня удаляется из состава файла и я больше не смогу вставить изображение этого файла не прибегая к помощи других файлов?
В точку!
Хмурый вне форума  
 
Автор темы   Непрочитано 10.05.2006, 11:04
#8
Pave1

электроснабжение и автоматика
 
Регистрация: 21.06.2005
г. Пермь
Сообщений: 329


Или давайте лучше так!
Если я буду этим пользоваться часто (скажем раз в день), то что будет происходить с файлами которые я очищаю?
Или это полностью безвредная операция, и ее надо использовать всем?
__________________
хочу все знать
Pave1 вне форума  
 
Непрочитано 10.05.2006, 11:07
#9
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Лучше делай это по окончании работы над чертежом.
Хмурый вне форума  
 
Непрочитано 10.05.2006, 11:07
#10
_Andre_

механизатор
 
Регистрация: 28.12.2004
Самара
Сообщений: 312
<phrase 1=


полезно проводить такую операцию перед отправкой чертежа в архив, особенно если Вы считаете что когда нибудь что нибудь нарисуете на неиспользуемом слое.

Также полезно бывает удалить фильтры слоев, они зачастую занимаю бОльшую часть файла, чем неиспользуемые элементы.
_Andre_ вне форума  
 
Автор темы   Непрочитано 10.05.2006, 11:07
#11
Pave1

электроснабжение и автоматика
 
Регистрация: 21.06.2005
г. Пермь
Сообщений: 329


А от куда у меня появляются много ненужных слоев с названиями типа
_А_ОЕ

и т.д.
и как их убрать?
__________________
хочу все знать
Pave1 вне форума  
 
Непрочитано 10.05.2006, 11:10
#12
_Andre_

механизатор
 
Регистрация: 28.12.2004
Самара
Сообщений: 312
<phrase 1=


Ну как вариант Вы вставляете внешние файлы блоками, а в тех файлах есть эти самые слои. То есть блок вставили разбили - слои стали несипользуемыми. Почистили файл , их не стало. Следующий блок вставили, разбили, слои опять появились.
_Andre_ вне форума  
 
Непрочитано 10.05.2006, 11:29
#13
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от Pave1
А от куда у меня появляются много ненужных слоев с названиями типа
_А_ОЕ

и т.д.
и как их убрать?
Эти слои - неправильная перекодировка. На autocad.ru Александр Ривилис показывал ссылку на dwgconvert - преобразовывает в нормальный вид имена слоев, тексты и прочая. Очень удобная штука.
"Ненужных" слоев не бывает - эти слои используются, раз их не удалить. Скорее всего, внутри каких-нить блоков болтаются...
Попробуй запустить такое:
Код:
[Выделить все]
(defun c:norm-blocks (/ adoc)
  (vl-load-com)
  (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
  (vla-startundomark adoc)
  (vlax-for block (vla-get-blocks adoc)
    (if	(not (wcmatch (strcase (vla-get-name block) t) "*_space*"))
      (vlax-for	ent (vla-item (vla-get-blocks adoc) (vla-get-name block))
	(foreach prop '(("layer" "0")
			("color" 0)
			("linetype" "byblock")
			("lineweight" -2)
			)
	  (vlax-put-property ent (car prop) (cadr prop))
	  ) ;_ end of foreach
	) ;_ end of vlax-for
      ) ;_ end of if
    ) ;_ end of vlax-for
  (vla-endundomark adoc)
  (vla-regen adoc acallviewports)
  (princ)
  ) ;_ end of defun
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 10.05.2006, 11:31
#14
Pave1

электроснабжение и автоматика
 
Регистрация: 21.06.2005
г. Пермь
Сообщений: 329


я слои с подобными названиями никогда не содавал, а все что я закидываю в сои файлы у меня "взорвано" несколько раз подрад (чтобы навернека) и закинуто в слой 0
только после этого чусти чужих чертежей попадают ко мне в файл.
Затем они "отправляются" в нужный слой, тем самым получив необходимые свойства.
А эти "странные слои", у меня такое чувство, что их сам автокад делает! это мне не нравится!
__________________
хочу все знать
Pave1 вне форума  
 
Автор темы   Непрочитано 10.05.2006, 11:37
#15
Pave1

электроснабжение и автоматика
 
Регистрация: 21.06.2005
г. Пермь
Сообщений: 329


Крыс!
запускаю и получаю вот что:
Ошибка: ошибка Automation. На блокированном слое
__________________
хочу все знать
Pave1 вне форума  
 
Непрочитано 10.05.2006, 11:41
#16
Кулик Алексей aka kpblc
Moderator

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


А, ну да, состояние слоев не отслеживается. Слои надо разблокировать и разморозить. А также включить. Можно и в лисп засунуть. Надоть?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 10.05.2006, 15:05
#17
Pave1

электроснабжение и автоматика
 
Регистрация: 21.06.2005
г. Пермь
Сообщений: 329


разморозил, включил и разблокировал все слои
в командной строке увидел:
Выполняется регенерация модели.
и все, слои остались на месте
[ATTACH]1147259156.JPG[/ATTACH]
__________________
хочу все знать
Pave1 вне форума  
 
Непрочитано 10.05.2006, 15:36
#18
Кулик Алексей aka kpblc
Moderator

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


Сейчас просто нет времени. Катастрофически. Поэтому без проверок:
Код:
[Выделить все]
(defun c:norm-blocks (/				 *kpblc-activedoc*
		      _kpblc-layer-status-restore
		      _kpblc-layer-status-save	 *error*
		      )

  (defun *error* (msg)
    (_kpblc-layer-status-restore)
    (vla-endundomark *kpblc-activedoc*)
    (princ msg)
    (princ)
    ) ;_ end of defun

  (defun _kpblc-layer-status-save (layers-on / item)
    (if	*kpblc-list-layer-status*
      (setq *kpblc-list-layer-status* nil)
      ) ;_ end of if
    (vlax-for item (vla-get-layers *kpblc-activedoc*)
      (setq *kpblc-list-layer-status*
	     (append *kpblc-list-layer-status*
		     (list
		       (list item
			     (cons "freeze" (vla-get-freeze item))
			     (cons "lock" (vla-get-lock item))
			     (cons "on" (vla-get-layeron item))
			     ) ;_ end of list
		       ) ;_ end of list
		     ) ;_ end of append
	    ) ;_ end of setq
      (if layers-on
	(progn
	  (vla-put-layeron item :vlax-true)
	  (vla-put-lock item :vlax-false)
	  (if (not (equal (vla-get-activelayer *kpblc-activedoc*) item))
	    (vla-put-freeze item :vlax-false)
	    ) ;_ end of if
	  ) ;_ end of progn
	) ;_ end of if
      ) ;_ end of vlax-for
    ) ;_ end of defun

  (defun _kpblc-layer-status-restore (/ item)
    (if	*kpblc-list-layer-status*
      (progn
	(foreach item *kpblc-list-layer-status*
	  (vla-put-layeron (car item) (cdr (assoc "on" (cdr item))))
	  (vla-put-lock (car item) (cdr (assoc "lock" (cdr item))))
	  (if (not (equal (vla-get-activelayer *kpblc-activedoc*) (car item)))
	    (vla-put-freeze (car item) (cdr (assoc "freeze" (cdr item))))
	    ) ;_ end of if
	  ) ;_ end of foreach
	(setq *kpblc-list-layer-status* nil)
	) ;_ end of progn
      ) ;_ end of if
    ) ;_ end of defun

  (vl-load-com)
  (setq *kpblc-activedoc* (vla-get-activedocument (vlax-get-acad-object)))
  (vla-startundomark *kpblc-activedoc*)
  (_kpblc-layer-status-save t)
  (vlax-for block (vla-get-blocks *kpblc-activedoc*)
    (if	(not (wcmatch (strcase (vla-get-name block) t) "*_space*"))
      (vlax-for	ent (vla-item (vla-get-blocks *kpblc-activedoc*)
			      (vla-get-name block)
			      ) ;_ end of vla-item
	(foreach prop '(("layer" "0")
			("color" 0)
			("linetype" "byblock")
			("lineweight" -2)
			)
	  (vlax-put-property ent (car prop) (cadr prop))
	  ) ;_ end of foreach
	) ;_ end of vlax-for
      ) ;_ end of if
    ) ;_ end of vlax-for
  (vla-regen *kpblc-activedoc* acallviewports)
  (repeat 3 (vla-purgeall *kpblc-activedoc*))
  (_kpblc-layer-status-restore)
  (vla-endundomark *kpblc-activedoc*)
  (princ)
  ) ;_ end of defun
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 10.05.2006, 16:14
#19
Pave1

электроснабжение и автоматика
 
Регистрация: 21.06.2005
г. Пермь
Сообщений: 329


нет времени - это бывает. Сам прекрасно понимаю что это такое. По этому не стану больше надоедать.
Но "чужие" слои все же на месте.
__________________
хочу все знать
Pave1 вне форума  
 
Непрочитано 10.05.2006, 16:22
#20
Кулик Алексей aka kpblc
Moderator

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


Значит в таком варианте надо проходить полным программным (не встроенным) пургеном типа такого: http://www.arcada.com.ua/forum/viewtopic.php?t=566 и там второй вариант.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > PURGE