概要
windows11に、sketchup6を入れてみた。
rubyで、3Dを書く。
練習問題やってみた。
練習問題
stlローダーを書け。
写真
サンプルコード
require "sketchup.rb"
def stl_ld
entities = Sketchup.active_model.entities
groups = {}
vertices = []
state = 0
f = UI.openpanel "Select .stl file", "", "*.stl"
return unless f
lines = IO.readlines(f)
lines.each do | line |
next if line[0] == ?#
line.strip!
values = line.split
next if values.length == 0
cmd = values.shift
case cmd
when "facet"
state = 0
vertices = []
when "vertex"
state = state + 1
v = []
v << Float(values[0])
v << Float(values[2])
v << Float(values[1])
vertices << v
if (state == 3)
begin
entities.add_face vertices
rescue
UI.messagebox "err"
p vertices
end
end
end
end
end
以上。