gerardo2m 发表于 2022-7-5 16:07:47

SSNAMEX不返回订单

使用SSNAMEX指令,我得到所选实体的名称和一个点,根据文献,该点是选择对象的点。
 
我认为点(在我的程序中是一条线)应该与线的起点和终点共线,但事实并非如此。
 
捕捉该点并使用相同的视点,该点显示为共线,但如果在保持相同坐标系的同时旋转视点,则该点位于线对象之外。
 
我感谢对解决方案开发的任何评论。

BIGAL 发表于 2022-7-5 16:27:37

使用entsel和osnap设置,您将在直线上获得一个点。
 

(entsel)
Select object: _mid of (<Entity name: 7ff75825c9b0> (484.727 273.7 0.0))

(cadr (entsel))
(484.727 273.7 0.0)

Lee Mac 发表于 2022-7-5 16:46:44

假设您仅参考拾取选择(即选择方法ID=1)
 
[列表]
[*]如果ssnamex返回一个点,例如:((1 <Entity name: 7ffff706880> 0 (0 (20.961 16.4791 0.0)))),则该点对应于拾取框孔径的中心,不必位于选定对象上。该点与对象的距离将取决于拾取框的大小和选择相对于拾取框中心的位置。
[/列表]
 
[列表]
[*]然而,对于视图方向不垂直于WCS平面的拾取选择,ssnamex函数将返回两个点:一个基点和一个定义无限直线或射线的向量,其方向取决于选择时的视图方向,例如:((1 <Entity name: 7ffff706880> 0 (0 (24.4408 18.6307 -0.362457) (-0.497648 0.647014 -0.577684))))
[/列表]

gerardo2m 发表于 2022-7-5 16:54:19

非常感谢。
 
通过应用以下方法解决了这种情况:
(Vlax曲线GetClosestPointTopProjection曲线obj Givent normal[扩展])
 
(setq selEnts(ssget“_+:E”'((0。“行”)))
 
(setq linea01Ger(ssname selEnts 0))
 
(setq ptoSeleccion01Ger
(vlax曲线GetClosestPointTop投影
linea01Ger公司
(第n个1(第n个3(第n个0(ssnamex selEnts 0)))
'(0.0 0.0 1.0))
)
 
 
对不起,我还在擦呢。
 
关于李所描述的第二点,我还需要进一步研究一下。
 
问候语。

SLW210 发表于 2022-7-5 17:19:10

请阅读代码发布指南,并编辑代码以包含在代码标签中。
Your Code Here=
Your Code Here
页: [1]
查看完整版本: SSNAMEX不返回订单