v0.11.0
Modia3D 0.11.0
-
Requires Modia 0.9.1 or later.
-
Additional keyword arguments of Object3D:
Object3D(..., fixedInParent=true, velocity=[0.0, 0.0, 0.0], angularVelocity=[0.0, 0.0, 0.0]), besides the existingparent, translation, rotation, feature. A freely moving Object3D is defined withObject3D(..., fixedInParent=false, ...), wherevelocity=.., angularVelocity=..are the initial conditions (resolved in the parent frame). For more details, see Object3D.
The states and other code for such Object3Ds are not part of the generated code (so compilation is faster, and the objects can be changed after code generation). -
The
FreeMotionjoints in all test models have been removed and replaced by Object3Ds withfixedInParent=false. A new test model test/Basic/FreeShaftAdaptiveRotSequenceWithFreeMotion.jl has been introduced with aFreeMotionjoint, to still have one test for aFreeMotionjoint. -
Revolute(..)andPrismatic(..)joints can define axis of rotation/translation optionally as vector, e.g.,axis = [1.0, 2.0, 3.0]. -
New function
Modia3D.rot1(angle,v)which is an efficient implementation ofModia3D.rot1(angle)*vwhererot1(angle)returns a transformation matrix andvis a vector androt1(angle,v)returns the product of the transformation matrix and a vector in an efficient way. Correspondingly, there are new functionsModia3D.rot2(angle,v), Modia3D.rot3(angle,v), Modia3D.resolve1(rotation,v2), Modia3D.resolve2(rotation,v1). -
Simulation speed improved, if contact of FileMesh objects.
-
contactPairMaterials.json updated with more material pairs (e.g. results in less warning messages for runtests).
-
New file
Modia3D.create_Modia3D_sysimage.jlto create a sysimage. Using this sysimage has the advantage thatusing Modia3Dis nearly immediately executed (instead of > 30 seconds). For details, see README.md file. -
Internal: Timer included in Scene (scene.timer), so that a timer is more easily accessible for debugging.
-
Internal: Cleanup and improvements of Modia3D/src/Frames.jl
Deprecated
- Joint
FreeMotionis deprecated. Use insteadObject3D(..., fixedInParent=false, ...). Note, Object3D has variablestranslation, rotation, velocity, angularVelocity, rotationXYZinstead ofr, rot, v, w, isrot123ofFreeMotion. Furthermore,angularVelocityis resolved in the parentObject3DwhereaswinFreeMotion(obj1=.., obj2=..., ..)is resolved inobj2and not inobj1. This means in particular that the init/start valueFreeMotion(.., w=Var(start=w_start)...)needs to be transformed in Object3D withObject3D(..., fixedInParent=false, rotation=XXX, angularVelocity = Modia3D.resolve1(XXX,w_start))and the results ofangularVelocitywill be different towbecause resolved in different coordinate systems.
Non-backwards compatible changes
- Since Modia3D 0.11.0 is based on Modia 0.9.0, the non-backwards compatible changes of Modia have also an effect on Modia3D (for details, see the release notes of Modia 0.9.0). Typically, this should give problems only in seldom occurring corner cases.