Kinematic information formats. Standards applicable for mechanical model translation from CAD to Modelica. Delivery D1 Report for Task 3.
|
|
|
- Lewis McLaughlin
- 10 years ago
- Views:
Transcription
1 EC IST Project RealSim - No MathCore AB (Sweden) in cooperation with PELAB, Linköping University (Sweden) Kinematic information formats. Standards applicable for mechanical model translation from CAD to Modelica. Delivery D1 Report for Task 3.1 Release 1: August 18th, 2000 Revised Release 2: December 13th, 2000 Vadim Engelson Contents 1 Introduction 2 2 Format requirements 3 3 Comparison of Various Mechanical Design tools and the Formats These Use SolidWorks MatingExample Classificationofmates Interfaces with other kinematic information formats ADAMS Adams Plug-in Integrated with CAD Environment WorkingModel3D DStudioMax
2 3.5 MechanicalDesktop Pro/ENGINEERToolFamily STEPformats STEP AP IAP AP UsingSTEPformatasaninterfaceformat CATIA I-DEAS VRML STL,DXF STL DXF IGES XML Using the Modelica Language for Dynamic Analysis of Mechanical Models Modelica Basic Features of the Modelica Language Introduction to the Modelica Multibody System Library UsingtheMBSlibrary Kinematic outline Example: Kinematic Outline of Double Pendulum Addingmasses Adding Masses to the Double Pendulum Example AddingGeometricalShapes Adding Shapes for Double Pendulum InterfacetoNon-MechanicalPartsoftheModel AdvantagesofUsingMBSforDynamicAnalysis Interpretation and Compilation in Mechanical Simulation MultidomainSimulation Conclusion 41 Note This is the second revision of the report. The changes have been done in Sections 2, Tables 1, 2, 3 on page 5, 6, 7. Our conclusions were inserted in several places in Section 3. New sections were added: 3.8, 3.9, 3.10, 3.11, 3.12, Introduction In order to simplify the process of construction of simulation for mechanical models, these models are first designed in a CAD tool. After that the models are translated into a format that can be used by a simulation tool, in particular, Modelica. Many various tools can be used for mechanical model design. Models made in all these tools should be translated so that various simulation tools can use them for dynamic simulation. 2
3 It would be logical to use a single format for mechanical model description. Mechanical models designed in various tools (see Figure 1) can be translated into this neutral format. Other translators can convert the neutral format into formats readable by simulation tools. CAD Tool CAD Tool CAD Tool neutral format Simulation tool Simulation tool Simulation tool Figure 1: The role of a neutral mechanical data representation format Currently there is no satisfactory ready standard for description of mechanical models for the purpose of simulation. This reports contains the requirements for such a format. The report includes a comparative study of several existing CAD tools and formats they use. We come to the conclusion that the format used for description of mechanical models based on the Modelica multi-body system (MBS) library is the most appropriate one. Decision was made in May 2000 to use Modelica/MBS format for this purpose. 2 Format requirements The minimal requirements for kinematic data representation necessary for dynamic analysis are: Body definition A multibody mechanical model is a collection of bodies. The format should contain information about 3D mechanical components (bodies) which can serve as point masses. A point mass is an abstraction of rigid body with all its mass concentrated at the center of mass. Each body should have a unique identifier in the model. Body position There should be some way to specify initial position and orientation of three-dimensional bodies in 3D coordinate space. These can be either specified with respect to the global coordinate system, or via the coordinate frame of another body. Constraint (joint) definition The format must be able to describe mobility of bodies via mechanical constraints between the bodies, such as joints. It should be possible to specify reference points (alternatively axes, edges, faces, planes) on two bodies and specify which constraints apply to the bodies at the reference points. The type of constraint (rigid, rotational, translational, etc.) and direction should be specified. If axes, edges, faces, planes, i.e. body features and mates between them are specified, we call such specification feature mobility. If just the reference points with local coordinates and joints between them are specified, we call such specification joint mobility. Tools and formats implement feature mobility, joint mobility or both of them at once (e.g. CATIA, Section 3.8). 3
4 Physical body attributes The format should contain the mass, the position of center of mass, and (preferably) the matrix of inertia for each component 1. Prescribed motion. This is an additional requirement necessary for simulation in cases when motion of some parts of the mechanism is predefined in the experiment. Force and torque generators. This is an additional requirement necessary for simulation in cases when certain known forces and torques are applied to some points in the model. This information can be included in the format, or it can be defined in the simulation environment for a particular simulation run. Body geometry. This is an additional requirement necessary for model design and simulation result visualization. The shapes can be either primitives (box, sphere, cylinder, cone), or complex (combination of primitive shapes), or feature-based (constructed by applying a sequence of operations in 3D), or arbitrary polytope (constructed by specifying a set of triangles or arbitrary polygons in 3D). Format features. It is useful to have a human-readable format. This format can be parsed by the translator in order to pass information to simulation tools. Control system integration. This is an additional requirement needed in control applications. Mechanical or mechatronical model is augmented with procedural or equation-based program fragment that gets data from modeled sensors and sends data to modeled actuators. These requirements are enough for the description of mechanical models which have no external interactions (forces, torques, collisions) applied. Typically some information should be specified in addition to this format in order to simulate some mechanisms. For instance, definition of an external force or prescrobed motion trajectory should be attached to some point of certain body. The varying magnitude and direction of force (or trajectory) can be either specified within the same format, or it can be described later, by using a simulation environment interface. In the first case these specifications are stored as additional, user-defined attributes (user-defined properties) of mechanical parts. In the later case all the bodies should have some distinctive names and the name of the body should be used as a reference. 3 Comparison of Various Mechanical Design tools and the Formats These Use In this section we consider several CAD tools and storage formats (see Tables 1, 2, 3 on page 5, 6, 7 ). We investigate whether and how it is possible to extract and store information necessary for dynamic simulation from these tools. 1 In many cases CAD tools are able to automatically compute volumes of complex shapes and their centers of mass. The densities of bodies are considered as homogeneous. Therefore the mass can be found from the volume and density. In the general case the computation of the volume and the center of mass can be a complicated and computationally intensive task. It should be noted that many CAD tools (e.g. VRML construction tools) operate with surface presentation only, and therefore volume and mass cannot be found. 4
5 CAD Formatworkcal Solid- Mechani- Mechani- Pro- CATIA I-DEAS Decal Engineer signer (ADAMS in CAD) Desktop (DWG) (MNF) see Section Bodies Geometry Joint mobility + + Feature mobility Mass and + +? + + inertia Prescribed +(4) +(14) motion generators Force and +(4) +(14) torque generators Control system integration Readability +(9)? for humans Textual representation +(9)? Table 1: CAD Formats and their properties. See notes on Page 5. Notes for Tables 1, 2, 3: + means that feature is present means that feature is absent? means that feature is not relevant in the scope of the project, and therefore we did not investigated the details. = means that feature is partially present (1) Primitive object can be described directly in Modelica. External files are used for objects with complex geometry. (2) Uses STEP AP 203. (3) Uses STEP IAP 105 notation. (4) Limited; only simple expressions can be used. (5) Control system can be written in Modelica or using Simulink (6) Using Simulink (7) Using Java Interface (EAI, External Authoring Interface) (8)Onlymassisavailable (9) The output (ADAMS data file) is readable, but cannot be modified and reused in this tool (10) There are no standard XML schemas for 3D geometry description (11) Joint mobility is limited and used for predefined motion only (12) Numerical constants describing a spline can be used only 5
6 Storage STEP STEP VRML STL, XML IGES Formats AP 203 AP 214 DXF see Section Bodies Geometry + +(2) + + =(10) + Joint mobility +(3) +(11) =(10) Feature mobility Mass and + + inertia Prescribed +(12) +(12) motion generators Force and - +(12) torque generators Control +(7) system integration Readability = = + = for humans Textual representation Table 2: Portable storage formats and their properties. See notes on Page 5. (13) The mobility information is, however, available via Max SDK (C++ based API). (14) Uses embedded ADAMS solver. 3.1 SolidWorks The SolidWorks[23] environment supports two kinds of documents for mechanical design: the part model and the assembly model. An assembly might consist of parts and other assemblies. Each part corresponds to mechanical body. The parts are constructed by applying a sequence of CSG (constructive solid geometry) operations, called features. Each such operation converts a solid body model (or a closed contour in 2D) to another solid body model. The operations preserve or update some important features of solid bodies, for instance mass, position of the center of mass and value of the tensor of inertia. The assembly document defines the mobility between the parts of an assembly. SolidWorks does not support the description of movement constraints between the bodies in the form of joints. Instead a set of mates between points, axes, edges, faces or planes of two bodies is configured by the user. A part consist of entities, such as planes, faces, edges, axes and points. A mate connects two entities from different parts. There exist several mate types. The most typical are coincident (all the points of one entity are inside another entity) or parallel (it keeps entities parallel to each other). 6
7 Other tool Modelica ADAMS Working 3D Studio 3D Formats /MBS Model - Studio - 3D MAX MaxScript see Section Bodies Geometry (1) Joint mobility (13) Feature mobility Mass and (8) inertia Prescribed + +(4) + + motion generators Force and + + +(4) + + torque generators Control +(5) +(6) system integration Readability for humans Textual representation Table 3: Other tool formats and their properties. See notes on Page 5. Two parts can be connected by one, two or more mates. Some combinations of mates are valid, some are not. Invalid combinations of mates (over-constrained systems) are automatically rejected by SolidWorks. The translation between such representations is a difficult problem. A translator has been developed at PELAB (Linköping University); it is discussed in [8, 14]. Solid- Works automatically computes the volume of a part, the center of the volume and the tensor of inertia, assuming that the part has uniform density. The value of the density can be specified as a property of the part when it is created Mating Example The example in Figure 2(a) describes a fragment of the pendulum model. The part P1 has a front face (f1) and an upper edge (e1). The part P2 has a front face (f2) and a bottom edge (e2). There is a mate that specifies that the planes of f1 and f2 are coincident. Another mate specifies that the edges e1 and e2 are coincident, i.e. they belong to the same line in the coordinate space. The SolidWorks system analyzes the mates and adjusts the positions of the parts (Figure 2(b)). The system automatically rejects invalid mate combinations. In this case our translator [14] finds that there is a joint with one rotational degree of freedom between the parts P1 and P2, and calculates the position and orientation of the rotation axis. This pair of mates corresponds to an instance of class Revolute from the Modelica MBS library with an attached Body 7
8 Y X (a) (b) Z Figure 2: Parts and their mates specification before (a) and after (b) adjustment accordingtothemates. instance Classification of mates There are seven different mate types: Coincident: One entity belongs to another entity Concentric: Cylinders and cones have a center line. This line can be shared between several round entities, or it can be coincident with some other line in the model. Perpendicular: Planes or lines keep a 90 degree angle to each other. Parallel: Entities are parallel to each other Tangent: An entity touches a cylindrical entity Distance: Two entities keep a fixed distance. Angle: Two entities keep a fixed angle When mates are applied to entities, the number of degrees of freedom (3 translational and 3 rotational degrees) are reduced. Table 4 shows the degrees of freedom between two parts with plane and line entities connected by one of the four most used mates. The complete table can be found in [14]. SolidWorks uses an application programming interface based on COM (Microsoft Component Object Model) to give access for browsing and modification of virtually all properties of parts and assemblies. This way all information about the kinematic features of the model can be extracted Interfaces with other kinematic information formats SolidWorks stores information about the mates in internal, proprietary, encoded binary format. Existing export options for conversion of SolidWorks to other formats (STEP 8
9 Entities Mate type Translational DOF Rotational DOF coincident 2 1 Plane/Plane distance 2 1 parallel 3 1 perpendicular 3 2 coincident 2 2 Line/Plane distance 2 2 parallel 3 2 perpendicular 3 1 coincident 1 1 Line/Line distance parallel 3 1 perpendicular 3 2 Table 4: Degrees of freedom which are left between parts connected by mates in their entities. AP 2013, VRML, STL, ParaSolid, DWG) preserve the geometry of parts and assemblies, but they do not include mobility information. In order to preserve this information, a special plug-in has been constructed that browses the internal CAD database and extract the mobility information. 3.2 ADAMS Adams[1] is the world s most widely used multibody mechanical simulation software. It can be used in different configurations: as a full simulation package (Adams/View, Adams/Solver and other components) or as Adams prototyping capabilities integrated within CAD/CAM environments. modeling GUI (3D CAD like) Adams/View dataset (statements) user experiment specification commands Adams/Solver shell result analysis trace with GUI (2D charts) results Figure 3: Cooperation between simulation engineer, Adams/View and Adams/Solver Full simulation package In the full simulation package (see Figure 3) machine parts are initially created using a 3D graphical user interface (called Adams/View) and assembled. The parts are connected by joints, and motion generators (motors) are attached. The items causing forces, such as springs, dampers, friction and impact, can be applied to certain points on the machine parts. 9
10 PART/partid, QG=x,y,z, REULER=e 1,e 2,e 3, MASS=m, CM=markerid, IP=i 1,..., i 6 MARKER/markerid, PART=partid, QP=x,y,z, REULER=e 1,e 2,e 3 JOINT/jointid, REVOLUTE, I=marker1id, J=marker2id MOTION/motionid, I=marker1id, J=marker2id, B3, FUNCTION=expr Each marker in Adams represents a local coordinate system, i.e. a point in 3D space serving as an origin of a coordinate system rotated in a certain way. The PART specification describes a rigid body of mass m located at x,y,z in the world coordinate system, and rotated by angles e 1,e 2,e 3. The center of mass of this body is a marker markerid; the inertia matrix is given as i 1,..., i 6. The reference point markerid is attached to the part partid at a certain position (in the coordinate system of the part) x,y,z and it has rotation e 1,e 2,e 3. A revolute joint is attached to two markers, which apparently belong to different parts and are joined at the same location in the 3D space. There is a prescribed motion of the joint around the Z axis (i.e. the 3rd axis therefore the keyword B3 is used), and the joint angle during this motion is defined by the expression expr. Table 5: Four typical ADAMS statements. The results of the model definition phase are stored as an Adams dataset file, essentially Adams program code in a proprietary declarative language. The simulation engine (package Adams/Solver) is hidden behind the user interface and can be invoked when the user requires. The initial model can be refined in order to apply more realistic features of the model. By default all the bodies are assumed to be rigid. Using a finite element modeling program and the Adams/Flex package, flexible body deformations can also be modeled. The flexibility of bodies and the dynamic behavior of the total system affect each other. Automatic collision detection between parts can be performed. For this purpose descriptions of part geometries are supplied. When a series of computational experiments should be organized, parametric properties can be swept through a range of values, and parametric design relationships can be set up. If necessary, external functions in FORTRAN can be specified in addition to ADAMS dataset files, and these functions are linked to the application when the models are simulated. The Adams program code is normally generated via a graphical user interface and the code is not intended to be very user-friendly. However, it is easy to modify already written code. The four statements described in Table 5 give some clues about the Adams program notation (words in italics are replaced by relevant numbers). Adams notation is based on statements, where integers are used to refer to other statements. The expressions in Adams may contain any geometric, kinematic and dynamic values available in the model, logical conditions (IF-functions) as well as the current 10
11 modeled time. External functions written in FORTRAN can be called within these expressions. Also these functions can obtain values from input channels in order to cooperate with a control system. Such control systems are described outside Adams, using, e.g., the MATLAB tool. The notation provides a relatively high flexibility of Adams models. The same model can be used for three different kinds of simulations: Kinematic simulation: All motions are already prescribed by the user. The system has zero degrees of freedom. All part positions can be computed from the motions. Forces are ignored. Static simulation: This simulation re-positions parts so that all forces are balanced. It finds the so called equilibrium configuration. Dynamic simulation: This simulation computes the combined effect of forces and constraints. It can be used for any number of degrees of freedom. The dynamic simulation package contains four different integrators. The user should tune these integrators by giving appropriate accuracy, integration step minimum and maximum, as well as other tuning parameters. Adams in Control System Context. Integration of model simulations specified in Adams with external input and output (such as control systems or operator control graphical user interface) requires some special adjustments in the model structure. In order to integrate Adams with control systems, the mechanical model is exported from Adams into a special module. Then this module can be used in SIMULINK, and control system components should be designed and coded in SIMULINK. Visualization. During simulation or after the simulation terminates (in Adams/Solver) the user can see dynamic visualizations of machine elements. However there are no options to steer an ongoing simulation. Adams has a rich set of constructs helping to run a series of simulations as a batch. In the 3D visualization the results of two (or more) simulations can be displayed and compared. However, this is only possible if all the simulations have the same number of steps and the same step size. This limitation makes it difficult to visualize the results from simulations that require varying time steps Adams Plug-in Integrated with CAD Environment. When Adams is integrated with CAD tools (see Figure 4), the user works in his or her native CAD environment where parts and assemblies are normally designed. When dynamic simulation is required, the parts and assemblies are translated internally to Adams program code, the model is simulated and feedback in the form of animation within the same CAD environment is returned. Additionally many parameters of simulations (forces, torques, speed etc.) can be measured and displayed in form of 2D graphs. Integration of Adams with CAD tools from Autodesk, Unigraphics, SolidWorks and many other products is available. The Dynamic Designer (ADAMS plug-in for SolidWorks, Mechanical Desktop and SolidEdge) simulates the model and the model movement is displayed online, during the simulation. When more detailed modeling is necessary, the Adams program code can be saved, modified and later used with the full Adams simulation package. 11
12 dataset (statements) Native user CAD tool with Adams plug in movements Adams/Solver (dynamic simulation) result analysis GUI (2D charts) trace with results Figure 4: Cooperation between a simulation engineer (user), and Adams plug-in embedded in a CAD application. Unfortunately, the integrated variant of the Adams package has some limitations regarding the complexity of the simulation system. In particular, expressions that are used to specify the force values cannot call external functions, and cannot interface with external programs. Example. An experiment has been done with the Mechanical Designer, a plug-in utility for the SolidWorks CAD tool. A double pendulum has been constructed (see Figure 5). The pendulum consists of two bars and one box in a fixed position; these are connected by a revolute joint, i.e. a joint with one rotational degree of freedom. Such revolute joints are labeled as door hinges in the schematic presentation of this mechanism. The tool generates code in Adams dataset format: ADAMS/View model name: Designer UNITS/, FORCE=NEWTON, MASS=KILOGRAM, LENGTH=MILLIMETER, TIME=SECOND PART/1, GROUND MARKER/54, PART=1, QP= , , PART/2, QG= , , , REULER= D, 90D, 180D, MASS=0.64, CM=10000, IP=8618.6, , , 0, 0, 0 MARKER/50, PART=2, QP =0,0, 0, REULER=0D, 90D, 60.29D MARKER/53, PART=2, QP =0,0, 400, REULER=0D, 90D, 60.29D MARKER/10000, PART=2, QP=20, -20, 200 PART/3, QG= , , , REULER=-65.71D, 90D, 0D, MASS=0.64, CM=10001, IP= , , , 0, 0, 0 MARKER/49, PART=3, QP=40, -40, 0, REULER=180D, 90D, D MARKER/10001, PART=3, QP=20, -20, 200 JOINT/1, REVOLUTE, I=49, J=50 JOINT/2, REVOLUTE, I=53, J=54 ACCGRAV/, JGRAV=-9810 END Our conclusion is that ADAMS format is a good candidate for being the kinematic data exchange format. There is a tool for conversion of ADAMS models to extended ADAMS-compatible Modelica library, built on top of MBS library [32]. 12
13 Figure 5: Pendulum model designed in SolidWorks with Adams plug-in. 3.3 Working Model 3D Working Model 3D [13] is an advanced tool providing dynamic analysis within an integrated modeling and simulation environment. In the Working Model 3D tool users create set of bodies (mechanical parts) and describe how these are pairwise connected by joints. Only primitive shapes can be constructed within Working Model 3D. However, it supports not only design of simple mechanical models, but import of CAD models from SolidWorks, SolidCad and Mechanical Desktop as well. The tool performs dynamic simulation of systems of rigid bodies. When a system is constructed, the revolute, prismatic, spherical and many other kinds of joints can be specified (Figure 6). The tool is able to detect collisions and produce response impulses. The results of analysis can be displayed as 3D scenes as well as 2D graphs of any variables computed during simulation. Mechanical joints that can be specified in Working Model 3D directly correspond to joints in the Modelica MBS library. The mass, the center of mass and the inertia tensor are automatically computed from user-specified density. However, all these can be overridden by the user. The major drawback of Working Mode 3D is the absence of communication with the outer world. Models in Working Model 3D (version 4.0) cannot interact with any external software during simulation (see also Section 3.3). There is no way to attach multidomain components, and no options to attach controls to steer the model during running simulation. There is no experimentation language and no batch simulation is possible. The information in Working Model 3D is available mainly inside the tool. Some- 13
14 times useful information is displayed by the tool but cannot be automatically extracted for use by external programs. The data export capabilities of Working Model 3D are limited: simulation results can be exported, but joint information cannot. The internal format of Working Model 3D is binary, proprietary and encoded. Prescribed motion, or prescribed external forces can be described in the form of mathematical expressions. Such expressions can be arbitrarily complex and nested. The expressions can include other variables of the system (position, velocity of the bodies) as well as the current value of time. Figure 6: Double pendulum model in Working Model 3D Since Working Model 3D stores information about the model only for internal operation, we conclude that it cannot be used for kinematic data storage D Studio Max This tool ([3]) is able to specify object geometry in a very detailed way. However, there is a gap between geometry and physical properties. 3D Studio Max has several degrees of approximation between its objects and the corresponding physical objects. This quite useful approximation feature does not appear in other modeling tools. 14
15 The objects can initially be constructed as solid bodies or as surfaces. When such objects are used for dynamic simulation either a bounding volume (box or sphere), or a mesh subdivision of the object can be used as the geometry model for dynamic simulations. This choice is up to the user. Obviously, computations using bounding volumes are much faster and usually more inaccurate than computations using a mesh. 3D Studio Max is primarily oriented towards description of graphical and geometrical properties of surfaces. Therefore the computation of certain physical properties is not always adequate: objects might contain just a surface (e.g. a square) which has no solid body properties such as mass and volume. To solve this problem, the tool computes mass and volume using a certain degree of accuracy, in particular using bounding box around the surface, bounding sphere or (much more exact for complex shapes) using mesh subdivision. Movement constraints in 3D Studio Max are specified as locks 2 ( these forbid translation and rotation of child objects with respect to parent object in certain directions). The mass and the position of the center of mass are either computed using the rules mentioned above, or can be overridden by the user. The inertia tensor is not computed nor used at all. 3D Studio Max uses MaxScript (a proprietary interpreted command and programming language) or a C++ API for manipulation and extraction of data from 3D scenes. Geometry can be extracted in VRML, STL, DXF and some other formats. Specification of locks and physical (dynamic properties) overridden by the user cannot be extracted by MaxScript, but apparently can be accessed via the C++ API. A tool for extraction of this information from 3D Studio Max to Modelica is being designed by Dynabits[5]. Figure 7: A pendulum model in 3D Studio Max Computer animation software (such as 3D Studio Max and Maya) provides a large variety of features in order to make computer-based animations more realistic in move- 2 This is 3D Studio Max terminology. 15
16 Figure 8: Hierarchy of objects in the model of a pendulum in 3D Studio Max ments. For this purpose these tools can model mechanical systems (see Figure 7) and compute trajectories of rigid and flexible bodies according to physical laws. These trajectories can be saved in the proprietary format of the computer animation tools. Normally there are no options for external steering of the mechanical model during computation of the trajectories. Instead, computer animation packages can quickly compute rough approximations of dynamic movements. In 3D Studio Max, mechanical or similar models with moving parts are constructed in a hierarchical fashion. All the objects of a mechanism should belong to a directed acyclic graph (see Figure 8). The edges of the graph define relations between parents and children and there is one and only one parent for every node (except the root of the hierarchy which has no parents). The lock (constraint rules) of a child node defines how it can be translated and/or rotated with respect to the parent (see Figure 9). If, for instance, Rotate/X and Rotate/Z are selected, the child object can only rotate around its local Y axis. If Move/X and Move/Z are selected, the child can only move along the Y axis. By combining different degrees of freedom all typical joint types can be modeled (revolute, prismatic, spherical, cylindrical, etc.). The joint properties are not clearly visualized during model editing, and it can be difficult to choose correct directions of constraints. External force (Push option) and torque (Motor option, as well as environment settings (Gravity and Wind) can be applied to the objects. These objects are included in the hierarchy of a 3D Studio Max scene (see Figure 8) The 3D Studio Max Dynamics subsystem analyses collisions and generated motion taking collision response into account. Collisions can be computed at different level of accuracy (using just bounding box, bounding sphere, or using a detailed mesh of the object). There exist material properties, which are applied to the object: collision 16
17 Figure 9: Lock (i.e. degrees of freedom) specification for a pendulum model in 3D Studio Max. The child object can rotate around the Y axis only. Scaling is not locked but it cannot happen in dynamic analysis. restitution coefficient (bounce coefficient), static and sliding friction coefficient. These numbers are in the [0.0,1.0] interval. The dynamic capabilities of 3D Studio Max do not include springs and dampers. Kinematic loops cannot be constructed because the kinematic skeleton always has tree structure. Tests we have run show that computations are very approximate and sometimes they produce non-adequate results (objects penetrate, or locks are broken). We conclude that 3D Studio Max should not be used for kinematic information definition. However it can be used for high quality visualization of mechanical simulations in Modelica. 3.5 Mechanical Desktop Mechanical Desktop (version 4)[4] is an environment which integrates the AutoCAD 2000 (a tool for modeling of parts and surfaces), ACIS 5.1 kernel for modeling complex geometry as well as features of Genius Desktop 3 and AutoCAD Mechanical Details about these products and various formats mentioned in this section can be found in [4]. It is one of the most popular tools for mechanical design. This tool is one of about 200 CAD tools related to AutoCad, which use the ACIS engine for internal representation and processing of CAD information. All tools using the ACIS engine can exchange geometry data using the ACIS format (ASCII.sat files and binary.sab files). However applications use specialized formats for storage of all other information but geometry. In particular Mechanical Desktop uses binary DWG format. Products of the AutoCad family have specialized support for many areas of computeraided design. Special applications are targeted for building industry, geographical information systems and mechanical design. Also there is a whole series of applications for static and dynamic visualization of AutoCad models, including 3DStudio Viz. It uses Mechanical Desktop files for automatic assembly animation. Each modification of a model in 3DStudio Viz is reflected in Mechanical Desktop and vice-versa. In order to construct an assembly, all the parts should be first referenced or localized 17
18 into the assembly drawing. Mechanical models with motion constraints (assembly constraints in the AutoCad terminology) are constructed in Mechanical desktop by means of menu commands (Mate, Insert, Flush, Angle). These menu choices invoke command line interface commands with corresponding prompts: AMFLUSH specifies two parallel planes and a fixed distance between the planes (the distance is 0 by default). AMANGLE specifies an angle between two planes, two vectors (or axes) or between a plane and a vector (or an axis). The angle is 0 by default. AMMATE specifies that two planes, axes, points or non-planar faces (sphere, cone, cylinder, or torus) are coincident. AMINSERT specifies that two faces (e.g. cylindrical surfaces or edges) are coplanar and share common axis. In order to extract information about relations between bodies it is possible to use ObjectARX (Object AutoCAD Runtime Extension) which provides a mechanism to manipulate the Mechanical Desktop programmatically from within or outside of the Mechanical Desktop. This Automation (Application Program Interface) gives C++ programs (clients) access to the internal representation of assembly information. Programs written using this interface are installed as plug-ins in the Mechanical Desktop environment. In particular, C++ clients can access McadConstraintDescriptor object which contains information about two geometric objects operated on by this constraint, the type of constraint (one of mccompmate, mccompflush, mccompinsert, mccompangle) as well as a value which for example could be the offset distance or the angle. The facilities for constraint definition in Mechanical Desktop are similar to those in SolidWorks. Our conclusion is that AutoCAD nativeformatcannotbeused as a format for kinematic data exchange, since it is a proprietary binary format. As part of future work within the Realsim project (Task 3.2) we plan at PELAB (Linköping University), in cooperation with MathCore AB, to design a converter from Mechanical Desktop assemblies to Modelica/MBS. 3.6 Pro/ENGINEER Tool Family Pro/ENGINEER[17] is one of the most widely spread tool families for mechanical design. It is targeted primarily for industrial applications and design optimization of products. Several different environments for different purposes are combined together, and a common CAD data representation model is used for information exchange. In order to create a mechanical model consisting of several bodies, a static model of collection of parts is created initially in the Pro/ENGINEER Foundation Tool (see Figure 10). When an assembly is created from parts, locations of future joints should be correctly aligned. Pro/ENGINEER has several extension packages, in particular Mechanical Design Extension. This extension enables designers to specify motion of assembled Pro/ENGINEER parts. When the parts are assembled, joints of different types connect them. These joints are Pin, Slider, Cylinder, Planar and Ball. Every such joint define certain limitations of part movement relatively to each other. Rotational and translational degrees of freedom are reduced, and the motion is constrained. 18
19 Pro/MECHANICA Motion Simulation Programming Toolkit (API) Motion Simulation Package (GUI) Structural Simulation Package (GUI) Pro/ENGINEER Design Automation Option (GUI) Mechanical Design Extension (GUI) No API? Application Programming Toolkit (API) Pro/ENGINEER Foundation (GUI) Figure 10: Structure of layers of Pro/ENGINEER and related tools. Mechanical Design Extension has other important facilities for assemblies: every part of the assembly can be moved (dragged by mouse); predefined (prescribed) movements can drive the parts. Some performance features of the mechanisms can be assessed at this stage, e.g. clashes can be detected, and model extents in the coordinate space can be evaluated. Pro/ENGINEER has a Design Automation option. This makes it possible to create animation sequences of moving mechanisms. The designer specifies positions of parts in assemblies for some key frames, and smooth movement of these parts is automatically generated. Pro/MECHANICA is another product family which is built on top of core Pro/EN- GINEER, and used for model simulation. This package contains several simulation tools, in particular the Motion Simulation Package for kinematic analysis (using equations of motion of rigid bodies) and Structure Simulation for structure deformation and stress studies (using finite element analysis). Kinematic analysis uses description of parts defined in Pro/ENGINEER Foundation Tool, and joint definitions defined in Mechanical Design Extension. Since Mechanical Design Extension is useful in the context of Pro/MECHANICA only it can be also considered as part of Pro/MECHANICA. Kinematic simulation is used as a foundation for the more advanced features of Pro/MECHANICA: sensitivity analysis and automated design optimization. When multiple design parameters are specified and a design goal is expressed in measurable physical quantities, the tool can perform automatic design optimization. These simulation capabilities can be augmented even more by the Motion Simulation Programming Toolkit. This toolkit enables in particular extracting the equations of motion (in an en- 19
20 capsulated form) so that the simulation can be driven by an external program. This way components from other application domains (electric, control, hydraulic, etc.) can be attached to mechanical simulation in order to build a single application. Access to information describing model geometry and all model features created by the Pro/ENGINEER Foundation Tool can be done by exporting data in the MNF (Mechanica Neutral File) format or via the Application Programming Toolkit. The features specified by the Mechanical Design Extension (i.e. joints of different kinds) are stored in MNF and not accessible via the toolkit. This API offers the possibility of adding user-defined objects to the model. This way it would be possible to add special joints. These new joints would not be compatible with the joints defined in Mechanical Design Extension. Regarding translation of mechanical models with joints from Pro/ENGINEER to Modelica we can conclude in its current version (Pro/ENGINEER 2000) neither Application Programming Toolkit nor MNF can be used for this purpose. New user-defined objects can be created, however. These objects can be defined in the same way as joints. The model together with such objects (Modelica s joints) can be translated to Modelica. The disadvantage of this approach is that these joints cannot be used in Pro/MECHANICA. 3.7 STEP formats A large international effort is underway within the International Standards Organization (ISO) to develop standards for representing information about products in many different industries. The standard is generally known as the Standard for the Exchange of Product Model Data, or STEP (officially known as ISO Standard 10303, Product Data Representation and Exchange)[24]. STEP is intended to provide an international standard for computer-based description and exchange of the physical and functional characteristics of products throughout their life cycle, independent of any particular system. STEP provides the overall framework and the implementation technologies for representing product design and production data in a form that can be exchanged between computer systems as files or direct on-line access the type of data used by Computer-Aided Design (CAD), Computer-Aided Engineering (CAE), and Computer- Aided Manufacturing (CAM) applications, for example. This overall framework is applied to specific industry applications through STEP product models. STEP technology is being aggressively pursued in many industries as both a major enabling technology of future international commerce in the global economy and as a key to implementing informational technologies for productivity improvement throughout enterprises. Active participation has come from industries such as automotive (including companies like Ford, General Motors, BMW, Chrysler, and Mercedes- Benz); aerospace (e.g., Boeing, GE Aircraft Engines, Pratt and Whitney, and Rolls- Royce); and electronics (e.g., IBM, Digital Equipment Corporation, and Hewlett-Packard). Efforts to apply STEP to the Architecture, Engineering, and Construction (AEC) industries are also underway. An initial set of STEP parts were released as an international standard in December, STEP does not attempt to produce a single standard model that applies across disciplines. Rather, the STEP approach is to produce standard product models for use within specific areas of application, called Application Protocols (AP s), and to strive to harmonize and coordinate these models across application areas to the greatest extent possible. Various Application Protocols commonly use Integrated Application 20
21 Resources (IAR s). IARs contain conceptual constructs for specific application areas. For the purpose of mechanical analysis three STEP parts are important: AP-203, IAR-105 and AP STEP AP 203 The Application protocol AP 203 (Configuration-controlled design) defines entityrelationship rules for description of object geometry. The implementation is a file that comply with these rules. Records in the file contain references to other records (e.g. #5). There are translating tools for AP 203 from and to Catia, IDEAS and Pro/ENGINEER. There are also translating tools for AP 214 from and to IDEAS and Pro/ENGINEER [25]. Unigraphics can read and write AP 203 and AP 214. SolidWorks can read AP203 and AP214, and write AP203 only. XChangeWorks is a plug-in for Mechanical Desktop that reads AP203 and AP214 files and converts them to Mechanical Desktop models. ISO ; HEADER; FILE_DESCRIPTION(( This file contains an AP 203 implementation ), 1 ); FILE_NAME(...) FILE_SCHEMA( Config_Control_design ); ENDSEC; DATA; #1 = CARTESIAN_POINT(( , ,0.5)); #2 = VERTEX_POINT(#1); #3 = CARTESIAN_POINT((0.,0.,0.5)); #4 = DIRECTION((0.,0.,-1.)); #5 = DIRECTION(( , ,0.)); #6 = AXIS2_PLACEMENT_3D(#3,#4,#5); #7 = CIRCLE(#6,0.25); #8 = EDGE_CURVE(#2,#2,#7,.T.); #9 = ORIENTED_EDGE(*,*,#8,.F.); #10 = EDGE_LOOP((#9)); #11 = FACE_BOUND(#10,.T.);... Kinematic features are not included to AP3203. Other parts, in particular AP214 should be used for storage of this information IAP 105 This STEP part defines concepts necessary for kinematic design in different application areas. It introduces joints, links, several types of joints and relationships between them. The following STEP terms defined in this protocol apply also to other protocols: base, frame, joint, link, mechanism, motion, pair, placement, world coordinate system. The scope [26] of this protocol includes: definition of kinematic relationships between rigid objects called links; representation of the topology for a kinematic structure; definition of a kinematic motion as a sequence of discretised positions and orientations; representation of the input to and the result of a kinematic analysis. The following items are out of Scope of the protocol: 21
22 description of tolerances and clearances in kinematic structures; description of motion parameters in terms of a continuous time variable; representation of intermittent joints with variable constraints on motion; representation of dynamic mechanical assemblies; representation of force, mass, and friction. It should be noted that IAP 105 does not define a separate application protocol. Therefore data files cannot be created based on just this part. Instead, it is assumed that AP214 should use IAP105 to define the details of kinematics AP 214 This STEP part defines Core Data for Automotive Mechanical Design. This is not an ISO standard yet (currently it is a Draft Standard), but it is expected to become an ISO standard in year This part is extremely large (just a concise description of the terms and syntax occupies 5 Megabytes of plain text). It consists of 31 units of functionality, and only one of them (called K1) is devoted to kinematics. This unit of functionality (K1/kinematics) provides the capability to represent kinematic aspects of a mechanical product as required for the communication between CAD systems and kinematic analysis systems, including robotic simulation systems, as well as between dissimilar kinematic analysis systems. A mechanism as described using this unit is regarded as being composed of rigid links mating in the following types of joints: cylindrical pair, gear pair, homokinetic pair, planar pair, point on surface pair, prismatic pair, rack and pinion pair, revolute pair, rolling curve pair, rolling surface pair, screw pair, sliding curve pair, sliding surface pair, spherical pair, universal pair. The mechanism may contain open or closed kinematic chains. This information is implicitly defined by the topology of the kinematic structure. A mechanism may be connected to another mechanism. Both planar and 3D mechanisms can be defined. The rigid links may be described by a 3D geometric shape description. A link may have additional frames attached to it, to allow application specific kinematic forward analysis to be performed. The following application objects are used by the kinematics unit of functionality: Actuator, Ground representation, Initial configuration, Interpolated configuration sequence, Kinematic configuration definition, Kinematic configuration interpolation, Kinematic control, Kinematic element, Kinematic joint, Kinematic link, Kinematic link representation, Kinematic mechanism, Kinematic pair, Kinematic simulation information, Kinematic structure, Kinematic transformation result, Pair value, Path approximation, Simple pair range, Tool attachment point frame, Tool - centre point frame, Transformation to reference frame. This format contains also physical values necessary for kinematic simulation. AMomentsof inertia describes the law of inertia in the context of the rotation of a rigid body. The moments of inertia I are described with a symmetric second level tensor. A Mass is a quantity of matter that an item contains. A Centre of mass is the centre of the mass of a body. This data is necessary for kinematic simulations, but does not belong to K1. The scope of the application protocol is rather broad. It is much broader than just kinematic analysis. It includes 22
23 products of automotive manufacturers and of their suppliers. These products include parts, assemblies of parts, tools, assemblies of tools, and raw materials. The considered parts include the constituents of the car body, of the power train, of the chassis, and of the interior. The tools include those specific to the products produced and used by various manufacturing technologies. product definition data and configuration control data for managing large numbers of variants of automotive products during the design phase; data describing the changes that have occurred during the design phase, including tracking of the versions of a product and of the data related to the documentation of the change process; the following eight types of representation of the shape of a part or of tool: a) 2D-wireframe representation; b) 3D-wireframe representation; c) geometrically bounded surface representation; d) topologically bounded surface representation; e) faceted-boundary representation; f) boundary representation; g) compound shape representation; h) constructive solid geometry representation. simulation data for the description of kinematic structures (unit K1); The simulation data for a windshield wiper may include the geometry of the windshield as well as the kinematic structure of the wiper including all necessary links and joints. properties of parts or of tools; data defining surface conditions, dimensional data and geometrical tolerance data. The items out of Scope are: product definition data pertaining to any life cycle phase of a product not related to the design phase; business or financial data for the management of a design project; a general parametric representation of the shape of a part or of a tool; data describing the pneumatic, hydraulic, electric, or electronic functions of a product; continuous kinematics simulations over time; data describing the input or the results of finite element analysis 23
24 3.7.4 Using STEP format as an interface format. We conclude that the STEP format is a good candidate for being an interface format for simulations. The protocols are already standardized or being standardized now. However the tools necessary to take in account whole protocol data will be too complicated. Since only small part of these protocol specifications is used for simulation we need to use a subset of there protocol. As result the translation tools will not conform the STEP standard. STEP is a quite new standard at it will take some time to mature. Currently STEP is primarily used for production data storage, sometimes as intermediate format for data exchange between CAD tools. Recent benchmarks revealed that import/export of STEP preserves information better than IGES and VDAFS[27]. There are no simulation tools based on STEP simulation data yet. Creation of a STEP AP214/K1 to Modelica/MBS translation tool can become one of future projects. 3.8 CATIA The CATIA [33] is one of the most advanced high-end CAD tools widely used in industry. The CATIA kernel can be complemented by a number of additional packages. The kernel configuration includes traditional part modeling capabilities. CATIA Assembly Design is additional package that defines and manages assembly structures. Users can design parts and sub-assemblies to any number of levels. When the designers work with assemblies, they specify assembly constrains and establish contacts between planar, cylindrical, spherical and conical faces. A constraint solver automatically adjusts the positions of parts in accordance with the specified constrains. The tool can perform collision detection between parts (in their static positions) and perform clearance analysis. In order to exchange data with other tools, CATIA is able to import and export STEP AP203 format (Section 3.7.1). The assemblies in addition to CATIA parts can also include VRML (Section 3.10) files in order to enable heterogeneous digital mockups with input from different systems. CATIA Kinematic Simulator package performs analysis of mechanism movement. This analysis tool can import a number of geometry definition formats: CATIA, STL, IGES and some others. These objects are connected with joints; the following joint types are available: point/surface, curve/curve, revolute, prismatic, actuator, planar, spherical, gear, rack, universal, constant, velocity and more. Typically users directly drive parts with mouse movements. This direct screen manipulation allow users to comprehend possible kinematic motions. Similarly to Assembly Design package, this tool performs interference and clearance checking as well as computing the minimum distance between bodies. CATIA IGES Interface enables users to exchange data with other systems using IGES(see Section 3.12) format. The geometrical information can be retrieved from IGES files to create features such as wireframes, surfaces and other 3D geometry components for solid body definition. CATIA STEP AP203 Interface reads and writes data in STEP AP203 formats(section 3.7.1). This application protocol consists of several classes. Class 2 describes curves and surfaces. Class 3 describes curves and associated topology (edges). Class 4 includes faces, class 6 includes so called exact solids. CATIA STEP AP203 interface supports classes 2,3,4 and 6. There is no interface for reading and writing AP214 data, and therefore no way to communicate constraints information to tools external to 24
25 CATIA CATIA has options for export and import of DXF, STL, VRML and some others less known formats. For internal storage CATIA uses a proprietary binary format which cannot be used for information exchange with other tools. We conclude that CATIA format cannot be used for data exchange since it is a proprietary binary format, and CATIA tool is too expensive for most potential users. 3.9 I-DEAS I-DEAS is a group of products developed by SDRC. These products can be packaged in various ways, but the major functionality we are interested in is included in I-DEAS Master Modeler and Master Assembly. Additional important components are I-DEAS Mechanism Design and I-DEAS STEP Data Translator. I-DEAS Core Master Modeler is the common generic modeling foundation of I- DEAS. It is used in other I-DEAS applications, such as finite element modeling, drafting and some others. The models made in this tool include open part or solid geometry, parametric and variational design features, engineering equations, dimensions, physical properties (mass and volume) etc. When parts are designed, extrude, revolve, fillet, chamfer and other features are combined. Part components can be cut and joined together. Graphical history tree browser makes possible to perform modification rollback when necessary. The major data exchange format I-DEAS supports is IGES (see Section 3.12). Other less known formats using polynomial representation of curves and surfaces are VDA-FS and SET ( developed and used mainly in France). Export to the STL form is used for stereolitography purposes. I-DEAS Master Assembly can integrate unlimited number parts in hierarchy levels. The VGX technology within I-DEAS makes possible to interactively specify constraints, including parallel, perpendicular, coincident, collinear, tangent and lock. General assembly equations can be written to include engineering parameters, part dimensions, and orientation dimensions. These equations are solved in the tool to give more flexibility for the designer. The tool checks interferences between parts in assembly, The motion of kinematic assemblies can be animated, and mechanism work can be evaluated visually. The tool computes surface area, volume, mass, moment of inertia, center of gravity and some other mechanism features. The Mechanism Design capabilities include joints (revolute, translational, cylindrical, universal, spherical, planar, fixed, rack and pinion, screw and constant velocity). Applied loads include gravity and contacts. A predefined relative motions can be specified between the translational, rotational, or cylindrical joints. Spring and dampers facilitate ease-of-friction modeling. Results of motion simulation include velocities, accelerations, magnitudes. Depending on the remaining degrees of freedom, kinematic or dynamic solve is performed via embedded ADAMS solver. The tool also provides an automatic interface to external solvers, using ADAMS data format. Mechanisms can be defined within I-DEAS, data can be exported for more advanced study of model behaviour; the results can be later read back into I-DEAS for post-processing or iterations on the design. I-DEAS supports input and output of STEP data in two application protocols, AP203 and AP214. In AP203 the conformance classes 1, 2, 4, 6 can be used. In 25
26 AP214 basic product data management can be described as well as solid geometry description. Assembly information, including kinematic specification is not included into AP214 units of functionality supported in I-DEAS interface capabilities. For internal storage I-DEAS uses a proprietary binary format which cannot be used for information exchange with other tools. We conclude that I-DEAS format cannot be used for data exchange since it is a proprietary binary format, and I-DEAS tool is quite expensive for most potential users. However, in future conversion tool from I-DEAS to Modelica can be designed VRML VRML (Virtual Reality Modeling Language) is a textual format for description of static or dynamic 3D scenes consisting of geometrical objects. Geometry can be described in various levels, i.e. as set of polygons, or as predefined primitive surfaces. Predefined motion can be described using control points used for linear interpolation in time domain. Various coordinate systems can be used, and transforms between these systems is described via hierarchical scene graph. The VRML language is used by many tools as intermediate format for geometry presentation, specially when this presentation is oriented to visualization. VRML does not contain solid body geometry description; instead surfaces only are described. VRML is extensible (users can add new attributes to the scene hierarchy). For the purpose of kinematics, several fields can be added, such as mass, inertia tensor, joint positions and types etc. These fields would be used just by several specialized tools working with kinematic applications, and these can be effectively ignored by all other tools working with VRML. In most cases, however, kinematic information should be separated from geometry information. We conclude that VRML format cannot be used for kinematic data exchange since there is no standard way to describe mass, inertia, and joint freedom information. VRML can complement other kinematic data formats when geometry description is necessary. This approach is implemented in Modelica add-on tools for visualization purposes. However, in future necessary nodes can be added to extended VRML and a conversion tool from CAD systems to Extended VRML and from Extended VRML to Modelica can be designed STL, DXF These are two surface description formats. They describe only surface geometry. Information about the solid body features is not preserved in these descriptions. We conclude that these formats cannot be used for kinematic data exchange, but they can complement other kinematic data formats when geometry description is necessary. This approach is implemented in Modelica and add-on tools for visualization and collision processing purposes STL The STL (STereo Lithography) format [34] is a very simple format suitable for visualization. All surfaces are divided into triangles. The coordinates of the triangle vertices, as well as the normal vectors of the triangles, are listed in the STL-file. The text below is an example of one triangle in STL. 26
27 facet normal e e e+000 outer loop vertex e e e+002 vertex e e e+000 vertex e e e+000 endloop endfacet DXF The DXF format developed by Autodesk [4] is a more advanced format suitable for visualization and geometry data storage. In addition to triangles (3DFACE entities) it contains some more information about colors and more specialized primitive objects. The text below is an example of a triangle in DXF (normally each word in DXF is written in a separate line; the example below is compressed). 3DFACE 8 stldxf IGES The Initial Graphics Exchange Specification (IGES) [31, 29, 30] is the U. S. national standard for the exchange of data between dissimilar CAD systems. The IGES standard, now in its sixth revision, has been expanded to include most concepts used in major CAD systems. All major and most minor non-pc-based CAD systems support some version of the IGES standard. Some of the over 1000 PC-based CAD systems (including all of the major ones) include some IGES support. IGES is intended as a neutral format, not tied to any particular CAD system. Still, IGES better represents the entities of some CAD systems than it does others. IGES is a file structure format, a language format, and the representation of geometric, topological, and nongeometric product definition data in these formats. Product definition data represented in these formats will be exchanged through a variety of physical media. The specific features and protocols for the communications media are the subject of other standards. The methodology for representing product definition data is extensible and independent of the modeling methods used. IGES contains descriptions of parts using Constructive Solid Geometry. There is no information about kinematic relationships between parts collected in IGES documents. Descriptions contains a table of entities where each entity contains space coordinates and relationships to other entities in the model. In cooperation with I-DEAS this format may contain 3D wireframes, parametric spline surfaces, B-spline surfaces of high polynomial order. This way some analytic geometry descriptions can be translated between CAD systems without loss of precision. This is the list of available entities: 27
28 100 Circular Arc 102 Composite Curve 104 Conic Arc 106 Copious Data 108 Plane 110 Line 112 Parametric Spline Curve 114 Parametric Spline Surface 116 Point 118 Ruled Surface 120 Surface of Revolution 122 Tabulated Cylinder 124 Transformation Matrix 125 Flash 126 Rational B-Spline Curve 128 Rational B-Spline Surface 130 Offset Curve 140 Offset Surface 141 Boundary (see Appendix G) 142 Curve on a Parametric Surface 143 Bounded Surface (see Appendix G) 144 Trimmed_Parametric_Surface 150 Block 152 RightAngular Wedge 154 RightCircular Cylinder 156 RightCircular Cone Frustum 158 Sphere 160 Torus 162 Solid of Revolution 164 Solidof Linear Extrusion 168 Ellipsoid 180 Boolean Tree 182 Selected Component 184 Solid Assembly 186 Manifold Solid B-Rep Object 502 Vertex 504 Edge 508 Loop 510 Face 114 Parametric Spline Surface 118/1 Ruled Surface 120 Surface of Revolution 122 Tabulated Cylinder 128 Rational B-Spline Surface 140 Offset Surface 190 Plane Surface 192 Right Circular Cylindrical Surface 194 Right Circular Conical Surface 196 Spherical Surface 198 Toroidal Surface 106/11 2D Path 106/12 3D Path 106/63 Closed Planar Curve This is an example of part fragment in IGES format: 28
29 ,,8HPANEL123,10HPANEL.IGES,4HEX 2,4HHAND,16,38,7,38,14,8HPANEL123,1.0, G 1 1,4HINCH,1,0.028,13H ,0.0005,100.0, G 2 25HIGES RFC Review Committee,8HIPO/NIST,6,0; G D D D D D D D D , , ,0.0,1.0, , ,0.0, 1P 1 1.0,0.0,0.0,1.0,0.0,0,0; 1P 2 212,2,10,0.98,0.1,1,1.571,0.0,0,0,3.21,1.656,0.0,10HDRILL.010, 3P 3 10,1.02,0.1,1,1.571,0.0,0,0,3.210,1.506,0.0,10H(6 PLACES),0,0; 3P 4 214,2,0.150,0.050,0.0,4.800,2.000,4.562,1.546,4.262,1.546,0,0; 5P 5 210,3,1,5,0,0; 7P 6... We conclude that this format cannot be used for kinematic data exchange. It is even too complex in order to complement other kinematic data formats when geometry description is necessary. If models described in IGES should be modeled, kinematic information should be restored (e.g. using SolidWorks) and geometry can be translated to one of simple formats (STL or DXF) for visualization XML XML [35] is the Extensible Markup Language. According to the specification XML is not a single, predefined markup language: it s a metalanguage a language for describing other languages which lets the user design his own markup. Predefined markup languages like HTML define a way to describe information in one specific class of documents only; XML lets the user to define a customized markup language for limitless different classes of document. It can do this because it s written in SGML, the international standard metalanguage for text markup systems. XML is designed to make it easy and straightforward to use SGML on the Web: easy to define document types, easy to author and manage SGML-defined documents, and easy to transmit and share them across the Web. It defines an extremely simple dialect of SGML which is completely described in the XML Specification. The goal is to enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML can be used for storage of kinematic information, as any other information. For instance, tree-like structures containing kinematic elements like bodies and joints, as well as their numerical attributes can be described in XML. For this purpose DTD schemas for kinematics should be defined, standardized and translation tools (parser and generator) should be implemented. Unfortunately, there is no DTD for CAD information standardized. Therefore there is no substantial motivation to design necessary translation tools. The example below shows a sample XML description for a body, a local coordinate frame and a revolute joint connecting two local coordinate frames. 29
30 <model name="pendulum"> <body name="abc" mass="7.456"> <inertia i11="0.45" i22="0.23" i33="0.45" i12="0.05" i13="0.0045" i23="0.1"/> <center x="0.4" y="0.5" z="0.2"/> <geometry xx="1"> <origin x="0.5" y="0.2" z="0.3"/> <x-axis x="1.0" y="0.0" z="0.0"/> <y-axis x="0.0" y="1.0" z="0.0"/> <presentation language="stl" file="abc.stl"/> <color r="0.5" y="0.0" z="1.0" transparency="0.5"/> </geometry> </body> <coord name="c1"> <relative name="abc"/> <translation x="0.5" y="0.2" z="0.3"/> </coord> <joint name="j1" type="revolute" obj1="c1" obj2="c2"> <axis x="0.0" y="1.0" z="1.0"/> </joint> </model> We conclude that this format can be used for kinematic data exchange, but additional efforts for standardization will be necessary. 4 Using the Modelica Language for Dynamic Analysis of Mechanical Models 4.1 Modelica A new language called Modelica [11, 7, 16, 18] for hierarchical object-oriented physical modeling is being developed through an international effort. The first version of Modelica, version 1.0, was announced in September The most recent, version 1.3, was released in December 15, It is an object-oriented language for modeling of physical systems for the purpose of efficient simulation. The language unifies and generalizes previous object-oriented modeling languages, e.g. such as Dymola [6], Omola [2], ObjectMath [10, 19], Smile [9], NMF [21], etc. Compared with the widespread simulation languages available today this language offers three important advances: non-causal modeling based on differential and algebraic equations; multidomain modeling capability, i.e. it is possible to combine electrical, mechanical, thermodynamic, hydraulic etc. model components within the same application model; a general type system that unifies object-orientation, multiple inheritance, and templates within a single class construct. Modelica is a general standard notation which can be used for standard application domain libraries and for applications that use these libraries. Tools and environments are built to comply with this standard. 30
31 4.2 Basic Features of the Modelica Language The Modelica language is primarily intended for the description of systems that have variables with continuously changing values. Additionally, discrete variables are supported giving the language hybrid modeling capabilities. Models written in Modelica specify which variables exist in the mathematical model, and how the variable values are related. Values of continuously changing variables are usually represented as floating point values. The floating point variables are usually involved in such models. The type of these is denoted as Real. Relations between the variable values are described by differential-algebraic equations (DAE), such as x +1=cos(Time) or y = x Equations and variables used in equations are collected in Modelica classes. Modelica classes are intended for reuse. The classes are collected into packages. One or several related packages form a library. There exist libraries for electrical, mechanical, thermodynamics, hydraulic and other application domains. Libraries serve as collections of knowledge for each application domain. Equations based on the laws of physics, as well as rules describing how the classes can be applied are stored in the libraries. 4.3 Introduction to the Modelica Multibody System Library To facilitate mechanical system modeling a standard Modelica class library has been developed for modeling multi body mechanical systems (MBS) [15, 20], i.e., systems of rigid bodies connected to each other with certain degrees of freedom. This object-oriented library was developed and described by Martin Otter in his dissertation [20]. Overviews of the library are given in [28]. This library was first implemented in the Dymola language. Later this library was translated to Modelica. It should be noted that an beta-version of the library is discussed in this report. Another 3D-mechanical library for Modelica is currently under development. The purpose of the MBS library is to simplify modeling and dynamic analysis of mechanical models. Given an idealized mechanical model and external forces, a Modelica simulation can compute the position and orientation of each body (point mass) as a function of time. The MBS library is based on Newton s laws. Since these are applied to multiple and connected bodies, coordinate transformations are taken into account. Since the library works with bodies that have some extent, their dynamics cannot be simplified to the dynamics of point masses. The rotation of bodies, as well as the speed and acceleration of rotation are taken into account. The MBS library operates on idealized rigid bodies described by mass and inertia tensors. Massless joints and coordinate frame transformations can be set up between bodies with mass. Motors and other driving and braking forces and torques can be applied to the joints. Also, springs, dampers and external forces can be modeled. The unique feature of the Multibody library is the efficient treatment of joint locking and unlocking. This allows e.g. easy modeling of friction or brakes in the joints. This locking information is not used in the kinematic data format discussed in this report. However it can be added for simulation purposes. The major areas that MBS does not handle (and is not intended to handle) are flexible bodies (bodies with deformations). This requires solution of partial differential 31
32 equations which currently cannot be formulated in Modelica. Furthermore, these equations require very high efficiency in computation, as well as very detailed control of solution method choice, which is missing in current implementations. However there is ongoing research in this area[12, 22]. The MBS library is a collection of Modelica classes. In order to do modeling of a mechanical system certain classes need to be instantiated in the user s model. These should be properly connected, according to certain rules. Mechanical system models can be used for several purposes, since there are different ways to analyze dynamic systems. However, the most typical use of such models is to analyze the movements of bodies resulting from the application of certain forces and torques, as well as other changes in the environment. The forces and torques can have different origins: these can produced by drive trains, electrical motors, controlling devices, or combination of those. Additionally, external forces and torques can be directly applied to bodies in mechanical models. i.frame p.inertial i.frame_a i.frame_b 2 i.twotreeframes i.oneframe_a i.twonotreeframes i.framebase p.body x.bodyv p.frametranslation i.framerotation i.frameaxes i.frameangles i.oneframe_b y.visualshape i.bodybase i.exttorquebase bi.inport i.extforcebase p.shape f.exttorque, f.extlinetorque f.extforce, f.extlineforce p.body2 p.cylinderbody p.boxbody i.treejoint j.spherical j.freemotion p.shapebody i.interact ri.flange_a ri.flange_b i.force i.interact2 j.screw j.revolute ti.flange_a ti.flange_b j.prismatic c.connectingrod i.lineforce j.cylindrical 2 c.spherical c.revolute c.prismatic c.revolute 2Dloop c.prismatic 2Dloop i.cutjoint f.spring f.damper f.spring DamperPar f.spring DamperSer j.universal j.planar 3 c.connectingrod2 Figure 11: Classes of the MBS library. The graphical notation is explained in Figure 12. The figure 11 contains the inheritance and aggregation hierarchy of the 60 classes of the library. We use non-traditional notation for inheritance and aggregation relations in these diagrams. This notation is explained in Figure 12. The links used in the diagrams 32
33 class class used in CAD to Modelica translation superclass class A class A subclass class includes an object of class A N class includes N objects of class A Figure 12: Notation for class diagrams (Figure 11) are more convenient for libraries with multiple levels of inheritance. In aggregation we emphasize how many subcomponents are used in the class. Package name in the diagram is abbreviated to a single character. Packages used in MBS are: i - Interfaces c - CutJoints f - Forces j - Joints p - Parts ri, ti - Rotational.Interfaces, x - Additional Extensions y - base library components bi - Blocks.Interfaces Translational.Interfaces Our detailed description covers few major classes only. Most mechanical systems can be constructed from these. Many other classes are variations and optimized combinations of the basic classes. 4.4 Using the MBS library Kinematic outline There can be different approaches to constructing an MBS model for a mechanical model using a collection of Modelica classes. If a CAD-to-Modelica translator is used, there is no need for manual construction of the MBS model. Otherwise, the construction process depends on the context, in particular what type of analysis that will be applied to the model, and whether simulation efficiency should be taken into account. Here we suggest here the process of stepwise refinement of an MBS model first using so called kinematic outline (kinematic skeleton), and later introducing details of model dynamics and visualization based on this outline. The kinematic outline is a graph consisting of nodes, connectors belonging to the node, and edges between the connectors. The nodes of the outline correspond to coordinate frame transformations and joints. The edges of the outline are connections between them. The edges are attached to the nodes in connectors that correspond to mechanical connectors. In many cases the graphs are acyclic. However there exist mechanisms that correspondto graphswith loops. Such loopsarecalledkinematic loops and may sometimes require special treatment when MBS library classes are used. Mechanical connector Frame (also referred as class Frame a or Frame b specifies a local coordinate system (a local frame of reference). 33
34 A frame transformation (class FrameTranslation) describes the (static) position of one mechanical connector with respect to another. A joint specifies how one mechanical connector can move with respect to another. The possible movements are constrained by certain degrees of freedom: rotational (class Revolute,translational (class Prismatic) or their combinations. The kinematic outline consists of the inertial system, the coordinate frame translations, and the joints that define the kinematic features of the system. Given angles of rotation for revolute joints and the length of translation for prismatic joints, the MBS system can compute the position of any mechanical connector. For this purpose it uses the coordinate transformation matrix between adjacent mechanical connectors. The following classes are used for constructing the kinematic outline: connector Frame a Each instance of Frame a describes a local coordinate system (also called frame A). This connector contains several non-flow variables: Real S[3,3] - rotation matrixdescribingframea with respect to the inertial frame. Real r0[3] - vector from inertial frame to A. Real v[3], w[3], a[3], z[3] - translational and angular velocities and accelerations According to Modelica semantics, if connectors from several objects are connected, the non-flow variables with the same name become constrained to have identical values through equality equations. This corresponds to a common local coordinate system used by several model components. Connectors also contain two flow variables: Real f[3] - resultant force acting on A. Real t[3] - resultant torque acting on A. According to Modelica semantics, if n connectors from several objects are connected together, the sum of all flow variables is equal to zero, i.e. F 1 +F F n = 0. connector Frame b Bframe. This connector has exactly the same variables, but uses the The Connection Rules There is a rule regarding connections between the MBS library classes discussed further. Connector frame a of type Frame a can be connected only to connector frame b of type Frame b of other object 3. This rule implies the three-like structure of the kinematic skeletons. When a connection between two connectors is set up, the coordinate frames that the two connectors represent become identical: the position, rotation, velocities and accelerations are equal. However, the sum of all acting forces (plus the resulting force taken with negative sign) and the sum of all torques (plus the resulting torque taken with negative sign) are zeroes. This equation is implied by the fact that force and torque are flow variables of the connector. 3 This rule, however can be violated when closed kinematic loops and external forces are used. 34
35 class InertialSystem An MBS model should contain one (and only one) object (class InertialSystem) representing the global coordinate system and force of gravity. It has a connector frame b. All other components in the model should be directly or indirectly connected to the connectorframe b of the InertialSystem object. class FrameTranslation This class has connectors frame a and frame b, as well as parameter Real r[3]. This parameter describes a fixed translation between the frames A and B in the coordinates of A. An object of this class represents a massless bar between these two points. class Revolute This class has connectors frame a and frame b, as well as parameter Real n[3]. This vector defines the direction of the axis of rotation when the B frame rotates around the A frame. There is a variable q which contains the current angle of the joint. There is also a connector axis which allows connecting the driving force (i.e. motors) to state variables for objects of class Revolute. class Prismatic This class has connectors frame a and frame b, as well as parameter Real n[3]. This vector defines the direction of translation when the B frame moves relatively to the A frame. There is a variable q which contains the current relative distance of the joint. There is also a connector axis which allows connecting the driving force (i.e. motors) to state variables for objects of class Prismatic Example: Kinematic Outline of Double Pendulum In this section an idealized model of a double pendulum is considered. This pendulum consists of two boxes linked by a hinge. The upper box is lined by a hinge to a non-movable platform, i.e. an inertial system. Both the boxes can move in the XY plane. The corresponding kinematic outline consists of two revolute joints, one frame translation and one inertial system. The structure is displayed in Figure 13. InertialSystem i b a Revolute rev1 b a FrameTranslation arm b a Revolute rev2 Figure 13: Connection diagram of a kinematic skeleton of a double pendulum without masses. 35
36 4.4.3 Adding masses. The motion of dynamic system cannot be defined just by its kinematic outline, since an outline does not contain mass objects yet. The class BodyBase represents mechanical objects with mass. This class has a connector frame a as well as the following parameters supplied by the user: Real m - mass of the body. Real rcm[3] - position of center of mass with respect to frame a. Real I[3,3] - inertia tensor with respect to the position of the center of mass. This 3 by 3 tensor is defined by six numbers since it is symmetric: I 11 I 21 I 31 I 21 I 22 I 32 I 31 I 32 I Adding Masses to the Double Pendulum Example. In the double pendulum example two bodies can be added to the kinematic outline. Since the description of class BodyBase contains the distance between its frame A and its center of mass, such objects can be directly connected to connector frame b of revolute joints rev1 and rev2. The kinematic skeleton with masses is displayed in Figure 14. InertialSystem i b a a Body P1 Revolute rev1 b a FrameTranslation arm b a a Body P2 Revolute rev2 Figure 14: Connection diagram of a kinematic skeleton of a double pendulum with masses. The instances of Modelica classes (such as P1, P2, rev1 etc.) have attributes that can be modified. For instance, Body has attributes that define mass, inertia tensor and the location of its center of mass relative to the local coordinate system (rcm). Instances of Revolute (revolute joint) have an attribute n that define the direction of axis of rotation. Instances of Prismatic (prismatic joint) have an attribute that specify the direction of the allowed translation. For a FrameTranslation the coordinates of its end are specified by the vector r. Several important parameters should be defined for a double pendulum: L 1 and L 2 are the lengths of the boxes. Their masses are m 1 and m 2. The center of mass of the first box is located at the distance L 1 /2 from the first rotation point. Rotation axes of 36
37 the revolute joints are directed along the Z axis. Therefore these are described as the vector {0,0,1}. The textual representation of the Modelica model is as follows: class Pendulum parameter Real L1; parameter Real L2; Multibody.Parts.InertialSystem I; Multibody.Parts.Body P1(rCM={L1/2,0,0}); Multibody.Parts.Body P2(rCM={L2/2,0,0}); Multibody.Joints.Revolute rev1(n={0, 0, 1}); Multibody.Joints.Revolute rev2(n={0, 0, 1}); Multibody.Parts.FrameTranslation arm(r={l1, 0, 0}); equation connect(i.frame b, rev1.frame a); connect(rev1.frame b, P2.frame a); connect(rev1.frame b, arm.frame a); connect(arm.frame b, rev2.frame a); connect(rev2.frame b, P1.frame a); end Pendulum; The corresponding mechanical structure is shown in Figure L L/2 arm P L/2 11 P rev1 Inertial rev2 Figure 15: Mechanical structure of the pendulum Adding Geometrical Shapes There are two ways to create 3D visualizations of mechanical models for systems constructed from the MBS library. The information about object position and rotation can be saved in a file and read back later for visualization. Alternatively, this data can be sent to external functions for visualization. There exist several classes in the MBS library intended for saving position and rotation of objects during each time step of the simulation. In particular, BodyV requires the following parameters and variables for visualization: Connector frame a which is connected to connector frame a of the corresponding body. Real nx[3], ny[3] specify the orientation of the visualized shape (direction of its axes X and Y) with respect to the frame of the connector a. 37
38 The vector Real r0[3] specifies the point of insertion of the shape with respect to the rotated frame of the connector a. The array Real Material[4] specifies the color of the shape. Other variables specify a predefined shape 4 (and its size) or the custom shape. The detailed description of geometry and other graphical properties of custom shape can be stored outside Modelica code in some standard format, e.g. STL or VRML (see [8]), or can be stored inside the Modelica code as annotations, as proposed in [8] Adding Shapes for Double Pendulum In order to use shapes for pendulum visualization we can utilize class BodyV which inherits class BodyBase (Section 4.4.3) and includes VisualShape (Section 4.4.5). The parts of the pendulum can be treated as a box of size L 1 K 1 K 1 and L 2 K 2 K 2. Such points have the default point of insertion in the center of the left face (Figure 16). Y X Z Figure 16: The default position and rotation of a box a predefined shape of the MBS library. The textual representation of Modelica model is following: class Pendulum parameter Real L1; parameter Real L2; Multibody.Parts.InertialSystem I; BodyV P1(mass=M1,r={L1/2,0,0} Shape="box", Size={L1,K1,K1}, r0={0,0,0}, Material={1,0,0,0.5}); BodyV P2(mass=M2,r={L2/2,0,0} Shape="box", Size={L2,K2,K2}, r0={0,0,0}, Material={0,1,0,0.5}); Multibody.Joints.Revolute rev1(n={0, 0, 1}); Multibody.Joints.Revolute rev2(n={0, 0, 1}); Multibody.Parts.FrameTranslation arm(r={l1, 0, 0}); equation connect(i.frame b, rev1.frame a); connect(rev1.frame b, P1.frame a); connect(rev1.frame b, arm.frame a); 4 The standard predefined shapes are box, cylinder, sphere, pipe, cone and beam. 38
39 connect(arm.frame b, rev2.frame a); connect(rev2.frame b, P2.frame a); end Pendulum; Interface to Non-Mechanical Parts of the Model When a multidomain model in Modelica is designed, mechanical part of the model receives energy from some other parts of the model. The mechanical part should usually be connected with the part describing the drive train, which is in turn connected to the part describing the energy source, e.g. electrical circuit. There are standard Modelica libraries for all these components. However, sometimes the attention is focused on an isolated mechanical part of the model. In this case the forces and torques acting on the model can be specified directly. There exist three major ways to set up an interface between the mechanical part of Modelica model and other parts. These ways correspond to three connector types:multibody.interfaces.frame, Rotational.Interfaces.Flange a and Translational.Interfaces.TransCut. Using Frame b Any object with connector of type Frame b can be connected to model of external force or torque. This external force (or torque) will be applied to the corresponding point on the relevant body. This can be demonstrated as follows:... Multibody.Forces.ExtForce E; // or Multibody.Forces.ExtTorque E; Frame_b b; equations connect(b,e.frame_b); E.inPort.signal={fx, fy, fz}; // Force given in the local coordinate frame // or E.inPort.signal=E.frame_b.S *{fx, fy, fz}; // Force given in the global coordinate frame Using Rotational.Interfaces.Flange. A torque can be applied to a revolute joint. First, a torque source model is declared, and then it is used. In a simple controller k and d are large constants obtained from experiments, and qref is the reference angle which can vary. The motor steers the joint so that q tends to be very close to qref. The intermediate connector frame a is sometimes used when R is encapsulated in some other class (e.g. this occurs in the SolidWorks-to-Modelica translator output). model SimpleRotationalController; Real qref; parameter Real k,d; Rotational.Interfaces.Flange_b flange; equations flange.tau=k*(flange.phi-qref)+d*der(flange.phi); end SimpleController;... Multibody.Joints.Revolute rev; SimpleRotationalController m; Rotational.Interfaces.Flange_a flange_a; equations connect(m.flange,flange_a); connect (flange_a,rev.axis); // or connect(m.flange,rev.axis); 39
40 Using Translational.Interfaces.Flange. A force can be applied to a prismatic joint. First, a force source model is declared, and then it is used. In a simple controller k and d are large constants obtained from experiments, and qref is the reference distance which can vary. The motor steers the joint so that q tends to be very close to qref. The intermediate connector frame a is sometimes used when R is encapsulated in some other class (e.g. this occurs in the SolidWorks-to-Modelica translator output). model SimpleTranslationalController; Real qref; parameter Real k,d; Translational.Interfaces.Flange_b flange; equations flange.f=k*(flange.s-qref)+d*der(flange.s); end SimpleController;... Multibody.Joints.Prismatic prism; SimpleTranslationalController m; Translational.Interfaces.Flange_a flange_a; equations connect(m.flange,flange_a); connect (flange_a,prism.axis); // or connect(m.flange,prism.axis); 4.5 Advantages of Using MBS for Dynamic Analysis There are two major advantages in using the MBS and Modelica library for Dynamic Analysis. The simulation is not interpreted,butcompiled. Multidomain modeling is made possible Interpretation and Compilation in Mechanical Simulation There exist two ways to specify a model for mechanical simulation software. The software can interpret the model or compile it to an executable code. In mechanical simulation libraries a particular mechanical model is usually described as a collection of program objects. These objects can be created by calling library functions, or they can be created by instantiating some classes from a class library. Alternatively the mechanical model is described in a proprietary format (or specified via graphical user interface), as this is done in Working Model 3D and ADAMS. In all these cases interpretation of the model information takes place. In contrast, when using Modelica/MBS the mechanical model is first compiled to a set of equations, which are optimized. Then C code only including necessary arithmetic operations for the specific mechanical model is generated, optimized by C compiler, and finally compiled into a specific executable application. This results in much faster applications Multidomain Simulation Modeling mechanical systems is one of the major Modelica applications. In Modelica this can be done by employing the Multi-Body System library (MBS). Classes from this library can be instantiated. A proper collection of instances as described in section 4.4 constitutes a system of differential and algebraic equations. The solution of this system yields the dynamic behavior of the corresponding mechanical system. 40
41 Another major Modelica application area is modeling of multi-domain systems. This means that for instance electric, hydraulic and control models can be incorporated into the same mathematical model as the model of a mechanical system. This is obtained by instantiation of classes from the corresponding libraries. 5 Conclusion This report make a comparative study of twelve different formats for kinematic information storage. All the formats and their advantages and disadvantages are summarized at Tables 1, 2, 3 on page 5, 6, 7. After discussion at the Realsim consortium meeting in May 2000, a decision was made to use Modelica/MBS format (see Section 4) for this purpose. Modelica/MBS format is not an industrial standard yet, but given characteristics and scope of the Realsim project we came to the conclusion that this format is most adequate for the goals of the project. In addition we believe that Modelica will become in future an international standard for description of physical systems, and MBS can be appended to this standard as a validated (it has been successfully used in many applications already) and recommended library for mechanical system simulation. This way only one translation tool is necessary. In future, however, other formats (STEP AP214 and ADAMS) can be easily generated by extending this translator. This can be done in the framework of other projects, when Realsim will be finished. References [1] ADAMS and Mechanical Dynamics Adams, ADAMS and Mechanical Dynamics, Inc., [2] Mats Andersson Object-Oriented Modeling and Simulation of Hybrid Systems. PhD thesis ISRN LUTFD2/TFRT 1043 SE, Department of Automatic Control, Lund Institute of Technology, Lund, Sweden, December [3] Autodesk Inc., 3DStudioMax, [4] Autodesk Inc., Mechanical Desktop, [5] Dynabits, WWW page, [6] Dynasim AB, Dymola Home Page, [7] Hilding Elmqvist, Sven-Erik Mattsson, Modelica The Next Generation Modeling Language An International Design Effort, In Proceedings of First World Congress of System Simulation, Singapore, September [8] Vadim Engelson, Tools for Design, Interactive Simulation, and Visualization of Object-Oriented Models in Scientific Computing. Linkping Studies in Science and Technology. Dissertation No 627. Department of Computer and Information Science, Linkping University, May pp. [9] Thilo Ernst, Stefan Jähnichen, and Mattias Klose, The Architecture of the Smile/M Simulation Environment, in Proceedings of the 15th IMACS World Congress on Scientific Computation, Modeling and Applied Mathematics, Vol. 6, Berlin, Germany, pp ,
42 [10] Peter Fritzson, Lars Viklund, Dag Fritzson, Johan Herber. High-Level Mathematical Modelling and Programming, IEEE Software, 12(4):77-87, July 1995 [11] Peter Fritzson, Vadim Engelson, Modelica A Unified Object-Oriented Language for System Modeling and Simulation, in Proceedings of European Conference on Object-Oriented Programming (ECOOP98), Brussels, July 20 24, [12] Peter Fritzson, personal communication. [13] Knowledge Revolution Inc., Working Model 3D, MSC Working Knowledge / Knowledge Revolution Inc., [14] Håkan Larsson, Translation of 3D CAD Models to Modelica, Master Thesis, LiTH-IDA-Ex-99/30, IDA, Linköping Univ., Sweden, March [15] Sven Erik Mattsson, Hilding Elmqvist, Martin Otter, Physical system modeling with Modelica, Control Engineering Practice, 1998, vol. 6, pp [16] Modelica Design Group, Modelica WWW site, [17] Parametric Technologies Inc., Pro/ENGINEER, [18] PELAB Modelica activities in PELAB, Programming Environments Laboratory, Department of Computer and Information Science, Linköping University, pelab/modelica [19] PELAB, ObjectMath Home Page, [20] Martin Otter, Objektorientierte Modellierung mechatronischer Systeme am Beispiel geregelter Roboter. Dissertation, Fortschrittberichte VDI, Reihe 20, Nr. 147, [21] Per Sahlin, Alex Bring, and Ed F. Sowell, The Neutral Model Format for building simulation, Version Technical Report, Department of Building Sciences, The Royal Institute of Technology, Stockholm, Sweden, June [22] Sheshardi, K., Peter Fritzson, A Mathematica-based PDE-Solver Generator, in Proceedings of 1999 Conference of the Scandinavian Simulation Society, Linköping, Sweden, October 18-19, [23] SolidWorks, SolidWorks Corporation, [24] Thomas Froese, STEP Data Standards and the Construction Industry, tfroese/pubs/fro96a step/fro96a.html [25] GaTech EIS Lab STEP Page, [26] STEP Overview : Integrated Resources, APs and AICs, [27] Hans Johansson, C. Wiidemann. Summary of Introducing STEP Data Transfer in Industry. IVF, Sweden. 42
43 [28] Martin Otter, Hilding Elmqvist, and F.E Cellier: Modeling of Multibody Systems with the Object-Oriented Modeling Language Dymola. Proceedings of the NATO-Advanced Study Institute on Computer Aided Analysis of Rigid and Flexible Mechancial Systems, Volume II, pp , Troia, Portugal, 27 June - 9 July, Also in: Nonlinear Dynamics, 9:91-112, 1996, Kluwer Academic Publishers. [29] IGES overview, [30] The IGES 5.x Preservation Society, [31] NIST IGES pages, [32] Michael Tiller, Paul Bowles, Hilding Elmqvist, Dag Bruck, Sven Erik Mattsson, Anderas Möller, Hans Olsson, Martin Otter, Detailed Vehicle Powertrain Modeling in Modelica, Modelica 2000 Workshop, Lund, October, [33] CATIA, [34] 3D Systems, Stereo Lithography Interface Specification, 3D Systems, Inc., Valencia, CA Available via [35] XML, Iformation on XML can be found at and 43
Animations in Creo 3.0
Animations in Creo 3.0 ME170 Part I. Introduction & Outline Animations provide useful demonstrations and analyses of a mechanism's motion. This document will present two ways to create a motion animation
How To Draw In Autocad
DXF Import and Export for EASE 4.0 Page 1 of 9 DXF Import and Export for EASE 4.0 Bruce C. Olson, Dr. Waldemar Richert ADA Copyright 2002 Acoustic Design Ahnert EASE 4.0 allows both the import and export
ME 24-688 Week 11 Introduction to Dynamic Simulation
The purpose of this introduction to dynamic simulation project is to explorer the dynamic simulation environment of Autodesk Inventor Professional. This environment allows you to perform rigid body dynamic
Chapter. 4 Mechanism Design and Analysis
Chapter. 4 Mechanism Design and Analysis 1 All mechanical devices containing moving parts are composed of some type of mechanism. A mechanism is a group of links interacting with each other through joints
Design & Drafting Services
Design & Drafting Services 1. Mechanical CAD Services 1. Mechanical CAD Services Mechanical Design Services: Custom machine design Packaging machine design Mechanism design Machine tool design Material
CATIA V5 Tutorials. Mechanism Design & Animation. Release 18. Nader G. Zamani. University of Windsor. Jonathan M. Weaver. University of Detroit Mercy
CATIA V5 Tutorials Mechanism Design & Animation Release 18 Nader G. Zamani University of Windsor Jonathan M. Weaver University of Detroit Mercy SDC PUBLICATIONS Schroff Development Corporation www.schroff.com
Pro/ENGINEER Wildfire 4.0 Basic Design
Introduction Datum features are non-solid features used during the construction of other features. The most common datum features include planes, axes, coordinate systems, and curves. Datum features do
Blender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine
Blender Notes Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine The Blender Game Engine This week we will have an introduction to the Game Engine build
Computer Aided Design (CAD), ME 530.414, JHU Professor Dan Stoianovici, [email protected]
Computer Aided Design (CAD), ME 530.414, JHU Professor Dan Stoianovici, [email protected] COURSE DESCRIPTION: The course outlines modern solid modeling design, analysis, simulation, and manufacturing of mechanical
Autodesk Fusion 360: Assemblies. Overview
Overview In this module you will learn how different components can be put together to create an assembly. We will use several tools in Fusion 360 to make sure that these assemblies are constrained appropriately
Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example.
An Example 2 3 4 Outline Objective: Develop methods and algorithms to mathematically model shape of real world objects Categories: Wire-Frame Representation Object is represented as as a set of points
Parametric Technology Corporation. Pro/ENGINEER Wildfire 4.0 Design Animation Concepts Guide
Parametric Technology Corporation Pro/ENGINEER Wildfire 4.0 Design Animation Concepts Guide Copyright 2007 Parametric Technology Corporation. All Rights Reserved. User and training guides and related documentation
How SolidWorks Speeds Consumer Product Design
white paper How SolidWorks Speeds Consumer Product Design inspiration SUMMARY SolidWorks Premium bridges the gap between industrial design and engineering by providing powerful surfacing capabilities,
Computer Aided Systems
5 Computer Aided Systems Ivan Kuric Prof. Ivan Kuric, University of Zilina, Faculty of Mechanical Engineering, Department of Machining and Automation, Slovak republic, [email protected] 1.1 Introduction
Mechanical CAD with Multibody Dynamic Analysis Based on Modelica Simulation
Mechanical CAD with Multibody Dynamic Analysis Based on Modelica Simulation Vadim Engelson, Peter Bunus, Lucian Popescu, Peter Fritzson PELAB,Linköping University, S-58183, Sweden, Contact e-mail: [email protected]
Selecting the Best Approach to Teach 3D Modeling to Technical College Engineering
Paper ID #12358 Selecting the Best Approach to Teach 3D Modeling to Technical College Engineering Students Dr. Farzin Heidari, Texas A&M University, Kingsville c American Society for Engineering Education,
An introduction to 3D draughting & solid modelling using AutoCAD
An introduction to 3D draughting & solid modelling using AutoCAD Faculty of Technology University of Plymouth Drake Circus Plymouth PL4 8AA These notes are to be used in conjunction with the AutoCAD software
We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model
CHAPTER 4 CURVES 4.1 Introduction In order to understand the significance of curves, we should look into the types of model representations that are used in geometric modeling. Curves play a very significant
Practical Work DELMIA V5 R20 Lecture 1. D. Chablat / S. Caro [email protected] [email protected]
Practical Work DELMIA V5 R20 Lecture 1 D. Chablat / S. Caro [email protected] [email protected] Native languages Definition of the language for the user interface English,
Virtual CRASH 3.0 Staging a Car Crash
Virtual CRASH 3.0 Staging a Car Crash Virtual CRASH Virtual CRASH 3.0 Staging a Car Crash Changes are periodically made to the information herein; these changes will be incorporated in new editions of
Understand the Sketcher workbench of CATIA V5.
Chapter 1 Drawing Sketches in Learning Objectives the Sketcher Workbench-I After completing this chapter you will be able to: Understand the Sketcher workbench of CATIA V5. Start a new file in the Part
Proprietary and restricted rights notice
Proprietary and restricted rights notice This software and related documentation are proprietary to Siemens Product Lifecycle Management Software Inc. 2012 Siemens Product Lifecycle Management Software
Improving Interoperability in Mechatronic Product Developement. Dr. Alain Biahmou, Dr. Arnulf Fröhlich, Dr. Josip Stjepandic
International Conference on Product Lifecycle Management 1 Improving Interoperability in Mechatronic Product Developement Dr. Alain Biahmou, Dr. Arnulf Fröhlich, Dr. Josip Stjepandic PROSTEP AG Dolivostr.
Computer Aided Design and Drafting (CAD)
Oakland Community College 2015-2016 Catalog 1 Computer Aided Design and Drafting (CAD) CAD 1050 Geometric Dimensioning and Tolerancing (GD&T) This course is designed to cover the fundamentals as well as
ME 521 Computer Aided Design. 1. Introduction to CAD
Computer Aided Design Yrd.Doç. e mail: [email protected] Makine Mühendisliği Bölümü Gebze Yüksek Teknoloji Enstitüsü Basic Definitions CAD: Computer Aided Design is the use of computer technology for
MET 306. Activity 8a. Mechanism Design Creo 2.0 Level 7 POINT A GROUND LINK LINK 1 LINK 2 LINK 3 POINT B 10/15/2010 1
Mechanism Design Creo 2.0 Level 7 POINT A LINK 1 GROUND LINK LINK 2 LINK 3 POINT B 10/15/2010 1 Download parts ground, key, link_1, link_2, link_3 and pulley from the V:/MET_306/Activity_8_Creo drive.
TWO-DIMENSIONAL TRANSFORMATION
CHAPTER 2 TWO-DIMENSIONAL TRANSFORMATION 2.1 Introduction As stated earlier, Computer Aided Design consists of three components, namely, Design (Geometric Modeling), Analysis (FEA, etc), and Visualization
Solid Edge structural frames and weldments
Solid Edge structural frames and weldments White Paper Intelligent, process-specific applications that speed time to manufacturing. White Paper Solid Edge structural frames and weldments 2 Contents Solid
An Instructional Aid System for Driving Schools Based on Visual Simulation
An Instructional Aid System for Driving Schools Based on Visual Simulation Salvador Bayarri, Rafael Garcia, Pedro Valero, Ignacio Pareja, Institute of Traffic and Road Safety (INTRAS), Marcos Fernandez
Creating 2D Drawings from 3D AutoCAD Models
Creating 2D Drawings from 3D AutoCAD Models David Piggott CrWare, LP GD205-2P This class explores the various techniques in creating 2D part and assembly drawings from 3D AutoCAD models. As part of the
RESEARCH PAPERS FACULTY OF MATERIALS SCIENCE AND TECHNOLOGY IN TRNAVA SLOVAK UNIVERSITY OF TECHNOLOGY IN BRATISLAVA
RESEARCH PAPERS FACULTY OF MATERIALS SCIENCE AND TECHNOLOGY IN TRNAVA SLOVAK UNIVERSITY OF TECHNOLOGY IN BRATISLAVA 2010 Number 29 3D MODEL GENERATION FROM THE ENGINEERING DRAWING Jozef VASKÝ, Michal ELIÁŠ,
Figure 3.1.2 Cartesian coordinate robot
Introduction to Robotics, H. Harry Asada Chapter Robot Mechanisms A robot is a machine capable of physical motion for interacting with the environment. Physical interactions include manipulation, locomotion,
Solving Simultaneous Equations and Matrices
Solving Simultaneous Equations and Matrices The following represents a systematic investigation for the steps used to solve two simultaneous linear equations in two unknowns. The motivation for considering
Virtual Prototyping of Aerospace Systems Using Integrated LMS Virtual.Lab and IMAGINE AMESim
Virtual Prototyping of Aerospace Systems Using Integrated LMS Virtual.Lab and IMAGINE AMESim Joel Tollefson Imagine Inc. Aerospace Business Development Hans Van den Wijngaert LMS Product Manager Motion
This week. CENG 732 Computer Animation. Challenges in Human Modeling. Basic Arm Model
CENG 732 Computer Animation Spring 2006-2007 Week 8 Modeling and Animating Articulated Figures: Modeling the Arm, Walking, Facial Animation This week Modeling the arm Different joint structures Walking
TABLE OF CONTENTS. INTRODUCTION... 5 Advance Concrete... 5 Where to find information?... 6 INSTALLATION... 7 STARTING ADVANCE CONCRETE...
Starting Guide TABLE OF CONTENTS INTRODUCTION... 5 Advance Concrete... 5 Where to find information?... 6 INSTALLATION... 7 STARTING ADVANCE CONCRETE... 7 ADVANCE CONCRETE USER INTERFACE... 7 Other important
Extracting Business. Value From CAD. Model Data. Transformation. Sreeram Bhaskara The Boeing Company. Sridhar Natarajan Tata Consultancy Services Ltd.
Extracting Business Value From CAD Model Data Transformation Sreeram Bhaskara The Boeing Company Sridhar Natarajan Tata Consultancy Services Ltd. GPDIS_2014.ppt 1 Contents Data in CAD Models Data Structures
Design of a Universal Robot End-effector for Straight-line Pick-up Motion
Session Design of a Universal Robot End-effector for Straight-line Pick-up Motion Gene Y. Liao Gregory J. Koshurba Wayne State University Abstract This paper describes a capstone design project in developing
Rotation: Moment of Inertia and Torque
Rotation: Moment of Inertia and Torque Every time we push a door open or tighten a bolt using a wrench, we apply a force that results in a rotational motion about a fixed axis. Through experience we learn
Real Time Simulation for Off-Road Vehicle Analysis. Dr. Pasi Korkealaakso Mevea Ltd., May 2015
Real Time Simulation for Off-Road Vehicle Analysis Dr. Pasi Korkealaakso Mevea Ltd., May 2015 Contents Introduction Virtual machine model Machine interaction with environment and realistic environment
Physics 9e/Cutnell. correlated to the. College Board AP Physics 1 Course Objectives
Physics 9e/Cutnell correlated to the College Board AP Physics 1 Course Objectives Big Idea 1: Objects and systems have properties such as mass and charge. Systems may have internal structure. Enduring
CAD/CAM and the Exchange of Product Data
CAD/CAM and the Exchange of Product Data N.-J. Høimyr CERN, Geneva, Switzerland Abstract A 3D model defined in a CAD-system is used as a basis for design and product development. The concept of Computer
Simulation-News in Creo 1.0. Urs Simmler MCAD Simulation Specialist
Simulation-News in Creo 1.0 Urs Simmler MCAD Simulation Specialist MECHANICA-News in Creo 1.0 Urs Simmler MCAD Simulation Specialist Creo Simulation App Standalone Mechanica Application > Dedicated User
Learning Autodesk. Modeling, Analysis and Animation SDC. Randy H. Shih. Better Textbooks. Lower Prices. PUBLICATIONS www.sdcpublications.
Learning Autodesk Inventor 2012 Modeling, Analysis and Animation Randy H. Shih SDC Better Textbooks. Lower Prices. PUBLICATIONS www.sdcpublications.com Schroff Development Corporation Learning Autodesk
CHAPTER 1. Introduction to CAD/CAM/CAE Systems
CHAPTER 1 1.1 OVERVIEW Introduction to CAD/CAM/CAE Systems Today s industries cannot survive worldwide competition unless they introduce new products with better quality (quality, Q), at lower cost (cost,
INSTRUCTOR WORKBOOK Quanser Robotics Package for Education for MATLAB /Simulink Users
INSTRUCTOR WORKBOOK for MATLAB /Simulink Users Developed by: Amir Haddadi, Ph.D., Quanser Peter Martin, M.A.SC., Quanser Quanser educational solutions are powered by: CAPTIVATE. MOTIVATE. GRADUATE. PREFACE
Federated, Generic Configuration Management for Engineering Data
Federated, Generic Configuration Management for Engineering Data Dr. Rainer Romatka Boeing GPDIS_2013.ppt 1 Presentation Outline I Summary Introduction Configuration Management Overview CM System Requirements
CAD/ CAM Prof. P. V. Madhusudhan Rao Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture No. # 03 What is CAD/ CAM
CAD/ CAM Prof. P. V. Madhusudhan Rao Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture No. # 03 What is CAD/ CAM Now this lecture is in a way we can say an introduction
CAD Import Module and LiveLink for CAD V4.3a
CAD Import Module and LiveLink for CAD V4.3a LiveLink for AutoCAD, LiveLink for Creo Parametric, LiveLink for Inventor, LiveLink for Pro/ENGINEER, LiveLink for Solid Edge, LiveLink for SolidWorks, LiveLink
An Overview of the Finite Element Analysis
CHAPTER 1 An Overview of the Finite Element Analysis 1.1 Introduction Finite element analysis (FEA) involves solution of engineering problems using computers. Engineering structures that have complex geometry
Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau
Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau 04/02 Introduction & projective rendering 11/02 Prodedural modeling, Interactive modeling with parametric surfaces 25/02 Introduction
CATIA V5R21 - FACT SHEET
CATIA V5R21 - FACT SHEET Introduction What s New at a Glance Overview Detailed Description INTRODUCTION CATIA V5 is the leading solution for product success. It addresses all manufacturing organizations;
Coordinate Measuring Machines CAT-1000. Bulletin No. 2076. Computer Assisted Technology CAT-1000 Model Based Definition
Coordinate Measuring Machines CAT-1000 Bulletin No. 2076 Computer Assisted Technology CAT-1000 Model Based Definition CMM System Manager From the Part Manager the CMM System Manager allows rack positions
Robot coined by Karel Capek in a 1921 science-fiction Czech play
Robotics Robot coined by Karel Capek in a 1921 science-fiction Czech play Definition: A robot is a reprogrammable, multifunctional manipulator designed to move material, parts, tools, or specialized devices
Solid Edge ST3 Advances the Future of 3D Design
SUMMARY AND OPINION Solid Edge ST3 Advances the Future of 3D Design A Product Review White Paper Prepared by Collaborative Product Development Associates, LLC for Siemens PLM Software The newest release
Maya 2014 Basic Animation & The Graph Editor
Maya 2014 Basic Animation & The Graph Editor When you set a Keyframe (or Key), you assign a value to an object s attribute (for example, translate, rotate, scale, color) at a specific time. Most animation
CAE DATA & PROCESS MANAGEMENT WITH ANSA
CAE DATA & PROCESS MANAGEMENT WITH ANSA Srikanth RAGHOTHAM Volvo India Private Limited Volvo Group Bangalore INDIA KEYWORDS Enovia-2-Ansa, Ansa Data Management (Ansa-DM) TECHNICAL PAPER CAE Data & Process
Introduction to Autodesk Inventor for F1 in Schools
Introduction to Autodesk Inventor for F1 in Schools F1 in Schools Race Car In this course you will be introduced to Autodesk Inventor, which is the centerpiece of Autodesk s digital prototyping strategy
Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries
First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation object-oriented programming language (such as
Number Sense and Operations
Number Sense and Operations representing as they: 6.N.1 6.N.2 6.N.3 6.N.4 6.N.5 6.N.6 6.N.7 6.N.8 6.N.9 6.N.10 6.N.11 6.N.12 6.N.13. 6.N.14 6.N.15 Demonstrate an understanding of positive integer exponents
Weld Design. CATIA V5 Training Foils. Weld Design. Copyright DASSAULT SYSTEMES 1. Instructor Notes:
CATIA V5 Training Foils Weld Design Version 5 Release 19 January 2009 EDU_CAT_EN_WD1_FI_V5R19 1 About this course Objectives of the course Upon completion of this course you will be able to: - Weld parts,
Alphacam Art combines Vectric s Aspire artistic design software with the market leading Alphacam manufacturing software.
Alphacam Art Alphacam Art - CNC Routing For Artists & Ideal Jewellery Cad Cam Software Alphacam Art combines Vectric s Aspire artistic design software with the market leading Alphacam manufacturing software.
Physics 2A, Sec B00: Mechanics -- Winter 2011 Instructor: B. Grinstein Final Exam
Physics 2A, Sec B00: Mechanics -- Winter 2011 Instructor: B. Grinstein Final Exam INSTRUCTIONS: Use a pencil #2 to fill your scantron. Write your code number and bubble it in under "EXAM NUMBER;" an entry
Chapter 10 Rotational Motion. Copyright 2009 Pearson Education, Inc.
Chapter 10 Rotational Motion Angular Quantities Units of Chapter 10 Vector Nature of Angular Quantities Constant Angular Acceleration Torque Rotational Dynamics; Torque and Rotational Inertia Solving Problems
Learning Module 4 - Thermal Fluid Analysis Note: LM4 is still in progress. This version contains only 3 tutorials.
Learning Module 4 - Thermal Fluid Analysis Note: LM4 is still in progress. This version contains only 3 tutorials. Attachment C1. SolidWorks-Specific FEM Tutorial 1... 2 Attachment C2. SolidWorks-Specific
AutoCAD 3D. MicroStation. Courseware Issued (Optional) AutoCAD (30 Days Trial Version) Reference Guide Project Workbook
2D CAD Introduction Isometric drawings File management Perspective drawings Orthographic drawings Annotations and Dimensions View management Team work Display management Layout management Layer management
Metrics on SO(3) and Inverse Kinematics
Mathematical Foundations of Computer Graphics and Vision Metrics on SO(3) and Inverse Kinematics Luca Ballan Institute of Visual Computing Optimization on Manifolds Descent approach d is a ascent direction
Robotic motion planning for 8- DOF motion stage
Robotic motion planning for 8- DOF motion stage 12 November Mark Geelen Simon Jansen Alten Mechatronics www.alten.nl [email protected] Introduction Introduction Alten FEI Motion planning MoveIt! Proof
CATIA Drafting TABLE OF CONTENTS
TABLE OF CONTENTS Introduction...1 Drafting...2 Drawing Screen...3 Pull-down Menus...4 File...4 Edit...5 View...6 Insert...7 Tools...8 Drafting Workbench...9 Views and Sheets...9 Dimensions and Annotations...10
Design-Simulation-Optimization Package for a Generic 6-DOF Manipulator with a Spherical Wrist
Design-Simulation-Optimization Package for a Generic 6-DOF Manipulator with a Spherical Wrist MHER GRIGORIAN, TAREK SOBH Department of Computer Science and Engineering, U. of Bridgeport, USA ABSTRACT Robot
Science Intensive Development (SID)
Science Intensive Development (SID) At, we develop custom software that requires specific scientific knowledge. We are experienced in realizing projects that had been considered impossible. The main guarantee
T-FLEX Parametric CAD is a full-function software system providing mechanical design professionals with the tools they need for today's complex
T-FLEX Parametric CAD is a full-function software system providing mechanical design professionals with the tools they need for today's complex design challenges. It unites powerful parametric 3D modeling
10.0-2. Finite Element Modeling
What s New in FEMAP FEMAP 10.0 and 10.0.1 include enhancements and new features in: User Interface on page 3 Meshing on page 23 Mesh Associativity on page 33 Properties on page 33 Functions on page 35
Getting Started with ANSYS ANSYS Workbench Environment
Getting Started with ANSYS ANSYS Workbench Environment Overview The purpose of this tutorial is to get you started with the ANSYS Workbench environment. We will use a simple, static analysis of a single
VRSPATIAL: DESIGNING SPATIAL MECHANISMS USING VIRTUAL REALITY
Proceedings of DETC 02 ASME 2002 Design Technical Conferences and Computers and Information in Conference Montreal, Canada, September 29-October 2, 2002 DETC2002/ MECH-34377 VRSPATIAL: DESIGNING SPATIAL
AFNeT STEP AP242 Benchmark
e AFNeT STEP AP242 Benchmark Test report for the STEP AP242 Benchmark #1 Short Report September 2015 Preamble AFNeT mission is to promote the use of digital technologies in the extended enterprise. The
11.1. Objectives. Component Form of a Vector. Component Form of a Vector. Component Form of a Vector. Vectors and the Geometry of Space
11 Vectors and the Geometry of Space 11.1 Vectors in the Plane Copyright Cengage Learning. All rights reserved. Copyright Cengage Learning. All rights reserved. 2 Objectives! Write the component form of
SOFA an Open Source Framework for Medical Simulation
SOFA an Open Source Framework for Medical Simulation J. ALLARD a P.-J. BENSOUSSAN b S. COTIN a H. DELINGETTE b C. DURIEZ b F. FAURE b L. GRISONI b and F. POYER b a CIMIT Sim Group - Harvard Medical School
Implementing Ontology-based Information Sharing in Product Lifecycle Management
Implementing Ontology-based Information Sharing in Product Lifecycle Management Dillon McKenzie-Veal, Nathan W. Hartman, and John Springer College of Technology, Purdue University, West Lafayette, Indiana
CATIA Functional Tolerancing & Annotation TABLE OF CONTENTS
TABLE OF CONTENTS Introduction...1 Functional Tolerancing and Annotation...2 Pull-down Menus...3 Insert...3 Functional Tolerancing and Annotation Workbench...4 Bottom Toolbar Changes...5 3D Grid Toolbar...5
Visualization of 2D Domains
Visualization of 2D Domains This part of the visualization package is intended to supply a simple graphical interface for 2- dimensional finite element data structures. Furthermore, it is used as the low
Off-line Model Simplification for Interactive Rigid Body Dynamics Simulations Satyandra K. Gupta University of Maryland, College Park
NSF GRANT # 0727380 NSF PROGRAM NAME: Engineering Design Off-line Model Simplification for Interactive Rigid Body Dynamics Simulations Satyandra K. Gupta University of Maryland, College Park Atul Thakur
SOLID MECHANICS TUTORIAL MECHANISMS KINEMATICS - VELOCITY AND ACCELERATION DIAGRAMS
SOLID MECHANICS TUTORIAL MECHANISMS KINEMATICS - VELOCITY AND ACCELERATION DIAGRAMS This work covers elements of the syllabus for the Engineering Council exams C105 Mechanical and Structural Engineering
Your CAD Programme. Virtually all 3D Rapid Prototyping machines and 3D Printers use the STL file format for input.
Export STL Files From Your CAD Programme Introduction Virtually all 3D Rapid Prototyping machines and 3D Printers use the STL file format for input. Almost all CAD programs have a way to save or export
www.integratedsoft.com Electromagnetic Sensor Design: Key Considerations when selecting CAE Software
www.integratedsoft.com Electromagnetic Sensor Design: Key Considerations when selecting CAE Software Content Executive Summary... 3 Characteristics of Electromagnetic Sensor Systems... 3 Basic Selection
Solid Edge motion simulation, explode render animate
Siemens PLM Software Solid Edge motion simulation, explode render animate White Paper Integrated explode, render and animation capabilities, combined with motion simulation, allow you to create dynamic
Robotics & Automation
Robotics & Automation Levels: Grades 10-12 Units of Credit: 1.0 CIP Code: 21.0117 Core Code: 38-01-00-00-130 Prerequisite: None Skill Test: 612 COURSE DESCRIPTION Robotics & Automation is a lab-based,
FEAWEB ASP Issue: 1.0 Stakeholder Needs Issue Date: 03/29/2000. 04/07/2000 1.0 Initial Description Marco Bittencourt
)($:(%$63 6WDNHKROGHU1HHGV,VVXH 5HYLVLRQ+LVWRU\ 'DWH,VVXH 'HVFULSWLRQ $XWKRU 04/07/2000 1.0 Initial Description Marco Bittencourt &RQILGHQWLDO DPM-FEM-UNICAMP, 2000 Page 2 7DEOHRI&RQWHQWV 1. Objectives
Feature Comparison of PTC Creo View MCAD. Product Suite. Topic Sheet. Page 1 of 6 Feature Comparison of PTC Creo View MCAD Product Suite
Comparison of Product Suite User Interface Lite Microsoft Fluent paradigm Ribbon User Interface User interface customization Command finder Usage Standalone version Interoperability with PTC Products Performance
Introduction to CATIA V5
Introduction to CATIA V5 Release 16 (A Hands-On Tutorial Approach) Kirstie Plantenberg University of Detroit Mercy SDC PUBLICATIONS Schroff Development Corporation www.schroff.com www.schroff-europe.com
Benchmark Test Reveals Best CAD Tool for Assembly Performance
Benchmark Test Reveals Best CAD Tool for Assembly Performance Speed is everything in product development, especially when it comes to creating and managing large assemblies. And while some 3D CAD vendors
Digital Prototyping: Questions and Answers
Autodesk Manufacturing Digital Prototyping: Questions and Answers 1. What is a digital prototype? A digital prototype is created with Autodesk Inventor software and is a digital simulation of a product
How To Create A Cdf Optimisation System
ADVANCED ENGINEERING 4(2010)2, ISSN 1846-5900 INTERFACES FOR EMBEDDING CFD OPTIMISATION WORKFLOWS INTO THE PRODUCT DEVELOPMENT PROCESS Todorov, G.; Ovcharova, J.; Romanov, B. & Kamberov, K. Abstract: The
CAD Model Validation in the Product Life Cycle Management
CAD Model Validation in the Product Life Cycle Management CAPVIDIA CEO Tomasz Luniewski BOEING is a trademark of Boeing Management Company. GPDIS_Template_2009.ppt 9/23/2009 1 Company Introduction Founded
A Collaborative Environment for Flexible Development of MBS Software
A Collaborative Environment for Flexible Development of MBS Software A thesis submitted for the degree of Doctor Ingeniero Industrial University of A Coruña Ferrol, April 2005 Outline 1. Introduction 2.
Optimizing an Electromechanical Device with Mulitdimensional Analysis Software
Optimizing an Electromechanical Device with Mulitdimensional Analysis Software White Paper June 2013 Tecplot, Inc. P.O. Box 52708 Bellevue, WA 98015 425.653.1200 direct 800.676.7568 toll free [email protected]
Chapter 9. Editing Features. Learning Objectives
Chapter 9 Editing Features Learning Objectives After completing this chapter, you will be able to: Edit features. Edit sketches of the sketch based features. Edit the sketch plane of the sketch based features.
CoCreate OneSpace.net 3D CAD Conversion
CoCreate 3D This document contains the individual conversion specifications Table of Contents CATIA V4 4.2 to conversion Unigraphics NX2 to conversion Pro/E Wildfire to conversion I-DEAS MS10 to conversion
