线程评级:
如何检查目标是否在对象中?
# 1
大家好,

在我的Python脚本中,我生成了很多目标。其中一些在对象内部,所以我不想生成这些。
我尝试了RDK。碰撞(Item1, Item2)函数,但它似乎不适用于目标。没有错误,但结果总是0(没有碰撞)。我用于这个测试的目标肯定是在对象内部。

如果我使用两个对象,该函数可以正常工作。

代码:
obj1 = RDK。项目(box1 " ITEM_TYPE_OBJECT)
obj2 = RDK。(“box2”,ITEM_TYPE_OBJECT)项
testtarget = RDK.Item(' testtarget ')

checkCol = RDK。Collision(obj1, obj2) #这很好
checkCol = RDK。Collision(obj1, testtarget) #不会产生碰撞

我如何使用这个函数与目标或有任何其他方法来检查目标是否在对象内部?

谢谢你的帮助。
# 2
你好马提亚,

有一个函数叫做IsInside它允许你检查一个对象是否在另一个对象中(它也适用于工具)。此函数不能用于目标,但我们将在最多1周的新版本中添加对该功能的支持。

当前版本的另一种选择是添加一个附加到目标上的小球体(将姿态设置为identity),然后检查该球体是否在对象内部。

例子:

代码:
sphere = RDK.AddItem("C:/RoboDK/Library/sphere_1 .sld")
sphere.setPose(眼(4))
sphere.setParent(目标)
sphere. scale(0.001) #我们默认的球体对象直径为1m,你可以将其缩放为1mm
如果sphere.IsInside(对象):
打印(“内部!”)

艾伯特
# 3
(12-09-2020, 01:50 pm)艾伯特写道:此函数不能用于目标,但我们将在最多1周的新版本中添加对该功能的支持。

非常感谢你,艾伯特。
我期待着最新的消息。球体的替代解决方案是一个好主意,但即将推出的功能完全符合我的需求。所以我很高兴听到,这个很快就会发布。

马蒂亚斯




浏览此线程的用户:
1客人(年代)