1. ВНИМАНИЕ! В течении пары дней +- будет переезд форума на более защищённый сервер. Возможны перебои в работе.
    Скрыть объявление

Поворот объекта на 180°

Тема в разделе "Autodesk", создана пользователем uroma1, 2 май 2013.

  1. uroma1

    uroma1 Форумчанин

    Товарищи, подскажите макрос (или лисп) "поворот объекта на 180", чтоб указать мышкой базовую точку и всё. Вручную три цифры вводить влом, если объектиков иногда попадается под сотню. Заранее всем спасиб.
     
  2. vladmax

    vladmax Форумчанин

    выбираешь команду "повернуть", указываешь объект, указываешь базовую точку, указываешь угол поворота (если не очень влом), и поворачиваешь, затем выделяешь второй объект, жмешь пробел (повтор последней команды), указываешь точку поворота и снова пробел и так далее..
     
  3. Alexandr-GR

    Alexandr-GR Форумчанин

    Код:
    ^C^C^P(defun c:r_pi (/ sel)(while(setq sel (ssget))(vl-cmdf "_rotate" sel "" pause "180" "")));r_pi 
     
    sergtor нравится это.
  4. uroma1

    uroma1 Форумчанин

    СПАСИБО!!!! супер!
     
  5. olegzyr

    olegzyr Форумчанин

    А как в автокаде один из двух пересекающихся отрезков развернуть относительно точки пересечения так, чтобы он точно совпал с другим по направлению? Как при привязке. Как бы вручную не доворачивал, при сильном увеличении все равно нет абсолютного совпадения! Угол между отрезками всегда не равен 0
     
  6. Qvinto

    Qvinto Форумчанин

    Команда: Повернуть, выбираешь объект, указываешь базовую точку поворота, потом ПКМ, выбираешь опорный угол, указываешь центр и окончание объекта, и с привязкой крути.
     
  7. olegzyr

    olegzyr Форумчанин

    Можно по-подробней. Сейчас сижу делаю все по- порядку и комментирую 1)Команда Повернуть- жму команду поворота,маркер превращается в маленький прямоугольник. 2) выбираешь объект- Навожу этот прямоугольный маркер на один из отрезков. Он становится состоящим из прерывистых кусочков.(наверное так специфически отмечается). 3) указываешь базовую точку поворота - здесь уже затык. Прямоугольный маркер ни в какую не хочет указать эту самую точку. Если сначала отметить отрезок, потом команда повернуть, то точку поворота можно отметить. Но не пойму как тогда выбирается опорный угол.
     
  8. sergtor

    sergtor Форумчанин

    Попробуйте воспользоваться этим лиспом.

    Раскрыть Спойлер
    Код:
    (defun c:rotateplus (/ *adoc* ss bpt opt nopt var_lst rec_var_lst)
      (vl-load-com)
      (vla-StartUndoMark (setq *adoc* (vla-get-ActiveDocument (vlax-get-acad-object))))
      (vl-catch-all-apply
        (function (lambda ()
            (sssetfirst nil (setq ss (ssget)))
            (setq bpt  (getpoint "\nBase point:")
                  opt  (getpoint bpt "\nOrientation point:")
                  nopt (getpoint bpt "\nNew position for orientation point:")
            ) ;_ end of setq
              ) ;_ end of lambda
        ) ;_ end of function
      ) ;_ end of vl-catch-all-apply
      (setq    rec_var_lst
        (mapcar (function getvar)
            (setq var_lst (list "osmode" "cmdecho"))
        ) ;_ end of mapcar
      ) ;_ end of setq
      (mapcar (function setvar) var_lst (list 0 0))
      (sssetfirst nil nil)
      (vl-cmdf "_.rotate"
          ss
          ""
          bpt
          "_r"
          bpt
          opt
          nopt
      ) ;_ end of vl-cmdf
      (mapcar (function setvar) var_lst rec_var_lst)
      (vla-EndUndoMark *adoc*)
      (princ)
    ) ;_ end of defun
     
  9. Qvinto

    Qvinto Форумчанин

    После этого надо Ентер нажать, после того как выбрал объект, а то Автокад мысли угадывать не умеет еще, может ты еще какие-то объекты для поворота выбрать хочешь, не только тот, который в мыслях выбрал и смотришь на него.
     
  10. olegzyr

    olegzyr Форумчанин

    Спасибо! Понял!
     
  11. Alexandr-GR

    Alexandr-GR Форумчанин

    Есть такой макрос, который исключает "ПКМ", т.е. после выбора объектов, можно сразу же выбирать базис:
    Код:
    ^C^C^P(defun c:kr () (setq ss (ssget)) (command "_rotate" ss "" pause "_r" (getvar "lastpoint") pause));kr
    
    *Этот макрос, на сколько я помню, отсюда. Если _rotate заменить на _scale можно использовать при масштабировании
     
  12. uroma1

    uroma1 Форумчанин

  13. Vladimirych

    Vladimirych Форумчанин

    А чем команда "выровнять" не нравицца?
     
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление