Automating Pro/ENGINEER
No programming skills nor money required
Olaf Corten
Fico BV
This presentation

Why Automate?

Which solutions are available?

Focus on free solutions
with no programming knowledge needed
– Mapkeys, trailfiles, Pro/BATCH
– 3rd party tools: ProTrail and sBatch
• Installation
• Usage
• Examples
Why Automate?

Customize and extend the Pro/ENGINEER user interface with
seamlessly embedded custom processes

Integrate expert systems and knowledge-based applications
into the Pro/ENGINEER environment

Create automated, single-use, or derived designs by external
manipulation of geometric and parametric constraints

Improve product quality with design rule verification based on
inputs from external solutions

Perform tedious, routine, time-consuming and computeintensive tasks
– Creating deliverables (plotfiles, cadfiles, BOM’s, massproperties, images, renderings)
How can we automate?

The sky is the limit. It all depends on the tools you use
– Pro/Toolkit (C/C++ library)
– J-Link (Java) - Free
– Automation Gateway (Visual Basic, VBA, C, etc)
– Pro/Web.Link (HTML and Javascript) - Free
– Pro/BATCH - Free
– Built in tools like: Trailfiles & Mapkeys
– 3rd party tools like:
• sBatch
• ProTrail
Pro/BATCH

Tool with graphical UI to Export 2D & 3D formats

Free

Scheduler

No PDM Integration
Pro/BATCH - Usage

Make shortcut to [proloadpoint]\bin\pro_batch.bat and set
startup folder to where you want to run it.

Select the files you want to process

Select the action you want to do

Name your batchfile and enter which ProE startup command
to use (normally proe1.bat)

Save the batchfile

Now run it (or schedule it)

Starts ProE with cmdline options:
0 0 3 pro_wait -batchfile [path]\[batchfile]
Pro/BATCH - Demo

Create DXF’s from a few drawings
Built in functions of ProE

Mapkeys

Running trailfiles

Free
Building your mapkeys

Set following config.pro options:
– CMDMGR_TRAIL_OUTPUT YES
puts internal ProE commands in trailfile instead of menu
dependant commands
~ Command `ProCmdModelSaveAs`
vs.
~ Activate `main_dlg_cur` `File.psh_save_as`
– TRAIL_DIR C:\TEMP
make sure your trailfiles are always on a local drive
Building your mapkeys

Use built in mapkey recorder
Tools -> Mapkeys -> New
or

Get the commands from session trailfile
Copy them to config.pro
mapkey xxx [commands]

Pick carefully

Don’t make screen selections
(unless you want to create a trailfile)
If you need to select something
Use the Find Tool
Building your mapkeys

Continuation:
– Continue mapkeys on a new line by ending previous line
with ;\
– Start new line with mapkey(continued).
(not really necessary)
– E.G.
mapkey fsdxf ~ Activate `main_dlg_cur` ` ProCmdModelSaveAs `;\
mapkey(continued) ~ Select `file_saveas` `type_option` \
mapkey(continued) 1 `db_137`;\
mapkey(continued) ~ Activate `file_saveas` `OK`;\
mapkey(continued) ~ Activate `export_2d_dlg` `OK_Button`
Building your mapkeys

Continuation:
– You can put ProE continuation lines on one line as long as
they don’t exceed the line length.
Maximum line length = 98 characters (incl. backslash)
– E.G.
~ Select `file_saveas` `type_option` \
1 `db_137`
Change into:
~ Select `file_saveas` `type_option` 1 `db_137`
Building your mapkeys

Add description to your mapkey:
– @MAPKEY_LABEL to give your mapkey a name
– @MAPKEY_NAME to give your mapkey additional info
TIP: Always end this with the mapkey in brackets e.g.
(mapkey fadxf)

E.G.
mapkey xxx @MAPKEY_LABELName of the mapkey;\
mapkey(continued) @MAPKEY_NAMEName and action (mapkey xxx)
Building your mapkeys

Cleaning up the mapkey
– Remove all lines starting with exclamation mark
E.G.
~ Activate `export_2d_dlg` `OK_Button`
! Message Dialog: Warning
!
: The file d:\36065.dxf already exists, continue anyway?
~ Activate `UI Message Dialog` `ok`
Building your mapkeys

Cleaning up the mapkey
– Remove unnecessary consecutive Open/ Select … and
Close … lines:
E.G.
~ Select `main_dlg_cur` `MenuBar1` \
1 `File`
~ Close `main_dlg_cur` `MenuBar1`
~ Activate `main_dlg_cur` ` ProCmdModelSaveAs `
and
~ Open `file_saveas` `type_option`
~ Close `file_saveas` `type_option`
~ Select `file_saveas` `type_option` \
1 `db_137`
Building your mapkeys

Browsing:
– Type in full path vs browsing
~ Select `file_saveas` `ph_list.Filelist` 1 `Data`
~ Activate `file_saveas` `ph_list.Filelist` 1 `Data`
~ Select `file_saveas` `ph_list.Filelist` 1 `PTC`
~ Activate `file_saveas` `ph_list.Filelist` 1 `PTC`
~ Select `file_saveas` `ph_list.Filelist` 1 `Work`
~ Activate `file_saveas` `ph_list.Filelist` 1 `Work`
~ Activate `file_saveas` `ok`
vs
~ Update `file_saveas` `opt_EMBED_BROWSER_TB_SAB_LAYOUT` \
`d:\\data\\ptc\\work`
~ Activate `file_saveas` `opt_EMBED_BROWSER_TB_SAB_LAYOUT`
~ Activate `file_saveas` `ok`
Building your mapkeys

Nesting mapkeys:
– Create nested mapkeys by calling other mapkeys with the
percent sign.
– E.G.
mapkey fsa @MAPKEY_LABELSave As;\
mapkey(continued) @MAPKEY_NAMESave As (mapkey fsa);\
mapkey(continued) ~ Activate `main_dlg_cur` ` ProCmdModelSaveAs `
mapkey fsdxf @MAPKEY_LABELSave As DXF;\
mapkey(continued) @MAPKEY_NAMESave As DXF (mapkey fsdxf);\
mapkey(continued) %fsa;\
mapkey(continued) ~ Select `file_saveas` `type_option` 1 `db_137`;\
mapkey(continued) ~ Activate `file_saveas` `OK`
Building your mapkeys

Parameters:
– Use old Parameter UI
With the config.pro option NEW_PARAMETER_UI NO.
–
vs
Building your mapkeys - Demo

Create mapkey to export dxf to folder on disk
Building your trailfiles

Use same approach as creating mapkeys

Start trail file with 2 line header
!trail file version No. 1400
!Pro/ENGINEER TM Wildfire 4.0 (c) 2009 by Parametric Technology Corporation All Rights Reserved.

Put every command on one line

Create environment variable CONTINUE_FROM_OOS = 1
to prevent ProE from crashing when running a trailfile

EG:
!trail file version No. 1400
!Pro/ENGINEER TM Wildfire 4.0 (c) 2009 by Parametric Technology Corporation All Rights Reserved.
~ Activate `main_dlg_cur` ` ProCmdModelSaveAs `
~ Update `file_saveas` `opt_EMBED_BROWSER_TB_SAB_LAYOUT` `d:\\data\\ptc`
~ Select `file_saveas` `type_option` 1 `db_137`
~ Activate `file_saveas` `OK`
~ Activate `export_2d_dlg` `OK_Button`
~ Activate `UI Message Dialog` `ok`
sBatch

Graphical utility to run your own mapkeys

Free

Uses J-Link

By USG Innotiv (Martein Schuttert)

Builds one large mapkey from selected mapkeys and runs it
on your files
sBatch

Download from:
http://www.usginnotiv.nl/13855/default.aspx
www.USGInnotiv.nl > 1st Tab > Divisies > Product Development > sTools

Link to download page with password will be mailed

Also other tools:
– sPurge
– Plotdate
Probably need to add the .zip extension
to downloaded files
sBatch v3.2

Creates one large mapkey and adds a button configured
to run this mapkey to your config.win

Then runs a trailfile which presses this button

Can connect to Intralink 3.x Workspace

Supports R2001, Wildfire & Wildfire 2.0
sBatch v4.0 (beta)

Uses asynchronous J-Link connection

Supports 64-bit

Supports Pro/ENGINEER Wildfire 4

Supports Windchill Workspace
– Intralink 3.x
– Windchill PDMLink/ProjectLink 8.0
– Windchill PDMLink/ProjectLink 9.x

Supports non-graphics mode

Improved installlation (detects Pro/E and OS version)
sBatch v4.0 Installation

C:\Program Files\USG Innotiv sBatch

Finds your latest Wildfire
version (up to v4.0)

Configure PDM integration
–PDMLink 9,8 or 7 and/or
–ProjectLink 9,8 or 7
–Intralink 3.x

Desktop icon
sBatch Installation

Creates c:\windows\sbatch.ini
(to hold installation paths)

Creates \.usginnotiv\sbatch.conf in
your %USERPROFILE%
(holds sBatch config. Can be updated from sBatch)

sBatch looks for config.pro in
[proeloadpoint]\text
Running sBatch

Start sBatch

Add Files to process

Select mapkeys to run
List is alphabetical

TIP: Create shortcuts
to often used mapkeys
at the top

Choose execution method and select run

Connects to current Pro/E session or starts a new one
sBatch Demo
– Create 300dpi jpegs with a white background specified
models shaded in the DEF_1 orientation.
• Use mapkeys
– vv1 - Set View to DEF_1
– vs - Shade
– faj3 - Create 300dpi jpg with white background
ProTrail

Runs predefined tasks on selected files

Creates a large trailfile and runs it with ProE

Runs in the background

Does error checking when the task is finished

Written by me in C++

DOS Commandline utility
ProTrail

Download from:
www.ProESite.com > Utilities > ProTrail
http://www.proesite.com/UTIL/protrail.htm

Can connect to Intralink 3.x workspace

In most cases upwards compatible because running
trailfiles is often upwards compatible as well.
ProTrail

Predefined tasks
– Export several 2D and 3D formats
– Create images
– Explode, unexplode
– Run Global interference, Massprops
– Set units, assign or unassign material
– Import files
– Regenerate, save, add timestamp
– Check ProE version
ProTrail Installation

One executable
Just put it somewhere in your PATH.

Ideally:
– Create folder c:\Utilities
– Copy protrail.exe to this folder
– Add folder c:\Utilities to your PATH

Synchronize TEMP variable with config TRAIL_DIR
e.g. C:\TEMP
Running ProTrail

You start ProTrail from a DOS prompt

Use commandline arguments to drive it
Tip: Install DosHere (or Command Prompt Here) Shell
extension. It enables you to quickly open a DOS prompt in
a folder from Explorer.
Running ProTrail

Type protrail –h to get help

Use –dontrun option to test
Running ProTrail

Options
– File Selection:
• Wildcards *.*, etc.
• -drw, -prt, -asm, -lay, -models
• -i inputfile
• -num (objects with numerical names:
e.g. 12345.prt
– Running:
• -foreground, -pause, -dontexit, -dontrun
• -cmd
• -v (version)
Running ProTrail

Options
– export
• Jpg, tiff
• Dxf, dwg, pdf
• Iges, Step, set, stl, productview, shrinkwrap
– print (to printername)
several other plot related options
– Intralink 3.x options
• -ws, -local, -ilink
Needs PDM_LDB_PATH variable
Running ProTrail

Options
– Specials:
• -save
• -view, -shade
• -regen
• -unit, -(un)assign
• -verify, -famtab, -instsave
• -(un)explode, -interference, -massprops
• -trail
Running ProTrail

Examples:
– protrail –e dxf –e pdf –drw
Create dxf and pdf files of all sheets on all drawings
– protrail –bgw –e jpg –dpi 300 –view DEF_1 –shade
–models 36*
Set background to white and create 300dpi jpegs of the
DEF_1 shaded view of all models starting with 36 in their
name
– protrail –ws WORK –unit mmNs –assign aisi_316.mat
–regen –save –prt
In Workspace WORK set all parts to mmNs units, assign
material aisi_316, regenerate and save
Running ProTrail

Examples:
– protrail –unexplode –interference –asm -e step
Open all assemblies, unexplode them, do an Interference
check and export to step
– protrail –famtab –models
Save FamilyTable file of all generic models.
– protrail –import dxf -save
Import all dxf’s and save as a ProE drw
(also checks dxf format size)
Thanks for your attention