乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: samifox

[编程交流] (trans)解释

[复制链接]

218

主题

699

帖子

483

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1090
发表于 2022-7-5 23:06:30 | 显示全部楼层
 
那么,getpoint为我翻译了这一点?你怎么解释角的形式?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 23:10:50 | 显示全部楼层
 
否,getpoint返回用户指定的相对于UCS的点-
重复变换此UCS点,就像它是WCS到UCS一样。
 
关于点的视旋转:
 
例如,UCS旋转23度(任意值)。现在,假设您已使用程序拾取相对于旋转UCS的点(1 1)。
 
因此,getpoint函数将该点作为(1 1)返回。
 
然后,程序将x值增加10个单位,使点变为(11 1)。
 
现在,使用trans重新定义点,提供点(11 1),就像它是要相对于活动UCS平移的WCS坐标一样。
 
在旋转23度的UCS中,WCS点(11 1)成为UCS点(10.5163-3.37754 0.0)-然后在此坐标处构造点对象。
 
在下一次迭代中,程序将再次将点的x值增加10个单位,但是,由于您重新定义了变量“p”的值,该变量现在保持该值(20.5163-3.37754 0.0)。
 
同样,提供该明显UCS坐标时,将其视为要转换为UCS的WCS点,返回该点(17.5656-11.1254 0.0)。
 
此过程重复5次,形成您所看到的曲线图案。
 
出现这种模式的原因是,在每次迭代中,不是通过水平向量(10 0)平移点,而是通过UCS x轴相对于WCS x轴的角度之后的向量进行平移,从而导致点平移遵循圆形路径。
回复

使用道具 举报

218

主题

699

帖子

483

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1090
发表于 2022-7-5 23:14:16 | 显示全部楼层
你好
 
为了研究坐标系,我打开了一个案例研究。希望从大师那里获得挑战(从基础到进步)。
 
我的第一个基本挑战是采用一个新的ucs,并在WCS原点和ucs原点之间画一条线。
 
在我的代码中,我将UCS 0,0,0坐标转换为WCS,但它绘制了一条不符合预期的线。为什么?
 
 
救命啊!
 
  1. ;draw a line from Ucs origin to the WCS origin
  2. (defun cs1(/ WCS UCS)
  3. ;get WCS  orign
  4. (setq WCS (trans '(0.0 0.0 0.0)1 0))
  5. ;get UCS origin
  6. (setq UCS '(0.0 0.0 0.0))
  7. ;draw line
  8. (command "_.line" "_non" WCS UCS "")
  9. )

 
谢谢
谢伊
回复

使用道具 举报

218

主题

699

帖子

483

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1090
发表于 2022-7-5 23:21:02 | 显示全部楼层
但我在ucs和wcs不相等的地方进行了测试
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 23:22:33 | 显示全部楼层
我真的不明白“画一条不符合预期的线”
没有画?
你们能展示图片吗?
回复

使用道具 举报

218

主题

699

帖子

483

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1090
发表于 2022-7-5 23:27:10 | 显示全部楼层
233452deem4h3m3nh8e3e8.jpg
 
你好
 
这些线是画出来的,但不是画在哪里
 
查看视觉效果
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 23:30:37 | 显示全部楼层
命令使用UCS点-您正在将UCS原点转换为WCS;使用(trans’(0.0 0.0 0.0)0 1)
 
或者:
  1. (defun cs2 nil
  2.    (entmake
  3.        (list
  4.           '(0 . "LINE")
  5.           '(10 0.0 0.0 0.0) ;; WCS origin
  6.            (cons 11 (trans '(0.0 0.0 0.0) 1 0)) ;; UCS origin
  7.        )
  8.    )
  9. )
回复

使用道具 举报

218

主题

699

帖子

483

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1090
发表于 2022-7-5 23:31:35 | 显示全部楼层
 
嗨,李
 
我只是想办法
 
就像说:
 
“从WCS转换(0.0 0.0 0.0)到当前UCS”
 
(trans’(0.0 0.0 0.0)0 1)
233456tb32ezbmtbnnqs33.jpg
回复

使用道具 举报

218

主题

699

帖子

483

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1090
发表于 2022-7-5 23:36:31 | 显示全部楼层
你好我可以说autolisp根本不尊重ucs,而命令无论如何都尊重ucs吗,?
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-11 09:06 , Processed in 0.460001 second(s), 70 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表