Autolisp中的坐标系变换……

题设如下:以ZH(0,0)为坐标系原点,建立图示坐标系,然后中间有一堆程序(省略……),接着,坐标原点向右平移100到JD(100,0)并旋转一定的角度α,如图示建立以J... 题设如下:以ZH(0,0)为坐标系原点,建立图示坐标系,然后中间有一堆程序(省略……),接着,坐标原点向右平移100到JD(100,0)并旋转一定的角度α,如图示建立以JD点为原点的坐标系,在心得坐标系中,JD点坐标为(0,0)……请问这两部分的代码该如何(一是定义ZH点为原点的坐标系,二是定义JD点原定的坐标系),比较急…… 展开
 我来答
pzweng
2018-05-10 · TA获得超过1988个赞
知道小有建树答主
回答量:677
采纳率:90%
帮助的人:342万
展开全部

(setq a 30)  ;角度

(setq a (/ (* 30 pi) 180));转为弧度

(setq pt '(200 0 0)) ;ucs原点(注:相对WCS)

(setq x (list (sin a) (cos a) 0.)) ;X向量(注:相对WCS)

(setq y (list (cos a) (sin (- a)) 0.)) ;Y向量(注:相对WCS)

(entmake (list '(0 . "UCS")

'(100 . "AcDbSymbolTableRecord")

'(100 . "AcDbUCSTableRecord")

'(2 . "JD") ;新UCS名称

'(70 . 0)

(cons 10 pt) 

(cons 11 x)

(cons 12 y)

'(79 . 0)

'(146 . 0.0)

)

)

;;;;;;;;;;;;;;;;;val方式 (参考方法)

(setq origin (vlax-3d-point 4 5 3)
xAxisPnt (vlax-3d-point 5 5 3)
yAxisPnt (vlax-3d-point 4 6 4))

(setq acadObj (vlax-get-acad-object))

(setq doc (vla-get-ActiveDocument acadObj))
(setq UCSs (vla-get-UserCoordinateSystems doc))
(setq ucsObj (vla-Add UCSs origin xAxisPnt yAxisPnt "New_UCS"))  ;ucs名称:New_UCS 

;;;;;;;;;;;;;;;;;;;;;;;;;

command方式

(command "ucs""3" pt x y ) ;具体值自己输入命令操作一遍

追问
可以用Command的命令说下怎么平移吗
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式