对象捕捉点值
有人知道有没有一种方法可以知道对象捕捉的位置,而不需要实际单击,例如,开始一条线或拾取圆心。我询问的原因是,我想知道是否有方法验证拾取的点实际上是捕捉点(以检测未遂事件)。 osnap函数。用法示例:
http://lee-mac.com/drawgrid.html 这有点模糊。为什么你点击的点不是被抓取的点?或者你说的“拾取点”是指你想要捕捉到的点,而不是附近的另一个点? ScribbleJ,
如果拾取框的大小很小(在拥挤的场地中可能需要),例如,您希望捕捉到交点,则在不放大和检查的情况下,可能很难判断您拾取的点是否实际捕捉到交点。我认为,在lisp例程中,如果我在拾取之前知道交点的位置(捕捉指示器所在的位置),我可以比较拾取点并验证位置是否一致。
李,
谢谢你的回复。我必须研究一下你们的dgrid程序,看看它如何适用于我的问题。 我试图确定李的dgrid是如何应用的。
好吧,那么。。。
如果我正确理解了您的描述,那么在我看来,您的捕捉位置可能就是您的对象捕捉跟踪位置。是这样吗?(我认为这变成了一道数学题。)
lisp例程需要获取“捕捉”位置的变量,然后给您反馈,以便您检查所知道的位置是否正确。你怎么知道那个位置的正确坐标是多少? 也许这将有助于您随时更改捕捉模式,只要键入变量OSMODE即可。
如果您只需要一个中心弧或圆,那么(setvar“osmode”4)在代码中使用多个捕捉也可以实现端+中+中心,再次只需查看osmode编号。
一个好主意是,在开始时保存osmode值,然后在结束时将其放回,这样用户的快照与启动时相同。
与其说“DGrid”程序是如何应用的,不如说我提供了一个示例,说明我如何在该程序中使用osnap函数来定位捕捉点。
捕捉到端点的更简单示例:
(defun c:test ( / pt )
(if (setq pt (getpoint "\nPick Point: "))
(progn
(princ "\nOriginal Point: ")
(princ pt)
(princ "\nSnap to Endpoint: ")
(princ (osnap pt "_end"))
)
)
(princ)
) 李,
对不起,我太笨了。我花了一段时间才看到它。osnap函数正是我所需要的。非常感谢。 不用道歉,很乐意帮忙
我们都有这样的日子(不管我们承认与否)。我也在努力解决这个问题。另一方面,李显然很明白这一点。允许批判性思维帮助我们发现思维中的缺陷或弱点是很好的。
跌倒不是失败;拒绝起床是。
~中国谚语~
页:
[1]