background image

INSTITUT  FOR

 

 

M

EKANIK

E

NERGI

  

OG

 

K

ONSTRUKTION   

 

             Sektionen for Konstruktion og Produktudvikling 

                       DANMARKS TEKNISKE UNIVERSITET 

 

         

 

MEK

 
 
 
 
 
 
 
Georg K. Christensen 
 

Design of a Pro/Engineer motion skeleton model  

for a Briggs & Stratton petrol engine

 

(ProEngineer Wildfire 2.0) 

 
 

 

 

 
 

background image

The purpose of this exercise is to introduce the concept of skeleton models used in 
ProEngineer. The skeleton models are useful for the creation of assemblies without too 
many assembly interdependencies e.g. constraints. In addition - as will be shown by this 
exercise, the skeletons are useful in creating simple forms of  ”animation” of the models. A 
skeleton in ProEngineer is a frame for the rest of the model. This skeleton can be used for 
creation of motion, but also as a means for control of space-allocation during product 
design. Examples are products with mechanically integrated, but distinct subsystems. In 
a mobile phone the visual appearance or shell can be divided in subspaces for display, 
keyboard, circuit board, batteries etc.  
During the exercise an assembly consisting of a skeleton model and a crankshaft 
mechanism is created. The mechanism is animated and a first element the mechanism , 
the piston is assembled. The remainder of the assembly process is left to the user of this 
note. 

Step 1: 

 Creation of the 

Skeleton part 

 

2 af 7 

jan. 05 

A skeleton part must be created as an entity 
within an assembly. Therefore start creating a 
new assembly KRANK_W.ASM. Accept to insert 
the default coordinate system.  
The skeleton part is now created within the 
assembly sing: Insert/Component/Create/Skele –
ton-Model/Name: KRANK_W_SKEL.PRT  (default) 

Accept the coordinate system

*. In the model tree redefine 

however the names of the coordinate planes to: 

SKEL

right

 ,SKEL

top, and 

SKEL

front. Following 

this, the screen should look like fig. 1. 
Notice that the 

Krank_w_skel.prt

 now has taken  

the top position in the model tree. It is only 
possible to have one skeleton part in each 

assembly (subassembly) and its position is at the top. 

 

Fig. 1 

In order to achieve correctness during the modelling of the skeleton part we must be sure 
not to use assembly datum planes as references. This will be achieved here by opening the 
skeleton model just as any other part. The features created subsequently will only refer 
to items of the 

KRANK_W_SKEL.PRT

. Do as follows: Open KRANK_W_SKEL.PRT by right 

klicking on the part in the model tree - then select Open. In fig. 2 and fig. 3 the results of 
the operations on the model tree is shown. Fig. 2 shows the tree before opening 

KRANK_W_SKEL.PRT

 and fig. 3 show the tree following the Open command. 

 
*Unix: Browse to exercise1/ and select: mmns_part_solid.prt 

 

background image

 

3 af 7 

jan. 05 

 
 
 
 
 
 

 

  STEP 2:  Building the skeleton model 

 

Fig. 4 

 

Fig. 2 

 

Fig. 3

 
 Step 2.1  Insert a datum axis along the 
intersection of 

SKELtop

 and 

SKEL

front.  

Step 2.2. A datum circle corresponding to the 
movement of the crankshaft bearing is created 
using the Sketched Datum Curve tool: 

  Use 

SKELri

ght

 as the sketching plane and the newly 

created datum axis as the centre. 

 

Step 2.3 Create a datum curve corresponding to 
the crankshaft arm   and a curve corresponding 
to the connecting rod 

 . (select 

). As 

referen-ces use only the axis, the datum circle 
and the piston movement plane (normally: 

SKELfront

).  

The model should now look like fig. 4. Arrange that 
dimensions corresponding to the measures d1 
and d2 are present. The angle d2 is used in the 
following to create the movement corresponding 
to the turning of the crankshaft. Try if the 
skeleton can move by modifying the value d2 
(regenerate). Save the model. 

 
 
 
 
 

Step 3:  Creation of motion using Relations  

background image

Programming a ProEngineer Relation containing the parameter d2 now creates a 
controlled movement. D2  represents the crank angle. Before the relations can be progra-

med a new variable crank_angle is defined. Use Tools/Relations/Local Parameters/ 

 

Type: crank_angle. See fig. 5.  
The Relations are typed in the text area above. Insert the program lines as shown in fig. 5.  

The variable d2:0 used here is an 
internal variable name given to the 
crankshaft angle. The actual variable 
name for the crankshaft angle in your 
exercise may vary from this. 

Make 

ProEngineer show the variable names by typing: 

  

followed by  a click at the connecting rod in the 
Graphics window.

 

Finally click at the actual variable for 

the crankshaft angle

* (in this note: d2:0).  

Fig. 5 

The relations will be recalculated each 
time the model is regenerated. 
Therefore the crankshaft angle is 
incremented by 30° per regeneration. 
Try to regenerate in order to examine if 
the programmed relations are making 
the crankshaft turn as expected. 
  

4 af 7 

jan. 05 

 

STEP 4: Finishing the 
skeleton 

4.1 Create datum points at 
the ends of the connecting 
rod (on the vertex using: 

). 

 
4.2 Create datum axis 
through these points 

using: 

and the datum axis toolbox (fig. 6b) 

 

Fig. 6a 

Fig. 6b

 
*UNIX: to find the internal variable name you have to select 
the “connection” sketch2 from the model tree, RMB and 
EDIT. Remember the variable name and type it into 
relations. 

 

background image

In this way a couple of movable datum axis are created. In fig. 6a 
the axis are A2, and A3

.  

SKELfront is not moving but used as 

reference for the piston movement. Once again check if the 
relations work properly. The skeleton model is now ready for use. 

5 af 7 

jan. 05 

Keystrokes and mouse-clicks that are used often can be ”automated” by the use 
of Mapkeys. This is done as follows: Utilities /Mapkeys/New (delete: KeySequence). 
Define a new KeySequence, preferably by selecting a new one. Here ra could be used 
as an abbreviation of:  regenerate  automatic. Then type Record  and execute the 
number of mouse-clicks or keyboard actions you want to record. Type: 
Stop/OK/Save to end recording.  Test the function. 

 If required at a later state the skeleton model can be modified or 
extended in the same manner as parts in an assembly can be 
modified e.g. by opening the part. Save and close the window. With 
KRANK_W.ASM open notice that KRANK_W_SKEL.PRT now has 
become an extended branch of the model tree .The Model tree 
should look like fig. 7.  

STEP 5: The assembly process continues by assembling 
the mechanism parts 

The assembly KRANK_W.ASM is now ready to accept the 

mechanism parts. The parts are assembled using: 

/Add 

component to the assembly.  During this process only references 
that are part of the skeleton model should be used. Examples are 
PN1!,PNT2, A1, A2, A3 and SKELRIGHT. Following the above 

mentioned procedure the assembled parts will only refer to the movable skeleton and they 

can therefore be easily replaced at a later stage. The animation is here done by: 

 

Regenerate/ Automatic. 

 

Fig. 7 

SKETCH 1 
SKETCH 2

 

 
 

 
 
 
 
 
 
 
 

  
 
 
 
 
 
 

background image

In figure 8 the result of the assembly process for the piston is 
shown. By following the outlined procedure none of the assembled 
components will have references to each other. Exceptions here are 
the two bolts for assembling the connection rod. All others refer 
only to the skeleton. It is easy now to replace an old connection rod 
with a new, because the rest of the assembly is not directly involved.  

6 af 7 

jan. 05 

 The drawback of the method is that no immediate verification of 
the fitting of the involved parts is done. As an example: does the 
piston pin actually fit the holes in the piston ?  And in the 
connecting rod ?                
Notice that in this way we can actually  “assemble” a too thick pin in 
a too small hole. It is therefore necessary to make a number of 
assembly drawings in order to check for interference and other 

types of mismatch. ProEngineer offers here some good help in:    

Fig. 8 

 Analyse/Model analysis/Global Interference/Compute and related   functions. 
 
 

background image

 

7 af 7 

jan. 05 


Document Outline