获取实体位置XYZ an
是否可以使用LISP或。net循环通过每个实体,并获得其位置XYZ和旋转XYZ?谢谢 当你得到一个物体时,你可以很容易地把它拉开,所以简单的例子是一条线,你得到一个开始点和结束点,它的旋转由(角度开始点结束点)
这里有很多例子,例如
(setq ss1 (ssget '((0 . "LINE"))))
(setq n (sslength ss1))
(setq count 0)
(repeat n
(setq en (ssname ss1 count))
(setq el (entget en))
(setq count (+ count 1))
(setq pt1 (cdr (assoc 10 el)))
(princ "\npt1 is ")(princ pt1)
(setq pt2 (cdr (assoc 11 el)))
(princ "\npt2 is ")(princ pt2)
; your turn do angle here
)
(princ)
接下来,不同的物体给出不同的答案,一个圆和一条弧有一个中心点,一条多段线有很多点,你的问题很简单,需要更多细节。查找帮助dxf代码,您将看到所有可用信息。
如果您使用VL代码,您可能会得到更简单的答案。 谢谢你,比格尔。这是我的。它是一个3D对象(带弯曲的圆柱体)。我真的不太了解autolisp,但是,我可以使用您的代码(或接近它的代码)来提取这个对象的位置xyz和旋转xyz吗?
谢谢
http://www.davetyner.com/images/elbow2_rotation.jpg 您使用的是AutoCAD还是3DS Max? Autocad 你可以得到三维实体的xyz,但我认为你不能得到旋转,也不能得到实体的弯曲或旋转。
在VLisp中就是这种情况。 是的,位置很简单。旋转就是这个。这似乎是普遍的共识。必须用它来做矩阵3/transform/vector数学,这是疯狂的16位数地狱。
谢谢 确切地
这个位置是3dsolid的xyz,这就是我的意思。
当做
页:
[1]