+ All Categories
Home > Documents > Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation...

Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation...

Date post: 05-Sep-2018
Category:
Upload: ngonguyet
View: 269 times
Download: 3 times
Share this document with a friend
74
Dynamics for SpaceClaim Dynamics for SpaceClaim is a powerful tool that specializes in bringing motion dynamics to CAD models. At the core is AgX Dynamics, the world leading physics engine that handles dynamics of multi-body systems subject to frictional contacts with tight integration with 3D geometry. Fast The framework behind Dynamics for SpaceClaim is based on state of the art hybrid solver methods for solving rigid body systems. It can handle large jointed systems and is optimized for a multi-core architecture. The innovative regularization methods can even solve over-constrained systems in a physically correct manner. Quick to learn With its low learning threshold and seamless integration into SpaceClaim, Dynamics for SpaceClaim is a valuable tool to have when simulating prototype models, evolving new designs and to generate sales material for bid modeling. Automatic contact generation Accurate contact detection is fully automated from the CAD geometries and then used by the physics engine to get correct contact forces to maintain non- penetration conditions. Simple primitives such as boxes and spheres are automatically detected from the CAD models. For other shapes, tessellation into general triangle meshes is done by the add-in. Automatic joint detection The powerful joint detection tool automatically adds dynamic joints to your model as implied by the geometry. For instance, a peg-and-hole geometry can be recognized automatically as a hinge with an axis along the peg. Joints Dynamics for SpaceClaim can simulate various dynamic joints, for example linear and torsional springs , see Spring - Joint and Hinge , but also motorized angular and linear joints. For more information, see Joints . Plotting Dynamics for SpaceClaim comes with a Plot tool for post-analysis of a simulation. Forces, torques, velocities and positions can be plotted using an intuitive interface. Sequence editor The Sequence editor can be used to introduce timed control of your simulation, including enabling motors, setting target speed, springs etc. Rendering export With the integrated KeyShot exporter , your simulations can be exported to a state-of-the-art offline renderer for a stunning visual experience of your simulations. Page 1 of 74
Transcript
Page 1: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Dynamics for SpaceClaim

Dynamics for SpaceClaim is a powerful tool that specializes in bringing motion dynamics to CAD models.

At the core is AgX Dynamics, the world leading physics engine that handles dynamics of multi-body systems subject to frictional contacts with tight integration with 3D geometry.

Fast

The framework behind Dynamics for SpaceClaim is based on state of the art hybrid solver methods for solving rigid body systems. It can handle large jointed systems and is optimized for a multi-core architecture. The innovative regularization methods can even solve over-constrained systems in a physically correct manner.

Quick to learn

With its low learning threshold and seamless integration into SpaceClaim, Dynamics for SpaceClaim is a valuable tool to have when simulating prototype models, evolving new designs and to generate sales material for bid modeling.

Automatic contact generation

Accurate contact detection is fully automated from the CAD geometries and then used by the physics engine to get correct contact forces to maintain non-penetration conditions. Simple primitives such as boxes and spheres are automatically detected from the CAD models. For other shapes, tessellation into general triangle meshes is done by the add-in.

Automatic joint detection

The powerful joint detection tool automatically adds dynamic joints to your model as implied by the geometry. For instance, a peg-and-hole geometry can be recognized automatically as a hinge with an axis along the peg.

Joints

Dynamics for SpaceClaim can simulate various dynamic joints, for example linear and torsional springs, see Spring-Joint and Hinge, but also motorized angular and linear joints. For more information, see Joints.

Plotting

Dynamics for SpaceClaim comes with a Plot tool for post-analysis of a simulation. Forces, torques, velocities and positions can be plotted using an intuitive interface.

Sequence editor

The Sequence editor can be used to introduce timed control of your simulation, including enabling motors, setting target speed, springs etc.

Rendering export

With the integrated KeyShot exporter, your simulations can be exported to a state-of-the-art offline renderer for a stunning visual experience of your simulations.

Page 1 of 74

Page 2: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

© Algoryx Simulation AB 2014

Page 2 of 74

Page 3: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Dynamic Simulation

A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints. A Rigid Body can have one or more Geometries, when two Geometries collide, they generate Contacts.

With Dynamics for SpaceClaim you can specify Rigid Bodies, Geometries and Joints directly from the CAD model.

Below is a list of concepts for a Dynamics simulation of Rigid Bodies.

RigidBody

An entity with a mass and inertia tensor. It has a position, orientation, linear and angular velocity. Its motion control can be STATIC which means it isstationary with infinite mass and will not be affected by forces, or KINEMATICS, meaning it can have a velocity, but it is still considered having an infinite mass and cannot be affected by forces, or finally DYNAMICS which is the default, meaning that it has a finite mass, will be affected by gravity and forces. In Dynamics for SpaceClaim a RigidBody is always associated to one or more Components.

Geometry

The spatial representation of a Rigid Body. Defines a volume (or surface) which can overlap (collide) with other Geometries. The actual representation of a Geometry can be - Box - Sphere - Cylinder - General Triangle Meshes

The type is determined during the parsing of the CAD model. In Dynamics for SpaceClaim a Geometry is always associated to a Solid.

Primitive detection

Initially in the simulation phase, all geometry in the CAD model is extracted as triangle meshes. By default, the rendering tessellation from SpaceClaim will be used. This can be changed in the SpaceClaim Options, under the Dynamics tab. During this process, each mesh will be tested to determine if it can be represented as a Box, Sphere or a Cylinder. If not, the Triangle Mesh representation will be used.

Why primitives?

The main reason behind identifying primitives is that collision detection using primitives is a lot more efficient compared to using triangle meshes.

Joints

Joints are mathematical relationships defined between the world and one Rigid Body, or between two Rigid Bodies. A joint removes one or more degrees of freedom between rigid bodies. For example, a hinge removes all degrees of freedom, except rotation around Z (the rotation axis). This axis on other hand can becontrolled by a motor, range and/or a spring.The different joints are described in Joints

Collision detection

The engine will, given all the Geometries in the system, calculate overlapping contacts and generate Contacts, which are then given to the solver together with the joints. A Contact has both a normal force and friction (unless the material friction is set to zero).

Tesselation

For dynamic simulation contact generation, the solids are converted (tesselated) into triangle meshes. In some cases, the Dynamics for SpaceClaim add-in will be able to detect a primitive from the mesh. In some cases the tesselation can lead to jamming effects. Assume for example you have the scene below:

Tesselating this scene into triangle meshes will result in something like:

Page 3 of 74

Page 4: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Which indicate that there will be collision between the cylinder and the hole, leading to jamming if the cylinder is about to be rotated. (orange vectors indicatecontacts). In these cases, a Joint should be used. This will by default disable the collision between the two objects, leading to a working mechanism.

By changing the tesselation properties, the number of triangles can be controlled. By default the rendering tesselation is used for collision detection. This means that the current settings for rendering quality determines how detailed the meshes are.

Using Rendering Tesselation (default)

Below are two meshes using custom setting for tesselation: Deviation:

15 degrees Angle Deviation.

10 degrees Angle Deviation.

Initial State

The initial state of a simulation is defined by the following properties:

� The underlying CAD model in the document. I.e. solids,� components, material properties. � The tessellation properties of the CAD geometries � The moving parts (rigid bodies) and their transformation, mass properties and initial velocity � The joint configurations and their initial properties � Material settings � Simulation settings, such as time step.

To achieve stable simulations, the initial state must be valid. See more in Valid Initial States

Solver

See Stable Simulations for more information.

© Algoryx Simulation AB 2014

Page 4 of 74

Page 5: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Stable Simulations

AgX Dynamics

Dynamics for SpaceClaim is based on AgX Dynamics which is a modern physics API for fast and stable rigid body simulations.

Simulation Frequency

The Simulation Frequency used when stepping a simulation forward is very important detail for getting stable simulations. Always strive to use the highest possible frequency, the higher, the more stable simulations. Collision detection relies on that all collisions can be caught during one step. So if a geometry is moving fast relative to its size, or collides with a relative small geometry, penetration, or tunneling effects can occur. This will result in large penetrations or even missed collisions. Large penetrations will create large forces that will try to restore the penetrated geometry outwards. Small objects/features will require higher frequencies to be resolved correctly. The default simulation frequency is 300Hz corresponding to a time step of 3.33ms. The simulation frequency can be changed in the Simulation Settings.

The Simulation Report can aid you in finding a suitable time step/simulation frequency based on the velocities and contacts during a simulation.

Solvers

AgX Dynamics consists of three different solvers: hybrid, direct and iterative.

By default all joints (hinge, prismatic, etc.) are solved with the direct and the iterative solver. All normal forces are solved with the direct, and friction with the iterative solver. This leads to fast and stable simulations which can handle large mass ratios i.e. differences in masses between interacting rigid bodies.

Iterative solver

An iterative solver gradually improves the solution with the number of iterations, and after a finite number of iterations it thus delivers a solution with finite precision. The most common type of iterative solver is the Gauss-Seidel relaxational method and an extension called Projected Gauss-Seidel (PGS) which is used to solve constrained linear systems of equations. It solves the equations one-by-one and updates all the dependent variables of the system before proceeding with the next equation. One iteration corresponds to a full pass through all the equations. Since the joint equations are treated one-by-one to solve for the joint force and corresponding updated velocity, and the information about this local solution propagates to the coupled equations, it is often referred to as an iterative impulse propagation method. However, the term propagation is somewhat misleading since the ordering of the equations is not well defined in PGS, so information propagates randomly, unless specifically ordered. Relaxational solvers are moderately efficient and conceptually simple, at least when the local joint violations are small, which is often true for systems with small mass ratios and weak couplings. Therefore they can be fast and efficient for large scale stacking problems with homogeneous types of bodies, while they are less efficient for e.g. lines and wires with large mass and force ratios, where they result in rubber band behavior unless the number of iterations is set to an extremely high value. They are also not so good at treating loop closures in physical systems, unless these problems are given special treatment.

Direct solver

A direct solver finds the exact solution (down to machine precision) in a limited number of operations (provided there exist a well defined solution). For sparsely connected systems, a sparse type of solver is much preferred over a general dense solver, and can give enormous performance benefits. The chances of finding a proper physical solution are improved through regularization, which introduces an extra inverse mass/inertia term in all equations. Our direct solver computes solutions of quadratic programming (QP) problems using a block pivot method. This is similar to Newton-Raphson iterations without damping or line search and is generally very fast and almost always returns a good solution in just a few steps. The linear algebra operations rely on our own sparse symmetric indefinite factorization code which is tailored for multi-body dynamics, and can also handle ill-conditioned systems of equations arising from joint singularities,also known as gimbal lock. The overall algorithm is generally faster than publicly available QP solvers based on active set or interior point methods.

The direct solver is very robust and can handle large multi-body systems with very high mass ratios, and yet maintain joints accurately, to second order with respect to the time step. This is slower than the iterative solver but the latter makes larger errors and cannot process systems that have large mass ratios, or many joints. The simulation of a heavy vehicle for instance requires the direct solver for stability.

When solving frictional contact problems with very many contacts, the direct method breaks down due extreme ill-conditioning caused by the tangential forces and therefore AgX Dynamics implements a split solver which combines the direct method with an iterative one in a way that still provides a satisfactory solution but much faster.

Hybrid: Direct and iterative solver

The default solver in AgX Dynamics solves all constraints both in the iterative and the direct solver except for the normal forces for contacts. All joints are first solved direct, and then in a last pass, the normal and frictional contacts are solved. This results in a very fast solution, even for moderately large contact scenes with friction. For even larger systems with stacking etc, it is more efficient to select a pure iterative solution. Contacts and other joints can also be specified to be solved in the iterative mode for a faster, less accurate solution. Suitable for larger contact systems.

The split solver is slower than the purely iterative one, but it produces much better results with residual errors that are at least two orders of magnitude smaller. This generally produces more stable stacking with much better dry friction in general. Because of a fundamental mathematical limitation however, the direct solver becomes slower and slower for piling or volume filling configurations. The slowdown - the rate of change of the execution time divided by the number of objects depends on the topology of the problem. It is worst for volume packing, moderate for planar constructions, i.e., walls, and nil for linear ones, i.e., stacks.

The execution time for the purely iterative solver grows only linearly with the number of bodies if the number of iterations is kept constant.

Selecting solver

In most cases the hybrid solver will do its job. However, assume you want to simulate a system with a large number of interacting objects, boxes on a conveyor belt for example. Then the iterative solver should be used to reduce the simulation time. The solver used for contacts can be specified in the Material Pairsettings. Each joint in the system can be specified to use different solvers. This is however not recommended. A joint solved only with the direct solver, will not see the forces calculated by the iterative solver which might introduce artifacts into the simulation.

Mass ratio

The default hybrid allows for large mass ratios. Up to 1:100.000 for certain settings can be solved in a stable manner.

However if you are using the iterative solver for joints and contacts the mass ratio between interacting bodies can become a problem. For an iterative solver (or

Page 5 of 74

Page 6: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

when specifying joints to be solved iteratively) it is very important to keep the masses in the system in the same range of order of magnitude. For example arigid body of mass 0.1 which interacts (collides with/is constrained to) with one that weighs 100 can cause instabilities due to large mass ratios. Try to keep mass ratios as low as possible, or at least for interacting objects. Having objects with mass 1gram in the same simulation as objects with 100E10kg is ok, as long as they don't interact with each other.

Size of objects and Velocities

Too small objects in comparison to their velocity can cause penetrations and missed collisions. Try to keep an eye on the size of geometries so they are not too small. It is important that the simulation frequency is high enough so that the smallest interacting feature in the system does not travel further than half it's length during one time step. This will give you an upper bound on velocity, and a lower bound on simulation frequency.

Valid Initial States

When creating a simulation, it is important that the initial state is valid. An example of an invalid state is when two geometries are positioned initially in contact. This can result in a "exploding" simulation, where the solver will try to push the two interacting geometries/bodies out of each other. Other examples of invalid initial states are when very large forces are applied to light rigid bodies. This can happen when motors on joints have large force ranges. Large initial velocities can cause simulation artifacts due to large interpenetration.

Multi-core support

Modern processors usually have two or more execution units, cores, which can be used to parallelize systems.

At the core of Dynamics for SpaceClaim AgX Dynamics will utilize the number of threads assigned. In Add-in Options you can specify the number of threads which are available for the physics engine. However, do not set a number larger than the number of hardware cores.

Tip

When simulating gears, set friction and restitution to zero to avoid any jamming artifacts due to the tessellation of the model.

© Algoryx Simulation AB 2014

Page 6 of 74

Page 7: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Workflow

The workflow for working with Dynamics for SpaceClaim can briefly be described as:

1. Import/Create your CAD model in SpaceClaim. 2. Activate the add-in 3. Use the Simulation Structure to organize the simulation model in relation to the moving parts.4. Either use Detect Joints tool to automatically detect "peg-in-a-hole" joints, or manually attach joints between moving parts (rigid bodies). 5. Set the initial values for mass properties, joint properties and material settings. 6. (Optional) set up your control sequences for joints using the Sequence Editor. 7. Specify the duration and the simulation frequency of your simulation in the Simulation Settings. 8. Simulate.9. Replay the simulation with the Playback tab. Change the play back speed (to replay in slow motion or faster) in the Simulation Settings.

10. Use the Simulation Report to investigate the velocities, contact depth etc. This might also give you a suggestion of a new Simulation Frequency. 11. Investigate the simulation data using the Plot Tool. 12. Export your simulation to KeyShot for realistic animation rendering using the KeyShot button. 13. Save your model, including the recorded simulation. See Data.

Importing CAD data

When importing a CAD model for simulation, depending on how it is modeled, it might be more or less suitable for dynamic simulation. For example large initial overlaps between different moving parts might result in an unstable simulation. See valid initial states.

Dependent Components

If a CAD model contains dependent components, that is instances of components containing components, there is currently no way to individually animate the movement of each component without destroying the structure of the CAD model. When Dynamics for SpaceClaim is activated, or at the beginning of a recording of a simulation the model, will automatically be checked for dependent components. If there exists such a component, a warning message will appear:

Informing that a structural change is about to be made on the model for the model to be possible to simulate. Pressing Cancel will abort the operation. Only the link between the dependent component will be disabled. It will not affect any linked solid geometries.

© Algoryx Simulation AB 2014

Page 7 of 74

Page 8: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Interface

The add-in was designed to resemble SpaceClaim's look and feel as well to follow the SpaceClaim usability paradigm.We recommend using a mouse with a scroll wheel to make working with the add-in easier.

This image shows the main interface elements of the add-in as well as a recommended layout to best fit all the working areas.

� The Ribbon Menu - This is where you first activate the add-in as well as the place where all the tools and joints reside. Accessible from the Dynamics tab in the Ribbon menu.

� The Options Tab - (SpaceClaim's native options) Here you can change the various options for the current Tool.

� The Playback Tab - Play back your recorded simulations and step through them frame by frame.

� The Simulation Structure - This is where you organize your model to be suited for simulation. It also provides some different sorting options.

� The Properties Tab - (SpaceClaim's native properties) Here you can change the properties for the selected joint.

© Algoryx Simulation AB 2014

Page 8 of 74

Page 9: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Ribbon Menu

The Dynamics Ribbon contain all the tools and commands for the Dynamics add-in. This is where you first activate the add-in, choose which Joints to create as well as controlling some Simulation Settings.

� Simulation� KeyShot� Edit� Motion Control� Tools� Joints� Joint Modifiers� Info

© Algoryx Simulation AB 2014

Page 9 of 74

Page 10: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Simulation

This tab group contains the commands for configuring a simulation, starting a record of a simulation, stopping and stepping a simulation. It also contains a tool for analyzing a recorded simulation, Simulation Report

Activate

When a new document is opened/created, the activate button appears, both in the Simulation ribbon as well as in the Simulation Structure Tab. Clicking this button, will activate the Dynamics for SpaceClaim add-in for the document. If the SpaceClaim document contains one or more components, you will then see one body in the Simulation structure representing the whole model.

1. All components will be collected into one Rigid Body 2. The gravity direction will be estimated from the current view so that the design view axis (x,y, or z) closest to down (in the screen) will also be used as

down in gravity. 3. A default Simulation Frequency will be selected (300 Hz).

You might get a warning that "Windows Firewall has blocked some features of this program" when activating the add-in for the first time. This is due to the plotting frame work, and you should enable it for private networks.

Simulate

The simulate button will start the recording of a simulation. The icon of the button will change to indicate that pressing it again will stop the current recording. The current state of the model, including all SpaceClaim properties, geometries, transformations, as well as dynamics properties will be used as the initial state.

A recorded simulation is valid until the initial state is changed. A recording of a simulation will continue until:

1. It reaches the end of the duration as specified in simulation settings2. or, the user press the stop button.

When starting a recording which has not reached the end of the duration, it will be played back from the previously recorded data, until it reaches the end of therecorded data. There it will continue to simulate. If the Real Time flag is disabled in Simulation Settings, the playback will be skipped.

So for example if the duration is 10 seconds, the current recording has 4 seconds, the first 4 seconds will be played back and the remaining 6 will be simulated.

The entire document/model will be in playback/read only mode when the time slider is at a time/frame different from 0. This is to avoid accidental changes during playback/investigation of a recorded simulation. For more information, see Playback Tab.

When not in playback mode: changing properties, transforming components, changing structure, modifying solids or adding/removing/altering operations in the sequence editor will discard the current recording and start from the new initial state.

With the playback tab the starting point for the recording can be set. Here you can also see the duration and the current recorded length.

Step

The step button, will record one step at the time. If a recorded simulation exists, it will playback one step at the time, until time reaches the end of the previous recording. Then it will record one step. The length of this step will be specified as the minimum of the 1/Simulation Frequency and 1/Current Recording Frequency.

Settings

The settings button will bring out a pull down menu with the settings for the activated simulation.

Page 10 of 74

Page 11: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

The simulation settings will be stored in the document.

Frequency: The update rate of the simulation. Can be specified as frequency: Hz, or as a time step: ms, s. For example: 100Hz will use the time step of 0.01 seconds. 1ms will be converted to 1000Hz. Choosing the correct frequency is important to get a stable simulation.

Duration: The maximum length of the recorded simulation.

Speed: A scale value to determine whether the rendering of the simulation should be done in slow motion or speedup compared to real time. If the Real Timeflag is disabled, this value will be ignored.

� > 100% - Faster than real time. � == 100% - Real time � < 100% - Slow motion

Gravity: Specifies the magnitude and the direction of the gravity. Pressing one of the directional buttons will align the gravity along the selected world axis.

Render Contacts: If enabled, the contacts (point and normal) will be rendered during recording and playback.

Render Joints: If enabled, the joints will be visible in the design view.

Real Time: If enabled, the update of the rendering in SpaceClaim during recording will be synchronized to real time (if possible). If it is disabled:

� Recording will be done as fast as possible. Priority is on the simulation, not on updating the graphics. � When starting a recording, a previously recorded part will be skipped, jumping directly to recording.

Clear Simulation Data: Pressing this button, will (after a confirmation question) clear the model from all simulation data, including joints and simulation structure. The result is a clean SpaceClaim document without any references to Dynamics For SpaceClaim add-in.

Simulation Report

The Simulation Report will give you a summary of the simulation. It is also a tool for analyzing a recorded simulation for largest speed, smallest geometryfeatures etc. See Simulation Report.

© Algoryx Simulation AB 2014

Page 11 of 74

Page 12: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

KeyShot exporter

If KeyShot from Luxion is installed on the computer, this button will be enabled when there exists a recorded simulation associated to the model.

Pressing this button, will export the current model/recorded simulation into a temporary .BIP file which will be opened with the installed KeyShot application for rendering. If you want to store the .BIP to a specific place, this is available through the export option.

The KeyShot ribbon that comes with SpaceClaim can be used for assigning materials to solids in your models. These materials will be used in the rendering of animations exported with Dynamics for SpaceClaim.

Usage

In SpaceClaim

� Use the Visuals/Color setting or the KeyShot material ribbon to assign colors to your solids. � Create a simulation recording of your model. � Press the KeyShot icon in the Dynamics tab.

In KeyShot

� Open the Animation window � Press the play button to see the animation in KeyShot � Assign/change materials on geometries � Press the render button, choose Animation and Render!

Changing Animation Speed

By default, the exporter will generate a .BIP (Luxion KeyShot file) which will be played back in real time according to the Simulation Frequency specified in the simulation settings. If you instead want the animation/rendering to be played back in slow motion, you can specify that on the pull down part on the KeyShot button and choose for example 33%, which will render an animation in 1/3 of the original speed.

� > 100% - Faster than real time � == 100% - Synchronized with real time � < 100% - Slow motion

© Algoryx Simulation AB 2014

Page 12 of 74

Page 13: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Edit

In the Edit section of the Ribbon menu you can find the Split and Merge buttons. They are used to organize your model to be suited for simulation by splitting and merging components into individually moving parts, rigid bodies.

Color By Body help you understanding how your model is broken up into rigid bodies.

Dynamics For SpaceClaim is designed with the idea that your CAD model should be treated as read-only, meaning that if your CAD model is organized in such a way that individual parts belong to separate sub-trees, it will be very simple to also organize the simulation structure into rigid bodies. Still, you might want to reduce the complexity of the model by disabling/removing unwanted geometry such as holes etc., which does not contribute to the simulation.

Merge

Merging can be done between:

� Two or more rigid bodies � Two or more components (and their solids)

To merge two or more objects (components or rigid bodies), select a face, edge, solid or component of the first object, then do the same for all other objects you want to merge. Then press the merge button in the ribbon, or right click on one of the objects in the Simulation structure.

When two rigid bodies or components are merged into one rigid body, they will move together as one. This can be used to reduce the number of moving rigid bodies in a simulation.

You can also drag and drop rigid bodies and components in the Simulation Structure to merge and split your different parts into rigid bodies.

Below is a model before it is merged. The two rigid bodies A and B will move independently from each other. They reference one component each, A and B.

By merging, either on the Ribbon Edit menu, or with right-mouse menu:

You will end up with a new system, where there is only one rigid body, and it now references the two components A and B:

Notice also that the center of mass axes show the new unified center of mass after the merge when the resulting merged body is selected in the simulation structure.

After a merge operation: Any attributes for the merged rigid bodies such as velocity, mass, name etc. will be discarded.

Split

Splitting can be done on one or more rigid bodies or components. When splitting a rigid body, a new rigid body will be created for each Component in the original rigid body. Selecting which components to split can be done by selecting a face, edge, solid or component for each object you want to split from the current rigid body.

If you want to break out one or more components into one new rigid body you can select one or more components in the rigid body, press split, and you will get one new rigid body containing the selected components. Below is a scene with four components, all merged into one rigid body "RigidBody2":

Page 13 of 74

Page 14: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

If we select two of the components, "Component1" and "Component4" and choose to split, we will get the following result:

Now we see that the two selected components belong to one new rigid body. We would have got the exact same result if we would have chosen to merge the two components, a new rigid body with the two selected components. If you want to explode your model into one rigid body for each component, you can select the rigid body and press split. This would result in the above example in four separate rigid bodies, each with one component.

After a split operation: Any attributes for the split rigid body such as velocity, mass, name etc. will be discarded.

Color by Body

Color by Body will aid you in understanding how the model is split into separate moving parts by assigning a separate color for each rigid body. Starting with a model containing one rigid body, Color by Body will draw the entire model using one color:

If the model is split into separate moving parts/rigid bodies, Color By Body will for each moving part use a separate color:

Color by Body will be temporarily disabled during recording of a simulation.

Page 14 of 74

Page 15: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

© Algoryx Simulation AB 2014

Page 15 of 74

Page 16: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Motion Control

The Motion Control tool is used to specify the control of a simulated rigid body.

� Static: The rigid body will have zero velocity, will not be affected by any forces and have infinite mass. Suitable for stationary objects such as a ground.� Kinematic: The rigid body will an infinite mass and will not be affected by any forces, however it can have a velocity.� Dynamics: The rigid body will be affected by forces/gravity (default).

Joint status

The status of a joint might change when you alter the motion control of any of it's attached rigid bodies.

� A joint between two rigid bodies that are Kinematic or Static will be automatically disabled. � A joint between the world and one rigid body which is Kinematic or Static will be automatically disabled.

The motion control can also be set in the rigid body properties and from the simulation structure view.

© Algoryx Simulation AB 2014

Page 16 of 74

Page 17: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Tools

The Ribbon interface has a section with tools available in the Dynamics for SpaceClaim addin.

� Detect Joints� Material Pairs� Plot� Sequence Editor

© Algoryx Simulation AB 2014

Page 17 of 74

Page 18: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Detect Joints

Detect Joint is a tool that can automatically detect joints from the geometry in the CAD model to save modeling time. It essentially detects the peg in ahole scenario.

At the moment the only joints that are detectable by the tool are Hinge, Cylindrical and Prismatic joints i.e., cylinders inside cylindrical holes.

Usage

Detect joint will search in the current selection, or in the whole model if nothing is selected.

1. Select the Detect Joint tool in the ribbon menu(the tool will now search the model for potential joints)

2. All the potential joints will be highlighted in gray.

3. Select each joint individually (CTRL-click) or all the joints (CTRL-A) and choose which joint type will be used.

Options

You can specify the various options for locating potential joints in the options tab for Detect Joints Options.

If there are joints that are not detected by the tool, it could be that the cylinders/pins are not 100% circular; or that they are misaligned or too far apart.

© Algoryx Simulation AB 2014

Page 18 of 74

Page 19: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Material Pairs

In material pairs the interaction between different material pairs can be specified. All the SpaceClaim document materials currently available in the local material library in the document, will be listed. Whenever a material is included into the document, it will appear in the material pairs table. A solid associated to a material (through a material at the solid, or any parent component) will use the density property from the SpaceClaim material. Below is a list of material currently used in a SpaceClaim document.

If a solid without a material is being simulated, the default density of 7800kg/m^3 will be used (steel). Changing the density for a material is done through theSpaceClaim material properties:

The density will be used to calculate the mass of an associated rigid body. The volume*density will result in a mass.

Material pair list all the material pairs in a table. For each material pair, the Interaction Properties can be specified. These properties are then used whenever these two materials collide during a recording of a simulation.

The physical attributes of two interacting materials are specified as:

Restitution: The coefficient of restitution, [0..1]. A fractional value representing the ratio of speeds before and after an impact.

Friction: The friction coefficient [0..1]. Specifies the friction applied when these two materials interact. Default is 0.

Young's modulus: This material property is also know as the Modulus of Elasticity and dictates the stiffness of contact events. The Young's Modulus parameter should be specified related to the following formula:

Y = Y1 * Y2 / (Y1 + Y2)

Where: Y = The value specified in the Young's Modulus UI-field.

Y1 = Young's Modulus of one of the two colliding bodies, and Y

2 = Youngs Modulus of the other body.

Page 19 of 74

Page 20: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

It follows from this formula that if both bodies share the same Young's Modulus, then Y = Y1 = Y

2.

Damping: Specifies the time for the solver to restore an overlapping contact. (s)

Solve type: Specifies the type of solver to be used when these material pair overlaps.

� Split - (Default): Direct solver for normal forces and iterative for frictional forces.� Iterative - Fast iterative solver for both normal and frictional forces. May introduce various artifacts such as large overlaps. Might be useful when you

want to simulate a larger number of objects interacting with each other: a brick wall, bottles on a conveyor belt etc.

Reset to default: Will reset the material pair to their default values.

© Algoryx Simulation AB 2014

Page 20 of 74

Page 21: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Plot Tool

The plot tool will open a new window with plotting tools for plotting positions, velocities, joint motor forces etc. The button is only enabled when a recordedsimulation exists.

Units

All units in the plotting tool is in SI units:

� Time - s � Distance - m � Linear speed - m/s � Angular speed - rad/s � Linear Acceleration - m/s^2 � Angular Acceleration - rad/s^2 � Force - N � Torque - Nm

Interface

Plotting area

This is where the graphs will be shown.

Panning: Panning is done with the right mouse button, moving up/down left/right

Zooming: Zooming is done by left-mouse box-selecting an area of interest.

Reset zoom: The reset zoom button will reset the zoom to the default value.

Renaming the plot

To rename the plot you can double click the title on the left upper corner of each plot.

Current data set

This field contains the selected items from the available data set. For each entry there is:

� The name of the object (rigid body or constraint) and name of the entry (within parenthesis). � Unit of the entry � Graph color of the entry � Enable button allowing the user to temporarily disable an entry in the plot.

Delete plot window

Closes the plot, but leaves the main plot window open.

Export data

The current data set can be stored to a .csv file for post-processing in other tools. Press the button and select a local file where the data will be written.

Delete selected data set

Page 21 of 74

Page 22: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Deleting a data entry from current the data set can be done by clicking the entry and pressing the icon.

Add entry to current data set

The button will open the entry selection tree allowing you to select from the available data entries.

Create a new plot

More plots can be added into the same plot window by clicking

Changing the simulation structure

Invalidating a recorded simulation by changing solids or any simulation properties will bring up a message:

This will be shown until a new recording is performed.

© Algoryx Simulation AB 2014

Page 22 of 74

Page 23: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Sequence Editor

The Sequence Editor is opened using the Sequence Editor button in the Ribbon menu.

With the sequence editor a sequence of operations on joint properties can be created. This can be used for example to setup a scene where a robot picks up objects.

Add a joint to the Sequence Editor

Joints has to be explicitly added to the sequence editor by any of the following actions:

� Right click on a joint in the simulation structure and select Use in Sequence Editor� Right click on a joint in the SpaceClaim structure and select Use in Sequence Editor� Right click on a joint in the modeling view and select Use in Sequence Editor

When a joint appears in the Sequence Editor, it's properties can be accessed by opening/closing the tree for the joint to the left in the Sequence Editor.

Remove a joint from the Sequence Editor

Removing a joint from the sequence editor can be done by:

� Right click on a joint in the sequence editor and choose Remove joint from Sequence Editor� Right click on a joint in the simulation structure and de-select Use in Sequence Editor� Right click on a joint in the SpaceClaim structure and de-select Use in Sequence Editor� Right click on a joint in the modeling view and de-select Use in Sequence Editor� Right click on any property of a joint in the Sequence Editor and choose Remove joint from Sequence Editor

User interface

.

Available joints: This area contains a list of the joints which are marked for use in the Sequence Editor.

Current time: A vertical bar indicating the current time.

Operations: The icon indicates an operation at a specified time.

Timeline: Show the timeline of the simulation.

Zoom slider: The zoom slider allows you to zoom the time.

End of the valid recorded simulation: This shadowed area indicates valid area of a simulation. As soon as an operation is changed/deleted or moved to the left(earlier in time), this area will shrink, indicating that the duration of the recorded simulation is shortened to capture the changed operation.

Panning

Panning in the sequence editor can be done with a right mouse down/move up/down.

Adding operations

Adding an operation can either be done by marking the correspondent row for a given joint property move the mouse to a desired time and right click and select the Add Operation menu entry:

Page 23 of 74

Page 24: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

or by double-clicking a desired row.

An operation will be marked by a symbol: .

Moving an operation

An operation can be moved in time by clicking and moving left/right. Or by double clicking and changing the time:

.

You can also move all events for a joint by clicking the vertical bar above the operations and moving it left/right.

Deleting an operation

An operation can be deleted by first selecting it then press delete.

You can also delete all operations for a joint by clicking the vertical bar

Changing an operation

The time and value for an operation can be changed by double clicking the operation and then changing the time/value in the value fields.

Rename your joints to something meaningful. That will help avoiding confusion when working with the various properties in the Sequence Editor.

Working with operations

Spring

The spring of a Joint can be enabled/disabled at a specified time using an operation. Double-click the Enable row of a Spring for a Hinge joint to add an operation. Select it to be enabled. Note that enabling a spring might give an undesired result. The reason is that the spring will be enabled to its default position. Usually 0. This means that if joint has moved/rotated from its initial position, enabling the lock will result in the joint trying to restore the current position of thejoint back to 0, potentially with a very large force/torque (if the spring has high stiffness). If you want to lock the joint to its current position then also add an operation on Position where you check the Use current joint position. This will effectively activate the spring, using the current position as its new default position.

Motor

The motor can be enabled/disabled at any time using an operation on the Enable property. If you want set the motor speed to 0 and keep the current relativetransformation between the jointed rigid bodies, you can use the Spring at zero speed property available for all motors. This will keep the speed and retain the current relative position as long as speed=0.

© Algoryx Simulation AB 2014

Page 24 of 74

Page 25: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Joints

Joints remove degrees of freedom between a rigid body and the world, or between two rigid bodies. Some joints also have motor, spring and range modifiers. Common to all joints is that they can be attached to one rigid body (and the world), or two rigid bodies, of which at least one must be a dynamic one (or the joint will be disabled).

Creating a Joint

A joint can be created in various ways.

1. Attach it directly to an edge or an axis belonging to a component which is part of a rigid body. This will attach the joint between the world and the rigid body.

2. Attach it between two separate rigid bodies by first CTRL-click on a component in the first rigid body, then on an edge or an axis of a solid belonging to a component in the second rigid body.

3. Using the Detect Joints tool

When manually creating a joint, first select the desired joint tool on the Ribbon menu:

Creating a joint between two rigid bodies

After the first component/rigid body has been selected with CTRL-click, the second will be based on the solid which edge is clicked:

After clicking an edge, the Joint is created at the center of the edge.

An existing joint on the same edge associated to the same components will be replaced with a warning message. Undo, will bring back the previous one.

When multiple joints are attached to the same edge, the icons will be displaced to indicate more than one joint. The actual transformation of a joint is marked with a coordinate axis, visible when a joint is selected:

Page 25 of 74

Page 26: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Creating a joint between the world and one rigid body

The work flow for creating a joint between the world and one rigid body is more or less the same as previously described. Just directly click an edge or a radial line onto which you want to attach the joint. The joint will then attach the rigid body associated to the edge. (a solid belonging to a component associated with arigid body).

Moving a Joint

By default, a joint will follow the edge onto which it is attached. With the Move Tool a joint can be transformed. After a joint is moved, it will no longer move relative to the previously attached edge/center-line.

Restructuring rigid bodies

A previously created joint might be disabled during a restructuring of your simulation. Assume for example you have a joint attached to two components, eachbelonging to a separate rigid body. If you now merge the two components into one single rigid body, the joint is no longer valid (a joint between one rigid bodydoes not make sense) and will be deleted.

Joint status

A joint can have different status depending on the state of the joint and the rigid body/bodies it is attached to.

� - Purple. A joint attached between two rigid bodies with Motion Control Dynamics

� - Yellow. A joint attached to one rigid body (and the world) or two rigid bodies of which one has motion control Static

� - Transparent Gray. A disabled joint or a joint attached to one or two rigid body which are disabled, or between two rigid bodies both with motion control static.

� - Gray. A potential joint detected by the Detect Joints tool

� - Orange. A joint with an enabled motor.

Right Mouse Menu

Right clicking a selected joint in the graphical view, will bring up a menu:

� Use in Sequence Editor - Toggles the use of this joint in the Sequence editor� Convert to Hinge joint* - Convert this joint to a Hinge joint

Page 26 of 74

Page 27: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

� Convert to Cylindrical joint* - Convert this joint to a Cylindrical joint� Convert to Prismatic joint* - Convert this joint to a Prismatic joint. � Disable/Enable Joint for Simulation - Will disable the joint from the simulation. This will al � so automatically enable collision between the two rigid bodies. � Locate in Simulation Structure - Will highlight the Joint in the Simulation Structure� Reverse direction - This is only available for joints attached to two bodies. This will swap the two attached rigid bodies. Effectively it will also flip the

order of the joint.

Joints with springs

Common to all springs is that they both has a position of static equilibrium (position/rest length), elasticity and damping properties.

Linear spring

A linear spring can be simulated by:

� using the linear Spring-Joint.� enabling the Spring modifier for a Prismatic or the Linear Spring of a Cylindrical joint

Torsional spring

A hinge has a rotational position/angle which describes its equilibrium. This value can be in the range from -infinity to +infinity. So to define a charged torsion spring, you can enter a position value different from 0. The Angular Spring on a cylindrical joint follows works analogous to the hinge.

� It can be enabled using the Spring modifier for a Hinge or the Angular Spring of a Cylindrical joint

Damping ratio

The damping ratio is a dimensionless property that describes how oscillations in a system decay when the spring has been disturbed from its position of equilibrium. Remember, that when changing the elasticity of a spring, you might also have to change the damping to get the effect you want. See damping ratio(Wikipedia).

Elasticity

This corresponds to the spring constant k according to Hooke's law (Wikipedia).

Position/rest length

Every spring has a specified length or position at which they are in equilibrium. At this position, the spring will not apply any force to it's attached rigid bodies. Pushing or stretching the bodies will move the spring out of this position, hence it will apply a force to restore its position.

Joint types

This section describes the usage of the different joints in detail.

� Hinge

� Prismatic

� Cylindrical

� Lock Joint

� Ball Joint

� Spring Joint

Motorized joints

The Hinge, Prismatic and Cylindrical joint can have motors. A motorized joint (with a motor enabled) will be indicated in the simulation structure with one of the following icons:

� Hinge

� Prismatic

� Cylindrical

Solve type

Joints are solved together with contacts in the solver. Joints have a property Solve Type which determines which solver is used for the specific joint. For more information see Solvers.

© Algoryx Simulation AB 2014

Page 27 of 74

Page 28: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Hinge

The Hinge joint removes all but one DOF (degree of freedom) leaving the affected rigid body only able to rotate around the selected axis.

As with all the joints, there are two ways of attaching the Hinge joint:

1. Attach it directly to an edge or an axis of a solid belonging to a Rigid Body, which attaches the joint between the Rigid Body and the world. 2. Attach it between two separate solids (each belonging to a separate Rigid Body).

Usage

In the first case you simply select the hinge tool from the ribbon menu and left-click on an edge or an axis of the Rigid Body you wish to add a joint to, a yellow Hinge icon will appear on the edge or axis. See Joint status

In the second case where you wish to join two Rigid Bodies with a hinge joint you simply select the Hinge joint from the ribbon menu and Ctrl-click somewhere on one of the Rigid Bodies and then select what edge or axis on the other Rigid Body to rotate around, a purple Hinge icon will appear on the edge or axis. See Joint status

Properties

When one hinge (or multiple hinges) is selected the properties of that hinge can be changed from the properties tab.

Joint Properties

The properties specifies the initial state for a joint.

Enable: Specifies whether the joint is enabled or not.

Collision between Rigid Bodies: Specifies if there can be contacts generated between the two attached rigid bodies. Default is off. If collision is enabled, there might be jamming effects if the two bodies have overlapping geometry.

Type: Type of joint.

Page 28 of 74

Page 29: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Solve type: Specifies which solver that will solve this joint

� Direct And Iterative: (Default), both the direct AND the iterative solver will see this joint. To get stable friction with the Split solver type for Material Pairs, both the iterative and the direct solver must see the joint.

� Iterative - Only the iterative solver will see this joint. Will lead to instabilities for large mass ratios. � Direct - Only the direct solver will see this joint. This might lead to artifacts when involving a Material Pair with Split solve type.

Component1: Name of the first component associated to this joint.

Component2: Name of the second component associated to this joint.

Rigid Body1: Name of the first rigid body associated to this joint.

Rigid Body2: Name of the second rigid body associated to this joint.

Reverse direction: Visible only if joint is attached to two bodies. Will swap the two attached rigid bodies, effectively flip the direction of the joint.

Angular Position: The current angle of this hinge joint.

Elasticity

Elasticity specifies the "stiffness" of the remaining degrees of freedom for the joint. The elasticity is specified in a local coordinate system relative to the constraint axis.

Translation X,Y,Z: Specifies elasticity in the three translational DOF.

Rotation X,Y: Specifies elasticity in the two remaining rotational DOF.

Motor

Specifies properties for the Motor which operates on the hinge axis. A motor is an effort joint that will try to drive the hinge to a current speed that corresponds to the desired speed.

Enable: Specifies whether the the motor is enabled or not.

Speed: Specifies the desired speed of the motor. Can be specified as: 100 rpm, 2 rad/s, 100 deg/s.

Spring at zero speed: When the Speed is set to zero, this motor will act as a Spring joint, locking the hinge at its current position. Handy when simulating a gripping mechanism.

Torque Limit: Specifies the upper and lower limit for the torque that this motor can apply. Max torque is applied in the positive direction of the hinge, Mintorque is applied in the negative direction of the hinge.

Elasticity: Specifies the stiffness of this motor. A larger value will result in a stiffer joint.

Current torque: In playback, when a recording of a simulation is done, this field will show the torque being applied by the motor.

Spring

Specifies properties for the torsional Spring which operates on the hinge axis. A spring defines a position in the range [-INF,INF] which the hinge will try to satisfy. A hinge always starts at the position 0. Rotating the two bodies around the hinge axis will increase/decrease the current position.

Enable: Specifies whether the the spring is enabled or not.

Spring

Position: Specifies the position (angle) of the spring. This defines the equilibrium state of the torsion spring. The spring will strive to satisfy this by rotating the hinge until the current position of the hinge equals the spring position.

Torque Limit: Specifies the upper and lower limit for the torque that this spring can apply. Max torque is applied in the positive direction of the hinge, Mintorque is applied in the negative direction of the hinge.

Elasticity: Specifies the stiffness of this spring. A larger value will result in a stiffer joint.

Damping: Specifies the spring damping coefficient.

Current torque: In playback, when a recording of a simulation is done, this field will show the torque being applied by the spring.

Range

Specifies properties for the Range which operates on the hinge axis. The range specifies a range in which the hinge can rotate. The range can be any number of degrees in positive and negative direction. So a value of 720 means two full revolution in positive direction.

Enable: Specifies whether the the range is enabled or not.

Min, Max range: Specifies the range in which the body/two bodies are free to rotate. If a body/bodies are forced outside this range, a maximum torque of Torque Limit will be applied.

Torque Limit: Specifies the maximum torque magnitude that this range can apply to its body/bodies.

Elasticity: Specifies the stiffness of this range. A larger value will result in a stiffer joint.

Current torque: In playback, when a recording of a simulation is done, this field will show the torque being applied by the range.

Page 29 of 74

Page 30: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Current Properties

When a simulation is being recorded or played back, some information is available as read only properties. These include current angle and and applied torque for spring, range and motor (if enabled).

© Algoryx Simulation AB 2014

Page 30 of 74

Page 31: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Prismatic

The Prismatic Joint removes all but one DOF (degree of freedom) leaving the affected Rigid Body only able to travel along the selected axis.

As with all the joints, there are two ways of attaching the Prismatic joint:

1. Attach it directly to an edge or an axis of a solid belonging to a Rigid Body, which attaches the joint between the Rigid Body and the world. 2. Attach it between two separate solids (each belonging to a separate Rigid Body).

Usage

In the first case you simply select the prismatic tool from the ribbon menu and left-click on an edge or an axis of the Rigid Body you wish to add a joint to, a yellow Prismatic icon will appear on the edge or axis. See Joint status

In the second case where you wish to join two Rigid Bodies with a Prismatic joint you simply select the Prismatic joint from the ribbon menu

and Ctrl-click somewhere on one of the Rigid Bodies and then select what edge or axis on the other Rigid Body to travel along, a purple Prismatic icon will appear on the edge or axis. See Joint status

Properties

Elasticity

Elasticity specifies the "stiffness" of the remaining degrees of freedom for the joint. The elasticity is specified in a local coordinate system relative to the constraint axis.

Translation X,Y: Specifies elasticity in two remaining translational DOF.

Rotation X,Y,Z: Specifies elasticity in the three rotational DOF.

Joint Properties

Enable: Specifies whether the joint is enabled or not.

Page 31 of 74

Page 32: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Collision between Rigid Bodies: Specifies if there can be contacts generated between the two attached rigid bodies. Default is off. If collision is enabled, there might be jamming effects if the two bodies have overlapping geometry.

Type: Type of joint.

Solve type: Specifies which solver that will solve this joint

� Direct And Iterative: (Default), both the direct AND the iterative solver will see this joint. To get stable friction with the Split solver type for Material Pairs, both the iterative and the direct solver must see the joint.

� Iterative - Only the iterative solver will see this joint. Will lead to instabilities for large mass ratios. � Direct - Only the direct solver will see this joint. This might lead to artifacts when involving a Material Pair with Split solve type.

Component1: Name of the first component associated to this joint.

Component2: Name of the second component associated to this joint.

Rigid Body1: Name of the first rigid body associated to this joint.

Rigid Body2: Name of the second rigid body associated to this joint.

Reverse direction: Visible only if joint is attached to two bodies. Will swap the two attached rigid bodies, effectively flip the direction of the joint.

Linear Position: The current position of this prismatic joint.

Elasticity

Elasticity specifies the "stiffness" of the remaining degrees of freedom for the joint. The elasticity is specified in a local coordinate system relative to the constraint axis.

Translation X,Y: Specifies elasticity in the remaining two translational DOF. Rotation X,Y,Z: Specifies elasticity in the three rotational DOF.

Motor

Specifies properties for the Motor which operates on the prismatic axis. A motor is an effort joint that will try to drive the attached body/bodies to a current speed that corresponds to the desired speed.

Enable: Specifies whether the the motor is enabled or not.

Speed: Specifies the desired speed of the motor.

Spring at zero speed: When the Speed is set to zero, this motor will act as a Spring joint, locking the prismatic at its current angle. Handy when simulating a gripping mechanism.

Force Limit: Specifies the upper and lower limit for the force that this motor can apply. Max force is applied in the positive direction of the prismatic, Minforce is applied in the negative direction of the prismatic.

Elasticity: Specifies the stiffness of this motor. A larger value will result in a stiffer joint.

Current force: In playback, when a recording of a simulation is done, this field will show the force being applied by the motor.

Spring

Specifies properties for the linear Spring which operates on the prismatic axis. A spring defines a position in the range [-INF,INF] which the prismatic will try to satisfy. A prismatic will always have the position 0 when it is created. Moving two bodies away or towards each other along the prismatic axis, will increase/decrease the position of the prismatic.

Enable: Specifies whether the the spring is enabled or not.

Position: Specifies the position of the spring. The spring will strive to satisfy this by applying force(s) on the body/bodies until the current position of the prismatic equals the spring position.

Force Limit: Specifies the upper and lower limit for the force that this spring can apply. Max force is applied in the positive direction of the prismatic, Minforce is applied in the negative direction of the prismatic.

Elasticity: Specifies the stiffness of this spring. A larger value will result in a stiffer joint.

Damping: Specifies the spring damping coefficient.

Current force: In playback, when a recording of a simulation is done, this field will show the force being applied by the spring.

Range

Specifies properties for the Range which operates on the prismatic axis. The range specifies a distance range in which the prismatic can translate its bodies.

Enable: Specifies whether the the range is enabled or not.

Min, Max Range: Specifies the lower and upper limit position of this prismatic joint. A joint is always starting at zero (0) position. Within this range, the the body/bodies are free to translate along the prismatic axis.

Force Limit: Specifies the maximum torque magnitude that this range can apply.

Elasticity: Specifies the stiffness of this range. A larger value will result in a stiffer joint.

Current force: In playback, when a recording of a simulation is done, this field will show the force being applied by the range.

Page 32 of 74

Page 33: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Current Properties

When a simulation is recorded and played back, some information is available as read only properties for a prismatic. These include current position and and applied force for spring, range and motor (if enabled).

If you want to simulate e.g. a hydraulic piston you need to select the joint and enable the motor in the properties tab or click the Motor icon in the JointModifiers.

© Algoryx Simulation AB 2014

Page 33 of 74

Page 34: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Cylindrical

The Cylindrical Joint removes all but two DOF (degree of freedom) and allows the Rigid Body to rotate around the selected axis as well as travel along it.

As with all the joints, there are two ways of attaching the Cylindrical joint:

1. Attach it directly to an edge or an axis of a solid belonging to a Rigid Body, which attaches the joint between the Rigid Body and the world. 2. Attach it between two separate solids (each belonging to a separate Rigid Body).

Usage

In the first case you simply select the Cylindrical joint from the ribbon menu and left-click on an edge or an axis of the solid you wish to add a joint to, a yellow Cylindrical icon will appear on the edge or axis. See Joint status

In the second case where you wish to join two Rigid Bodies with a Cylindrical joint you simply select the Cylindrical joint from the ribbon menu and Ctrl-click somewhere on one of the Rigid Bodies and then select what edge or axis on the other Rigid Body to move along and rotate around. a purple Cylindrical Joint icon will appear on the edge or axis. See Joint status

Properties

Page 34 of 74

Page 35: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

When a cylindrical joint (or multiple) is selected the properties the joint can be changed from the properties tab.

Joint Properties

Enable: Specifies whether the joint is enabled or not.

Collision between Rigid Bodies: Specifies if there can be contacts generated between the two attached rigid bodies. Default is off. If collision is enabled, there might be jamming effects if the two bodies have overlapping geometry.

Type: Type of joint.

Solve type: Specifies which solver that will solve this joint

� Direct And Iterative: (Default), both the direct AND the iterative solver will see this joint. To get stable friction with the Split solver type for Material Pairs, both the iterative and the direct solver must see the joint.

� Iterative - Only the iterative solver will see this joint. Will lead to instabilities for large mass ratios. � Direct - Only the direct solver will see this joint. This might lead to artifacts when involving a Material Pair with Split solve type.

Component1: Name of the first component associated to this joint.

Component2: Name of the second component associated to this joint.

Rigid Body1: Name of the first Rigid Body associated to this joint.

Rigid Body2: Name of the second Rigid Body associated to this joint.

Reverse direction: Visible only if joint is attached to two bodies. Will swap the two attached Rigid Bodies, effectively flip the direction of the joint.

Angular Position: The current position of the angular part of this cylindrical joint.

Linear Position: The current position of the linear part of this cylindrical joint.

Elasticity

Page 35 of 74

Page 36: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Elasticity specifies the "stiffness" of the remaining degrees of freedom for the joint. The elasticity is specified in a local coordinate system relative to the constraint axis.

Translation X,Y: Specifies elasticity in the two remaining translational DOF.

Rotation X,Y: Specifies elasticity in the two remaining rotational DOF.

Angular Motor

Properties for the motor for the angular part of the cylindrical joint. It has the same properties as a motor for a hinge.

Angular Spring

Properties for the spring for the angular part of the cylindrical joint. It has the same properties as a spring for a hinge.

Angular Range

Properties for the range for the angular part of the cylindrical joint. It has the same properties as a range for a hinge.

Linear Motor

Properties for the motor for the linear part of the cylindrical joint. It has the same properties as a motor for a prismatic.

Linear Spring

Properties for the spring for the linear part of the cylindrical joint. It has the same properties as a spring for a prismatic.

Linear Range

Properties for the range for the linear part of the cylindrical joint. It has the same properties as a range for a prismatic.

Current Properties

When a simulation is recorded, some information is available as read only properties. These include current angle/position and and applied torque/force for spring, range and motor (if enabled).

Page 36 of 74

Page 37: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

© Algoryx Simulation AB 2014

Page 37 of 74

Page 38: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Lock Joint

The Lock Joint removes all DOF (degree of freedom) and locks the Rigid body in place. It does not have range, spring or motor.

As with all the joints, there are two ways of attaching the Lock joint:

1. Attach it directly to an edge or an axis of a solid belonging to a Rigid Body, which attaches the joint between the Rigid Body and the world. 2. Attach it between two separate solids (each belonging to a separate Rigid Body).

Usage

In the first case you simply select the Lock joint from the ribbon menu and left-click on an edge or an axis of the Rigid Body you wish to add a joint to, a yellow Lock icon will appear on the edge or axis. See Joint status

In the second case where you wish to join two Rigid Bodies with a Lock joint you simply select the Lock joint from the ribbon menu and Ctrl-click somewhere on one of the Rigid Bodies and then select what edge or axis on the other Rigid Body to lock it to. a purple Lock icon will appear on the edge or axis. See Jointstatus

Properties

Joint Properties

Enable: Specifies whether the joint is enabled or not.

Collision between Rigid Bodies: Specifies if there can be contacts generated between the two attached rigid bodies. Default is off. If collision is enabled, there might be jamming effects if the two bodies have overlapping geometry.

Type: Type of joint.

Solve type: Specifies which solver that will solve this joint

� Direct And Iterative: (Default), both the direct AND the iterative solver will see this joint. To get stable friction with the Split solver type for Material Pairs, both the iterative and the direct solver must see the joint.

� Iterative - Only the iterative solver will see this joint. Will lead to instabilities for large mass ratios. � Direct - Only the direct solver will see this joint. This might lead to artifacts when involving a Material Pair with Split solve type.

Component1: Name of the first component associated to this joint.

Component2: Name of the second component associated to this joint.

Rigid Body1: Name of the first rigid body associated to this joint.

Rigid Body2: Name of the second rigid body associated to this joint.

Reverse direction: Visible only if joint is attached to two components. Will swap the two attached rigid bodies, effectively flip the direction of the joint.

Elasticity

Elasticity specifies the "stiffness" of the remaining degrees of freedom for the joint. The elasticity is specified in a local coordinate system relative to the constraint axis.

Page 38 of 74

Page 39: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Translation X,Y,Z: Specifies elasticity in the three translational DOF.

Rotation X,Y,Z: Specifies elasticity in the three rotational DOF.

If you would like to mimic a hinge joint using a lock joint, try setting the elasticity for Rotation Z to 0.

© Algoryx Simulation AB 2014

Page 39 of 74

Page 40: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Ball Joint

The Ball Joint removes all the translational DOF (degree of freedom) and allows the Rigid Body to rotate around three axes. It can be used to simulate a balland socket joint. It does not have range, lock or motors.

As with all the joints, there are two ways of attaching the Ball Joint:

1. Attach it directly to an edge or an axis of a solid belonging to a Rigid Body, which attaches the joint between the Rigid Body and the world. 2. Attach it between two separate solids (each belonging to a separate Rigid Body).

Usage

In the first case you simply select the Ball Joint from the ribbon menu and left-click on an edge or an axis of the solid you wish to add a joint to, a yellow Ball Joint icon will appear on the edge or axis. See Joint status

In the second case where you wish to join two Rigid Bodies with a Ball Joint you simply select the Ball Joint from the ribbon menu and Ctrl-click somewhere on one of the Rigid Bodies and then select what edge or axis on the other Rigid Body to rotate around, a purple Ball Joint icon will appear on the edge or axis. See Joint status

Properties

Joint Properties

Enable: Specifies whether the joint is enabled or not.

Collision between Rigid Bodies: Specifies if there can be contacts generated between the two attached rigid bodies. Default is off. If collision is enabled, there might be jamming effects if the two bodies have overlapping geometry.

Type: Type of joint.

Solve type: Specifies which solver that will solve this joint

� Direct And Iterative: (Default), both the direct AND the iterative solver will see this joint. To get stable friction with the Split solver type for Material Pairs, both the iterative and the direct solver must see the joint.

� Iterative - Only the iterative solver will see this joint. Will lead to instabilities for large mass ratios. � Direct - Only the direct solver will see this joint. This might lead to artifacts when involving a Material Pair with Split solve type.

Component1: Name of the first component associated to this joint.

Component2: Name of the second component associated to this joint.

Rigid Body1: Name of the first rigid body associated to this joint.

Rigid Body2: Name of the second rigid body associated to this joint.

Reverse direction: Visible only if joint is attached to two components. Will swap the two attached rigid bodies, effectively flip the direction of the joint.

Elasticity

Elasticity specifies the "stiffness" of the remaining degrees of freedom for the joint. The elasticity is specified in a local coordinate system relative to the constraint axis.

Translation X,Y,Z: Specifies elasticity in the three translational DOF.

Page 40 of 74

Page 41: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

© Algoryx Simulation AB 2014

Page 41 of 74

Page 42: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Spring Joint

The Spring Joint is a linear spring which can be used to connect a spring between two rigid bodies, or between the world and one rigid body. It has four important properties:

� Elasticity - Spring coefficient, the stiffness of the spring � Damping - The damping coefficient for the spring � Rest length - The length where the spring will not apply any force on the attached rigid bodies. � Current length - The actual length of the spring. If the current length differs from the rest length, a force will be applied on the attached rigid bodies.

A Spring-Joint has two attachment points which can be individually moved by selecting and using the Move tool.

As with all the joints, there are two ways of attaching the Spring Joint:

1. Attach it directly to an edge or an axis of a solid belonging to a Rigid Body, which attaches the joint between the Rigid Body and the world. 2. Attach it between two separate solids (each belonging to a separate Rigid Body).

Usage

In the first case you simply select the Spring Joint from the ribbon menu and left-click on an edge or an axis of the Rigid Body you wish to add a joint to, a yellow Spring Joint icon will appear on the edge or axis. See Joint status

In the second case where you wish to join two Rigid Bodies with a Spring Joint you simply select the Spring Joint from the ribbon menu and Ctrl-click somewhere on one of the Rigid Bodies and then select what edge or axis on the other Rigid Body to rotate around, a purple Spring Joint icon will appear on the edge or axis. See Joint status

Moving the joint

With the Move tool activated you can select one or both of the attachment points of the Spring-Joint and move them. The rest length will be updated to reflect the new distance between the two attachment points.

Properties

Attachment X,Y,Z: Specifies the position in the world of the currently selected Spring-Joint attachment.

Joint Properties

Enable: Specifies whether the joint is enabled or not.

Collision between Rigid Bodies: Specifies if there can be contacts generated between the two attached rigid bodies. Default is off. If collision is enabled, there might be jamming effects if the two bodies have overlapping geometry.

Page 42 of 74

Page 43: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Solve type: Specifies which solver that will solve this joint

� Direct And Iterative: (Default), both the direct AND the iterative solver will see this joint. To get stable friction with the Split solver type for Material Pairs, both the iterative and the direct solver must see the joint.

� Iterative - Only the iterative solver will see this joint. Will lead to instabilities for large mass ratios.� Direct - Only the direct solver will see this joint. This might lead to artifacts when involving a Material Pair with Split solve type.

Component1: Name of the first component associated to this joint.

Component2: Name of the second component associated to this joint.

Rigid Body1: Name of the first rigid body associated to this joint.

Rigid Body2: Name of the second rigid body associated to this joint.

Reverse direction: Visible only if joint is attached to two bodies. Will swap the two attached rigid bodies, effectively flip the direction of the joint.

Spring properties

Elasticity: Elasticity specifies the "stiffness" (spring constant).

Damping: Specifies the damping coefficient of the spring.

Current Length: The current (prolonged or shortened) length of the spring during simulation.

Resting Length: The resting length of the spring.

Current force: The force the spring is currently applying to its attached bodies.

© Algoryx Simulation AB 2014

Page 43 of 74

Page 44: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Joints Modifiers

The Joint Modifiers are shortcuts to the Motor->Enable, Range->Enable and Spring->Enable properties for Hinge and Prismatic joints.

With the Joint Modifiers you can easily toggle the use of motors, range and spring for these joints.

Motor

Select a joint, click Motor and the motor is enabled for the selected joint with a default speed.

Range

Select a joint, click Range and the Range is enabled for the selected joint with the default range of -INF to INF. This really means that you will not notice the Range in work until you change the range to some relevant values.

Spring

Select a joint, click Spring and the Spring is enabled for the selected joint with the default position at 0. This spring will try to move the attached rigid bodies so that the joint reaches the spring position.

© Algoryx Simulation AB 2014

Page 44 of 74

Page 45: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Info

The Help button will open this documentation viewer.

About will open a window with version and license information for the Dynamics for SpaceClaim plugin.

When reporting problems, suggesting new features, always include this information to better identify the current version of the add-in being used.

Enter new license

Use this button to activate a new license text.

© Algoryx Simulation AB 2014

Page 45 of 74

Page 46: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Options Tab

When a tool is active, the Options Tab display the various options for the current tool

Detect Joints Options

If your cylindrical areas are not properly aligned, they will not be detected. In the tool options, you can specify the search thresholds:

A potential joint will be detected if

� Max diameter difference: The difference between the largest of the two diameters is less than X% from the mean diameter. � Max axial distance: Distance between the two cylindrical axes is less than X% of the mean diameter.� Minimum overlap: The amount of overlap of the two cylindrical areas in % of the mean diameter. A negative value will detect non-overlapping

cylindrical areas.

� Max angle difference: The angle between the two cylinder axes is less than this value.

The button will reset the values in the Detect Joints options box back to default.

The button will search the model again with the new Detect Joints Options.

Joint Options

The options tab for a joint contain the specification/initial values used when a new joint is created. Each joint type has its own options set in this option tab. For each specific joint type option see below.

Hinge

This option tab contains the initial values used when a new Hinge joint is created.

Page 46 of 74

Page 47: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

For a descriptions of the Hinge joint and its options see Hinge Properties

Prismatic

This option tab contains the initial values used when a new Prismatic joint is created.

Page 47 of 74

Page 48: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

For a descriptions of the Prismatic joint and its options see Prismatic Properties

Cylindrical

This option tab contains the initial values used when a new Cylindrical joint is created.

Page 48 of 74

Page 49: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

For a descriptions of the Cylindrical joint and its options see Cylindrical Properties

Lock

This option tab contains the initial values used when a new Lock joint is created.

Page 49 of 74

Page 50: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

For a descriptions of the Lock joint and its options see Lock Properties

Ball-Joint

This option tab contains the initial values used when a new Ball-Joint is created.

For a descriptions of the Ball-Joint and its options see Ball-Joint Properties

Spring-Joint

This option tab contains the initial values used when a new Ball-Joint is created.

For a descriptions of the Spring-Joint and its options see Spring-Joint Properties

© Algoryx Simulation AB 2014

Page 50 of 74

Page 51: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Playback Tab

With the Playback Tab you can play back your recorded simulation. The maximum duration of the simulation is controlled from the Settings panel in the ribbon menu.

Read only mode

When the current time slider is set to a value different than time 0 or the first frame, the whole model is set to read only mode. This is indicated by an orange frame around the playback interface widget. The purpose of the read only mode is to avoid accidental changes in a recorded simulation. To use a specific time/frame of the recorded simulation as a new initial state, press the New Initial State button. This will discard the current recording, using the current transformation and velocities as a new initial state.

Interface

Current Time/Frame: This show either the current time in minutes:seconds:thousands or the current simulation frame. Clicking the text will toggle between the two. Double clicking will allow you to enter the current time/frame.

Time/Frame slider: With the slider you can set the current time in a recording. This will update the state (transformations) of the model in the model view. At time/frame larger than zero the model will be in read only mode and the playback interface will indicate this with an orange frame.

Recorded length: The gray bar will show you how far the recording has progressed. Moving the slider to the end will show you the time/frame.

Max duration: This show the maximum recording length of a simulation. This can be set in the simulation settings or double clicking will allow you to change the duration.

New Initial State: This button is enabled when the current time/frame is larger than zero. Pressing this button will use the state (transformation, velocity) at the current time as the new initial state.

When entering the current time or the max duration, the following formats are accepted:

If frame is displayed in the Playback tab, integer values are accepted only for current time and max duration.

As show above, when the time slider is set to time 0 or set to the first frame, the New Initial State button is disabled, the orange frame around the interface isdisabled and editing of the model is again enabled.

Playback control

- Jump to the beginning of the recording.

- Go to the previous frame. Hold the Shift key to step 1% of max duration or the Ctrl key to step 5% of max duration.

- Start a playback of the recording.

- Go to the next frame. Hold the Shift key to step 1% of max duration or the Ctrl key to step 5% of max duration.

- Jump to the end of the simulation.

Format Description

10:20.030 10 minutes, 20 seconds and 30 thousands

10:20 10 minutes, 20 seconds

20.030 20 seconds and 30 thousands

20 20 seconds

Page 51 of 74

Page 52: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

- Toggle between looping playback or single shot.

Using the mouse wheel

When the Playback Tab has focus, and the mouse pointer is hovering over the time slider, you can use the mouse wheel to step through a recording.

� Hold the Shift key to step single frames or the � Ctrl key to step 5% of max duration. � Without Shift or Ctrl, 1% of max duration will be stepped.

Recording

The playback tab will also be active during a recording of a simulation. However, only the current (recorded) time will be updated. Stopping a simulation is done from the stop/simulate button in the ribbon menu.

© Algoryx Simulation AB 2014

Page 52 of 74

Page 53: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Simulation Structure

The Simulation Structure contains the structure of your dynamic simulation. It contains rigid bodies, joints and solids. Rigid bodies can be collected into Groups for a better overview of larger documents.

Before the addin is activated for a document, the simulation structure only contains the activation button:

Initially when loading a previously created document, activating the add-in, there will be only one rigid body with all the components and solids. This is toreduce the risk of loading a huge document, with too many components, resulting in too many rigid bodies leading to unmanageable slow simulations. Therefore the add-in always starts from one rigid body, where the user can split and merge bodies into the structure that is desired for the simulation.

Locate in Simulation Structure

Whenever one or more solids, components or joints are selected in the model, the context menu in SpaceClaim will show the entry Locate in Simulation Structure which will locate and highlight the corresponding entries in the Simulation Structure:

Enabling/Disabling

Checking and unchecking objects in the simulation structure will specify if the object should be part of the dynamic simulation or not. A rigid body (and itsconstraints) will be automatically disabled if it contains no enabled components.

Enabling currently selected solid(s) and or component(s) can also be done by right clicking either in the simulation structure:

or in the model view:

Page 53 of 74

Page 54: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

or in the SpaceClaim structure tab:

Same goes for enabling previously disabled objects.

To work yourself through your model, use the SpaceClaim select tool, clicking edges or surfaces, CTRL+Shift+MouseWheel up to navigate through themodel and specify your selection. Then use the right mouse click menu for fast access of the most common commands such as enable for simulation, split/mergeetc.

Merge/Split

Merging and splitting bodies can be done by selecting objects in the tree (bodies and or components) and right click to get a menu, or by the ribbon edit buttons, or by drag drop in the simulation structure.

Groups

Rigid bodies can be collected into groups. This helps in structuring the simulation document for larger models. Creating a group is done by:

� Right click on a rigid body and select Add to group. This will create a new group and move the selected rigid body/bodies to the new group:

� Right click the Simulation (root of the tree) and select Create group:

Change View

The Simulation Structure can be grouped in three different ways - Group by Bodies (default), Group by Components or Group by Joints:

Page 54 of 74

Page 55: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

In the above image, the Select all components enabled for simulation will change the current selection to all components that is currently enabled for simulation.

Selecting components/solids

It is possible to select all solids/components which belongs to either a rigid body or a group. Right click a group or a rigid body and select the Select allcomponents/Select all solids

Right click menu for Joints

When right clicking a joint menu appears:

� Use in Sequence Editor - Toggles the use of this joint in the Sequence editor� Convert to Hinge joint* - Convert this joint to a Hinge joint� Convert to Cylindrical joint* - Convert this joint to a Cylindrical joint� Convert to Prismatic joint* - Convert this joint to a Prismatic joint. � Disable Joint for Simulation - Will disable the joint from the simulation. This will also automatically enable collision between the two rigid bodies. � Reverse direction - This is only available for hinge, prismatic and cylindrical joints attached to two bodies. This will swap the two attached rigid bodies.

Effectively it will also flip the order of the joint. � Rename - Rename the Joint. Also available with the F2 button.

* Depending on the type of the currently selected joint

© Algoryx Simulation AB 2014

Page 55 of 74

Page 56: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Properties Tab

The properties tab allows you to change properties for:

� Solids/Geometries� Rigid Bodies� Joints.

© Algoryx Simulation AB 2014

Page 56 of 74

Page 57: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Geometry/Solid Properties

A geometry is used to define the spatial representation of a rigid body. It can collide with other geometries which create contact joints for restoring the non-penetrating state. Each Solid in SpaceClaim is converted into a representing a geometry in Dynamics for SpaceClaim.

Properties

Geometry properties

Enable: Specifies if this solid will be part of the simulation or not. If disabled, the solid will no longer follow the parent component/rigid body. It will not be exported for rendering either.

Sensor: For future use. Specifies if the geometry is a sensor.

Material

Material Name: Specifies the SpaceClaim material used for this solid. This material will be used for specifying Material Pairs settings and density.

Mesh/Tesselation Properties

With these properties, the tesselation of a specific solid can be controlled. To see the tesselation used in the simulation, you have to open the Simulation View.

Be careful when changing the default tesselation settings as they can result in a large number of triangles. Something that will have a substantial negativeeffect on performance.

To be able to set invididual tesselation settings for a Shape, you will first have to disable the "Use rendering tesselation" in the Add-in Options.

Angle Deviation: Sets the maximum angle of the surface normal of two adjacent faces. A higher value will increase the density of faces of the mesh in areas of high curvature, and will decrease the density in flatter areas.

Max Aspect Ratio: Sets the maximum aspect ratio (height/width) of new mesh faces.

� 0 - Ignores the aspect ratio limitation. � 1 - Specifies that the height and width must be the same. � Greater than 1. Sets the maximum ratio by which the height can exceed the width. � Greater than 0 but less than 1. Sets the maximum ratio by which the width can exceed the height.

Max Edge Length: Maximum length of an edge of a new face.

Surface Deviation: Sets the maximum deviation of the mesh faces from the surface or shape of the original object. Smaller values result in less deviation, but create more faces.

Physical

Collide: Specifies if the geometry will collide with other geometries or not.

Use for mass properties: Specifies if the solid/geometry should be part of the mass calculation for the rigid body or not.

Surface Velocity

X,Y,Z: Surface velocity in the three axes in local coordinate system of the parent component).

Specifies a velocity in the local coordinate system (of the parent component) for the surface of the solid (will be rotated with the parent Component). This velocity can be used to emulate a conveyor belt.

Page 57 of 74

Page 58: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

© Algoryx Simulation AB 2014

Page 58 of 74

Page 59: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

RigidBody Properties

A rigid body is a dynamic body with 6 degrees of freedom which carries mass and inertia. It can contain one or more Components which in turn contains one or more Solids, representing the geometry/shape of the rigid body.

A rigid body can be associated with joints which will restrict the motion of the rigid body.

An easy way to access a rigid body and its properties is via the simulation structure.

Properties

Angular Velocity: The initial angular velocity for the rigid body. Given in world coordinate system.

Linear Velocity: The initial linear velocity for the rigid body. Given in world coordinate system.

Mass Properties

Mass: The mass of the rigid body. By default, this mass is automatically calculated based on the volume of all solids belonging to components for this rigid body and the density, as specified by the SpaceClaim material. See Material Pairs. If the mass is manually changed, it will no longer be automatically calculated by SpaceClaim.

Inertia tensor: The inertia specifies the resistance to change in angular velocity about an axis of rotation. By default it is calculated from the density and the volume of the solids associated to the rigid body, analogous to the mass.

*Center of Mass Offset X,Y,Z: * Specifies an offset of the automatically calculated center of mass.

Automatic calculation: If true, the mass, inertia tensor and center of mass will be automatically calculated.

Center of Mass X,Y,Z: The calculated center of mass for the rigid body.

Principle Axis X,Y,Z: The coordinate system, in which the Inertia tensor is defined.

Rigid Body

Motion control: Specifies how the rigid body will be simulated. See Motion Control

Enable: Specifies if the rigid body is part of the simulation or not.

Name: The name of the rigid body.

Transform

Read-only values. Translation X,Y,Z: Display the current position of the rigid body. Rotation X,Y,Z: Display the current orientation of the rigid body.

The transform of the rigid body will be calculated as the delta rotation from the principal axes of the rigid body and the parent component transformations.

© Algoryx Simulation AB 2014

Page 59 of 74

Page 60: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Add-In Options

In the options page, various options can be specified for the add-in. These options will be stored with the application data associated to your user account.

Mesh Tesselation

Here various options for the Tesselation process can be specified.

Specifies if the settings are for the current document or all new documents.

Use rendering tesselation

To significantly increase the performance of tesselating large models, the tesselation data available from the SpaceClaim rendering data is used by default. This means that if enabled, the mesh data will be retrieved from SpaceClaim avoiding an additional tesselation step. The quality/property of the mesh will depend on the graphics settings in SpaceClaim. Observe that the tesselation might be different between computers if this option is enabled.

Using rendering tesselation will currently override any user settings for individual solids.

If the Use rendering tesselation is disabled, the mesh data will be retrieved from the CAD kernel, something that can take more time for large meshes.

Be careful when changing the default tesselation settings as they can result in a large number of triangles. Something that will have a substantial negative effect on performance.

Angle Deviation

Specifies the maximum angle of the surface normal of two adjacent faces. A higher value will increase the density of faces of the mesh in areas of high curvature, and will decrease the density in flatter areas.

Max Aspect Ratio

Specifies the maximum aspect ratio (height/width) of new mesh faces.

� 0 - Ignores the aspect ratio limitation. � 1 - Specifies that the height and width must be the same. � Greater than 1. Sets the maximum ratio by which the height can exceed the width. � Greater than 0 but less than 1. Sets the maximum ratio by which the width can exceed the height.

Max Edge Length

Page 60 of 74

Page 61: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Specifies the maximum length of an edge of a new face.

Surface Deviation

Specifies the maximum deviation of the mesh faces from the surface or shape of the original object. Smaller values result in less deviation, but create morefaces.

Simulation

Default Frequency

Specifies the update rate of the simulation. Can be specified in Hz, or ms, s. For example: 100Hz will use the time step of 0.01 seconds. 1ms will be converted to 1000Hz. A too low value will lead to deep penetrations and potentially unstable simulations. For more information see Simulation Frequency in Stable Simulations.

Default Duration

Specifies the maximum length of the recorded simulation.

Working directory

Specifies a directory where log files and Journal files are stored. This should be a fast local disk on your computer and not a network disk for optimal performance.

Number of threads

Here you specify the number of threads available for Dynamics for SpaceClaim. On a multi-core computer the performance of the simulation can be improved by setting the number of threads to equal or one less than the number of available hardware cores. Notice that if hyper threading is enabled, your number of cores might be reported as twice as the number of hardware cores. Setting a too high number will probably have a negative effect on performance due to context switching and cache trashing.

Simulation Recording

Max Frequency for New Documents

This specifies how often a simulation should be sampled during recording for any new documents. A lower value will reduce the amount of data stored on disk during a simulation recording. This also specifies the smallest step that can be taken with the Simulation Step button.

Max Frequency for Current Document

This specifies how often a simulation should be sampled during recording for any the current document. A lower value will reduce the amount of data stored on disk during a simulation recording. This also specifies the smallest step that can be taken with the Simulation Step button.

This field will be disabled if the add-in is not initialized for the document or if the document is in Playback/read only mode.

Open Simulation View button

Opens a debug view of the simulation. Here the constraints and contacts and and center of mass are rendered exactly as the Dynamics add-in sees the simulation. Only activated if the add-in is activated for the current document.

Reset add-in Settings button

Reset all the add-in options to its default values. This will also enable all the warning messages that might have been disabled.

© Algoryx Simulation AB 2014

Page 61 of 74

Page 62: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Simulation Report

The Simulation Report is a window displaying information obtained from the current simulation recording. This is also a useful tool for locating which objects (solids and/or rigid bodies) that has the largest speeds, where the deepest contact penetration occurs and also when in time these events occur.

By clicking the links in the report, you can answer a number of questions:

1. What rigid body has the largest linear speed?: Click on the link to the Rigid Body link next to the value Max linear speed. 2. When in time did we have the deepest contact penetration?: Click on the Time Link next to the value Max penetration depth.3. What might be a suitable simulation frequency based on the velocities and contacts in my simulation?: Click on a Set Frequency link 4. Which solid contains the smallest feature in my model?: Click on the Solid link next to the value Smallest feature.

Available data

� Simulation length - The total length of the recorded simulation � Current time - The current time of the recorded simulation, can be changed using the Playback interface. � Simulation Frequency - The current simulation frequency. If printed in red, this might indicate that the current Simulation Frequency is too low. � Number of rigid bodies - The total number of enabled rigid bodies in the simulation. � Number of geometries - The total number of enabled geometries (solids) in the simulation � Number of joints - The total number of enabled joints in the simulation. � Number of triangles - The total number of triangles (in triangle meshes) in enabled solids in the simulation. These triangles comes from the tesselation of

non-primitives (B-Reps etc.) � Number of contacts - The number of contacts at the current simulation step. � Cumulative number of contacts - The accumulated number of contacts up until the current time in the simulation recording. � Max feature speed - The largest measured speed on all geometries bounding volumes up until the current time in the simulation, the time where it

occurred and a link to the rigid body. � Largest feature - The largest feature of all geometries in the simulation and a link to the solid.� Smallest feature - The smallest feature of all geometries in the simulation and a link to the solid. � Max linear speed - The largest measured linear speed of all rigid bodies up until the current time in the simulation, the time it occurred and a link to the

rigid body. � Max angular speed - The largest measured angular speed of all rigid bodies up until the current time in the simulation, the time it occurred and a link to

the rigid body.

If there are contacts in the system, the following data is also available:

� Max penetration depth - The depth of the deepest contact in the simulation, the time it occurred and links to the two solids involved in the contact. � Max contact speed - The largest relative speed between two colliding objects, the time it occurred and links to the two solids involved in the contact. � Smallest feature in contact - The smallest feature involved in a contact, the time it occurred and links to the two solids involved in the contact.� Max contact feature/speed ratio - This is the largest ratio for feature size divided with relative contact speed, the time it occurred and links to the two

solids involved in the contact.

Max feature speed

This is measured by measuring the total linear velocity (including angular velocity) for each of the corners of the bounding volume of the geometry. This will

Page 62 of 74

Page 63: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

give you an estimate of the largest speed in the simulation.

The figure above illustrates the maximum feature speed, incorporating the linear and angular velocity of the center of mass.

Largest feature

Depending on the type of the shape, the largest feature is calculated as:

� Sphere - the diameter � Box - The largest edge of the box� Cylinder - maximum of the diameter and the length of the cylinder.� Triangle mesh - diagonal of the local bounding box.

Smallest feature

Depending on the type of the shape, the smallest feature is calculated as:

� Sphere - the diameter � Box - The shortest edge of the box � Cylinder - minimum of the diameter and the length of the cylinder.� Triangle mesh - Minimum of the average of a triangles 3 edges for all triangles.

The smallest feature might be a very important value when it comes to determine a suitable time step. If the smallest feature is involved in a contact, you might get bad penetration or even tunneling effects if the simulation frequency is not large enough to resolve these contacts. However, in many cases, it is only relevant to look at actual intersecting features.

Suggestions for Simulation Frequency

Based on various properties of a recorded simulation, the add-in can suggest a suitable Simulation Frequency. It is important to understand, that it is asuggestion. In some cases the suggestions for frequency can be very high due to for example small details/features in the system.

The suggestions for Simulation Frequency are based on various properties of the simulation such as:

� Current simulation Frequency � Gravity� Contacts during simulation recording. � Feature sizes in the geometries part of the simulation.

By clicking a suggested simulation frequency, you can choose to reset the simulation and use the suggested frequency.

The question mark (?) will take you to one of the help topics below.

Suggestion based on Contact Speed and Feature Size

This suggestion is based on actual contact data hence it is only available when there are contacts in the recorded simulation. By measuring the ratio of contact speed divided with feature size, the largest value is tracked and reported. It will suggest a frequency large enough to resolve the contact speed, such that the feature is not moving more than half it's length during one time step.

Below is the formula for calculating the suggested simulation frequency:

� contact_speed - The relative speed at the contact between the two interacting geometries � feature_size - The smallest feature involved in the contact

f_min=maximum_for_all_contacts(contact_speed/feature_size)

Suggestion based on Max Feature Speed and Min Feature Size

This suggestion is based on the largest measured speed on any feature/part of the simulation vs the smallest feature located in the simulation. Hence, this will always be an over estimated suggestion for the smallest simulation frequency. It is very improbable that this smallest feature will be the part that moves with the highest speed. But it can happen.

Below is the formula for calculating the suggested simulation frequency:

Page 63 of 74

Page 64: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

� smallest_feature - The smallest feature found in the whole model. � largest_feature_speed - The largest measured speed of any part of the model.

f_min=largest_feature_speed/smallest_feature

Suggestion based on gravity and Min Feature Size

This suggestion is based on the current simulation frequency, the gravity and the smallest feature in the simulation:

� smallest_feature - The smallest feature found in the whole model. � current_simulation_frequency - The simulation frequency used in the simulation recording. � gravity - The magnitude of the gravity used in the simulation recording.

f_min=gravity*(1/current_simulation_frequency)/smallest_feature

Lowest recommended Simulation Frequency

If the velocities in the system are very low and there are only relatively large features in the system, the suggested frequency steps might become too low. Therefore there is a limit of 100Hz for suggested simulation Frequency.

© Algoryx Simulation AB 2014

Page 64 of 74

Page 65: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Simulation View

Simulation view is a view of the dynamic simulation as it is seen by the Dynamics for SpaceClaim add-in.

This window shows the actual tesselation used for solids in the simulation as well as center of mass, geometry contacts and joints.

Navigation

Left mouse - Rotate the view

Middle mouse - Pan up/down

Left mouse/mouse wheel - Zoom in/out

Space button - Reset view

Refresh View - This button will explicitly synchronize the Simulation View from the current SpaceClaim model. This can be useful when working with for example tesselation settings.

Lazy update

The Simulation View will only be updated when a new recording is performed. (Simulate or Step). This means that any changes to the simulation will not be visible in the Simulation View until the next time the simulation is started or the Refresh View button is pressed.

© Algoryx Simulation AB 2014

Page 65 of 74

Page 66: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Simulation Data

When starting a simulation a new simulation journal is created in the sub directory journals in the working directory.

The simulation journal contains a serialization of the whole simulation data (geometries, constraints, operations etc.) and the kinematic data from the simulation. This data is used during playback of the recorded simulation.

The kinematic data will be stored at a maximum frequency specified in Max recording frequency.

Storing a document

When a document with a recorded simulation is stored to disk, a file named <documentname>.agxJournal will also be created. This file contains the simulation data associated with the SpaceClaim document. Leaving out the .agxJournal file will disable the playback session for the document, but the document will still work when creating new recordings.

Converting to HDF5

The format of the simulation journal is for performance and storage reasons a proprietary format streamlined for the simulation engine. However, with a small utility named journalconverter.exe which can be found in the installation directory of the add-in, you can convert a journal from the proprietary format to the standardized HDF5 format (external link).

This means that any tool compatible with HDF5 can be used to read/plot/process the kinematic data from a simulation. Examples of such tools are MATLAB, Scilab, Octave, Mathematica, Perl, Python etc.

The command line arguments for the tool is:

journalConverter <output-file> <journal-file> <format>

Example

The command below will convert the file mySim.agxJournal to a HDF5 data file named mySim.hdf5.

c:\ProgramData\SpaceClaim\Addins\DynamicsForSpaceClaim\journalConverter mySim.hdf5 mySim.agxJournal HDF5

© Algoryx Simulation AB 2014

Page 66 of 74

Page 67: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Export

A simulation can be exported to various formats.

AgX Simulation format

AgX Dynamics which is at the core of the Dynamics for SpaceClaim add-in supports two different formats for serialization of a simulation:

.aagx - XML based ascii serialization format. Results in a potentially large human readable file.

.agx - Binary serialization. Smaller format, non human readable.

The file contains a complete physical state of your model, including geometries, materials, joints, operations from the sequence editor and also the rendering data (vertices, normals, texture coordinates, diffuse color). It can be loaded into the AgX Dynamics engine for post processing or for use in simulators based on AgX Dynamics.

For more information on how to further utilize this pipe line, send an email to mailto:[email protected]

AutoDesk FilmBox

.fbx When a simulation recording is done, an animation file can be exported into a transport format from AutoDesk. This file can be imported into any tool supporting the FilmBox format, such as 3DStudio Max, Maya, Luxion KeyShot etc. It only contains geometries and their kinematic information (rotation,translation).

Luxion KeyShot

.bip This format can be read directly into Luxion's rendering tool KeyShot. It is the same format used for the rendering export button

© Algoryx Simulation AB 2014

Page 67 of 74

Page 68: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Tutorials and Examples

Tutorials can be located in Start->DynamicsForSpaceClaim->Dynamics For SpaceClaim Tutorials and User's Guide

For more tutorials, videos and sample models go to the Dynamics for SpaceClaim site (external link).

© Algoryx Simulation AB 2014

Page 68 of 74

Page 69: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Troubleshooting

The mechanical system is rigid. Parts seem strangely interconnected

This is most likely because all the components are in the same rigid body. Try right clicking on the single body in the Simulation structure and selecting "Split" to split the model into several rigid bodies.

The simulation Structure is empty (or is missing parts) even though the 3D model is open in SpaceClaim

For the add-in to recognize the model as rigid bodies, all the solids need to reside within components.

The result of a simulation reveals large interpenetration between solids

The accuracy of the simulation is dependent on the simulation frequency. If the simulation is unstable or you experience bad contact behavior SimulationFrequency is probably too low for the velocities/feature sizes. Try the Simulation Report to get an estimate for the Simulation Frequency for your simulationmodel. The material stiffness is too low. Increase the Young's Modulus value for the material pair. The force range on motorized joints is to high - Make sure you are using realistic values for the motors.

The simulation behaves completely differently when I change non-related feature or parameter

This is likely due to the physical constitution of the actual system that you are analyzing. Some mechanical systems are simply very or even infinitely sensitive to changes in initial conditions, material or geometric properties. Some systems are so sensitive by definition that even seemingly irrelevant adjustments that initially change say the 50th decimal of some property can have a noticeable impact on the simulation. A very small change in initial conditions will result in an exponential deviation from the original system. Do note, that this is a consequence of real physics, and not poor simulation fidelity (provided the simulation is setup properly). This type of system exhibit even greater scatter in the real world.

The add-in becomes non-responsive during simulation

This is most probably due to a large and complex model with lots of contacts. Currently there is no way of aborting a running simulation. General recommendations:

� Add Joints between Rigid Bodies (instead of relying on contacts). It will disable contacts between them. � Disable collision for solids which are not relevant for the simulation � Simplify your models before running a simulation, i.e. remove non-relevant geometry such as holes etc. � Merge rigid bodies. � Make sure the "Settings" / "Simulation Frequency" is not unnecessarily high � "Material Pairs" / "Solver Type" -> Iterative� "File" / "SpaceClaim Options" (see bottom of pop-up) / "Popular" / "Rendering quality" (try some of the lower settings) � "Settings" / "Render Contacts" - deactivate

Gears are jamming or overlapping

Due to modeling of gears as well as the tessellation of the gear solid into triangle mesh, some geometrical jamming can occur. Try to reduce friction and restitution between gears to zero.

SpaceClaim is busy for a long time after stopping recording of a simulation

Playback of a recording is slow

This might be due to that your Working Directory is set to a slow disk. Perhaps your user account is located on a network disk? If so, go to Add-In Options and change your working directory to a fast local disk on your computer for optimal performance.

One or more of the windows are missing

Due to a problem in the current version of SpaceClaim, the Property window and Simulation Structure sometimes do not show up when starting SpaceClaim. If this happens, open the SpaceClaim Options and select Reset Docking Layout in the Appearance settings.

© Algoryx Simulation AB 2014

Page 69 of 74

Page 70: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Current Limitations

� Currently Dynamics for SpaceClaim cannot handle components which have a mirrored transformation matrix. If such is detected, the simulation will be paused with a warning message.

� Export of the current camera settings in SpaceClaim to animated KeyShot (BIP) files is not available. A default camera view will be calculated. � It is not possible to prematurely abort a simulation which occupies a long time in the solver. � Dynamics for SpaceClaim does not handle SpaceClaim's own mating conditions. They must be disabled (and will be by the add-in) before starting a

simulation.� Joints will not be shown in component design views. That is, if you select a part of the model, and open in a separate window, the joints will not be

shown. � It is not possible to externally link to a .scdoc including a simulation. � It is not possible to drag and drop a .scdoc with a simulation into one without. � Undoing an operation in the Sequence editor will not restore the valid recorded simulation. See valid recorded simulation. � Currently there is no way to explicitly disable collision between two bodies/solids. � Currently only time is available for the x-axis in plotting. � Currently the plot configuration is not remembered between sessions. Closing the plot window, will require a new configuration of data sets.

© Algoryx Simulation AB 2014

Page 70 of 74

Page 71: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

How To Report Issues

If a problem occurs during modeling or simulation using the Dynamics for SpaceClaim add-in, please follow the workflow below to help us resolve the problem easier.

1. Locate the Dynamics for SpaceClaim log file. This file is by default stored at: My Documents\DynamicsForSpaceClaim\Log Files If you have changed the Working Directory in Add-In Options, this is where you will find the log files. Make sure you take the file related to your problem.

2. Locate the SpaceClaim log file can usually be found at c:\users<your-username>\AppData\Roaming\SpaceClaim\Log Files\ Grab the latest one that belongs to the session where the problem occurred.

3. Copy the information text from the About text box.

Send these log files and (if possible) the .scdoc file to [email protected]

© Algoryx Simulation AB 2014

Page 71 of 74

Page 72: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Release notes

1.3.0 (140601)

Minor release. This version requires SpaceClaim 2014SP2.

� Introducing Groups and Color By Body for efficient modeling of large models. � Many performance improvements. � Improvements in collision detection system for more stable mesh-mesh contacts. � Chinese translation for the user interface text.� KeyShot export now supports KeyShot materials. � Added select all solids/components command in Simulation Structure. � Fixed issue with frequent license checks. � Simulation structure selection/highlighting is improved. � Stability fixes� Better validation of input parameters.� Mass property calculation can be disabled for solids.

1.2.3 (140109)

Patch release.

� Warning about mirrored components where you can click the message to select the mirrored component.� Re-enabled the Simulation View� Fix for selecting in Simulation Structure when using larger models. � Stability and minor bug fixes

1.2.2 (131212)

Patch release.

� Huge improvement in save/load time for .scdoc with Dynamics for SpaceClaim enabled. � Patch for storing multiple plots. � Stability fix.

1.2.1 (131210)

Major release.

Changes

� Full support for Unicode paths. � Added linear spring: Spring-Joint� Joint Modifiers added to Ribbon: an easy way of enabling/disabling Motors, Spring and Range for Hinge and Prismatic: � Hinge, Prismatic and Cylindrical Joint now has full a spring interface with Elasticity and damping coefficient.� Motors now have a default speed � Default friction is 0z � Default YoungsModulus increased to 1E10Pa � Added automatic check for updates.� Default torque/force for motors is decreased. � Adding damping to all Spring properties � You can now write "rpm" for angular speed � KeyShot exporter now exports the diffuse color from SpaceClaim � KeyShot exporter now uses 1280x720 and 30Hz as default parameters. � Scroll bar for Detect Joints added � Added Simulation Report for analyzing a simulation and suggesting a Simulation Frequency.� Order for Joints in Sequence editor is now sorted on Joint name. � You can use mouse wheel for navigating the time in playback slider � Default simulation frequency is now 300Hz. � A maximum recording frequency option added (300Hz is default) to put a cap on the data stored during simulation recording. � Lots of stability fixes and improvements.

Beta4 (131014)

Beta4 is faster and more stable than previous versions. Many optimization and stabilization efforts has been done. Beta4 is built against SpaceClaim 2014 Beta.

Changes

� Motion control (Static, Dynamic & Kinematic) now part of the Ribbon � Motorized joints is now rendered with an Orange color in the 3D view � Added reverse direction for joints attached to two rigid bodies � New default simulation frequency is 300Hz (previously 200Hz).� Contacts are now rendered by default. � Tool tips now support F1 for direct linking into the documentation. � Force/Torque limit added to Joint range. � Some UI tweaks in the Sequence Editor. � Units is exported to the .csv file from the Plot tool. � The performance of rendering contacts and joints is dramatically improved.

Beta3 (130912)

This release contain many stability fixes. It also introduces a "read-only" mode during playback to avoid accidental model changes.

Page 72 of 74

Page 73: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

� License - The "About" box now contains a license button where a license key can be entered. This can be used to extend the use of the BETA3 version beyond the initial expiration date.

� Documentation has been expanded and improved. � Several stability issues has been identified and solved since Beta3. � An improved algorithm for contact handling is introduced to the simulation framework. This will affect the use of the material stiffness (Young's

Modulus) value. We are now using an area approach that will create more realistic contact forces. This also means that models built with BETA2 might behave differently. In most cases, you need to increase the Young's Modulus area to more realistic values. Steel has 200Gpa (2E11 pa).

© Algoryx Simulation AB 2014

Page 73 of 74

Page 74: Dynamics for SpaceClaim - Algoryx Simulation AB · Dynamic Simulation A Rigid Body Simulation contains one or more Rigid Bodies which can be limited in motion with Joints.A Rigid

Page 74 of 74


Recommended