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