You are on page 1of 5

(

Rollout CabinetTool " A Simple Cabinet Door"


(
local collectBoxes = #()
local A = 730.0
local B = 600.0
local C = 60.0
local D = 22.0
local E = 4.0
local F = 120.0
local currentBoxes = #()
-------------------------------------
Group ""
(
spinner count_1 "Height: " range:[10,10000,A]type:#worldUnits
spinner count_2 "Width: " range:[10,10000,B]type:#worldUnits
spinner count_3 "Panel Width: " range:[10,10000,C]type:#worldUnits
spinner count_4 "Thickness: " range:[10,10000,D]type:#worldUnits
spinner count_5 "Offset Door: " range:[0,10000,E]type:#worldUnits
spinner count_6 "Ground Position: " range:[0,10000,F]type:#worldUnits
)
------------------------------------
edittext groupName "groupName" text:" Cabinet Door "
button groupNow "Group"
------------------------------------
Group ""
(
Label a1 ""
button create " Create me ! "
Label a2 ""
)
Group ""
(
)
----------------------------------
Group ""
(
button clearOld "Clear Old Boxes"
)
----------------------------------
Group ""
(
)
---------------------------------
Group " "
(
)
----------------------------------
Group ""
(
)
----------------------------------
on groupNow pressed do
(
if groupName.text.count == 0 then messagebox "Door"
else
(
if currentboxes.count!=0 do
(
group currentboxes prefix:(groupname.text)
)
)
)
-------------------------------
-- lanhaibo begin --
on count_1 changed val do
(
A = val ;format "changed val A:%\n" A
)
on count_1 entered do
(
A = count_1.value;format "entered A : %\n" A
)
---------------------------------
on count_2 changed val do
(
B = val ;format "changed val B:%\n" B
if val >= 600 do messagebox "STOP ! Door is too BiG !"
)
on count_2 entered do
(
B = count_2.value;format "entered B:%\n" B
if count_2.value >= 600 do messagebox "STOP ! Door is too BiG !"
)
-------------------------------------
on count_3 changed val do
(
C = val ;format "changed val C:%\n" C
)
on count_3 entered do
(
C = count_3.value;format "entered C:%\n" C
)

-------------------------------------
on count_4 changed val do
(
D = val ;format "changed val D:%\n" D
)
on count_4 entered do
(
D = count_4.value;format "entered D:%\n" D
)
------------------------------------
-- Door Offset --
on count_5 changed val do
(
E = val ;format "changed val E:%\n" E
)
on count_5 entered do
(
E = count_5.value;format "entered E:%\n" E
)
-------------------------------------
-- Ground Position --
on count_6 changed val do
(
F = val ;format "changed val F:%\n" F
)
on count_6 entered do
(
F = count_6.value;format "entered F:%\n" F
)
-----------------------------------
on clearOld pressed do try(delete collectboxes)catch()
-----------------------------------
on create pressed do
(
collectBoxes = #()
-- init --
currentboxes = #()
----------------------------------
mybox1 = box length:D width:(C-(E/2)) height:(A-E)
mybox1.name ="Left PaneL"
mybox1.pos = [((B-B)+(C/2)+(E/4)),(C-C),(F+(E/2))]
rot_box = eulerangles 0 0 0
rotate mybox1 rot_box
append collectboxes mybox1
--------------------------------
mybox2 = box length:D width:(C-(E/2)) height:(A-E)
mybox2.name ="Right PaneL"
mybox2.pos = [(B*1-(C/2)-(E/4)),(C-C),(F+(E/2))]
rot_box = eulerangles 0 0 0
rotate mybox2 rot_box
append collectboxes mybox2
------------------------------------
mybox = box length:D width:C height:((B-E)-(C*2))
mybox.name ="Bottom PaneL"
mybox.pos = [((B-B)+(E/2)+C),(C-C),(F+(E/2)+(C/2))]
rot_box = eulerangles 0 90 0
rotate mybox rot_box
append collectboxes mybox
------------------------------------
mybox4 = box length:D width:C height:((B-E)-(C*2))
mybox4.name ="Top PaneL"
mybox4.pos = [((B-B)+(E/2)+C),(C-C),(F+A-(C/2)-(E/2))]
rot_box = eulerangles 0 90 0
rotate mybox4 rot_box
append collectboxes mybox4
-----------------------------------
mybox5 = box length:((B-E)-(C*3)) width:(D/3) height:((A-E)-(C*3))
mybox5.name ="Big Table"
mybox5.pos = [(B/2),((C-C)-(D/6)),(F +(E/2)+(C)+(C/2))]
rot_box = eulerangles 0 0 90
rotate mybox5 rot_box
append collectboxes mybox5
------------------------------------

mybox3 = box length:((B-E)-(C*3)-(E)) width:(D/6) height:((A)-(E*2)-(C*3))


mybox3.name ="Small Table"
mybox3.pos = [(B/2),(C-C-(D/2.4)),(F+E+C+(C/2))]
rot_box = eulerangles 0 0 90
rotate mybox3 rot_box
append collectboxes mybox3 ---
----------------------------------

mybox6 = box length:((B)-(C*2)) width:(D/2) height:(A-(E))


mybox6.name ="Big Table"
mybox6.pos = [(B/2),((C-C)+(D/4)),(F +(E/2))]
rot_box = eulerangles 0 0 90
rotate mybox6 rot_box
append collectboxes mybox6
-------------------------------------
append currentboxes mybox
append currentboxes mybox1
append currentboxes mybox2
append currentboxes mybox3
append currentboxes mybox4
append currentboxes mybox5
append currentboxes mybox6
)
)
-- createDialog CabinetTool -- changed by lanhaibo . comm this line .
------------------------------------------------------------------------
-- open the dialog
local newFloaterRolloutMeSelfAndI = newRolloutFloater " ** Door ** " 200 500
50 50 -- added by lanhaibo
addrollout CabinetTool newFloaterRolloutMeSelfAndI -- added by lanhaibo .

You might also like