|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Дайте макрос на кнопку LINE
проектировшик
СССР
Регистрация: 01.01.2007
Сообщений: 5,149
|
||
Просмотров: 10500
|
|
||||
Программист широкого профиля. Регистрация: 08.09.2005
Челябинск
Сообщений: 722
|
Так и будешь мучать макрос каждый раз как только, понадобится рисовать в другом слое.
Хотя идея хорошая. Создать доплнительную кнопку которая всегда будет рисовать только вспомогательные линии на слое, запрещенном к печати. правда лучше создать сразу вторую панель "Рисование". Столько хороших идей иногда быват, жаль что изза панелей не видно будет экрана |
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
Этот макрос (^C^C_line) кинь на Палитру инструментов (tool palettes), а в свойствах кнопки выставь слой. Теперь линия при нажатии на кнопку будет чертится именно в этом слое, а после завершения команды пудет устанавливаться последний используемый.
|
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,149
|
Цитата:
Она мешается и автокад подгружает лишний раз Хочется просто на уту кнопку см. рис. [ATTACH]1175828877.jpg[/ATTACH]
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Цитата:
Код:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
Цитата:
[ATTACH]1175833414.jpg[/ATTACH] |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 20.07.2005
СПб
Сообщений: 89
|
Отрезок на слое Ось:
^C^C^P(defun C:tmp_Den ()(setq a(getvar "clayer"))(vl-cmdf "_.undo" "_g")(vl-cmdf "_.clayer" "Ось")(vl-cmdf "_.line")(while(=(getvar 'cmdactive)1)(vl-cmdf pause))(vl-cmdf "_.clayer" a "_.undo" "_e")(setq a nil));tmp_Den |
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,149
|
Спасибо, эти макросы реально лучше палет тулс, всего один щелчок
щас менюшку со своими слоями создам и панель слои нафиг не нужна ![]() ![]() ![]() ![]() А как выглядит макрос, допустим выделил объект на кнопку нажал и сразу все перенеслось в заданный слой данной кнопкой, а при этом текущий слой не изменился??? Жду ответов Потом объясню для чего это нужно
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
конструктор Регистрация: 27.10.2005
Сообщений: 530
|
Цитата:
Теперь у меня заработало-сравните начало Только в командной строке-пишет Command: ()(setq a(getvar "clayer"))(vl-cmdf "_.undo" "_g")(vl-cmdf "_.clayer" "Ось")(vl-cmdf "_.line")(while(=(getvar 'cmdactive)1)(vl-cmdf pause))(vl-cmdf "_.clayer" a "_.undo" "_e")(setq a nil)) tmp_Den Invalid point. Specify first point: Ошибка: extra right paren on input но работает что мне еще подправить? |
|||
![]() |
|
||||
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
|
Легким движением брюки превращаются...
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
(ожесточенно чешу затылок)
Блин, совсем забыл об ограничении на 255 символов в макросе. Черт, как же там суммировать строки-то?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
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
|
Ххе, у меня в ADT 2005 "+" не сработал почему-то.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Ну я сегодня уже ничему не удивляюсь - у меня машина хамит на каждом шагу. Так что спишем на сбой софта
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 20.07.2005
СПб
Сообщений: 89
|
А чем плох вариант:
^C^C^P(defun C:tmp_Den ()(setq a(getvar "clayer"))(vl-cmdf "_.undo" "_g")(vl-cmdf "_.clayer" "Razmer")(vl-cmdf "_.dimcontinue")(while(=(getvar 'cmdactive)1)(vl-cmdf pause))(vl-cmdf "_.clayer" a "_.undo" "_e")(setq a nil));tmp_Den ведь при использовании (vl-cmdf pause) и не обязательно перезадавать *error* и есть группировка для отката? |
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,149
|
Цитата:
А нельзя чтобы не спрашивало ввода имени слоя, куда вписать чтобы автоматически было, а то по скорости получается быстрее панель со слоями нажать :?: :P
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,149
|
Цитата:
![]()
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Цитата:
|
|||
![]() |
|
||||
Регистрация: 14.03.2006
Сообщений: 863
|
Обещанный слегка подправленный LISP
Код:
Код:
Код:
2 ALL, я тут случайно велосипед не изобрел? |
|||
![]() |
|
||||
Регистрация: 14.03.2006
Сообщений: 863
|
по моему не обязательно - прога анонсирована как "бэз проверок"
все это и даже еще кое-что есть в ExpressTools, таким образом этот кусочек реально мб полезен как часть бОльшей проги для какой-то комплексной обработки файла, так что, dextron3, ждем-с объяснений для чего все это было нужно? |
|||
![]() |
|
||||
Возникла необходимость создания кнопки "Вставить провод" такая кнопка есть в AutoCAD Electrical. Суть такая по сути нужно нарисовать две ортогональные линии двумя щелчками. Что-то у меня не получается сделать паузу на указание именно второй координаты.
Линия работать должна так: включается режим орто (если выключен), указывается первая координата линии, вторая координата будет равна началу первой линии (если Y не равен 0)- эту координату не указываю, и указываю конец второй линии. Как такое реализовать?
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
это должны быть две ортогональные линии.
Вчера весь вечер просидел продумал - так и не решил задачу. Тут похоже без лиспа не обойтись...
__________________
Поезд который устал от ржавого здравомыслия рельсов... Последний раз редактировалось Shoorup, 18.03.2009 в 09:07. |
||||
![]() |