MartinSomervill 发表于 2022-7-6 17:16:22

当前ucs数字角度(rad

你好
 
如何提取当前ucs角度的数值。ie世界xy平面角度=0,但如果绕z旋转30度,则角度将为30(或对于rads,pi/180*30)
 
我想这可能与非垂直z ucs有关。
 
无论如何,任何帮助都是巨大的
 
谢谢
马丁

Lee Mac 发表于 2022-7-6 17:26:38

嗨,Martin,
 
我确信这只是一个输入错误,但我想我应该指出,从度到弧度的转换是:
(x/180)*pi
 
弧度到度:
 
(x/pi)*180
 
以防万一你将来会得到任何错误的结果。

ASMI 发表于 2022-7-6 17:29:50

UCS旋转使用三维空间中的X和Y向量定义。查找UCSXDIR和UCSYDIR系统变量。

lpseifert 发表于 2022-7-6 17:39:44

你可以试试这个,当UCS围绕Z旋转时,它应该可以工作;
按照ASMI的建议,使用UCSXDIR和UCSYDIR可能是一种更好的方式,但我觉得我很无聊。。。

(defun c:test (/ p1w p2w ang)
(defun rtd (a) (/ (* a 180.0) pi))
(setq p1w (trans '(0 0 0) 1 0)
   p2w (trans '(10 0 0) 1 0)
   ang (rtd (angle p1w p2w))
   )
(prompt (strcat "\nThe UCS is rotated " (rtos ang 2 4) " degrees from the WCS"))
(princ)
)

MartinSomervill 发表于 2022-7-6 17:43:32

谢谢你们的回复。
 
欢迎任何帮助。
 
现在,我应该能够使用这些信息来解决如何通过单击(使用(50.x))将文本设置为零或90角度(相对于ucs)。
 
 
 
干杯
马丁

MartinSomervill 发表于 2022-7-6 17:50:25


 
我们同时发布。谢谢我会查出来的

ABuckingham 发表于 2022-7-6 17:52:51

 
实际上,这只是正常的操作顺序,不是打字错误。除法和乘法的优先级相同,因此pi/180*x与您提供的公式完全相同。然而,括号确实使事情更容易阅读。

Lee Mac 发表于 2022-7-6 18:01:58

 
恐怕我不同意。。。将输入角度乘以180以转换为弧度是不可能的。我理解你的观点,乘法/除法被视为相同的优先级,但如果处理的变量放置不正确,这没有什么区别。

ABuckingham 发表于 2022-7-6 18:06:55

 
正如写的π/180*x,那么x的值不是乘以180,而是乘以π/180,这是正确的。通常情况下,表达式的左边是常数,右边是变量。在英国,从右到左处理表达式可能是常见的做法?在美国,评估是从左到右进行的,因此可能是文化差异。

Lee Mac 发表于 2022-7-6 18:12:09

我把最初的帖子读为:
 
pi/(180*x)
 
而不是:

(pi/180)*x
 
这可能就是为什么我不同意你的建议,但我现在明白你的意思了。
页: [1] 2
查看完整版本: 当前ucs数字角度(rad