AutoLISP中的三维旋转
大家好。我正在做一个只需要使用AutoLISP的项目,但由于我对这个程序不是很有经验,有些事情我真的不明白。其中之一是如何在选定对象中使用命令“3d旋转”。我知道如何通过将对象创建为实体来选择对象,以及如何激活“3drotate”命令,但我不知道如何选择要在其中旋转对象的轴。有人能帮我做这个吗?在AutoLISP中执行三维旋转最简单和最基本的方法是什么?非常感谢你的帮助。 您打算让用户选择轴还是基于点、其他假设等进行计算。? 在我的autocad 2006中,命令是rotate3d而不是3drotate。它在较新版本中是否更改?无论如何,只要在调用命令时将收集到的信息传递给该命令即可 JohnM,我目前使用的版本是2010年。由于我在2008年版本的时候才开始使用AutoCAD,所以我对之前版本的更改并不熟悉。
此外,它需要的轴选择信息。。。是的,我通常只能通过使用鼠标光标从选择轮中选择一个轴来选择它,选择轮在拾取我想要旋转的对象后弹出。。。它并没有真正显示我可以引导自己的命令。。。 正如Johnm所提到的,检查命令“rotate3d”。这两个命令都在AutoCAd 2008中,我假设2010也有这两个命令?
“rotate3d”看起来更适合Autolisp,带有命令行选项。 至少有两个AutoCAD命令可以在三维中旋转对象。一个是“rotate3d”,另一个是“3drotate”。我更喜欢旋转3D,因为它可以让你轻松地输入轴。“3drotate”有一个bug。与X和Z轴的情况一样,围绕“Y”轴的旋转不遵循右手法则。命令Rotate3d对X、Y和Z轴正确工作。
以下是在Autolisp中使用命令的简单方法:
(命令“rotate3d”“p”“”2 p1 p2 45)
此语句假设之前已选择该对象,因此“p”将重新选择它。还有其他选择对象的方法。2表示将使用“2点”方法定义旋转轴,p1和p2是先前在Autolisp中定义的两个点。物体将旋转45°。
以下内容将使对象绕z轴旋转60°:
(命令“rotate3d”“p”“”“z”p160)
我希望这有帮助~李
页:
[1]