-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathself_illum.ms
63 lines (53 loc) · 1.57 KB
/
self_illum.ms
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/*
Andrew McWhae 2014
Converts current selection to blueprints
- puts objects on layer called "_Blueprints" by default (this is editable)
- sets renderable to False
- sets frozen in gray to False
- if material is applied, sets self-illunimation to True
*/
macroScript SetBP category:"Drew" tooltip:"Useful for setting blueprints"
(
fn SetAsBP layername renderable showgray layerfrozen sil =
(
if (selection.count > 0) then
(
layerBP = layermanager.newLayerFromName layername
SI = False
for obj in (selection as array) do
(
layerBP.addNode obj
obj.renderable = renderable
obj.showFrozenInGray = showgray
if (obj.material != undefined) then
(
obj.material.selfIllumAmount = sil
SI = True
)
)
if (SI == False) then messageBox "No maps to apply self illumination to." title:"No maps found"
clearSelection()
layerBP.isfrozen = layerfrozen
)
else messageBox "No objects are selected" title:"Nothing selected"
)
rollout blueprints "Set blueprints"
(
-- ui elements
label info1 "Select objects to set as blueprints"
group "Options"
(
checkbox renderable "Renderable" checked:False
checkbox grayfrozen "Show frozen in gray" checked:False
checkbox freezelayer "Freeze layer" checked:True
spinner selfillum "Self illumination: " range:[0,100,100] type:#integer
)
edittext layerName "Layer name: " text:"_Blueprints"
Button setBP "Set"
-- event handlers
on setBP pressed do
SetAsBP layerName.text renderable.checked grayfrozen.checked freezelayer.checked selfillum.value
)
createDialog blueprints width:200
)
macros.run "Drew" "SetBP"