CORRECTION. My post #2 does not show the unit vector for the variable ZDown. Here are the complete set of expressions. LBEnd = PtLongEnd*BoomLong*dumBase SBEnd = PtShortEnd*BoomShort*dumBase L1 = length(LBEnd.row4-SBEnd.row4) LT = 250+CableLen ZDown = (matrix3 [1,0,0] [0,1,0] [0,0, 1] [0,0,L1-LT]) LBEnd*ZDown lee.Minardi can you help me plz do a tutorial of this mechanism also i want to a hose with that crane operating end thanku
@beamyjinn69967 жыл бұрын
In case anyone else's crank has a 90° offset too: it's alpha+pi/2 for you in the expression instead of just alpha. Or alpha-pi/2 depending on the direction. :)
@3dvovk6 жыл бұрын
Awesome! Thank you.
@borzacch7 жыл бұрын
Thank you. But it could be done with IKSpline Solver much easier
@LeeMinardi7 жыл бұрын
My goal here was to provide an example of how expression controllers are used and to provide an exact solution for crank-piston rigging that can be moved into any orientation. I am interested in seeing how you would use an IK Spline solver. Can you provide a link to a tutorial? Thank you, Lee
@borzacch7 жыл бұрын
and some tasks where only expressions and scripts can be used vk.com/videos1050874?z=video1050874_171558014%2Fpl_1050874_-2
@3dvovk6 жыл бұрын
Привет. Так и не нашел, как может IK Slover решить прямо эту кинематическую задачу (так-чтобы в соответствии с вращением кривошипа, правильно двигался поршень), обратная - да, легко, когда двигается поршень и в соответствии с этим вращает кривошип.
@LeeMinardi6 жыл бұрын
@@3dvovk You state (via google translate) "Hey. I didn’t find how IK Solver can solve this kinematic problem directly (so that, in accordance with the rotation of the crank, the piston correctly moved), the reverse is yes, it is easy when the piston moves and in accordance with this rotates the crank." Exactly! That is why I used the method I did because I wanted an exact solution and an IK Spline based "solution" does not do that. Yes, of course, moving the piston and having the crank follow is easy (until the mechanism gets to the crossover point).
@beamyjinn69967 жыл бұрын
Thank you very much for this tutorial! Almost gave up on doing this in max. However, I ran into a problem: I want to create an engine with two cylinders, so I need it to work in both directions. But it only works nicely with the crank being on the left side as shown in the video. I guess I have to change the expression to match the change of dirction but I don't quite know how. Just adding an offset won't do it because the rod won't connect properly to the cylinder: imgur.com/a/TxG4n
@LeeMinardi7 жыл бұрын
Assuming the 2nd piston is to the left of the crank (and mirrored), and that it has the same rod length as the first piston, the expression for the 2nd piston will be the same as for the first piston except there should be a - instead of a + in front of the sqrt term. That is: xpos+crank*sin(radToDeg(alpha)) -sqrt(rod^2- (h+crank*cos(radToDeg(alpha)))^2) If the rod length is different then change the value of rod accordingly for the piston2 expression controller.
@LeeMinardi7 жыл бұрын
I don't know why sqrt(rod is crossed out in my last comment but the expression should just show a - in fron of sqrt xpos + crank*sin(radToDeg(alpha)) - sqrt(rod^2- (h+crank*cos(radToDeg(alpha)))^2)
@beamyjinn69967 жыл бұрын
Ha, I knew I just had to put a - somewhere. Works lika a charm, thanks again!
@borzacch7 жыл бұрын
Try tu use IKSpline Solver. it works perfect in any direction and angle.