SketchUp的自动化实战 (二)获取内部空间

SketchUp的自动化实战 (二)获取内部空间

之前在做光伏插件的时候用到了投影功能,

投影功能有很多应用场景,

今天我们来制作一个获取柜体 内部空间 的插件。

获取柜体内部空间


获取内部抠门空间演示1

(获取内部抠门空间演示1)

在这里插入图片描述

(获取内部抠门空间演示2)
思路分析
  • 通过InputPoint.pick获取鼠标在内部空间点击的位置;

  • 通过Model.raytest获取当前点往XZY轴六个方向的投影面;

  • 通过获取内部空间的5个投影面推断出开口面;

1、获取鼠标当前位置

我们定义一个工具类去实现释放鼠标左键的响应的事件,

再通过InputPoint.pick获取点击模型上的点:

在这里插入图片描述

(获取鼠标点击模型上的点)

对应代码:

class InnerSpace
	# ...
  # 左键松开事件
  def onLButtonUp(_flags, x, y, view)
    # 通过视图获取点坐标
    pick_point = Sketchup::InputPoint.new
    pick_point.pick(view, x, y)
    pick_point.position
    # ...
  end
  # ...
end
2、往6个方向投影

再通过Model.raytest往XYZ方向投影,

收集投影线击中的物体:

在这里插入图片描述

<
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值