SketchUp的自动化实战 (三)随机贴图
今天来学习一个随机贴图插件,
学习两种不同的实现。
随机贴图插件功能是:
收集选择区域中面上的材质,
随机分配给其它没有材质的面、组、组件。
并思考两个问题:
一:对比另外一种高效解法
二:什么是四色定理
思路分析
-
对选中对象进行处理,收集所有面上的材质;
-
收集没有材质的面/组/组件;
-
遍历面/组/组件,从收集的材质中随机赋值到目标实体;
通过model.selection
获取当前选中的实体,
把面上的材质、没有材质的面、组、组件收集起来
对应代码:
model = Sketchup.active_model
ents = model.active_entities
sel = model.selection
# faces用来存储没有材质的面
# groups用来存储组/组件
# mats用来存储材质
faces = []
groups = []
mats = []
# 遍历选中实体,收集材质/面/组/组件
sel.each do |e|
if e.is_a