当前ucs数字角度(rad
你好如何提取当前ucs角度的数值。ie世界xy平面角度=0,但如果绕z旋转30度,则角度将为30(或对于rads,pi/180*30)
我想这可能与非垂直z ucs有关。
无论如何,任何帮助都是巨大的
谢谢
马丁 嗨,Martin,
我确信这只是一个输入错误,但我想我应该指出,从度到弧度的转换是:
(x/180)*pi
弧度到度:
(x/pi)*180
以防万一你将来会得到任何错误的结果。 UCS旋转使用三维空间中的X和Y向量定义。查找UCSXDIR和UCSYDIR系统变量。 你可以试试这个,当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)
)
谢谢你们的回复。
欢迎任何帮助。
现在,我应该能够使用这些信息来解决如何通过单击(使用(50.x))将文本设置为零或90角度(相对于ucs)。
干杯
马丁 哦
我们同时发布。谢谢我会查出来的
实际上,这只是正常的操作顺序,不是打字错误。除法和乘法的优先级相同,因此pi/180*x与您提供的公式完全相同。然而,括号确实使事情更容易阅读。
恐怕我不同意。。。将输入角度乘以180以转换为弧度是不可能的。我理解你的观点,乘法/除法被视为相同的优先级,但如果处理的变量放置不正确,这没有什么区别。
正如写的π/180*x,那么x的值不是乘以180,而是乘以π/180,这是正确的。通常情况下,表达式的左边是常数,右边是变量。在英国,从右到左处理表达式可能是常见的做法?在美国,评估是从左到右进行的,因此可能是文化差异。 我把最初的帖子读为:
pi/(180*x)
而不是:
(pi/180)*x
这可能就是为什么我不同意你的建议,但我现在明白你的意思了。
页:
[1]
2