Notifications
Clear all
[Closed] Problem with maxscript selection
Jun 29, 2005 11:00 am
Hello.
I’m new to this forum, just started with maxscript and facing basic problems. I have written this small utility (floater):
(
rollout testD "PointCache"
(
button PointCache_Record "Record" pos:[1,75] width:110
button PointCacheSet "PC_Set" pos:[1,100] width:50
button PointCacheToggle "PCToggle" pos:[60,100] width:50
Spinner PCSamples "Samples:" type:#integer range:[0,30,2] pos:[10,48]
Spinner STime "Start Time:" type:#float range:[-10000,10000,0] pos:[2,1]
Spinner ETime "End Time:" type:#float range:[-10000,10000,100] pos:[5,21]
on PointCache_Record pressed do
(
(
try
(
macros.run "Modifiers" "PointCache"
$.Point_cache.samples = (PCSamples.value as Integer)
$.Point_cache.start_time = (STime.value as float)
$.Point_cache.end_time = (ETime.value as float)
$.Point_cache.Record ()
)
catch
(
messageBox "Select only one object" title:"Unknown Selection Type" beep:true
)
)
)
on PointCacheSet pressed do
(
(
try
(
macros.run "Modifiers" "PointCache"
$.modifiers[#Point_Cache].samples = (PCSamples.value as Integer)
$.modifiers[#Point_Cache].SetCache ()
)
catch
(
messageBox "Select only one object" title:"Unknown Selection Type" beep:true
)
)
)
on PointCacheToggle pressed do
(
try
(
for i in selection do (i.modifiers["Pointcache"].enabled=not(i.modifiers["Pointcache"].enabled))
)
catch
(
messageBox "This object has no pointcache modifier" title:"MissingModifier Error" beep:true
)
)
)
newF = newrolloutfloater "Pointcache" 125 155
addrollout testD newF
)
My main aim is to have support for multiple objects. So, If I have five objects selected then utility takes their names and automatically uses them as pointcache file names.
User have to press a button “reccord” and point to a specified folder then script doest the rest. This is idea for now.
Second script which doesn’t work with multiple objects. I’m stuck here. Any help is very welcome.
(
SelctedObj = selection as array
if (SelctedObj.count == 1) and (classof $.baseobject != geometry) then
(
try
(
for i in selection do (i.modifiers["Turbosmooth"].enabled=not(i.modifiers["Turbosmooth"].enabled))
)
catch
(
(
rollout TSAppIter "TSAppIter" width:189 height:30
(
spinner TSAppIterSpin "" type:#integer range:[0,3,1] pos:[1,6]
button TSAppGo "go!" pos:[155,5]
label lbl3 "set iterations" pos:[90,8]
on TSAppGo pressed do
(
macros.run "Modifiers" "TurboSmoothMod"
$.Turbosmooth.iterations = (TSAppIterSpin.value as Integer)
destroyDialog TSAppIter
)
)
createDialog TSAppIter pos:[mouse.screenpos.x, mouse.screenpos.y] modal:false style:#(#style_border)
)
)
)
else (
(messagebox "Select some Geometry")
)
)
Thank you.
1 Reply
Jun 29, 2005 11:00 am
So I think this will solve your problem for the second script:
(
rollout TSAppIter "TSAppIter" width:189 height:30
(
spinner TSAppIterSpin "" type:#integer range:[0,3,1] pos:[1,6]
button TSAppGo "go!" pos:[155,5]
label lbl3 "set iterations" pos:[90,8]
on TSAppGo pressed do
(
for i in selection do
(
if classof i.baseobject != geometry then
(
try(i.modifiers["Turbosmooth"].enabled = not(i.modifiers["Turbosmooth"].enabled))
catch
(
addModifier i (TurboSmooth())
i.Turbosmooth.iterations = (TSAppIterSpin.value as Integer)
destroyDialog TSAppIter
)
)
)
)
)
createDialog TSAppIter pos:[mouse.screenpos.x, mouse.screenpos.y] modal:false style:#(#style_border)
)
-RyanT
Pipeworks Software
Foundation 9