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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Программная настройка AutoCAD, как это делается?

Программная настройка AutoCAD, как это делается?

Ответ
Поиск в этой теме
Непрочитано 23.01.2009, 16:34 2 |
Программная настройка AutoCAD, как это делается?
Krieger
 
инженер (КМ)
 
Красноярск
Регистрация: 30.10.2004
Сообщений: 3,825

Программная настройка AutoCAD, как это делается?
Этот пост переправлен из-за неактуальности.
В общем в итоге получилось следующее.
Функцию можно использовать для настройки как чужого компьютера так и своего. Для чужого компа профиль не импортируется, т.е. все прочие настройки кроме прописки адресов остаются на месте. Для своего компа логично импортировать таки профиль, что бы сохранить любые адаптированные под себя мелочи.
Если в файле настроек PathFile есть пункт Profile, то будет производится импорт профиля, тогда функция адреса прописывать не будет, т.к. они хранятся в профиле. Если этого пункта нет, то будут прописываться адреса.
Добавил также возможность копирования своего acad.pgp.

Код:
[Выделить все]
 ;|Kr_AutoSetup - функция для настройки AutoCAD.
FirstPath - начальная часть адреса к файлам настройки када и PathFile
PathFile - файл настроек с пунктами для настройки:
    Profile
    SupportPath
    PrinterConfigPath
    PrinterDescPath
    PrinterStyleSheetPath
    TemplateDwgPath
    SheetSetTemplatePath
    QNewTemplateFile
    PageSetupOverridesTemplateFile
    ToolPalettePath
    AutoSavePath
    ToolPaletteProfile
    MenuFile
    ACADPGP

Функция импортирует профиль если он указан, если нет - прописывает пути соответсвующих настроек. Копирует файлы Profile.aws и acad.pgp, подгружает меню.
Если какого либо пункта нет, он игнорируется. Если указанного пути не существует, он создается.

Пример:
(Kr_AutoSetup "D:" "\\Library\\Parameters\\Menu\\Kr_Paths.txt")
|;

;Kr_FindTextFileNextString - ищет строку по образцу и выдает следующую
(defun Kr_FindTextFileNextString (File String / key line NextString f promt FullProfileAdress FullPGPAdress)
  (setq f (open File "r") key T)
  (while (and key (setq line (read-line f)))
    (if (eq (strcase String) (strcase line))     (setq key nil NextString (read-line f) promt (strcat "\n" String " - found"))
                      (setq promt (strcat "\n" String " - not found"))
    );if
   );while
  (close f)
  (princ promt)
  (if (or (not NextString) (eq NextString "") (wcmatch NextString "* *")) (setq NextString nil))
  NextString
  );defun


(defun Kr_AutoSetup (FirstPath PathFile / files key f subpaths obj ActiveProfile temp_profile)
  (vl-load-com)
  (if (findfile (strcat FirstPath PathFile))
    (progn
  (setq files (vla-get-files (vla-get-preferences (vlax-get-acad-object))))
;проверка наличия профиля
  (if (setq ProfileAdress (Kr_FindTextFileNextString (strcat FirstPath PathFile) "Profile"));есть ли файл профиля в файле настроек
    (if (setq FullProfileAdress (findfile (strcat FirstPath ProfileAdress)))
     (if (not (vl-string-search ".ARG" (strcase FullProfileAdress))) (setq FullProfileAdress nil) (princ "\nфайл с расширением *.arg найден"));if
      (princ "\nФайл " FullProfileAdress " не найден")
    );if
    (setq FullProfileAdress nil)
   );if
(if (not FullProfileAdress);если профиля нет прописываем настройки вручную
  (progn
;поддержка supportpath
  (if (Kr_FindTextFileNextString (strcat FirstPath PathFile) "SupportPath")
    (progn
      (setq f (open (strcat FirstPath PathFile) "r") paths "" subpaths nil key T)
      (while (and key (setq line (read-line f)))
        (if (eq (strcase "SupportPath") (strcase line))
          (progn
                (while (not (eq "" (setq subpaths (read-line f))))
                    (setq paths (strcat paths ";" FirstPath subpaths))
                  (if (not (vl-file-directory-p (strcat FirstPath subpaths))) (vl-mkdir (strcat FirstPath subpaths)))
                );while
                   (setq key nil)
            );progn
          );if
        );while
      (close f)
      (if (not (eq paths "")) (vla-put-supportpath files (strcat (vla-get-supportpath files) paths)) (princ "address SupportPath is not found"))
      );progn
    (princ "\nАдрес SupportPath не найден")
    );if
;стили печати PrinterStyleSheetPath
  (if (setq paths (strcat FirstPath (Kr_FindTextFileNextString (strcat FirstPath PathFile) "PrinterStyleSheetPath")))
    (progn (if (not (vl-file-directory-p paths)) (vl-mkdir paths)) (vla-put-PrinterStyleSheetPath files paths))
    (princ "\nАдрес PrinterStyleSheetPath не найден"));if
;папка шаблонов TemplateDwgPath
  (if (setq paths (strcat FirstPath (Kr_FindTextFileNextString (strcat FirstPath PathFile) "TemplateDwgPath")))
    (progn (if (not (vl-file-directory-p paths)) (vl-mkdir paths)) (vla-put-TemplateDwgPath files paths))
    (princ "\nАдрес TemplateDwgPath не найден"));if
;шаблон для новых файлов QNewTemplateFile
  (if (setq paths (strcat FirstPath (Kr_FindTextFileNextString (strcat FirstPath PathFile) "QNewTemplateFile")))
    (vla-put-QNewTemplateFile files paths) (princ "\nАдрес QNewTemplateFile не найден"));if
;шаблон для новых листов PageSetupOverridesTemplateFile
  (if (setq paths (strcat FirstPath (Kr_FindTextFileNextString (strcat FirstPath PathFile) "PageSetupOverridesTemplateFile")))
    (vla-put-PageSetupOverridesTemplateFile files paths) (princ "\naddress PageSetupOverridesTemplateFile не найден"));if
;папка с палитрами ToolPalettePath
  (if (setq paths (strcat FirstPath (Kr_FindTextFileNextString (strcat FirstPath PathFile) "ToolPalettePath")))
    (progn (if (not (vl-file-directory-p paths)) (vl-mkdir paths)) (vla-put-ToolPalettePath files paths))
    (princ "\nАдрес ToolPalettePath не найден"));if
;папка для файлов автосохранения AutoSavePath
  (if (setq paths (strcat FirstPath (Kr_FindTextFileNextString (strcat FirstPath PathFile) "AutoSavePath")))
    (progn (if (not (vl-file-directory-p paths)) (vl-mkdir paths)) (vla-put-AutoSavePath files paths))
    (princ "\nАдрес AutoSavePath не найден"));if
;папка для файлов кофигураций принтеров PrinterConfigPath
  (if (setq paths (strcat FirstPath (Kr_FindTextFileNextString (strcat FirstPath PathFile) "PrinterConfigPath")))
    (progn (if (not (vl-file-directory-p paths)) (vl-mkdir paths)) (vla-put-PrinterConfigPath files paths))
    (princ "\nАдрес PrinterConfigPath не найден"));if
;папка для PMP файлов (настройка границ печати) PrinterDescPath
  (if (setq paths (strcat FirstPath (Kr_FindTextFileNextString (strcat FirstPath PathFile) "PrinterDescPath")))
    (progn (if (not (vl-file-directory-p paths)) (vl-mkdir paths)) (vla-put-PrinterDescPath files paths))
    (princ "\nАдрес PrinterDescPath не найден"));if
  );progn
);if
  
;профиль палитры ToolPaletteProfile
  (if (setq paths (strcat FirstPath (Kr_FindTextFileNextString (strcat FirstPath PathFile) "ToolPaletteProfile")))
    ;;копируем профиль палитры
    (progn
      ;;создаем временный профиль
    (vla-CopyProfile (setq obj (vla-get-Profiles (vla-get-preferences (vlax-get-acad-object))))
               (setq ActiveProfile (vla-get-ActiveProfile (vla-get-Profiles (vla-get-preferences (vlax-get-acad-object)))))
               (setq temp_profile (strcat "Prof_tmp_" (substr (rtos (getvar "CDATE") 2 8) 10 8))))
    (vla-put-ActiveProfile obj temp_profile)
      ;;импортируем профиль
      (if FullProfileAdress
    (progn
            (vla-ImportProfile obj (vl-filename-base FullProfileAdress)  FullProfileAdress :vlax-true)
        (setq ActiveProfile (vl-filename-base FullProfileAdress))
    );progn
      );if
      ;;удаляем старый профиль палитры
      (vl-file-delete
            (strcat (vl-registry-read (strcat "HKEY_CURRENT_USER\\" (vlax-product-key)) "RoamableRootFolder")
            "support\\Profiles\\" (vl-string-trim "<>" ActiveProfile) "\\Profile.aws")
        );vl-file-delete
      ;;копируем профиль палитры
        (if
      (vl-file-copy
            paths
            (strcat (vl-registry-read (strcat "HKEY_CURRENT_USER\\" (vlax-product-key)) "RoamableRootFolder")
          "support\\Profiles\\" (vl-string-trim "<>" ActiveProfile) "\\Profile.aws")
        );vl-file-copy
      (princ "\nProfile.aws - найден")
      (princ "\nProfile.aws - не найден")
      )
      ;;папка шаблонов для подшивок SheetSetTemplatePath
      (if (setq paths (strcat FirstPath (Kr_FindTextFileNextString (strcat FirstPath PathFile) "SheetSetTemplatePath")))
      (progn (if (not (vl-file-directory-p paths)) (vl-mkdir paths))
      (vl-registry-write (strcat "HKEY_CURRENT_USER\\" (vlax-product-key) "\\Profiles\\" ActiveProfile "\\General")
                          "SheetSetTemplatePath" paths));;progn
      (princ "\nАдрес SheetSetTemplatePath не найден"));;if
      ;;возвращаем активный профиль и удаляем временный
      
          (vla-put-ActiveProfile obj ActiveProfile)
          (vla-DeleteProfile obj temp_profile)
        (vla-put-TextEditor files "");Текстовый редактор сбрасываем на встроенный
    );progn
    (princ "\nАдрес ToolPaletteProfile не найден"));if
;загрузка меню MenuFile
  (if (setq paths (strcat FirstPath (Kr_FindTextFileNextString (strcat FirstPath PathFile) "MenuFile")))
    (if (vl-file-size paths)
      (if (menugroup (vl-filename-base paths))
        (progn
          (vla-unload (vla-Item (vla-get-MenuGroups (vlax-get-acad-object)) (vl-filename-base paths)))
          (vla-load (vla-get-MenuGroups (vlax-get-acad-object)) paths :vlax-false)
        );progn
          (vla-load (vla-get-MenuGroups (vlax-get-acad-object)) paths :vlax-false)
        );if
      (princ (strcat "\n" paths " - не найден"))
      );
       (princ "\nАдрес MenuFile не найден"));if
;копирование acad.pgp

  (if (setq paths (strcat FirstPath (Kr_FindTextFileNextString (strcat FirstPath PathFile) "ACADPGP")))
    (if (setq FullPGPAdress (findfile paths))
     (if (vl-string-search "ACAD.PGP" (strcase FullPGPAdress))

       (progn
          ;;удаляем старый acad.pgp
          (vl-file-delete
                (strcat (vl-registry-read (strcat "HKEY_CURRENT_USER\\" (vlax-product-key)) "RoamableRootFolder")
                "support\\acad.pgp")
            );vl-file-delete
          ;;копируем acad.pgp
            (if
          (vl-file-copy
                FullPGPAdress
                (strcat (vl-registry-read (strcat "HKEY_CURRENT_USER\\" (vlax-product-key)) "RoamableRootFolder")
                "support\\acad.pgp")
              );vl-file-copy
          (princ "acad.pgp найден")
              (princ "acad.pgp не найден")
        );if
     );progn
       
       (princ (strcat "\nНеправильный формат файла" FullPGPAdress))
      );if
      (princ "\nФайл " FullPGPAdress " не найден")
    )
    (princ "\nАдрес ACADPGP не найден")
    );if

  (princ "\nНастройка завершена")
  (alert "Настройка завершена.\nДля сохранения настроек рекомендуется перезагрузить AutoCAD")
  );progn
    (princ (strcat "\nФайл настроек " FirstPath PathFile " не найден"));
    );if
  (princ)
);defun
Пример файла настроек для чужих компов:

Код:
[Выделить все]
SupportPath
\Library\Parameters\Blocks
\Library\Parameters\Font
\Library\Parameters\Icons
\Library\Parameters\Library_Type
\Library\Parameters\LibraryBlock
\Library\Parameters\Lisp
\Library\Parameters\Lisp\PlineModify
\Library\Parameters\Table

PrinterConfigPath
\Library\Parameters\PlotStyles

PrinterDescPath
\Library\Parameters\PlotStyles

PrinterStyleSheetPath
\Library\Parameters\PlotStyles

TemplateDwgPath
\Library\Parameters\Template\

SheetSetTemplatePath
\Library\Parameters\Template\

QNewTemplateFile
\Library\Parameters\Template\AutoCAD_Beginning_Black.dwt

PageSetupOverridesTemplateFile
\Library\Parameters\Template\AutoCAD_Beginning_Black.dwt

ToolPalettePath
\Library\Parameters\Palette\

AutoSavePath
\AutoSaveAutoCAD

ToolPaletteProfile
\Library\Parameters\Menu\Profile.aws

MenuFile
\Library\Parameters\Menu\Krieger.cui
Пример файла настроек для своего компа:

Код:
[Выделить все]
Profile
\Library\Parameters\Menu\Krieger.arg

AutoSavePath
\AutoSaveAutoCAD

ToolPaletteProfile
\Library\Parameters\Menu\Profile.aws

MenuFile
\Library\Parameters\Menu\Krieger.cui

ACADPGP
__________________
Делай хорошо, плохо само получится.

Последний раз редактировалось Krieger, 02.02.2012 в 14:35. Причина: Что в итоге получилось
Просмотров: 75256
 
Непрочитано 04.06.2012, 09:43
#141
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Недавно озадачился проблемой актуализации настроек автокада на домашних компах пользователей.
На сервере в папке настроек автокада постоянно, что-то меняется. В палитрах блоки добавились. Лиспы, системные переменные, шаблоны и ....
Почти все со временем улучшается. А так как программная настройка автокада завязана на локальную сеть института, то домашние компы сидят с давно устаревшими настройками.
Пока так вышел из положения:
залил папку с настройками на Облачный диск Dropbox.com. (Можно воспользоваться любым другим, не принципиально).
Установил на работе и дома клиентскую программу, которая автоматом синхронизирует папки. У меня заработало. Вот только осталось объяснить пользователям, как это им сделать(((
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 05.06.2012, 10:51
#142
VVA

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


wetr, Мы отказались от использования абсолютных путей при размещении информации на серверах. При входе пользователя в домен у нас автоматом исполняется некий bat файл, который с использованием net use монтирует сетевой диск ( net use O: \\Storage\Projects /persistent:yes ). Это на работе. Дома такой же эффект можно получить используя subst (subst O: "D:\WORK"). Осталось только переписать папку с сервера на локальный диск в D:\WORK
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 06.06.2012, 09:08
#143
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


у нас тоже сетевой диск монтируется. Но без дополнительного батников. Просто в папке Сервис-Смонтировать сетевой диск-Восстанавливать при входе в систему. Пока работает. Бывают конечно сбои, но не смертельно. Раз в год можно заново прописать сетевой диск.
Дома также папку C:\Documents and Settings\user\Dropbox прописал как сетевой диск и вуаля! Одну и ту же букву назначил (у нас T), потом лисп:
Код:
[Выделить все]
 (load "t:\\autocad\\2010\\settings\\lisp\\kr_autosetup.lsp")
(Kr_AutoSetup "T:" "\\autocad\\2010\\settings\\cfg\\paths.txt")
загрузил, и все

Цитата:
Осталось только переписать папку с сервера на локальный диск в D:\WORK
вобщем-то этого я и хотел избежать, всеми этими облачными технологиями. Лень - двигатель прогресса)))
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 06.06.2012, 13:48
#144
VVA

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


Цитата:
Сообщение от wetr Посмотреть сообщение
у нас тоже сетевой диск монтируется...
Цитата:
Сообщение от wetr Посмотреть сообщение
Вот только осталось объяснить пользователям, как это им сделать(((
Тогда чего уж проще?
1. Из облака или с флешки переписать содержимое в известную папку
2. Запустить bat (или добавить в автозагрузку)(subst Т: "C:\Documents and Settings\user\Dropbox")
Кроме того сам процесс переписывания с флэшки (а может и из облака) можно автоматизировать. Есть портативная редакция Allway Sync 'n' Go для инсталляции на USB устройство
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 13.07.2012, 10:35
#145
crosandr

Инженер-строитель
 
Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,988


Krieger, хотелось бы добавить возможность исключать некоторые разделы из файла настроек. Можно конечно сделать копию файла и ненужное удалить оттуда, но тогда программа начинает ругаться в строках типа
Код:
[Выделить все]
 (strcat	FirstPath
	(Kr_FindTextFileNextString (strcat FirstPath PathFile) "TemplateDwgPath")
)
, поскольку функция Kr_FindTextFileNextString возвращает nil при невозможности обнаружить соответствующую запись в файле настроек
crosandr вне форума  
 
Автор темы   Непрочитано 13.07.2012, 13:18
#146
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,825


Можно исключать все что угодно. Ну вернет nil, ну да и фиг с ней, дальше работать будет. Программа не ругается, а просто говорит чего нашла и что прописала, а что нет. Она же не обрывается на этом... Не обращай внимания.
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 05.12.2012, 08:45
#147
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Krieger, привет.
А как добавить в в автоматическую загрузку несколько cui-файлов.
Я постоянно подгружаю, вручную PLTools и VetCAD
Можно их просто следом прописать после
Код:
[Выделить все]
 
MenuFile
\Library\Parameters\Menu\Krieger.cui
?
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Автор темы   Непрочитано 05.12.2012, 12:09
#148
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,825


Если просто пропишешь следом, ничего не получится. Загрузится только первый и то, если он будет находиться по указанному адресу. Я так понимаю они у тебя в другом месте находятся. Нужно код переписывать (дописывать).
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 06.12.2012, 02:36
#149
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Ну тогда запиши в Wish-лист)))
Чтобы было все красиво, надо сделать графический интерфейс, чтобы можно было выбирать, какое меню загружать.
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 23.04.2014, 13:08
#150
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Что-то я не вкурил до конца данный лисп.
Мне нужно сделать некий батник или нечто подобное, чтобы автоматом прописывало (создавало новый): "Путь доступа к вспомогательным файлам" и путь к "Корпоративный файл адаптации". Как?
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Автор темы   Непрочитано 23.04.2014, 13:34
#151
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,825


Нужно создать файл Kr_Paths.txt, в котором все пути прописаны, сохранить его, например по адресу D:\Library\Parameters\Menu\Kr_Paths.txt"
Выполнить функцию в каде Kr_AutoSetup с адресом файла Kr_Paths.txt, например: (Kr_AutoSetup "D:" "\\Library\\Parameters\\Menu\\Kr_Paths.txt")
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 23.04.2014, 14:10
#152
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


А прописать пути без запуска AutoCAD можно? Или только через lisp?
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Автор темы   Непрочитано 23.04.2014, 14:17
#153
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,825


Наверное можно, как - не знаю. Мой способ через лисп.
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 23.04.2014, 14:18
#154
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Krieger Посмотреть сообщение
Наверное можно, как - не знаю.
через консоль
gomer вне форума  
 
Непрочитано 23.04.2014, 17:23
#155
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Цитата:
Сообщение от gomer Посмотреть сообщение
через консоль
может возможно vbs накидать... А где хранятся эти пути? В реестре вроде нет...
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 23.04.2014, 18:35
#156
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Shoorup Посмотреть сообщение
может возможно vbs накидать...
Думаю можно, видел семинар, где кажется А. Ривилис рассказывал о крутости консоли, когда она только появилась
gomer вне форума  
 
Непрочитано 14.10.2014, 15:00
#157
Danil77


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


Цитата:
Сообщение от Krieger Посмотреть сообщение
Нужно создать файл Kr_Paths.txt, в котором все пути прописаны, сохранить его, например по адресу D:\Library\Parameters\Menu\Kr_Paths.txt"
Выполнить функцию в каде Kr_AutoSetup с адресом файла Kr_Paths.txt, например: (Kr_AutoSetup "D:" "\\Library\\Parameters\\Menu\\Kr_Paths.txt")
Ребята, не сочтите за наглость.. Но..
Дайте пожалуйста txt-файлик и инструкции по его запуску.
В котором будет достаточно прописать сетевой путь.
Задача - дать пользователям этот файл и инструкцию по запуску, чтобы прописать на компьютерах путь к общим Инструментальным палитрам.
Палитру будет использовать только для блоков. Создание палитры и блоков осилено. Осталось прописать пути)
Danil77 вне форума  
 
Непрочитано 12.07.2015, 16:58
#158
АлексЮстасу

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


Как вариант подхода и решения.
Мы сделали приложение к AutoCAD Map 3d (параллельно аналогичное и под базовый AutoCAD) со встроенной автоматической загрузкой значений нужных переменных Автокада и автоматической загрузкой ресурсов.
В нашем приложении используется текстовый файл описания переменных, путей и названий файлов ресурсов и описаний параметров черчения всех объектов нужного стандарта.
Приложение предназначено для обеспечения черчения в нужном стандарте. Поэтому пользователю нужно обеспечить постоянную поддержку настроек Автокада и постоянный доступ к ресурсам.
Загружаются не только нужные слои, типы линий, текстовые стили, описания блоков, размерных стилей, стилей мультивыносок, но и стили мультилиний, и описания штриховок.
Автоматические загрузки производятся при загрузке файла описания стандарта черчения, при обновлении загрузки файла описания и при выборе из списка объектов любого объекта.

https://youtu.be/Iz8y4fTN9So - загрузка нужных значений переменных AutoCAD, ресурсов черчения из указанный источников при загрузке файла описания объектов.
https://youtu.be/aWd1NDupTcQ - автоматическая загрузка нужных значений переменных AutoCAD, ресурсов черчения после _PURGE, в новый открытый dwg.

Т.е. полный _PURGE не лишает пользователя возможности чертить с заданными параметрами - они автоматически восстанавливаются.
Загружаются только те слои, блоки и пр. из всех, описанных в указанных файлах ресурсов, которые нужны для черчения в нужном стандарте.
При загрузке или перезагрузке файла описания объектов загружаются все нужные для черчения ресурсы для всех объектов выбранного стандарта черчения.
При выборе объекта из списка загружаются только нужные для его черчения ресурсы.
__________________
количество моих сообщений не говорит о знании Автокада

Последний раз редактировалось АлексЮстасу, 12.07.2015 в 18:49.
АлексЮстасу вне форума  
 
Автор темы   Непрочитано 12.07.2015, 20:38
#159
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,825


Мой код настраивает несколько другую вещь. Т.е. не настройки чертежа, а настройки самого AutoCAD, которые, например, нужны для последующего выполнения программ (такой как у тебя) по поддержанию стандарта.
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 12.07.2015, 22:44
#160
АлексЮстасу

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


Цитата:
Сообщение от Krieger Посмотреть сообщение
Мой код настраивает несколько другую вещь. Т.е. не настройки чертежа, а настройки самого AutoCAD, которые, например, нужны для последующего выполнения программ (такой как у тебя) по поддержанию стандарта.
Я и не для отрицания или критики. А как продолжение темы. Как вариант для других условий.
(Год назад создал тему с идеей программной загрузки настроек, а меня сходу послали именно сюда).
Задание значений переменных - тоже настройка AutoCAD.

Доб.: именно Вы и послали сюда
__________________
количество моих сообщений не говорит о знании Автокада

Последний раз редактировалось АлексЮстасу, 13.07.2015 в 04:38.
АлексЮстасу вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Программная настройка AutoCAD, как это делается?

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рифмоплетство. Kryaker Разное 554 14.11.2023 11:59
запуск программы из AutoCADа kminas Программирование 19 15.06.2012 13:42
Предложение: Готовые функции Apelsinov Библиотека функций 170 27.06.2010 23:51
Новый драйвер для Phantom AutoCAD OLE/ADI Printer. Как? CyberMan AutoCAD 4 26.04.2009 10:19
Электромагнитная пушка T-Yoke Машиностроение 112 06.08.2008 18:48