Professional Documents
Culture Documents
Template BLD
Template BLD
U.S. Government Restricted Rights: If the Software and Documentation are provided in connection with a government
contract, then they are provided with RESTRICTED RIGHTS. Use, duplication or disclosure is subject to restrictions
stated in paragraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at 252.227-7013.
Mechanical Dynamics, Incorporated, 2300 Traverwood Drive, Ann Arbor, Michigan 48105.
The information in this document is furnished for informational use only, may be revised from time to time, and should
not be construed as a commitment by Mechanical Dynamics, Incorporated. Mechanical Dynamics, Incorporated,
assumes no responsibility or liability for any errors or inaccuracies that may appear in this document.
This document contains proprietary and copyrighted information. Mechanical Dynamics, Incorporated permits
licensees of ADAMS® software products to print out or copy this document or portions thereof solely for internal use
in connection with the licensed software. No part of this document may be copied for any other purpose or distributed
or translated into any other language without the prior written permission of Mechanical Dynamics, Incorporated.
©2002 by Mechanical Dynamics, Incorporated. All rights reserved. Printed in the United States of America.
Overview
Using ADAMS Template Builder, you can assemble standard
components, such as springs, parts, and bushings, to define the
topology of your system, such as a suspension or a single valve
train in an engine. Templates are the foundation on which you
create topological systems.
This chapter gives an overview of using templates:
■ Architecture of Template-Based Products, 6
■ File Architecture, 7
File Architecture
The file architecture of the ADAMS template-based products is comprised of the
following types of files which are stored in databases:
■ Property Files, 9
■ Templates, 9
■ Subsystems, 11
■ Assemblies, 13
Figure 1 on page 8 shows an example of how template-based products use this
architecture: a template uses property files to provide data for components such as springs,
dampers, bushings, and so on.
When creating a new subsystem, you can reference the property files that the template
references, or reference other property files held either in a different database or with a
different file name, as indicated by the dashed lines in Figure 1 on page 8. A collection of
subsystems merged together forms an assembly.
8 Building Templates
Introducing ADAMS Template Builder
Suspension Steering
Template Template
Property File
Property File
Property File
Subsystem Subsystem
File File
Test Rig
■ Suspension
■ Full Vehicle
■ User-Defined
Assembly
Building Templates 9
Introducing ADAMS Template Builder
Property Files
Property files contain data for modeling components, such as valve spring, cams, and
bushings. Because property files are flat text files, you can use any text editor to create or
modify them.
You can reference property files in different subsystems and templates. Figure 1 on page 8
shows how you can reference property files.
All property file types are specified in the configuration file (acar.cfg). When you edit
property files, you can save them either with the existing file name or with a new file name.
For information about managing property files, see Managing: Property Files Through
Configuration Files on page 43 in the guide, Configuring Template-Based Products.
A subset of property files define force-displacement or force-velocity characteristics for
springs, dampers, bumpstops, reboundstops, and bushings. For those components, you use
the Curve Manager to create, edit, and view property files. You can access the Curve
Manager from the Tools menu. From within dialog boxes, you can edit property files using
the Curve Manager tool and view property files using the View File tool .
Templates
Templates are parametric ADAMS models, built by expert users within ADAMS
Template Builder. Templates define the default geometric data and topology of models.
The components within a template are parametrically defined such that you can use a
single template to represent numerous subsystems. For information on components, see
Component Descriptions on page 17 in the guide, Component Descriptions.
Templates provide a quick way to experiment with different subsystems and still retain the
basic design components that are required. For information on subsystems, see
Subsystems on page 11.
A template in its most fundamental form cannot be used in ADAMS Standard Interface
without first being referenced by a subsystem file. Figure 2 on page 10 shows how the
combination of a template and a subsystem file can make geometric changes to the base
template. In the example shown, in ADAMS/Car you could use a subsystem file to
transform the left-hand-drive vehicle to a right-hand-drive vehicle by modifying the
hardpoint locations at each point in the steering column.
10 Building Templates
Introducing ADAMS Template Builder
Template
Subsystem file
Subsystem
You can modify the data of a template by changing the values of design parameters.
Hardpoints, parameter variables, and property files are the design parameters of templates,
where:
■ Hardpoints define locations for geometry, attachments, and construction frames.
■ Parameter variables contain strings, integers, and real values that you can
modify in the Standard Interface and store in the subsystem file.
■ Property files are referenced by some components.
For more information about hardpoints, parameter variables, and other components, see
Component Descriptions on page 17 in the guide, Component Descriptions.
Building Templates 11
Introducing ADAMS Template Builder
Subsystems
You only use subsystems in ADAMS Standard Interface. You can either create new
subsystems or read in existing ones. When you create a new subsystem, you must
reference an existing template. When you use an existing subsystem, the template
associated with it is automatically read in.
Subsystems are based on templates and allow standard users to change the parametric data
of the template as well as the definition of some of the components. For example, you can
change the location of hardpoints and modify parameter variables. Figure 2 on page 10
shows how in ADAMS/Car you can use a subsystem file to transform a left-hand-drive
vehicle to a right-hand-drive vehicle by modifying the appropriate hardpoints.
ADAMS template-based products organize the basic components that make up a full
assembly or subassembly into subsystems. For example, subsystems can include
suspensions, wheels, drivelines, chassis, and so on.
You create subsystems by selecting a template that defines the topology and default data
for your subsystem. Using the Standard Interface, you can modify the default data to
match your design. MDI supplies several templates with each product. For example, for
ADAMS/Car users, MDI supplies templates that represent MacPherson strut and double-
wishbone suspension subsystems. Using the Template Builder you can create templates
for your company-specific topologies.
12 Building Templates
Introducing ADAMS Template Builder
Subsystems contain descriptions of the component that they model. These descriptions
consist of:
■ Design data, such as wheel radii, toe angles, and locations of various points in
the subsystems, called hardpoints, mass properties of parts, and so on.
■ References to property files that contain design data for bushings, bumpstops,
dampers, engines, springs, and tires. A bushing property file, for example,
contains a description of the bushing’s stiffness and damping characteristics.
■ Reference to a template that defines the subsystem’s construction, including the
kinds of parts and how the parts interact and attach to one another. For example,
a template that defines a rack and pinion steering system defines a rack part, a
pinion part, and a housing part. It also defines that the rack slides in the housing,
that the pinion rotates in the housing, and that the rack and pinion are geared
together. Since the construction of all rack and pinion steering systems is
similar, all subsystems describing a rack and pinion steering system can
reference the same template.
A major role is a property of a template. A subsystem inherits the major role of the type
on which it is based. Examples of major roles are suspension, steering, and body.
A minor role defines the subsystem’s location. For example, a minor role can be front or
rear.
In ADAMS Standard Interface, you can create, read in, or solve subsystems.
You save subsystems in ASCII format, and you can publish subsystems to databases so
other users can share them. We support two formats: Teim Orbit and XML. For
information about those formats, see the online help. For information on publishing
subsystems, see Publishing a Subsystem on page 24 in the guide, Configuring Template-
Based Products.
Building Templates 13
Introducing ADAMS Template Builder
Assemblies
Assemblies represent a collection of subsystems, along with a test rig, which when
assembled form a system that you can analyze using ADAMS/Solver. To learn about test
rigs, see Working with Test-Rig Templates on page 17.
In ADAMS/Car for example, a steering subsystem and a front-suspension subsystem, plus
a suspension test rig, form the basis of a suspension assembly that you can analyze for
kinematic behavior.
In ADAMS Standard Interface, you can create, open, save, and analyze assemblies. You
can also publish assemblies to databases so other users can share them. For information on
publishing assemblies, see Publishing an Assembly on page 25 in the guide, Configuring
Template-Based Products.
14 Building Templates
Introducing ADAMS Template Builder
■ Creating Templates, 15
■ Saving Templates, 16
Creating Templates
Saving Templates
Using ADAMS Template Builder, you can save your files in ASCII or binary format.
Saving your files in ASCII format provides the benefit of small file sizes and being human
readable. On the other hand, saving your files in binary format ensures faster processing,
but does not have the benefits associated with ASCII format.
Note: For ADAMS/Engine and ADAMS/Rail, the ASCII template format is EDS. We
recommend that you do not hand edit EDS files because it is difficult to maintain
the correct structure.
To save a template:
Overview
You can extend the functionality of your templates by
converting them into test-rig templates, also referred to as test
rigs.
This chapter describes how you can work with test rigs:
■ Process Overview, 18
Process Overview
The process of working with test-rig templates involves the following steps:
For ADAMS/Car and ADAMS/Rail:
For ADAMS/Engine:
1 From the File menu, select Save or Save As. Using these options, you can save your
test-rig templates in binary or ASCII format.
2 Fill in the dialog box.
3 Select OK.
4 Depending on the template-based product you are using, continue as follows:
❖ If working in ADAMS/Engine, go to Opening Test-Rig Templates in
ADAMS/Engine on page 20.
❖ If working in ADAMS/Car or ADAMS/Rail, go to Converting Templates
into Test Rigs on page 22.
1 From the File menu, point to Open, and then select Test Rig.
2 Right-click the Test Rig Name text box, point to Search, and then select the database
you want to search.
3 From the Select File dialog box, double-click the name of the test rig you want to
use.
4 Select OK.
Building Templates 21
Working with Test-Rig Templates
$---------------------------------------------------------------------MDI_HEADER
[MDI_HEADER]
FILE_TYPE = ’tpl’
FILE_VERSION = 13.3
FILE_FORMAT = ’ASCII’
HEADER_SIZE = 9
(COMMENTS)
{comment_string}
’Simple Double Wishbone Suspension’
$---------------------------------------------------------------------TEMPLATE_HEADER
[TEMPLATE_HEADER]
MAJOR_ROLE = ’suspension’
TIMESTAMP = ’1999/07/15,17:21:32’
HEADER_SIZE = 5
You should remove all the lines from the beginning of the file up to, and including, the line
containing the HEADER_SIZE attribute.
Building Templates 23
Working with Test-Rig Templates
■ Minor Role, 24
■ Model Class, 24
■ Test-Rig Class, 25
Major Role
The major role of templates and test rigs is stored in an ADAMS/View variable called role.
The major role of a test rig is always analysis.
When creating a test rig, make sure that you set the major role as shown next:
Minor Role
The minor role of templates and test rigs is stored in an ADAMS/View variable called
minor_role. The minor role of a test rig is typically any. Setting the minor role to any is very
important if you are designing a test rig that is supposed to work with other subsystems
that can have different minor roles.
In ADAMS/Car for example, a suspension test rig should work with either front, rear, or
trailer-type suspensions. If the minor role of the test rig were defined as front, the test rig
would hook up only to front suspensions.
Set the minor role as shown next:
Model Class
Every assembly in template-based products has a specific model class. The model class of
an assembly is stored in an ADAMS/View variable called model_class. Your template-
based product automatically creates this variable when you create the assembly.
Currently, in template-based products, there are four model classes defined: template,
subsystem, testrig, and assembly.
Test-Rig Class
You can associate any test rig with a particular class of assembly. In ADAMS/Car for
example, the test rig .__MDI_SUSPENSION_TESTRIG is associated with suspension
assemblies. The assembly class of a test rig is stored in an ADAMS/View variable called
testrig_class.
1 From the File menu, point to New, and then select Suspension Assembly.
The New Suspension Assembly dialog box appears.
2 Set the Suspension Test Rig option menu to the desired test rig. Notice that the
option menu only lists those test rigs that have a test rig class of suspension.
26 Building Templates
Working with Test-Rig Templates
Overview
Communicators are the key elements in template-based
products. Communicators facilitate the exchange of
information between subsystems, templates, and the test rig
in your assembly.
This chapter describes how you use communicators and the
different communicators in the templates.
■ Types of Communicators, 30
■ Communicator Class, 30
■ Communicator Roles, 32
■ Communicator Naming, 33
■ Testing Communicators, 36
30 Building Templates
Setting Up Communication Between Templates and Test Rigs
Types of Communicators
An assembly requires two directions of data transfer between its subsystems. To provide
for these two directions of data transfer, the template-based products have two types of
communicators:
■ Input communicators - Request information from other subsystems or test
rigs.
■ Output communicators - Provide information to other subsystems or test rigs.
In ADAMS/Car for example, a mount communicator in the rack and pinion steering
templates outputs the rack part name so that tie rods of suspension templates can attach to
the rack. In addition, a mount communicator in the steering template inputs a part name.
The steering template uses the part name to determine where to attach the steering column.
Communicator Class
The class of a communicator indicates the kind of information it exchanges. For example,
communicators of the class hardpoint exchange a location through a hardpoint name and
a part name. The classes of communicators and the information that each class exchanges
are listed in Table 1 on page 31. The classes apply to both input and output
communicators.
In ADAMS/Car and ADAMS/Rail, communicators can be either single or be part of a
symmetrical pair, either left or right. Entity classes (array, differential equation, motion,
parameter variable, solver variable, spline) have no symmetry and, therefore, are always
single, by default.
In ADAMS/Engine, all communicators are single.
Building Templates 31
Setting Up Communication Between Templates and Test Rigs
Communicator Roles
Each communicator has a minor role. A minor role defines the communicator’s position
in the assembly. The template-based products provide you with minor roles, as shown in
the following table:
Table 2. Communicator Minor Roles
ADAMS/Car ■ any
■ inherit
■ front
■ rear
■ trailer
ADAMS/Engine ■ any
■ inherit
For a list of the rest of the minor roles available for
ADAMS/Engine, see the dialog box help.
ADAMS/Rail ■ any
■ inherit
■ front
■ middle
■ rear
You can define a communicator’s minor role when you create it. For example, if you want
to provide input to or output from subsystems of specific roles, then you set the minor role
for communicators when you create them. We recommend, however, that you do not set
a communicator’s minor role. Instead, let the subsystem do it. For example, in
ADAMS/Car a suspension template might be used to define either a front or rear
suspension subsystem. By letting the subsystem determine the minor role, the assembly
process attaches a steering system to the front suspension and not to the rear.
Building Templates 33
Setting Up Communication Between Templates and Test Rigs
Communicator Naming
After you create a communicator, your template-based product assigns a prefix to the
name. For example, it creates a prefix, cil_ where:
■ ci indicates it is an input communicator. If it were an output communicator, the
template-based product would use co.
■ l indicates it is for the left side of a symmetrical pair. If it were for the right side,
the template-based product would use an r. If it were a single communicator, it
would have an s (cis).
Note: ADAMS/Engine uses only single communicators.
If you create a mount part, your template-based product automatically creates an input
communicator of the class mount. It uses the name of the mount part as the name of the
communicator and appends the prefix ci[lrs]_ to it, depending on whether or not it is a left,
right, or single communicator. For example, if you create a mount part of mtl_rack_mount,
your template-based product creates an input communicator with the name
cil_rack_mount, where the l indicates it is for the left side.
As you name communicators, you should ensure that any input and output communicators
that exchange information have matching names. In ADAMS/Car for example, the name
you give to communicators that exchange a part name during assembly might be
ci_strut_mount and co_strut_mount. In addition, if you are working with MDI templates,
you must ensure that you use the same naming conventions as the MDI templates. For
more on matching communicators, see Matching Communicators During Assembly on
page 34.
34 Building Templates
Setting Up Communication Between Templates and Test Rigs
The pair: Belongs to the class: From minor role: To minor role:
The pair: Belongs to the class: From minor role: To minor role:
You can match an input communicator with only one output communicator. You can,
however, match an output communicator with any number of input communicators.
You should always check the warning messages during the assembly, especially if the
warning refers to an input communicator of class mount that does not get assigned and is,
therefore, attached to ground.
1 From the Build menu, point to Communicator, and then select Info.
The Communicators Info dialog box appears.
Tip: For more information on any dialog box, press F1 when the dialog box is
active.
2 In the Model Names text area, enter the names of the templates or test rigs about
which you want to display communicator information.
36 Building Templates
Setting Up Communication Between Templates and Test Rigs
3 From the Type option buttons, select the type of communicators (input, output, or
all), about which you want to display information.
4 From the Entity option buttons, select one of the following:
■ To display information about only certain classes of communicators, select Many.
If you select Many, select the classes of the communicators from the list that
appears below the option buttons.
■ To display information about all classes of communicators, select All.
5 If you’ve used the Information window before and you want to clear it, select Clear
Information Window.
6 If you want to save the results to a file, select Save Test Results to File and then enter
the name of the file in the File Name text box.
7 Select OK.
The Information window appears. It displays the communicator information for
each template or test rig, grouped by each class of communicator that you selected.
Testing Communicators
You can perform a test to verify that you have correctly specified input and output
communicators in your template. You can use this test to determine whether or not you
need to add or modify communicators to correctly create an assembly.
When you perform the test, you specify the model names of one or more existing templates
or test rigs. Although you can specify a single template, you should specify all the
templates containing communicators that transfer information between the selected
template. You must specify a minor role for each template, subsystem, or test rig you
chose to test.
After you perform the test, your template-based product lists the matching input and
output communicators, the unmatched input communicators, and the unmatched output
communicators for the templates, subsystems, and test rigs you selected.
You can save the test information to a file.
Building Templates 37
Setting Up Communication Between Templates and Test Rigs
1 From the Build menu, point to Communicator, and then select Test.
The Test Communicators dialog box appears.
Tip: For more information on any dialog box, press F1 when the dialog box is
active.
2 In the Model Names text box, enter the models or test rigs whose communicators
you want to test.
3 In the Minor Roles text box, enter the minor roles of the communicators.
You must enter one minor role for each model or test rig that you select.
Tip: If a communicator has a minor role of inherit, which specifies that when the
template-based product creates a subsystem from the template, the
communicator should inherit the subsystem’s minor role. Since when you
test a template’s communicators, the inherit minor role is still undefined,
entering minor roles in the Minor Role text box provides the
communicators with their minor role.
In ADAMS/Car for example, if you assign the template susp_02, a minor
role of front in the Minor Roles text box, the communicator test also changes
the minor role of any communicators in susp_02 whose minor role is inherit
to the role of front.
4 For ADAMS/Rail only: In the Wagon Order text box, enter the wagon order of the
models.
You must enter one wagon order for each model that you select. For more
information on wagon order, see Wagon Order on page 6 in the guide, Building
Templates in ADAMS/Rail.
5 If you’ve used the Information window before and you want to clear it, select Clear
Information Window.
6 If you want to save the results to a file, select Save Test Results to File, and then enter
the name of the file in the File Name text box.
38 Building Templates
Setting Up Communication Between Templates and Test Rigs
7 Select OK.
The Information window appears. It contains a list of the communicators that
match other communicators and a list of those that do not. It shows the matched
communicators followed by the unmatched communicators. The lists include the
names of the input and output communicators and the names of the templates to
which they belong.
Often, you’ll see many communicators that are unmatched. Many of these
communicators are related to subsystems or test rigs that you do not currently have
open.
8 If you want to fully test the communicators in your template, you should open the
other templates with which you want the template to communicate. In
ADAMS/Car for example, if you are creating a suspenion template, the template
must be able to communicate with a steering template and the suspension test rig.
Note: ADAMS/Rail allows you to test the communication of models which are different
from each other. Therefore, you cannot test at the same time the communicators
of a certain assembly configuration where a template appears more than once.
Building Templates 39
Index
Index
A-B A-B
ADAMS Standard Interface, about 6
ADAMS Template Builder C-D
about 6
accessing 14 E-F
ADAMS/Solver variable communicator class, defined 31
G-H
Array communicator class, defined 31
Assembly I-J
matching communicators during 34
with mount communicators 34
K-L
Assembly files, about 13 M-N
Assumptions in this guide 3
O-P
Bushing communicator class, defined 31
C-D Q-R
Classes of communicators, about 30
S-T
Communicators
classes of 30 U-V
displaying information about 35
matching during assembly 34 W-Z
matching with test rigs 35
naming 33
roles of 32
testing 36
types of 30
Conventions for naming communicators 33
Creating test-rig templates 19
Differential communicator class, defined 31
Displaying communicator information 35
40 Building Templates
Index
E-F A-B
File architecture, about 7
Files
C-D
assembly 13
property 9 E-F
subsystem 11
templates 9 G-H
I-J I-J
Information, displaying communicator 35
K-L
Input communicators, defined 30
Integrator communicator class, defined 31 M-N
Joint communicator class, defined 31 O-P
Joint-for-motion communicator class, defined 31
Q-R
K-L
Location communicator class, defined 31 S-T
M-N U-V
Major roles
about 23 W-Z
of subsystems 12
Marker communicator class, defined 31
Matching communicators
during assembly 34
with test rigs 35
Minor roles
of communicators 32
of subsystems 12
of templates and test rigs 24
Model class, about 24
Motion communicator class, defined 31
Building Templates 41
Index
U-V
Verifying communicators 36
W-Z
Welcome to ADAMS 3