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

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

Как оптом изменить системные переменные?

Ответ
Поиск в этой теме
Непрочитано 23.04.2006, 19:29 #1
Как оптом изменить системные переменные?
Archeo
 
архитектор
 
Беларусь
Регистрация: 02.04.2006
Сообщений: 348

Всем привет! Имеется 4...5 десятков файлов *.dwg. Можно ли в них оптом поменять значения некоторых системных переменных (mirrtext, whiparc, кое-каких других)? Или придётся всё-таки каждый файл открывать, вбивать туда каждое новое значение переменных и закрывать с сохранением? Все ли системные переменные можно сохранить в файле шаблона *.dwt, чтобы новые чертежи начинать с нужными настройками? И вопрос к админу: можно ли убрать мою тему об авто-отметке (и "To VAIDAS" тоже)? А то висит, место занимает...
Всем спасибо.
Просмотров: 6725
 
Автор темы   Непрочитано 23.04.2006, 23:40
#2
Archeo

архитектор
 
Регистрация: 02.04.2006
Беларусь
Сообщений: 348


А whiparc, оказывается, в реестре сидит. Т. е. один раз на компе задать – и всё. Так, что ли?
Archeo вне форума  
 
Непрочитано 24.04.2006, 04:59
#3
Om81

Хочу быть фотографом :)
 
Регистрация: 21.10.2005
Москва, Кисловодск
Сообщений: 2,538
<phrase 1=


Системные переменные могут храниться либо в реестре, либо в чертеже, либо в Автокаде.. Либо вообще не храниться (т.е. использоваться для текущих нужд). Ессно, те что в реестре и Акаде - подлежат однократному изменению.
Есть еще например переменная UCSFOLLOW - так она сохраняется в чертеже для каждого вьюпорта отдельно..
__________________
Камень на камень, кирпич на кирпич..
Om81 вне форума  
 
Непрочитано 24.04.2006, 08:28
#4
Кулик Алексей aka kpblc
Moderator

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


Ох и получу же я сейчас... В общем, что бы сделал я:
- пишется крохотный lsp-файл с примерно следующим содержанием (именно для старых файлов):
Код:
[Выделить все]
(setvar "mirrtext" 0)
(setvar "attdia" 1)
И так далее. И этот файл "повесить" в автозагрузку, в портфельчик. Тогда он сам и будет выполняться при каждом старте каждого файла.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 24.04.2006, 10:09
#5
Apelsinov

Проектировщик ВК. LISP-любитель.
 
Регистрация: 15.12.2003
Москва
Сообщений: 1,186
<phrase 1=


kpblc :roll:

Archeo

Express tools: _.sysvdlg -> save all или read.

Сохранение и восстановление системных переменных. Сохраняет в текстовых файлах, которые при желании можно править.
__________________
apel.fas
Apelsinov вне форума  
 
Непрочитано 24.04.2006, 11:25
#6
Perezz!!
Moderator

архитектор
 
Регистрация: 21.08.2003
Москва
Сообщений: 3,587


Цитата:
можно ли убрать мою тему об авто-отметке (и "To VAIDAS" тоже)? А то висит, место занимает...
Дай ссылки на свои темы - уберу любую
Perezz!! вне форума  
 
Непрочитано 24.04.2006, 12:06
#7
VVA

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


>Archeo Сущестует много лиспов по обработке чохом файлов в директории.
Вот доработанный до твоей поблемы один из них. В командной строке набрать SCH, задав в коде чуть ниже соответствия
Код:
[Выделить все]
;|
**********************************************************************
* Здесь задать список соответствия системных переменных и из значений
* по образу и подобию примера
  ( "ИМЯ_СИСТЕМНОЙ_ПЕРЕМЕННОЙ" ЗНЕЧЕНИЕ_СИСТЕМНОЙ_ПЕРЕМЕННОЙ)
**********************************************************************
|;
(setq 	  *SVAR_LIST*
	     '(
	       ("MIRRTEXT" 0)
	       ("OSMODE" 512)
       	       ("AREA" 512)
	       )
)
;;; Основной код взят с
;;;CADALYST 03/05 Tip2023: PurgeFiles.lsp	Directory Clean Up	(c) Andrzej Gumula
;;; [c]2004 Andrzej Gumula, Katowice, Poland
;;; e-mail: [email protected]
;;; This routine purge dwg files from selected folder
(vl-load-com)
(defun c:SCH (/ FilesList SubDir Files File)
  (defun layren ( )
  (mapcar '(lambda ( item )
	     (if (VL-CATCH-ALL-ERROR-P
		   (VL-CATCH-ALL-APPLY 'vla-SetVariable (list File (car item) (cadr item))))
	       (progn
		 (setq *ERR-LIST*
			(append *ERR-LIST*
				(list (list
		                   (vlax-variant-value (vla-GetVariable File "DWGNAME"))
				   (car item)
				   (cadr item)
				   ))
				
				)))))
	  *SVAR_LIST*
  ))
  (defun GetFolder (/ Dir Item Path)
    (cond
      ((setq Dir (vlax-invoke
		   (vlax-get-or-create-object "Shell.Application")
		   'browseforfolder
		   0
		   "Select folder with DWG files:"
		   1
		   ""))
       (cond
	 ((not
	    (vl-catch-all-error-p
	      (vl-catch-all-apply 'vlax-invoke-method (list Dir 'Items))
	    ))
	  (setq	Item (vlax-invoke-method
		       (vlax-invoke-method Dir 'Items)
		       'Item
		     ))
	  (setq Path (vla-get-path Item))
	  (if
	    (not (member (substr Path (strlen Path) 1) (list "/" "\\")))
	     (setq Path (strcat Path "\\"))
	  )))))
    Path)


  (defun vl-findfile (Location / DirList Path AllPath)
    (MakeDirList Location)
    (setq DirList (cons Location DirList))
    (foreach Elem DirList
      (if (setq Path (vl-directory-files Elem "*.dwg"))
	(foreach Item Path
	  (setq AllPath (cons (strcat Elem "/" Item) AllPath))
	)))
    (reverse AllPath))

  (defun MakeDirList (Arg / TmpList)
    (setq TmpList (cddr (vl-directory-files Arg nil -1)))
    (cond
      (TmpList
       (setq
	 DirList (append
		   DirList
		   (mapcar '(lambda (z) (strcat Arg "/" z)) TmpList)
		 ))
       (foreach Item TmpList (MakeDirList (strcat Arg "/" Item)))
      )))
  (setq *ERR-LIST* nil)

  (if (not FileSystemObject)
    (setq FileSystemObject
	   (vla-getInterfaceObject
	     (vlax-get-acad-object)
	     "Scripting.FileSystemObject"
	   )))

  (cond
    ((= (getvar "SDI") 0)
     (cond
       ((setq DwgPath (GetFolder))
	(initget 1 "Yes No")
	(setq
	  Subdir (cond
		   ((getkword "\nОбрабатывать поддиректории? [Yes/No]: "))
		   (T "Yes")
		 ))
	(if (equal SubDir "Yes")
	  (setq	Files
		 (vl-findfile (substr DwgPath 1 (1- (strlen DwgPath))))
	  )
	  (setq	Files (mapcar '(lambda (x) (strcat dwgpath x))
			      (vl-directory-files DwgPath "*.dwg" 1)
		      )))
	(setq Files (mapcar 'strcase Files))
	(cond
	  (Files
	   (vlax-for & (vla-get-documents (vlax-get-acad-object))
	     (setq FilesList
		    (cons (strcase (vla-get-fullname &)) FilesList)
	     ))
	   (foreach & Files
	     (cond
	       ((not (member & FilesList))
		(cond
		  ((/= (logand (vlax-get-property
				 (vlax-invoke-method
				   FileSystemObject
				   'getfile
				   &
				 )
				 'Attributes
			       )
			       1
		       )
		       1
		   )
		   (cond
		     ((setq File (vla-open (vla-get-documents
					     (vlax-get-acad-object)
					   )
					   &
				 )
		      )
		      (prompt
			(strcat "\nОбработка файла" & ". Подождите...")
		      )
;;;             (vla-purgeall File)
		      (layren)
		      (prompt (strcat "\nSave and close " &))
		      (vla-save File)
		      (vla-close File)
		      (vlax-release-object File)
		     )
		     (T
		      (prompt
			(strcat
			  "\nCannot open "
			  &
			  "\nDrawing file was created by an incompatible version. "
			)))))
		  (T
		   (prompt (strcat & " is read-only. Purge canceled. "))
		  )))
	       (T (prompt (strcat & " is open now. Purge canceled. ")))
	     )))
	  (T (prompt "\nNothing files found to purge. "))
	))
       (T (prompt "\nNothing selected. "))
     ))
    (T (prompt "\nThe routine is not available in SDI mode. "))
  )
  (if *ERR-LIST*
    (progn
      (princ "\n\n\n ** НЕ УДАЛОСЬ УСТАНОВИТЬ ЗНАЧЕНИЕ ПЕРЕМЕННЫХ **\n\n")
      (mapcar
	'(lambda ( item )
	   (princ "\nФайл - " )(princ (car item))
	   (princ " переменная ")(princ (cadr item))
	   (princ " значение ")(princ (caddr item))
	   )
	*ERR-LIST*
	)
      ))
  (setq *ERR-LIST* nil)
  (princ)
)
(prompt "\n===   Команда загружена. Наберите SCH  ===")
(princ)
VVA вне форума  
 
Автор темы   Непрочитано 30.04.2006, 00:11
#8
Archeo

архитектор
 
Регистрация: 02.04.2006
Беларусь
Сообщений: 348


Всем спасибо! Вот только лиспы на меня наводят тоску вселенскую. Ну не секу я в программировании и не знаю, что с этими "кодами" делать. Да и автозагрузку забивать тоже не хочется.
Archeo вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как оптом изменить системные переменные?

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

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