我创建了一个绘制墙壁的sketchUp插件(具有长度、宽度和高度)。
现在我想在那面墙上插入一个“窗口”(固定的长度、宽度和高度,取决于墙壁)。我怎样才能:
- 创建但尚未绘制包含窗口的组。将其链接到当前鼠标位置
- 将当前鼠标位置约束到我之前画的墙的前平面
- 当用户单击时,将插入窗口并显示组
我创建了一个绘制墙壁的sketchUp插件(具有长度、宽度和高度)。
现在我想在那面墙上插入一个“窗口”(固定的长度、宽度和高度,取决于墙壁)。我怎样才能:
Model.place_component
最简单的方法是创建一个组件定义,然后使用激活 SketchUp 的本机工具来定位一个新的组件实例,这不能 100% 满足您的要求 - 但确实使用现有的 SketchUp 约定。
为了 100% 完成您的问题:
组是一个实例。您不能创建一个而不将其放置在模型中。当用户单击时,您可以在步骤 3 中创建它。(不过,一个窗口听起来像是一个组件的候选者,因为您通常有多个相同窗口类型的副本。)
您不能约束鼠标光标本身,但如果您实现自定义Tool
并使用InputPoint
该类,您可以有选择地确定用户单击时什么是有效的插入点。您还可以在视口中绘制虚拟线和多边形以预览您的窗口。
利润!