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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Scale, вместо ввода значений, достаточно нажимать на клавиши + и -, есть такое?

Scale, вместо ввода значений, достаточно нажимать на клавиши + и -, есть такое?

Ответ
Поиск в этой теме
Непрочитано 17.11.2010, 02:30 #1
Scale, вместо ввода значений, достаточно нажимать на клавиши + и -, есть такое?
Moris
 
Регистрация: 15.09.2003
Сообщений: 452

Может кто то встречал такой лисп.

Нужно сделать scale объекту в чертеже. Но вместо ввода значений, достаточно нажимать на клавиши + и -, и объект увеличивается\уменьшается на заданный шаг (значение шага установленно в settings лиспа)
Просмотров: 2588
 
Непрочитано 17.11.2010, 02:51
#2
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


А базовая точка?
Vova вне форума  
 
Автор темы   Непрочитано 17.11.2010, 03:00
#3
Moris


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


меня бы устроил центр массы
Moris вне форума  
 
Непрочитано 17.11.2010, 08:47
#4
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


Moris, попробуй так (масштабируется не один объект, а сколько выбрано. Каждый относительно своей точки вставки. В принципе можно переделать и для центра массы, если нужно?)

Код:
[Выделить все]
(defun c:Scale+-( / cmdecho_old gr)
  (setq cmdecho_old (getvar 'cmdecho))
  (setvar 'cmdecho 0)
  ((lambda(nbr step)
     (if nbr
       (progn
         (prompt "\n Для масштабирования объектов нажмите + или - , для завершения Enter: ")
         (while (/= (cadr (setq gr (grread))) 13)
           (foreach item (vl-remove-if 'listp (mapcar 'cadr (ssnamex nbr)))
             (vl-cmdf "_.scale" item "" (cdr (assoc 10 (entget item))) (cond ((= (cadr gr) 43) step) ((= (cadr gr) 45) (/ 1.0 step))))
             )
           )
         )
       )
     )
    (ssget)
    2 ; шаг масштабирования
    )
  (setvar 'cmdecho cmdecho_old)
  (princ)
  ); end defun
__________________
cadtools
TararykovDG вне форума  
 
Автор темы   Непрочитано 17.11.2010, 11:12
#5
Moris


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


TararykovDG спасибо
Для центра массы вообщем то ненужно, от точки вставки тоже подходит.
А как поменять шаг масштабирования?

все понял, надо в самом лиспе прописать. Суперский лисп.

Последний раз редактировалось Moris, 17.11.2010 в 11:31.
Moris вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Scale, вместо ввода значений, достаточно нажимать на клавиши + и -, есть такое?

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дополнительные команды для Аннотативных масштабов. Удаление лишних масштабов, копирование масштабов между объектами и т.п. Red Nova Программирование 62 24.06.2023 15:09
Эмуляция нажатия клавиш из под AutoLisp-a Supermax LISP 89 19.11.2007 14:40