|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
06.03.2008, 05:29 | #1 | |
Импорт палитры блоков при помощи LISP
Программист
г.Иркутск
Регистрация: 06.03.2008
Сообщений: 52
|
||
Просмотров: 9351
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
По-моему, проще будет создавать палитры в своем каталоге, и просто внутри лиспа уже менять пути доступа к ToolPalettes.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Спасибо так и сделал, на сервере создал отдельную папку где будут содержаться различные наборы палитр (в разных папках).
В AutoCAD-е задал пути к палитре Options->Вкладка File Изменяем пути в Tool Palettes File Locations и в Authoring Palette File Locations Палитры хранятся на сервере следовательно пути забиваем на сервер где лежат палитры (на определенную палитру) Пока все работает |
||||
|
||||
Еще вопрос, а возможно ли динамическое обновление палитры не перезагружая AutoCAD.
Допустим есть палитра которая находится на сервере. Есть один человек который занимается формированием самой палитры на сервере (полный доступ на файлы палитры). Ну и есть просто проектировщики которые просто грузят готовую палитру с сервера, то есть AutoCAD сам грузит у проектировщиков все пути уже заданы (у проектировщиков доступ только на чтение). Возможно ли динамическое обновление палитры у проектировщиков не перезагружая AutoCAD если возможно то как (LISP, VBA или чтото другое) Подскажите. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
Я говорил про то, что в ToolPalettes File Location добавить путь к серверным палитрам.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Инженер-конструктор Регистрация: 25.02.2008
Москва
Сообщений: 142
|
Хотелось бы поднять эту тему, так как существует такая же проблема.
Вопрос остается тем же. Можно ли с помощью lisp перезагрузить палитры НЕ ПЕРЕЗАГРУЖАЯ Автокад? К примеру есть папка с корпоративными палитрами и все компьютеры в сети настроены на чтение палитр из нее. НО! Если внести в эти палитры изменения, то пользователи увидят обновленные палитры только когда закроют и откроют Автокад. А иногда очень важно чтобы палитры обновились в процессе работы. Например в палитру был добавлен сделанный под конкретную задачу блок который нужен рабочей группе, что называется "здесь и сейчас". К примеру очень удобно создавать палитры под текущий проектируемый объект, в которой помещаются блоки осей, блокировочные схемы, штампы, различные таблицы, уникальные для этого объекта и т.д. И такие палитры обычно приходится часто обновлять в процессе работы и крайне неудобно по несколько раз на дню закрывать и открывать Автокад, чтобы в палитре отобразились добавленные блоки. А многие вообще используют при работе "Режим сна" и не перезагружают компьютеры по несколько дней и обновленные палитры не увидят даже утром на следующий рабочий день, так как компьютер не перезагружался. В общем есть такая технологическая проблема... Подскажите, если кто-нибудь знает, как программно (lisp) заставить Автокад прочитать палитры заново? Напрямую такой команды я не нашел. Может есть какой-то способ выполнить это косвенно. К примеру, может быть при выполнении какой-либо операции Автокад перезагружает настроечные файлы и в том числе файлы палитр? Конечная цель - сделать кнопку в Автокаде "Обновить палитры". P.S. Сам нашел решение, благодаря аналогичной теме на caduser.ру. Несколько неполноценное, но все же... Спасибо kpblc-у за наводку с переменной "_TOOLPALETTEPATH". Принцип действия основан на смене в настройках пути расположения инструментальных палитр. После чего палитры считываются заново. Код получился такой: Код:
При смене пути к файлам палитр слетают стираются все настройки групп палитр. Слетают настройки параметров отображения блоков(инструментов) в палитре. Также не передается порядок расположения блоков(инструментов) в палитре. Порядок расположения не учитывается при любом способе обновления палитр, а вот удаление настроек групп и параметров отображения связаны исключительно с изменением пути расположения палитр. При простой замене файла и перезагрузке Autocad такого не происходит. Все это связано с тем, что все эти слетающие настройки хранятся в файле профиля Profile.aws, который уникален для каждого рабочего места. Как с этим бороться не знаю и судя по другим темам на форуме, не знает никто. Но если у кого есть идеи - большая просьба поделиться с сообществом . Макрос на кнопку: Код:
Последний раз редактировалось overband, 26.01.2013 в 23:15. |
|||
|
||||
Предлагаю просто добавить путь к папке
Library это папка с файлами из которых ты наполняешь палитру если без добавления пути, ТОЛЬКО для себя поэкспериментируй с копированием в папку c:\Program Files\AutoCAD 2010\Sample\ Палитра будет работать Код:
Код:
Последний раз редактировалось sdv79, 27.01.2013 в 10:29. |
||||
|
||||
Инженер-конструктор Регистрация: 25.02.2008
Москва
Сообщений: 142
|
Цитата:
Цитата:
По поводу кодов. Я хоть и неплохо разрибаюсь в lisp, но все-таки не программист. Если можно поясните пожайлуста, что должен делать первый и второй. И при их правильном использовании решается ли проблема с настройками групп или это просто альтернативный вариант моего решения? Я пробовал менять путь к палитрам с помощью vla-put-ToolPalettePath, но результат тот же - группы пропадают. Как сделать так, чтобы Автокад не менял файл Profile.aws при смене пути я так и не нашел. |
|||
|
||||
Файлы в \ToolPalette\Palettes\*.atc -это xml для изменения пути нужно научиться работать с данным типом файлов. Можете открыть в блокноте и ручками поправить самостоятельно
<BlockName>SA 1P OY 2 IP(44-55)(Lght)</BlockName><SourceFile>D:\Sologubov_D\mySchema\Library\Выключатели.dwg</SourceFile> Первый фрагмент - имя блока в файле Выключатели.dwg. Вторая часть путь к этому файлу (ее и правишь). Достаточно ручками добавить путь в Настройки-Файлы-Путь доступа к вспомогательным файлам или воспользоваться первым кодом, чтобы не редактировать файлы *.atc Код:
Последний раз редактировалось sdv79, 04.05.2018 в 16:18. |
||||
|
||||
Инженер-конструктор Регистрация: 25.02.2008
Москва
Сообщений: 142
|
Цитата:
Проясню еще раз задачу. Есть файлы палитр (Палитра1.atc, Палитра2.atc и т.д.), которые лежат на сервере и защищены от перезаписи. Периодически они заменяются и надо чтобы пользователи на рабочих местах могли эти обновленные палитры перезагрузить не закрывая Автокад. Сам Автокад не отслеживает динамически изменение файлов atc. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
overband, В порядке бреда, все требует проверки
1. Если принцип действия основан на смене в настройках пути расположения инструментальных палитр, то что получится, если сослаться на эту же самую папку по другому. Поясню: Есть расшаренная папка на сервере ''\\Server\Toolpalette", создаем еще одну шару "\\Server\Toolpalette1" на эту же папку или обращается к ней же как "\\Server\D$\Toolpalette" (правда админы так для всех думаю не сделают) 2. Создать локальную копию серверной папки, сослаться на нее, а потом обратно.
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Инженер-конструктор Регистрация: 25.02.2008
Москва
Сообщений: 142
|
VVA
Пробовал все эти варианты. К сожалению не прокатывает. Получается, что не важно КУДА мы ссылаемся и даже если конечное содержимое всех папок будет идентичное - без разницы. Сам факт смены пути к инструментальным палитрам тут же "убивает" все настройки групп и настройки внешнего вида палитр. Проблема в том, что как только мы сменили путь, тут же меняется Profile.aws на какие-то настройки по умолчанию. Видимо логика такая - если теперь путь к палитрам другой, то и настраивать внешний вид палитр и подборки групп надо заново. В принципе у меня есть мысль, что проблему можно решить следующим образом. 1. Перед сменой пути можно сохранить часть файла (текст) Profile.aws отвечающую за настройки палитр (группы, внешний вид...). 2. Сменить путь туда и обратно. Соответственно палитра обновится 3. Подправить часть файла Profile.aws обратно. Но возникает проблема, если мы серьезно обновим палитры (к примеру добавим новые или переименуем часть из них) то получим ошибки. К тому же не знаю, возможен ли такой ход конем технически. |
|||
|
||||
Регистрация: 19.07.2005
Россия
Сообщений: 3,225
|
overband,
Цитата:
Сам не пробовал (на Architecture нет таких проблем), но пишут, что на сервере не надо папку щитить от редактирования, а только сами палитры- .atc файлы! Последний раз редактировалось VitalyAF, 28.01.2019 в 12:45. |
|||
|
||||
Инженер-конструктор Регистрация: 25.02.2008
Москва
Сообщений: 142
|
Цитата:
Проблема тут в другой плоскости. Файл Profile.aws индивидуален для каждого рабочего места и лежит например тут: C:\Users\USERNAME\AppData\Roaming\Autodesk\AutoCAD 2016\R20.1\rus\Support\Profiles\Профиль без имени И хранится там не только информация о настройке палитр, но и допустим название текущего рабочего пространства и т.д. Этот файл нельзя положить на сервер и расшарить. А при удалении путей к палитрам удаляется и информация об их настройках отображения естественно. Эти настройки хранятся в файле Profile.aws. Уже много лет прошло и видимо решения не будет. Все уже привыкли, что после обновления слетает настройка вида палитр на стандартный вариант))) |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сейсмозащита и сейсмоизоляция существующих, построенных зд. | IANationalInformAgentstvo | Прочее. Архитектура и строительство | 216 | 20.01.2015 16:51 |
Мониторы LCD CRT | Разное | 94 | 17.06.2008 10:51 | |
БРЕД СИВОЙ КОБЫЛЫ | Kryaker | Разное | 1876 | 29.12.2006 23:41 |
Простановка позиций... При помощи чего?... | Chief Justice | AutoCAD | 38 | 27.12.2005 01:55 |
Ошибка при выполнении LISP | Sergk | LISP | 3 | 26.08.2005 11:42 |