I am a new Anybody user and I aim to define a constraint of the position of a point and STL surface (The point is on this STL surface or there are specified distances between the point and STL surface at different times).
However, in AnyScript, I just found ‘AnyKinPointSurface’ kinematic measure which can only use parametric surfaces as surface objects instead of STL surfaces.
Could you please let me know how can I do it and in addition, how to define a constraint condition between two STL surfaces(One surface slides along with the other).
It is not possible to create a kinematic constraint between a point and an STL surface. As you have found you can have a point (or several points ) against a parametric surface or a plane.
STL / STL contact is not possible as a kinematic constraint but you can create a AnyForceSurfaceContact object which will create a contact force if the surfaces are penetrating. This object is often used in combination with force dependent kinematics. Tutorial on FDK
My model doesn't include muscles and just calculates kinematics currently.
I'll try to add some simple muscles first, then use Anyforcesurfacecontact object in combination with Force Dependent Kinematics and finally set a very high PressureModule to simulate Point-On-STLSurface kinematic constraints.
For force dependent kinematics the elastic properties are very important. For the DOF which are controlled by FDK you need to have elastic forces realistic defined, some of these will be the surface contact.
I want to analyze the effect of the Temporomandibular joint surface geometry on the mandible kinematics.
The skull of my model is fixed. The movement of one point of the mandible is input, the condyle and fossa of both sides are always contacted as constraints, and the final goal is to find out the movement of the whole mandible.
I've considered using ADAMS for kinematic analysis and then importing the movement into AnyBody for inverse dynamic analysis. At present, I am trying to study Anderson's FDK TMJ model.
Is it possible to create a kinematic constraint of a point (or several points ) on compound surfaces (consisting of two parametric surfaces and a plane) using ‘AnyKinPointSurface’ object?
The AnyPointSurface measure has a norm switch so it can give you distance to surface from all nodes or the norm distance which is essentially the min distance (depending on settings)
Combining such two measures using a AnyKinMeasureNormComb object into one constraint is possible but requires some tweaking on the settings of the this measure..
Alternatively if you run the model with over-constrained kinematics each of the AnyPointSurface measures could be constrained not to go below zero. So in this way you could have e.g. two ellipsoids against a plane.
Thank you very much for your prompt and detailed reply, It is so helpful for my research.
At present, I'm trying to use AnyKinMeasureNormComb object to combine three measures and my code is as follows:
However, ANYBODY displays ‘kinetic analysis failed in time step0’. I wonder if this is because the second surface I defined is too far away from the third surface.
In addition, which object can constrain the measures not to go below zero as you mentioned. Is there an example here?