如何在sketchup中创建组对象的click事件?

时间:2015-04-05 14:50:31

标签: ruby sketchup

我在sketchup中有立方体。每个立方体都是从四个面分组的,如下所示:

    entities = model.active_entities
    pts = []
    pts[0] = [0, 0, 0]
    pts[1] = [width, 0, 0]
    pts[2] = [width, depth, 0]
    pts[3] = [0, depth, 0]
    # Add the group to the entities in the model
    group = entities.add_group

这会创建一个box.now如何在该框上创建click事件,以便在box.it上显示messagebox中的Group.name?

1 个答案:

答案 0 :(得分:1)

SketchUp API不允许您在自定义工具之外执行此操作:http://www.sketchup.com/intl/en/developer/docs/ourdoc/tool

编辑:看看如何查询数据库中的组名,然后可以使用自定义查询工具。当您的用户激活您的工具时,您会获得onLButtonDownOnLButtonUp等鼠标和关键事件。这些事件提供了SketchUp视口中鼠标所在位置的xy坐标。

然后,您可以使用PickHelper类来查找用户选择的实体:http://www.sketchup.com/intl/en/developer/docs/ourdoc/pickhelper 大多数情况下,您只需使用best_picked选择do_pick即可。 best_picked将返回一个实体,您可以检查该实体是组还是组件。此实体将与“选择”工具选择的实体相同。

自定义工具之外的唯一通用方法可能是用户SelectionObserver来检测何时选择了您的组。但我不鼓励这样做,因为它很容易干扰SketchUp的正常使用。