Jump to content

assigning new constraints to solver


Recommended Posts

a little bit tricky to explain my point of needed help:

building a system for bending metal. I'm not using softconstraints rather hard constraints. In the constraintnetwork sopsolver I pick the original constraints, copy the 4matrix from the geo and want assign the new constraint network back to the bulletsolver.
First problem: How to solve the usage of the new constraints, seems like the rbddolver dont use them. I think there is a big mistake in my setup. At an other state I already posted in SFX Forums and get a plausible help from "Miccetro" (https://www.sidefx.com/forum/topic/79064/). But as I wrote I want to go with hardconstraints and change the constraints. So could anyone have a look at my hip and examine it for eventually furher help? ^^

Keep healthy.


Link to comment
Share on other sites

I'm not quiet sure I am following what you are wanting to do so tell me if I am mistaken here:
You are trying to create a metal bending system using hard constraints but you'd like the ability to change the constraint type during the sim? Or is there another reason you are remaking the constraints inside the sopsolver connected to the constraint network?

My solution here is going to be based on the assumption that you are actually trying to change the constraint type mid-sim so feel free to ignore this part if I have completely misunderstood what you are trying to do.
To change a constraints type mid sim is actually pretty straightforward, at least as far as I remember. All you need to do is create both the constraint nodes, let's call them "soft" and "hard" for example's sake, and plug them both into the middle port of the constraint network. Then afterwards, in the sop solver connected to the constraint network, just plug a primitive wrangle up to the fourth object merge node called "relationship geometry" and just change the value of the "constraint_name" attribute from "hard" to "soft" and the constraint should just change over. One thing that you might need to do is to delete the expression in the field called "overwrite with sop" on your "constraint network" node since this node by default will try to reimport/overwrite your constraints with your constraints from sops if you manually change things or break them using the sopsolver connected to the constraint network.

  • Like 1
Link to comment
Share on other sites

the first problem in my setup is that the bendend object tend to go back to its initial state. I grabbed the initial constraint, copy the primintrinsic "packedfulltransform" - the transfomationmatrix from the packed pieces onto it. In my sugggestion the sopsolver should send it to the rbd solver for the next step. So it should bend more and more. Unfortunately it goes back into its original position. Like there wouldnt be a sosolver and/or the constraints are totally wired. Why the constraints are bending back to its original position instead to bend more and more. If the last state of the constraints is the maximium bend state and the new origin constraints are already bent (this one I changed with the copied transforms from the bended geo), from where the rbd solver get its information to use other constraint states instead of the new initial state?


Edited by Follyx
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...