Forum Groups
  All forums
    Help & Feedback
      Questions
      Work in progress
      Finished Art
      Non-Max related
    Community
      Offtopic
      News
    Hardware
    Photography



Maxunderground news unavailable

Does the "Imprint" work in maxscript for ProBooleans?
show user profile  256
Anybody know

Does the "Imprint" work in maxscript for ProBooleans? I cant get it to work on my simple example. It should result in my sphere called sdome having 2 circular curves imprinted on it from their other 2 spheres. This is what I have but all it does is do a subtraction not just leave imprint.

thanks

script below...try it and test if you want.

------------

resetMaxFile #noPrompt

sdome = sphere name:"imprinted" radius:10 segments:60 position [0,0,0]

i = sphere name:"MOON1" radius:10 segments:60 position:[0,5,10]

i2 = sphere name:"MOON2" radius:10 segments:60 position:[-9,8,10]

ProBoolean.createBooleanObjects sdome #(i2,i) 2 0 0

ProBoolean.SetImprint sdome true --checks imprint box
read 976 times
12/23/2011 10:25:38 PM (last edit: 12/23/2011 10:25:38 PM)
show user profile  ccampbell
I have also had this issue in The recent past. My research on the matter actually shows that the imprint and cookie maxscript functions are broken currently. Try updating your service pack for Max and see if any news updates have been released. Alternatively here is a link that explains how to access the imprint and cookie check boxes via UIAccessor control. This method is far more complex but should get the job done.
http://community.softimage.com/forum/autodesk-3ds-max/maxscript/proboolean-imprint-option-doesnt-work/




$Entrepreneur = if((Designer + Engineer)*Programmer){Problem Solver};



read 952 times
12/24/2011 5:55:58 PM (last edit: 12/24/2011 5:55:58 PM)
show user profile  ccampbell
Not sure if you still need it Ive placed the code below for the imprint give it a try should work.Good Luck

--Function to SET BOOL OPERANDS AND PROPERTIES

function BoolSubKeepEdges SubObj1 SubObj2 =
(
max modify mode
proboolean.setoperandA SubObj1
proboolean.SetBoolOp SubObj1 2 -- set subtract boolean op
proboolean.SetImprint subobj1 true
proboolean.SetPlanarEdgeRemoval SubObj1 2
proboolean.setDisplayResult SubObj1 true
proboolean.setoperandB SubObj1 SubObj2 2 0
ConvertToMesh SubObj1
)

--EXECUTE BOOLEAN w/ Imprint

BoolSubKeepEdges SubOBJ1 SubOBJ2




$Entrepreneur = if((Designer + Engineer)*Programmer){Problem Solver};



read 894 times
1/16/2012 7:31:00 PM (last edit: 1/16/2012 7:31:00 PM)
show user profile  Garp
That's weird.
Using your code (256's) as is gets me what you get, a subtraction.
Enclosing the code in parentheses (except the first line) works as expected.

My guess is that when executed at the global scope, everything is done on the fly. So by the time mxs reaches setImprint(), the subtraction has already been performed.
Whereas in local scope, it must somehow read ahead before doing anything.
...?

edit: running the first version, if after I select the object and click on the Change Operation button (without doing anything else) then the mesh updates to the imprinted version.
Same thing if I run the script without the last line, then select and check Imprint: I have to click on Change Operation to get the geometry to update, even though the Update option is set to Always by default.
Looks like a minor bug.




read 882 times
1/17/2012 4:02:46 AM (last edit: 1/17/2012 4:13:57 AM)
#Maxforums IRC
Open chat window


Support Maxforums.org