|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Помогите сохранить стиль!
-
Ухта
Регистрация: 31.07.2005
Сообщений: 381
|
||
Просмотров: 7089
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Дело в том, что использование (command) или (vl-cmdf) требует дополнительных проверок для универсальности работы. Работа через (entmake) по-моему, немного более устойчива. А через vla-объекты еще и быстрее
![]() По коду: не устанавливается и не проверяется значение dimblk, вimblk1 и dimblk2. А если на чертеже установлено значение "_ArchTick"? Тогда и новый стиль будет получать это значение в качестве стрелок. Если используются команды, крайне желательно перед командами ставить "_.", а перед опциями - "_". Тогда гарантирована работа и в локализованных версиях. Для отключения диалогового окна надо выводить впереди символ "-" (минус), т.е. вместо (command "style" "gostb" "gostb_pg.shx"...) получится нечто типа (command "_.-style" "gostb" "gostb_pg.shx" ...). В коде не проводится проверка на "нахождаемость" файла шрифта. Если его нет, команда вылетит. Для установки системных переменных, чтобы не делать тысячу раз (setvar), можно использовать списки (да, наверно, и более правильно): Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
И вот еще - перед установкой стилей желательно установить еще и lunits, aunits - я могу в качестве углов еще и радианы использовать. Т.е. получится нечто типа:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
- Регистрация: 31.07.2005
Ухта
Сообщений: 381
![]() |
Кстате пытался проверить. В редакторе команда set-sysvars выделяет set как отдельную функцию жирным шрифтом - так это как одна команда или нет и как её вызывать!
Лисп загружается успешно. Но надо же поставить шрифт, кроме всяких переменных и установить отделным новым стилем - это как? Я так думаю все это должно делатся под одной командой. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Ну тут дело в том, что лисп позволяет давать имена вида sysvar-name, т.е. с "-" посередине. А вызов у меня там в autoload показан, кстати: (sysvar-set). Насчет поставить шрифт, установить стиль и прочая - ну либо через (command), либо как по ссылке - через (entmake).
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
- Регистрация: 31.07.2005
Ухта
Сообщений: 381
![]() |
Странно, но в вашем первом коде setvar отказывается работать. Хотелось, чтобы получилось и на вашем коде, но что-то не выходит. Кстати на моем коде все успешно вышло. Надо было всего добавить (COMMAND "_DIMSTYLE""SAVE" "ЕСКД") после этих установок. Еше добавил применяемые линии и слои. Все выглядит так:
Код:
(princ) для авто запуска. И еще надо иметь файл acadiso.lin с кодом этих линий в соответствие с ГОСТ. Так же код с содержимым можно поместить в файл который находится C:\Documents and Settings\Name\Application Data\Autodesk\AutoCAD 2005\R16.1\enu\Support\acadiso.lin, так же в содержимое данного файла. Вот сдесь я его и прекрепляю. Но и шрифт gostb_pg.shx, где можно найти на данном сайте. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Упс, сорри. Ошибочки в коде были:
Код:
Немного странно по Вашему коду: зачем делается (command "_.text")? Да еще и с параметрами, которые на момент выполнения не заданы? Почему команды даются с "_", а опции - без? Оставлю пока за бортом необходимость правки стандартных файлов (*.lin-файлы можно и самому сделать, прописав пути к ним в путях поддержки - это даст гарантию, что, скопировав папку на соседнюю машину (или домой), ничего не будет забыто), но тип линии "Continuous" подгружать не требуется. Номера цветов можно задавать и не строками, а числами. Веса линий - тоже. Этот код я бы не помещал в acad*doc.lsp - лучше сделать дополнительный lsp, который и засунуть в автозагрузку. P.S. Смотрим подпись!
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
- Регистрация: 31.07.2005
Ухта
Сообщений: 381
![]() |
Вот теперь получается. Только вот: а где команда DIMTXSTY ? А то размерные шрифты получаются txt.shx, а надо бы под gostb_pg.shx. Или это можно сделать через COMMAND в этом же ЛИСПе. Кстати ваш файл сам не подгружается, хоть и прописан путь через средства\свойства\файлы\Путь_поиска_файла_поддержки. Приходится его каждый раз подгружать через средства\AutoLISP\Открыть. Зачем? Как добавить автозагрузку?
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Так я и не говорю о завершенности кода. Дописывать все равно придется. Откуда я могу знать, какие еще тонкости понадобятся? Список системных переменных тоже далеко не полон...
Как добавить в автозагрузку: _.appload -> Щелкнуть на портфель -> выбрать файл -> нажимать ОК до закрытия всех окон. Файл будет автоматически загружаться в каждой сессии када независимо от используемого профиля
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Через mnu не получится 100%. Только через mnl (но я с этим не работал, так что подробнее подсказать не смогу).
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
- Регистрация: 31.07.2005
Ухта
Сообщений: 381
![]() |
С автозагрузкой все получилось спасибо – вариант хороший, хотя у меня вариант сразу подгружает без всякой прописки на _.appload и прост в написании. Не знаю кому как нравится, но ваш вариант можно наращивать и может что-то стоящее получится!
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
А чего здесь "не так"-то? Код рабочий, а какие переменные и как устанвивать, уж явно не мне определять имхо.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
- Регистрация: 31.07.2005
Ухта
Сообщений: 381
![]() |
А то, загружается он успешно, а вот значения вот не хочет менять. проще поставить много раз SETVAR. К стати мучался я мучался с DIMTXSTY (размерные сделать по gostb в вашем коду так и не получилось) - Помогите пожалуйста, а то я еще новичок, но мне очень нужно!
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
А перед назначением dimtxsty текстовый стиль уже существует? Я-то в той ссылке сначала создавал текстовый стиль, а потом его уже использовал при работе с размерными стилями.
Цитата:
Цитата:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |