Sketchup Ruby,为面部添加纹理

Sketchup Ruby, add texture to Face

我正在使用这个,添加绘制一个框,然后给框着色。

l=96
w=60
h=60
clr='Gray'
ent = Sketchup.active_model.entities

#---------Clear All
Sketchup.active_model.entities.clear!       
#----------------
model = Sketchup.active_model

model.start_operation "Create Box"
#-----------------------------------------------------------------------------      

entities = model.active_entities
group = entities.add_group
entities = group.entities
group.name = "Box"
@pt0 = [0, 0, 0]
@pt1 = [0, l*12, 0]
@pt2 = [w*12.0, l*12, 0]
@pt3 = [w*12, 0, 0]

newface = entities.add_face(@pt0, @pt1, @pt2, @pt3)
newface.material = Sketchup::Color.new clr
newface.reverse!
newface.pushpull h*12

我也想添加纹理,但找不到如何做。

喜欢 "Metal Corrugated Shiny" 但无法找到如何做到这一点。

有人知道如何用ruby添加纹理吗?

您想要的元素是 Texture。这是 class 对象,它公开有关图像纹理的信息(例如宽度和高度、平均颜色等)。

设置纹理最简单的方法是直接在 material。

newface.material = Sketchup::Color.new clr
newface.material.texture = "C:\MyMaterialDirectory\MyMaterial.jpg"

显然,该文件需要是有效的图像并位于适当的目录中。

https://ruby.sketchup.com/Sketchup/Texture.html