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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Нужен макрос или лисп для создания слоя вида ревизия-[текущая дата]

Нужен макрос или лисп для создания слоя вида ревизия-[текущая дата]

Ответ
Поиск в этой теме
Непрочитано 20.02.2016, 10:45 #1
Нужен макрос или лисп для создания слоя вида ревизия-[текущая дата]
zotello
 
Регистрация: 20.02.2016
Сообщений: 4

Добрый день, уважаемые форумчане.
мне нужен макрос или лисп для создания слоя вида ревизия-[текущая дата]
по работе, каждый день, приходится вносить изменения в проект.
И чтобы видеть и учитывать что и когда изменилось, приходится создавать каждый день новый слой "ревизия-дата".
хочется оптимизировать этот процесс. готовых макросов нигде не нашёл.

прошу вашей помощи!!!
Просмотров: 2273
 
Непрочитано 20.02.2016, 10:58
1 | #2
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,702
Отправить сообщение для Do$ с помощью Skype™


В лисп есть такая функция - COMMAND. Она позволяет записать последовательность из заранее известных опций и параметров. А в AutoCAD есть еще такая команда "_.-LAYER" (все черточки и точка важны). Она позволяет из командной строки работать со слоями. Ну а для получения даты есть системная переменная CDATE. Как ее перевести в нужный вид даты - примеров полно. Вот из этого всего можно собрать небольшую команду, которая будет создавать нужные слои.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Непрочитано 20.02.2016, 11:06
1 | #3
gomer

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


Код:
[Выделить все]
 (command "_.-layer" "_n" (menucmd "M=$(edtime,$(getvar,date),Рев. от DD.MO.YYYY)") "")
gomer вне форума  
 
Автор темы   Непрочитано 20.02.2016, 11:10
#4
zotello


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


Класс!!! спасибо ОГРОМНОЕ!!!
zotello вне форума  
 
Непрочитано 20.02.2016, 11:26
#5
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


gomer, А ведь человек то имел шанс войти в мир lisp, а Вы это начинание на ровном месте загубили
Boxa вне форума  
 
Автор темы   Непрочитано 20.02.2016, 11:27
#6
zotello


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


А как эту команду на кнопочку повесить???
и как сделать так, чтобы после создания слоя, он становился текущим?

Последний раз редактировалось zotello, 20.02.2016 в 12:41. Причина: добавил вопрос
zotello вне форума  
 
Непрочитано 20.02.2016, 14:31
#7
VVA

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


Цитата:
Сообщение от zotello Посмотреть сообщение
и как сделать так, чтобы после создания слоя, он становился текущим?
Заменить "_n" на "_m"
Цитата:
Сообщение от zotello Посмотреть сообщение
А как эту команду на кнопочку повесить???
примерно так
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 20.02.2016, 15:33
#8
zotello


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


если делаю так ^C^C(command "_.-layer" "_m" (menucmd "M=$(edtime,$(getvar,date),titan rev DD.MO.YYYY)") "") то создается слой rev DD.MO.YYYY)
что я делаю не так??
zotello вне форума  
 
Непрочитано 21.02.2016, 11:09
#9
VVA

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


DIESEL изначально предназначался для меню.
Рекомендую для дат использовать формат YYYY.MO.DD, так как в диспетчере при сортировке имен слоев числа сортируются как строки.
Цитата:
^C^C^P_-LAYER;_M;$M=$(eval,"titan_rev_"$(edtime,$(getvar,date),YYYY.MO.DD));;^P
В меню есть ограничения для символов - пробел трактуется как нажатие клавиши ENTER и т.д. Смотри Использование в макросах специальных символов управления
Если хочется с пробелом, то как вариант
Цитата:
^C^C(command "_.-layer" "_m" (menucmd (strcat "M="(chr 36)"(edtime,"(chr 36)"(getvar,date),titan"(chr 32)"rev"(chr 32)"DD.MO.YYYY)")) "")
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Нужен макрос или лисп для создания слоя вида ревизия-[текущая дата]

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

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