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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Поворот WCS

Поворот WCS

Ответ
Поиск в этой теме
Непрочитано 05.10.2006, 12:54 #1
Поворот WCS
Mr_Eugene
 
инженер-проектировщик
 
Москва.Терна
Регистрация: 05.10.2006
Сообщений: 33

Граждане, помогите!

От заказчиков пришел файл, где мировая система координат повернута...
Подскажите как повторить этот фокус, а то хочу лисп протестировать с разными углами поворота....

Заранее благодарен
Просмотров: 3748
 
Непрочитано 05.10.2006, 13:00 Re: Поворот WCS
#2
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Цитата:
Сообщение от Mr_Eugene
Граждане, помогите!

От заказчиков пришел файл, где мировая система координат повернута...
Подскажите как повторить этот фокус, а то хочу лисп протестировать с разными углами поворота....

Заранее благодарен
тебе нужен лисп поворота координат или лисп 3дОрбиты?
Елпанов Евгений вне форума  
 
Непрочитано 05.10.2006, 13:07
#3
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411


_ucs _z 45
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 05.10.2006, 13:11
#4
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Код:
[Выделить все]
(defun my-3dorbit (/ PT1 PT2 R S V V1 VD W)
  ;;  ElpanovEvgeniy, Russia, Moscow, 2006
  ;;  Function "3dorbit"
  ;;  During work it is possible to use PAN and ZOOM
  ;;  in a transparent mode.
  ;;  (my-3dorbit)
  (if (tblsearch "VIEW" "tmp1")
    (setq v1  (tblobjname "VIEW" "tmp1")
          pt2 (trans (cadr (grread nil 5)) 1 2)
    ) ;_  setq
    (setq
      v1  (entmakex
            (list
              '(0 . "VIEW")
              '(100 . "AcDbSymbolTableRecord")
              '(100 . "AcDbViewTableRecord")
              '(2 . "tmp1")
              '(70 . 0)
              (cons 40 (getvar "VIEWSIZE"))
              (cons 10 (getvar "VIEWCTR"))
              (cons 41
                    (* (getvar "VIEWSIZE")
                       (apply
                         (function /)
                         (getvar "SCREENSIZE")
                       ) ;_  apply
                    ) ;_  *
              ) ;_  cons
              (cons 11 (getvar "VIEWDIR"))
              '(12 0. 0. 0.)
              (cons 42 (getvar "LENSLENGTH"))
              (cons 43 (getvar "FRONTZ"))
              (cons 44 (getvar "BACKZ"))
              (cons 50 (getvar "VIEWTWIST"))
              (cons 71 (getvar "VIEWMODE"))
              '(281 . 6)
              '(72 . 0)
            ) ;_  list
          ) ;_  entmakex
      pt2 (trans (cadr (grread nil 5)) 1 2)
    ) ;_  setq
  ) ;_  if
  (while (= (car (setq pt1 (grread nil 5))) 5)
    (setq r   (/ (getvar "VIEWSIZE") 4.)
          w   (trans (getvar "VIEWCTR") 1 2)
          pt1 (trans (cadr pt1) 1 2)
          v   (trans ((lambda (x1 y1 x2 y2)
                        (list
                          (- x1 x2)
                          (- y1 y2)
                          (- (sqrt (abs (- (* R R) (* x1 x1) (* y1 y1))))
                             (sqrt (abs (- (* R R) (* x2 x2) (* y2 y2))))
                          ) ;_  -
                        ) ;_  list
                      ) ;_  lambda
                       (- (car pt2) (car w))
                       (- (cadr pt2) (cadr w))
                       (- (car pt1) (car w))
                       (- (cadr pt1) (cadr w))
                     )
                     2
                     1
              ) ;_  trans
          pt2 pt1
          s   (/ r (distance '(0. 0. 0.) (getvar "VIEWDIR")))
          vd  (mapcar (function (lambda (x) (* x s))) (getvar "VIEWDIR"))
          v   (mapcar (function +) vd v)
          s   (/ r (distance '(0. 0. 0.) v))
          v   ((lambda (s) (list (* (car v) s) (* (cadr v) s) (* (caddr v) s)))
                (/ r (distance '(0. 0. 0.) v))
              )
          w   (* (/ r (getvar "VIEWSIZE"))
                 (* (getvar "VIEWSIZE")
                    (apply
                      (function /)
                      (getvar "SCREENSIZE")
                    ) ;_  apply
                 ) ;_  *
                 4.
              ) ;_  *
    ) ;_  setq
    (entmod
      (list
        (cons -1 v1)
        '(0 . "VIEW")
        '(100 . "AcDbSymbolTableRecord")
        '(100 . "AcDbViewTableRecord")
        '(2 . "tmp1")
        '(70 . 0)
        (cons 40 (getvar "VIEWSIZE"))
        (cons 10 (trans (getvar "VIEWCTR") 1 2))
        (cons 41
              (* (getvar "VIEWSIZE")
                 (apply
                   (function /)
                   (getvar "SCREENSIZE")
                 ) ;_  apply
              ) ;_  *
        ) ;_  cons
        (cons 11 v)
        '(12 0. 0. 0.)
        (cons 42 (getvar "LENSLENGTH"))
        (cons 43 (getvar "FRONTZ"))
        (cons 44 (getvar "BACKZ"))
        (cons 50 (getvar "VIEWTWIST"))
        (cons 71 (getvar "VIEWMODE"))
        '(281 . 6)
        '(72 . 0)
      ) ;_  list
    ) ;_  entmod
    (entupd v1)
    (setview (tblsearch "VIEW" "tmp1"))
  ) ;_  while
)
Елпанов Евгений вне форума  
 
Автор темы   Непрочитано 05.10.2006, 18:42
#5
Mr_Eugene

инженер-проектировщик
 
Регистрация: 05.10.2006
Москва.Терна
Сообщений: 33


Цитата:
Сообщение от kpblc
_ucs _z 45
спасиб большое

только при этом создается повернутая пользовательская система координат, а при переходе в мировую все встает на место

а в моем файле переходишь в мировую систему координат и оси становятся повернуты относительно экрана (то есть повернута сама мировая система)

вот я и хочу узнать как повернуть именно мировую систему
Mr_Eugene вне форума  
 
Автор темы   Непрочитано 05.10.2006, 18:44 Re: Поворот WCS
#6
Mr_Eugene

инженер-проектировщик
 
Регистрация: 05.10.2006
Москва.Терна
Сообщений: 33


Цитата:
Сообщение от Елпанов Евгений
тебе нужен лисп поворота координат или лисп 3дОрбиты?
не, спасибо, лисп у меня свой
я его хочу проверить при разных углах поворота мировой системы координат. А как ее повернуть не знаю... поворачиваются только пользовательские
Mr_Eugene вне форума  
 
Непрочитано 05.10.2006, 22:15
#7
Vova

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


Попробуй команду _Plan
Vova вне форума  
 
Непрочитано 06.10.2006, 00:56
#8
Димас

джедай
 
Регистрация: 31.01.2005
Магадан
Сообщений: 460
<phrase 1=


_.plan;w;
Димас вне форума  
 
Непрочитано 06.10.2006, 02:04 Re: Поворот WCS
#9
Димас

джедай
 
Регистрация: 31.01.2005
Магадан
Сообщений: 460
<phrase 1=


Цитата:
Сообщение от Mr_Eugene
Цитата:
Сообщение от Елпанов Евгений
тебе нужен лисп поворота координат или лисп 3дОрбиты?
не, спасибо, лисп у меня свой
я его хочу проверить при разных углах поворота мировой системы координат. А как ее повернуть не знаю... поворачиваются только пользовательские
насколько знаю мировая система и не повернется
Димас вне форума  
 
Непрочитано 06.10.2006, 07:11
#10
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Мировая система никуда не переносится и не поворачивается. На то она и МИРОВАЯ.

Повернуты и перенсены могут быть ПСК. Может быть разный взгляд (вид) на МСК, но сама она всегда на месте.
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 06.10.2006, 09:32
#11
Mr_Eugene

инженер-проектировщик
 
Регистрация: 05.10.2006
Москва.Терна
Сообщений: 33


ура!

всем спасибо!

помог план
Mr_Eugene вне форума  
 
Непрочитано 06.10.2006, 09:53 Re: Поворот WCS
#12
Sergiy

Проектировщик, гидротехник
 
Регистрация: 23.03.2006
Киев
Сообщений: 59


Цитата:
Сообщение от Mr_Eugene
Граждане, помогите!

От заказчиков пришел файл, где мировая система координат повернута...
Подскажите как повторить этот фокус, а то хочу лисп протестировать с разными углами поворота....

Заранее благодарен
Попробуй: dview -> twist -> "угол"
Я постоянно пользуюсь этой командой, когда нарезаю листы вдоль линейного сооружения.
Sergiy вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Поворот WCS

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

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