allow colorization of homedecor kitchen cabinets

uses "fake" wallmounted mode, 32 colors.
master
Vanessa Dannenberg 2021-03-26 02:15:10 -04:00
parent eeec27f60b
commit 44542cb6a9
9 changed files with 444 additions and 118 deletions

View File

@ -9,16 +9,17 @@ homedecor.box = {
-- bottom slab (starting from -y) with height optionally shifted upwards -- bottom slab (starting from -y) with height optionally shifted upwards
slab_y = function(height, shift) return { -0.5, -0.5+(shift or 0), -0.5, 0.5, -0.5+height+(shift or 0), 0.5 } end, slab_y = function(height, shift) return { -0.5, -0.5+(shift or 0), -0.5, 0.5, -0.5+height+(shift or 0), 0.5 } end,
-- slab starting from -z (+z with negative depth) -- slab starting from -z (+z with negative depth)
slab_z = function(depth) slab_z = function(depth, shift)
-- for consistency with the other functions here, we have to assume that a "z" slab starts from -z and extends by depth, -- for consistency with the other functions here, we have to assume that a "z" slab starts from -z and extends by depth,
-- but since conventionally a lot of nodes place slabs against +z for player convenience, we define -- but since conventionally a lot of nodes place slabs against +z for player convenience, we define
-- a "negative" depth as a depth extending from the other side, i.e. +z -- a "negative" depth as a depth extending from the other side, i.e. +z
local s = shift or 0
if depth > 0 then if depth > 0 then
-- slab starting from -z -- slab starting from -z
return { -0.5, -0.5, -0.5, 0.5, 0.5, -0.5+depth } return { -0.5, -0.5, -0.5+s, 0.5, 0.5, -0.5+depth+s }
else else
-- slab starting from +z (z1=0.5-(-depth)) -- slab starting from +z (z1=0.5-(-depth))
return { -0.5, -0.5, 0.5+depth, 0.5, 0.5, 0.5 } return { -0.5, -0.5, 0.5+depth+s, 0.5, 0.5, 0.5+s }
end end
end, end,
bar_y = function(radius) return {-radius, -0.5, -radius, radius, 0.5, radius} end, bar_y = function(radius) return {-radius, -0.5, -radius, radius, 0.5, radius} end,

View File

@ -137,13 +137,18 @@ homedecor.register("dishwasher_"..m, {
end end
local cabinet_sides = "(default_wood.png^[transformR90)^homedecor_kitchen_cabinet_bevel.png" local cabinet_sides = "(default_wood.png^[transformR90)^homedecor_kitchen_cabinet_bevel.png"
local cabinet_sides_colored = "(homedecor_generic_wood_plain.png^[transformR90)^homedecor_kitchen_cabinet_bevel.png"
local cabinet_bottom = "(default_wood.png^[colorize:#000000:100)" local cabinet_bottom = "(default_wood.png^[colorize:#000000:100)"
.."^(homedecor_kitchen_cabinet_bevel.png^[colorize:#46321580)" .."^(homedecor_kitchen_cabinet_bevel.png^[colorize:#46321580)"
local cabinet_bottom_colored = "homedecor_generic_wood_plain.png^(homedecor_kitchen_cabinet_bevel.png^[colorize:#46321580)"
local function N_(x) return x end local function N_(x) return x end
local counter_materials = { "", N_("granite"), N_("marble"), N_("steel") } local counter_materials = { "", N_("granite"), N_("marble"), N_("steel") }
homedecor.kitchen_convert_nodes = {}
for _, mat in ipairs(counter_materials) do for _, mat in ipairs(counter_materials) do
local desc = S("Kitchen Cabinet") local desc = S("Kitchen Cabinet")
@ -154,26 +159,65 @@ for _, mat in ipairs(counter_materials) do
material = "_"..mat material = "_"..mat
end end
homedecor.register("kitchen_cabinet"..material, { homedecor.register("kitchen_cabinet_colorable"..material, {
description = desc, description = desc,
tiles = { 'homedecor_kitchen_cabinet_top'..material..'.png', tiles = {
cabinet_bottom, 'homedecor_kitchen_cabinet_top'..material..'.png',
cabinet_sides, cabinet_bottom,
cabinet_sides, cabinet_sides,
cabinet_sides, cabinet_sides,
'homedecor_kitchen_cabinet_front.png'}, cabinet_sides,
groups = { snappy = 3 }, 'homedecor_kitchen_cabinet_front.png'
},
mesh = "homedecor_kitchen_cabinet.obj",
paramtype2 = "wallmounted",
palette = "unifieddyes_palette_colorwallmounted.png",
airbrush_replacement_node = "homedecor:kitchen_cabinet_colored"..material,
place_param2 = 0,
groups = { snappy = 3, ud_param2_colorable = 1},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
infotext=S("Kitchen Cabinet"), infotext=S("Kitchen Cabinet"),
inventory = { inventory = {
size=24, size=24,
lockable=true, lockable=true,
}, },
after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
end
})
homedecor.kitchen_convert_nodes[#homedecor.kitchen_convert_nodes + 1] = "homedecor:kitchen_cabinet"..material
homedecor.kitchen_convert_nodes[#homedecor.kitchen_convert_nodes + 1] = "homedecor:kitchen_cabinet_locked"..material
homedecor.register("kitchen_cabinet_colored"..material, {
description = desc,
tiles = {
{name = 'homedecor_kitchen_cabinet_top'..material..'.png', color = 0xFFFFFFFF},
{name = cabinet_bottom, color = 0xFFFFFFFF },
cabinet_sides_colored,
cabinet_sides_colored,
cabinet_sides_colored,
'homedecor_kitchen_cabinet_colored_front.png'
},
mesh = "homedecor_kitchen_cabinet.obj",
paramtype2 = "colorwallmounted",
palette = "unifieddyes_palette_colorwallmounted.png",
groups = { snappy = 3, ud_param2_colorable = 1},
sounds = default.node_sound_wood_defaults(),
infotext=S("Kitchen Cabinet"),
inventory = {
size=24,
lockable=true,
},
after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
end
}) })
end end
local kitchen_cabinet_half_box = homedecor.nodebox.slab_y(0.5, 0.5) local kitchen_cabinet_half_box = homedecor.nodebox.slab_z(0.5, 0.5)
homedecor.register("kitchen_cabinet_half", {
homedecor.register("kitchen_cabinet_colorable_half", {
description = S('Half-height Kitchen Cabinet (on ceiling)'), description = S('Half-height Kitchen Cabinet (on ceiling)'),
tiles = { tiles = {
cabinet_sides, cabinet_sides,
@ -183,27 +227,71 @@ homedecor.register("kitchen_cabinet_half", {
cabinet_sides, cabinet_sides,
'homedecor_kitchen_cabinet_front_half.png' 'homedecor_kitchen_cabinet_front_half.png'
}, },
mesh = "homedecor_kitchen_cabinet_half.obj",
paramtype2 = "wallmounted",
palette = "unifieddyes_palette_colorwallmounted.png",
airbrush_replacement_node = "homedecor:kitchen_cabinet_colored_half",
place_param2 = 0,
selection_box = kitchen_cabinet_half_box, selection_box = kitchen_cabinet_half_box,
node_box = kitchen_cabinet_half_box, node_box = kitchen_cabinet_half_box,
groups = { snappy = 3 }, groups = { snappy = 3, ud_param2_colorable = 1 },
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
infotext=S("Kitchen Cabinet"), infotext=S("Kitchen Cabinet"),
inventory = { inventory = {
size=12, size=12,
lockable=true, lockable=true,
}, },
after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
end
}) })
homedecor.register("kitchen_cabinet_with_sink", { homedecor.kitchen_convert_nodes[#homedecor.kitchen_convert_nodes + 1] = "homedecor:kitchen_cabinet_half"
homedecor.kitchen_convert_nodes[#homedecor.kitchen_convert_nodes + 1] = "homedecor:kitchen_cabinet_half_locked"
homedecor.register("kitchen_cabinet_colored_half", {
description = S('Half-height Kitchen Cabinet (on ceiling)'),
tiles = {
{ name = cabinet_sides, color = 0xFFFFFFFF },
cabinet_bottom_colored,
cabinet_sides_colored,
cabinet_sides_colored,
cabinet_sides_colored,
'homedecor_kitchen_cabinet_colored_front_half.png'
},
mesh = "homedecor_kitchen_cabinet_half.obj",
paramtype2 = "colorwallmounted",
palette = "unifieddyes_palette_colorwallmounted.png",
selection_box = kitchen_cabinet_half_box,
node_box = kitchen_cabinet_half_box,
groups = { snappy = 3, ud_param2_colorable = 1 },
sounds = default.node_sound_wood_defaults(),
infotext=S("Kitchen Cabinet"),
inventory = {
size=12,
lockable=true,
},
after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
end
})
homedecor.register("kitchen_cabinet_colorable_with_sink", {
description = S("Kitchen Cabinet with sink"), description = S("Kitchen Cabinet with sink"),
mesh = "homedecor_kitchen_sink.obj", mesh = "homedecor_kitchen_sink.obj",
tiles = { tiles = {
"homedecor_kitchen_sink_top.png", "homedecor_kitchen_sink_top.png",
"homedecor_kitchen_cabinet_front.png", cabinet_bottom,
cabinet_sides, cabinet_sides,
cabinet_bottom cabinet_sides,
cabinet_sides,
"homedecor_kitchen_cabinet_front.png"
}, },
groups = { snappy = 3 }, paramtype2 = "wallmounted",
palette = "unifieddyes_palette_colorwallmounted.png",
airbrush_replacement_node = "homedecor:kitchen_cabinet_colored_with_sink",
place_param2 = 0,
groups = { snappy = 3, ud_param2_colorable = 1 },
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
infotext=S("Under-sink cabinet"), infotext=S("Under-sink cabinet"),
inventory = { inventory = {
@ -222,6 +310,50 @@ homedecor.register("kitchen_cabinet_with_sink", {
}, },
on_destruct = function(pos) on_destruct = function(pos)
homedecor.stop_particle_spawner({x=pos.x, y=pos.y+1, z=pos.z}) homedecor.stop_particle_spawner({x=pos.x, y=pos.y+1, z=pos.z})
end,
after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
end
})
homedecor.kitchen_convert_nodes[#homedecor.kitchen_convert_nodes + 1] = "homedecor:kitchen_cabinet_with_sink"
homedecor.kitchen_convert_nodes[#homedecor.kitchen_convert_nodes + 1] = "homedecor:kitchen_cabinet_with_sink_locked"
homedecor.register("kitchen_cabinet_colored_with_sink", {
description = S("Kitchen Cabinet with sink"),
mesh = "homedecor_kitchen_sink.obj",
tiles = {
{ name = "homedecor_kitchen_sink_top.png", color = 0xFFFFFFFF },
{ name = cabinet_bottom, color = 0xFFFFFFFF},
cabinet_sides_colored,
cabinet_sides_colored,
cabinet_sides_colored,
"homedecor_kitchen_cabinet_colored_front.png",
},
paramtype2 = "colorwallmounted",
palette = "unifieddyes_palette_colorwallmounted.png",
groups = { snappy = 3, ud_param2_colorable = 1 },
sounds = default.node_sound_wood_defaults(),
infotext=S("Under-sink cabinet"),
inventory = {
size=16,
lockable=true,
},
node_box = {
type = "fixed",
fixed = {
{ -8/16, -8/16, -8/16, 8/16, 6/16, 8/16 },
{ -8/16, 6/16, -8/16, -6/16, 8/16, 8/16 },
{ 6/16, 6/16, -8/16, 8/16, 8/16, 8/16 },
{ -8/16, 6/16, -8/16, 8/16, 8/16, -6/16 },
{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 },
}
},
on_destruct = function(pos)
homedecor.stop_particle_spawner({x=pos.x, y=pos.y+1, z=pos.z})
end,
after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
end end
}) })
@ -555,3 +687,29 @@ minetest.register_craft({
{ "homedecor:toilet_paper", "homedecor:toilet_paper" } { "homedecor:toilet_paper", "homedecor:toilet_paper" }
}, },
}) })
minetest.register_lbm({
name = ":homedecor:convert_kitchen_cabinets",
label = "Convert homedecor kitchen cabinets to use [color]wallmounted",
run_at_every_load = false,
nodenames = homedecor.kitchen_convert_nodes,
action = function(pos, node)
local name = node.name
local newname = string.gsub(name, "_cabinet", "_cabinet_colorable")
local old_fdir = math.floor(node.param2 % 32)
local new_fdir = 3
if old_fdir == 0 then
new_fdir = 3
elseif old_fdir == 1 then
new_fdir = 4
elseif old_fdir == 2 then
new_fdir = 2
elseif old_fdir == 3 then
new_fdir = 5
end
minetest.set_node(pos, { name = newname, param2 = new_fdir })
end
})

View File

@ -0,0 +1,50 @@
# Blender v2.83.5 OBJ File: 'kitchen_cabinet.blend'
# www.blender.org
o Cube_Cube.001
v 0.500000 -0.500000 -0.500000
v 0.500000 -0.500000 0.500000
v -0.500000 -0.500000 -0.500000
v -0.500000 -0.500000 0.500000
v 0.500000 0.500000 -0.500000
v 0.500000 0.500000 0.500000
v -0.500000 0.500000 -0.500000
v -0.500000 0.500000 0.500000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 1.000000 0.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 0.000000 0.000000
vt 0.000000 1.000000
vt 1.000000 -0.000000
vt 1.000000 1.000000
vt -0.000000 0.000000
vt 1.000000 -0.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.000000
vt 1.000000 -0.000000
vn 0.0000 0.0000 1.0000
vn 0.0000 0.0000 -1.0000
vn 0.0000 1.0000 0.0000
vn 0.0000 -1.0000 0.0000
vn -1.0000 0.0000 0.0000
vn 1.0000 0.0000 0.0000
g Cube_Cube.001_top
s off
f 8/1/1 4/2/1 2/3/1 6/4/1
g Cube_Cube.001_bottom
f 7/5/2 5/6/2 1/7/2 3/8/2
g Cube_Cube.001_right
f 5/9/3 7/5/3 8/1/3 6/10/3
g Cube_Cube.001_left
f 4/2/4 3/8/4 1/11/4 2/12/4
g Cube_Cube.001_back
f 7/13/5 3/14/5 4/15/5 8/16/5
g Cube_Cube.001_front
f 6/17/6 2/18/6 1/19/6 5/20/6

View File

@ -0,0 +1,52 @@
# Blender v2.83.5 OBJ File: 'kitchen_cabinet_half.blend'
# www.blender.org
o Cube_Cube.001
v 0.500000 -0.500000 0.500000
v -0.500000 -0.500000 -0.000000
v -0.500000 -0.500000 0.500000
v 0.500000 0.500000 -0.000000
v 0.500000 0.500000 0.500000
v -0.500000 0.500000 -0.000000
v -0.500000 0.500000 0.500000
v 0.500000 -0.500000 0.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.500000
vt 1.000000 0.500000
vt 1.000000 1.000000
vt -0.000000 0.500000
vt 1.000000 0.500000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 1.000000 0.500000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 1.000000 0.500000
vn 0.0000 0.0000 1.0000
vn 0.0000 -0.0000 -1.0000
vn 0.0000 1.0000 0.0000
vn 0.0000 -1.0000 0.0000
vn -1.0000 0.0000 0.0000
vn 1.0000 -0.0000 0.0000
g Cube_Cube.001_top
s off
f 1/1/1 5/2/1 7/3/1 3/4/1
g Cube_Cube.001_bottom
f 2/5/2 6/6/2 4/7/2 8/8/2
g Cube_Cube.001_right
f 7/3/3 5/9/3 4/10/3 6/11/3
g Cube_Cube.001_left
f 1/12/4 3/4/4 2/13/4 8/14/4
g Cube_Cube.001_back
f 3/15/5 7/16/5 6/17/5 2/18/5
g Cube_Cube.001_front
f 5/19/6 1/20/6 8/21/6 4/22/6

View File

@ -1,101 +1,166 @@
v -0.5 -0.5 -0.5 # Blender v2.83.5 OBJ File: 'kitchen_sink.blend'
v 0.5 -0.5 -0.5 # www.blender.org
v 0.5 -0.5 0.5 o Cube_Cube.001
v -0.5 -0.5 0.5 v 0.500000 -0.500000 -0.500000
v -0.5 0.5 0.5 v 0.500000 -0.500000 0.500000
v -0.5 0.5 -0.5 v -0.500000 -0.500000 -0.500000
v 0.5 0.5 -0.5 v -0.500000 -0.500000 0.500000
v 0.5 0.5 0.5 v 0.500000 0.500000 -0.500000
v -0.387 0.5 0.388 v 0.500000 0.500000 0.500000
v -0.387 0.5 -0.387 v -0.500000 0.500000 -0.500000
v 0.388 0.5 -0.387 v -0.500000 0.500000 0.500000
v 0.388 0.5 0.388 v 0.000000 -0.500000 0.500000
v -0.387 0.4 0.388 v 0.000000 0.500000 0.500000
v -0.387 0.4 -0.387 v 0.000000 0.062500 0.437500
v 0.388 0.4 -0.387 v -0.062500 0.062500 0.375000
v 0.388 0.4 0.388 v 0.062500 0.062500 0.375000
v 0.063 0.4 -0.062 v 0.062500 -0.062500 0.437500
v 0.063 0.4 0.063 v 0.000000 -0.062500 0.437500
v -0.062 0.4 -0.062 v 0.062500 -0.062500 0.375000
v -0.062 0.4 0.063 v -0.062500 -0.062500 0.437500
v 0.063 0.313 0.063 v -0.062500 0.062500 0.437500
v 0.063 0.313 -0.062 v -0.062500 -0.062500 0.375000
v -0.062 0.313 0.063 v 0.000000 0.375000 0.437500
v -0.062 0.313 -0.062 v 0.062500 0.062500 0.437500
vt 0.469 0.906 v 0.000000 -0.375000 0.437500
vt 0.469 0.531 v -0.375000 -0.375000 0.437500
vt 0.531 0.469 v -0.375000 0.375000 0.500000
vt 0.531 0.969 v -0.375000 0.375000 0.437500
vt 0.031 0.969 v 0.375000 0.375000 0.437500
vt 0.094 0.906 v 0.000000 0.375000 0.500000
vt 0.031 0.469 v 0.375000 0.375000 0.500000
vt 0.094 0.531 v 0.000000 -0.375000 0.500000
vt 0.813 0.5 v 0.375000 -0.375000 0.500000
vt 0.813 0.938 v 0.375000 -0.375000 0.437500
vt 0.781 0.938 v -0.375000 -0.375000 0.500000
vt 0.781 0.5 vt 0.437500 0.375000
vt 0.688 0.5 vt 0.562500 0.437500
vt 0.719 0.5 vt 0.437500 0.437500
vt 0.719 0.938 vt 0.125000 0.875000
vt 0.688 0.938 vt 0.875000 0.875000
vt 0.906 0.5 vt 1.000000 1.000000
vt 0.906 0.938 vt 0.625000 0.500000
vt 0.875 0.938 vt 0.625000 0.562500
vt 0.875 0.5 vt 0.562500 0.562500
vt 0.594 0.5 vt 0.875000 0.062500
vt 0.625 0.5 vt 0.125000 0.125000
vt 0.625 0.938 vt 0.125000 0.062500
vt 0.594 0.938 vt 0.875000 0.875000
vt 0.313 0.75 vt 0.437500 0.562500
vt 0.313 0.688 vt 0.562500 0.562500
vt 0.25 0.688 vt 0.875000 0.125000
vt 0.25 0.75 vt 0.125000 0.125000
vt 0.219 0.375 vt 0.000000 0.000000
vt 0.219 0.313 vt 0.375000 0.500000
vt 0.25 0.313 vt 0.375000 0.437500
vt 0.25 0.375 vt 0.437500 0.625000
vt 0.25 0.406 vt 0.437500 0.562500
vt 0.313 0.375 vt 0.875000 0.500000
vt 0.313 0.406 vt 0.875000 0.125000
vt 0.313 0.313 vt 0.937500 0.500000
vt 0.344 0.313 vt 0.125000 0.500000
vt 0.344 0.375 vt 0.125000 0.875000
vt 0.25 0.281 vt 0.062500 0.875000
vt 0.313 0.281 vt 0.562500 0.437500
vt 0 0 vt 0.437500 0.437500
vt 1 0 vt 0.125000 0.937500
vt 1 1 vt 0.875000 0.937500
vt 0 1 vt 0.937500 0.125000
vn 0 1 0 vt 0.937500 0.875000
vn -1 0 0 vt 0.062500 0.500000
vn 0 0 -1 vt 0.062500 0.125000
vn 1 0 0 vt 0.562500 0.375000
vn 0 0 1 vt 0.625000 0.437500
vn 0 -1 0 vt 0.375000 0.562500
g 1 vt 0.562500 0.625000
vt 0.562500 0.500000
vt 0.437500 0.500000
vt 0.000000 1.000000
vt 0.000000 0.500000
vt 0.125000 0.500000
vt 0.875000 0.500000
vt 1.000000 0.500000
vt 1.000000 0.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 0.500000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 0.500000 1.000000
vt 1.000000 -0.000000
vt 1.000000 1.000000
vt -0.000000 0.000000
vt 1.000000 -0.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.000000
vt 1.000000 -0.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vn -1.0000 0.0000 0.0000
vn 0.0000 0.0000 1.0000
vn -0.0000 -1.0000 0.0000
vn 0.0000 1.0000 -0.0000
vn 1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
g Cube_Cube.001_top
s off s off
f 9/1/1 10/2/1 6/3/1 5/4/1 f 14/1/1 13/2/1 16/3/1
f 5/4/1 8/5/1 12/6/1 9/1/1 f 32/4/2 24/5/2 8/6/2
f 7/7/1 6/3/1 10/2/1 11/8/1 f 11/7/3 18/8/3 12/9/3
f 8/5/1 7/7/1 11/8/1 12/6/1 f 28/10/1 31/11/1 30/12/1
f 15/9/2 16/10/2 12/11/2 11/12/2 f 25/13/2 17/14/2 18/15/2
f 16/13/3 13/14/3 9/15/3 12/16/3 f 28/16/2 30/17/2 2/18/2
f 13/17/4 14/18/4 10/19/4 9/20/4 f 15/19/4 14/20/4 16/3/4
f 14/21/5 15/22/5 11/23/5 10/24/5 f 12/9/5 17/21/5 19/22/5
f 13/2/1 16/1/1 18/25/1 20/26/1 f 20/23/3 26/24/3 27/25/3
f 19/27/1 14/8/1 13/2/1 20/26/1 f 22/26/4 23/27/4 32/28/4
f 17/28/1 15/6/1 14/8/1 19/27/1 f 26/24/2 21/29/2 14/30/2
f 16/1/1 15/6/1 17/28/1 18/25/1 f 32/31/5 25/13/5 24/32/5
f 17/29/2 22/30/2 21/31/2 18/32/2 f 12/9/2 19/22/2 16/3/2 13/2/2
f 18/33/3 21/32/3 23/34/3 20/35/3 f 28/10/1 26/24/1 31/11/1
f 20/34/4 23/36/4 24/37/4 19/38/4 f 26/24/3 28/33/3 27/25/3
f 19/31/5 24/39/5 22/40/5 17/36/5 f 27/25/3 24/34/3 20/23/3
f 24/27/1 23/26/1 21/25/1 22/28/1 f 24/34/3 25/13/3 20/23/3
g 2 f 32/28/4 29/35/4 22/26/4
f 2/41/3 1/42/3 6/43/3 7/44/3 f 29/35/4 30/36/4 22/26/4
g 3 f 30/36/4 31/11/4 22/26/4
f 1/41/2 4/42/2 5/43/2 6/44/2 f 32/31/5 23/27/5 25/13/5
f 2/42/4 7/43/4 8/44/4 3/41/4 f 14/1/1 21/37/1 13/2/1
f 4/41/5 3/42/5 8/43/5 5/44/5 f 12/9/3 13/2/3 11/7/3
g 4 f 13/2/3 21/38/3 11/7/3
f 1/43/6 2/44/6 3/41/6 4/42/6 f 16/3/4 19/22/4 15/19/4
f 19/22/4 17/39/4 15/19/4
f 12/9/5 18/40/5 17/21/5
f 11/41/2 20/23/2 18/15/2
f 20/23/2 25/13/2 18/15/2
f 25/13/2 23/27/2 17/14/2
f 23/27/2 22/26/2 17/14/2
f 22/26/2 15/42/2 17/14/2
f 14/30/2 15/42/2 22/26/2
f 22/26/2 31/11/2 14/30/2
f 31/11/2 26/24/2 14/30/2
f 26/24/2 20/23/2 21/29/2
f 20/23/2 11/41/2 21/29/2
f 4/43/2 9/44/2 32/4/2
f 9/44/2 29/45/2 32/4/2
f 27/46/2 10/47/2 24/5/2
f 10/47/2 8/6/2 24/5/2
f 4/43/2 32/4/2 8/6/2
f 6/48/2 10/47/2 28/16/2
f 10/47/2 27/46/2 28/16/2
f 29/45/2 9/44/2 30/17/2
f 9/44/2 2/18/2 30/17/2
f 6/48/2 28/16/2 2/18/2
g Cube_Cube.001_bottom
f 5/49/6 1/50/6 3/51/6 7/52/6
g Cube_Cube.001_right
f 8/6/4 10/53/4 6/54/4 5/55/4 7/52/4
g Cube_Cube.001_left
f 9/56/3 4/43/3 3/51/3 1/57/3 2/58/3
g Cube_Cube.001_back
f 7/59/1 3/60/1 4/61/1 8/62/1
g Cube_Cube.001_front
f 1/63/5 5/64/5 6/65/5 2/66/5

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 B

After

Width:  |  Height:  |  Size: 95 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 358 B

After

Width:  |  Height:  |  Size: 286 B