I am trying to control another Component with a joint (for example “Joint_Door” from Component “Door”) from a main Component with a Rotational Joint (for example “Joint_Switch” from Component “Control Panel”).
I would like to know if there is a way to link them together? I have tried using “Translational Follower” however that only finds joints within the component. I would like to be able to control a joint from another component via the joint on the main component, in other perspectives, I would like to be able to control a “door” using a “rotational switch”, both coming from different components and different joints.
Is it also possible to make it function in both Zero time and Simulation runtime? I would like to be able to use the “Interact” button and control it when the simulation is not running AND when it is.
Is what i am asking impossible to recreate in Visual Components 4.2? I am relatively new to this program and I do know I have a lot I do not know, it would be wonderful if others could share their insights on this.
Thank you very much!
I was able to use sync task to control other work processes. However, I am not sure if it will work in this case… Anyway, if you are new with this software check tasks reference guide: Works Library - Tasks Reference Guide
Thank you for your response, I am relatively familiar with the Work Processes, however currently I am not dealing with Work Processes, rather Joints via “Create Link”. I would like to know if it is possible to control other links that has a “JointType” from another link of a different component.
Thank you once again!
I think you will need to make a Python script that reads one joint value and then sets another. I’m not sure if there are suitable events, though.
Another thing you could try, but I’m don’t have high hopes of working, would be to use an expression property that references a joint value property in the other component.
Basically you would add a
ref<Component> and expression property to the component with the “driven” joint, then use the expression property in the joint value expression of the “driven” joint.
Then make the component reference property point to the “driving” component and define the expression to access a property in the “driving” component through that reference property with the member access notation such as
DrivingCompRef.Joint1 where DrivingCompRef is your reference property.
Actually, you could simplify that by accessing the “driving” joint’s value directly from the “driven” joint value expression through the reference property with expression like
DrivingCompRef.Joint1 i.e. you wouldn’t need the separate expression property.
This would of course be 1-directional linking. It might not work because expressions might not actually support accessing another component’s joint values through a component reference, or the expression value might not update automatically as needed.