如何在 SketchUp 中创建组对象的点击事件?

How to create a click event on group object in sketchup?

我有立方体 sketchup.each 立方体由四个面组成,如下所示:

    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 我如何在该框上创建点击事件,以便在点击 box.it 时在消息框中显示 Group.name?

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

编辑:了解您如何在数据库中查询组名,然后使用自定义查询工具即可。当您的用户激活您的工具时,您会收到鼠标和按键事件,例如 onLButtonDownOnLButtonUp。这些事件提供鼠标在 SketchUp 视口上的 xy 坐标。

然后您可以使用 PickHelper class 来查找用户选择的实体:http://www.sketchup.com/intl/en/developer/docs/ourdoc/pickhelper 大多数时候,您只想在使用 do_pick 进行选择后使用 best_pickedbest_picked 将 return 一个实体,您可以检查它是组还是组件。该实体将与 Select 工具 select.

相同

自定义工具之外的唯一通用方法可能是使用 SelectionObserver 来检测您的组何时被 selected。但我不赞成这样做,因为它太简单了,只会干扰 SketchUp 的正常使用。