myjping 发表于 2012-9-3 14:47:48

用vlisp方法如何设定世界坐标系为当前坐标系

请问用vlisp方法如何设定世界坐标系为当前坐标系

Gu_xl 发表于 2012-9-3 15:22:07

本帖最后由 Gu_xl 于 2012-9-3 21:42 编辑

(command "_.ucs" "") 一句代码就解决了,何必舍近求远啊!
Vlisp 方法:

(defun gxl-wcs (/ OBJUCS UCS DOC)
(if (not
(VL-CATCH-ALL-ERROR-P
   (setq objucs
   (VL-CATCH-ALL-APPLY
   'vla-item
   (list (setq UCS (vla-get-UserCoordinateSystems
         (setq doc (vla-get-ActiveDocument
       (vlax-get-acad-object)
            )
         )
       )
    )
    "WCS"
   )
   )
   )
)
      )
    (VL-CATCH-ALL-APPLY 'vla-delete (list objucs))
)
(if (not (VL-CATCH-ALL-ERROR-P
      (setq objucs
      (VL-CATCH-ALL-APPLY
      'vla-add
      (list
   UCS
   (vlax-3d-point '(0 0 0))
   (vlax-3d-point '(1 0 0))
   (vlax-3d-point '(0 1 0))
   "WCS"
      )
      )
      )
    )
      )
    (vla-put-ActiveUCS
      (vla-get-ActiveDocument (vlax-get-acad-object))
      objucs
    )
)
)

myjping 发表于 2012-9-3 15:52:00

Gu_xl 发表于 2012-9-3 15:22 static/image/common/back.gif
(command "_.ucs" "") 一句代码就解决了,何必舍近求远啊!
Vlisp 方法:

呵呵,感觉command的方法挺慢的,我是因为有大量的坐标要转换,所以要用到vlisp的方法;
我本来的想法是在开始取得全局坐标下的(0,0,0)(1,0,0)(0,1,0)三点,转换到用户坐标,设定三点为当前坐标系的轴,感觉太麻烦了

myjping 发表于 2012-9-3 20:17:07

myjping 发表于 2012-9-3 15:52 static/image/common/back.gif
呵呵,感觉command的方法挺慢的,我是因为有大量的坐标要转换,所以要用到vlisp的方法;
我本来的想法是 ...

呵呵,这个我会,只是我觉得麻烦,而且生成的坐标系也不叫世界坐标,只数据上重合,没你的实在
页: [1]
查看完整版本: 用vlisp方法如何设定世界坐标系为当前坐标系