<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
<!--}}}-->
Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}

h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}

.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}

.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}

.tabSelected {color:[[ColorPalette::PrimaryDark]];
	background:[[ColorPalette::TertiaryPale]];
	border-left:1px solid [[ColorPalette::TertiaryLight]];
	border-top:1px solid [[ColorPalette::TertiaryLight]];
	border-right:1px solid [[ColorPalette::TertiaryLight]];
}
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}

#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}

.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
	border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
	border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
	border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}

.wizard .notChanged {background:transparent;}
.wizard .changedLocally {background:#80ff80;}
.wizard .changedServer {background:#8080ff;}
.wizard .changedBoth {background:#ff8080;}
.wizard .notFound {background:#ffff80;}
.wizard .putToServer {background:#ff80ff;}
.wizard .gotFromServer {background:#80ffff;}

#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}

.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}

.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}

.tiddler .defaultCommand {font-weight:bold;}

.shadow .title {color:[[ColorPalette::TertiaryDark]];}

.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}

.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}

.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}

.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}

.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}

.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}

.imageLink, #displayArea .imageLink {background:transparent;}

.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}

.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}

.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}

.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}

.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}

.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}
.readOnly {background:[[ColorPalette::TertiaryPale]];}

#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:alpha(opacity=60);}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}

body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}

h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}

.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}

/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}

#mainMenu .tiddlyLinkExisting,
	#mainMenu .tiddlyLinkNonExisting,
	#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}

.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0 1em 1em; left:0; top:0;}

.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}

#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}

#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 0.3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}

.wizard {padding:0.1em 1em 0 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0 0; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0;}
.wizardFooter .status {padding:0 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em;}

#messageArea {position:fixed; top:2em; right:0; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em;}
#messageArea a {text-decoration:underline;}

.tiddlerPopupButton {padding:0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em; margin:0;}

.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}

.tabset {padding:1em 0 0 0.5em;}
.tab {margin:0 0 0 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}

#contentWrapper {display:block;}
#splashScreen {display:none;}

#displayArea {margin:1em 17em 0 14em;}

.toolbar {text-align:right; font-size:.9em;}

.tiddler {padding:1em 1em 0;}

.missing .viewer,.missing .title {font-style:italic;}

.title {font-size:1.6em; font-weight:bold;}

.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}

.tiddler .button {padding:0.2em 0.4em;}

.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}

.footer {font-size:.9em;}
.footer li {display:inline;}

.annotation {padding:0.5em; margin:0.5em;}

* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0 0.25em; padding:0 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}

.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0 3px 0 3px;}

.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}

.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0; font-size:.9em;}
.editorFooter .button {padding-top:0; padding-bottom:0;}

.fieldsetFix {border:0; padding:0; margin:1px 0px;}

.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}

* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0; right:0;}
#backstageButton a {padding:0.1em 0.4em; margin:0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin-left:3em; padding:1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
***/
/*{{{*/
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}
#displayArea {margin: 1em 1em 0em;}
noscript {display:none;} /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
}
/*}}}*/
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
<!--}}}-->
To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers:
* [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[MainMenu]]: The menu (usually on the left)
* [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
These [[InterfaceOptions]] for customising [[TiddlyWiki]] are saved in your browser

Your username for signing your edits. Write it as a [[WikiWord]] (eg [[JoeBloggs]])

<<option txtUserName>>
<<option chkSaveBackups>> [[SaveBackups]]
<<option chkAutoSave>> [[AutoSave]]
<<option chkRegExpSearch>> [[RegExpSearch]]
<<option chkCaseSensitiveSearch>> [[CaseSensitiveSearch]]
<<option chkAnimate>> [[EnableAnimations]]

----
Also see [[AdvancedOptions]]
<<importTiddlers>>
Configuration file(s) control the operation of the Pep*Pro modules. These files are analogous in operation to the Creo Parametric "config.pro" files. This appendix describes location, operation, and syntax of the Pep*Pro configuration files.
Configuration files are processed when required by Pep*Pro. For example, they can be modified after exporting a part, even if Creo Parametric and Pep*Pro are still running. The new settings will apply to subsequent exports.

''File Processing Order''

The order of processing of the files is:

#The file "peppro.sup" in the directory "<//proeloadpoint//>/text" is processed first. Any configuration option set in this file can not be superseded by an entry in another configuration file.
#The file "peppro.cfg" located in the user's start-up directory is then processed. This file may be for a specific project.
#The file "peppro.cfg" located in the user's home directory is processed next. This file would contain options pertinent to the user's general work.
#The file "peppro.cfg" in the directory "<//proeloadpoint//>/text" is then processed. This will contain all options for the site that can be overridden by the user.
#Finally, where appropriate, default values will be used for variables which can be specified but are not.
To add a DI (drawing information) item, an entry must be made in both files.

In "peppro_di.mnu", to add another item to the menu, twelve (12) lines must be added to the file. This is most easily accomplished by copying the last twelve (12) lines of the current file and editing the new lines to include the DI name and help string. The DI name known to the software is on the "Label" and "Help" lines. In the file below, after copying the last twelve (12) lines, change 'THICK' to the new DI name and change "Part thickness" to the desired help string.

In "peppro_di.fmt", add a line corresponding to the "peppro_di.mnu" file. The DI name must be identical to the item name known to the software.
Processing of drawing information item (DI) variables can be controlled by modifying files as described below. These files control both the DIshown in interactive menus as well as those exported.

Two files, "peppro_di.fmt" and "peppro_di.mnu", are used to specify the DI. The file "peppro_di.fmt" controls the display and formatting of each of the DI. The menu file that displays the DIoptions for the user is "peppro_di.mnu".

As shipped, both files contain all used DI. They can be modified to process only those DI needed for use at a given installation. Alternatively, new DI can be defined.
The most typical modification is to change which DI are displayed and exported; the "peppro_di.fmt"option VISIBLE (values YES or NO) is used for this purpose.
When used in batch mode, Pep*Pro must be started when the Creo Parametric session is started. Pep*Pro batch may use the non-graphical mode of Creo Parametric.

To have Pep*Pro start when Creo Parametric is started, the files peppart//nn//.dat and peptassy//nn//.dat must have the line which starts with 'delay_start' be 'delay_start false'. Alternatively, these files can be copied and the copied file be edited.

To start Creo Parametric in non-graphical mode, enter the command to start Creo Parametric, (e.g. creo) followed by '-g:no_graphics' or '/g:no_graphics'. The complete line should look similar to:

//{{{creo -g:no_graphics arguments}}}//

The following is a list of command line arguments and their meanings:

|!Argument|!Meaning|
|+A//assy_file_name//	|Assembly file name|
|+L//log_file_name//	|Log file name (processing log)|
|+O//directory//	|Output file directory name|
|+P//part_file_name//    	|Part model name|
|+S//suspend//	|Suspend file name|
The command line argument "+A//assembly_file_name//" will request that geometric and DI data be extracted from parts in //assembly_file_name// and be placed in the appropriate output files. This option is available only with Pep*Pro/Assembly. To process assemblies not in the current directory, use the config.pro options search_path or search_path_file.

The command line argument "+L//log_file_name//" will request that a log file be created. For each file processed, the file will contain one line that includes the object name, completion status, and possibly an error message.

The command line argument "+O//directory//" will request that the output files be placed in //directory//. The configuration option "output_directory" can also be used.

The command line argument "+P//part_file_name//" will request that geometric and DI data be extracted from the file //part_file_name// and be placed in the file //part_file_name//.dxf. To process assemblies not in the current directory, use the config.pro options search_path or search_path_file.

The command line argument "+S//suspend//" tells the software that the file //suspend// contains a list of objects to be processed with one object per line. Optionally, pre-programmed inputs can be included as shown in the example:

//<html><span style="font-size: 13px">Suspend File Example</span></html>//
!
wrkcntr=wrkcntr1
grain = n
//part_file_name1//.prt wrkcntr=wrkcntr2 cost=3
//part_file_name2//.prt
//asm_file_name1//.asm
!
Bend lines in sheet metal features are represented by datum axes. Pep*Pro allows processing of bend lines.

Several configuration options control bend line processing. Options allow for automatically selecting the bend lines to be processed.

To specify the axes which are to be processed, [[item_name |item_name]] statements are required. The last field on the item_name statement is a regular expression selecting the bend lines. (See the example below.)

To specify the layers on which the bend lines are exported, a  [[layer|Layer Names and Numbers]] statement is required for each item_name statement.

To use these options in the //''peppro.cfg''// file, the following lines in the file are necessary:

//allow bendline 
item_name bendline 
layer// 

//<html><span style="font-size: 13px">
Bend Line Example:</span></html>//
!
//allow bendline yes
item_name bendline A_[0-9]*F
item_name bendline A_[0-9]*B
layer A_[0-9]*F ~AXIS_FRONT
layer A_[0-9]*B ~AXIS_BACK//

Instruct Pep*Pro/Part that bend lines (sheet metal feature datum axes) whose names match the regular expression "A_[0-9]*F" (e.g. ~A_3F, ~A_49F) are to be exported on the layer named ~AXIS_FRONT. Similarly, bend lines whose names match "A_[0-9]*B" (e.g. ~A_4B, ~A_27B) are to be exported on the layer named ~AXIS_BACK.
!
This option is for use with Pep*Pro/Assembly. Component parts to be exported from the assembly are selected using one or more of the selection criteria:

Name_prefix: All parts having a name which is some characters followed by the assembly name will be selected for export.
Name_suffix: All parts whose names are composed of the assembly name and one or more following characters will be selected for export.
Part_parameter: Pep*Pro/Assembly will select parts based upon a parameter of the specified name and optional values.

To use these options in the //''peppro.cfg''// file, the following lines in the file are necessary:

//assembly_component_selection 
part_parameter//

//<html><span style="font-size: 13px"> Component Selection Example Using Assembly Name Suffix</span></html>//
!
//assembly_component_selection name_suffix//

Instructs Pep*Pro/Assembly to select from the assembly named 'ABCD' parts with names '~ABCD_123' and '~ABCD_456'. Parts with names '123' and '~ABC_1' would not be selected.
!

//<html><span style="font-size: 13px">Component Selection Example Using Parameter</span></html>//
!
//assembly_component_selection part_parameter
part_parameter vendor//

Instruct Pep*Pro/Assembly select all parts containing the part parameter 'vendor' to be selected.
!
The following table shows the correspondence between Creo Parametric version names and the version number used by Pep*Pro.

|!Version Name | !Version Number (nn) |
|Wildfire 4.0 | 27 |
|Wildfire 5.0 | 28 |

Based upon the choices made, the installation program creates the appropriate files in the directories "peppro\text\dat". The files "peppart//nn//.dat" and "pepassy//nn//.dat" describe Pep*Pro to Creo Parametric. To tell Creo Parametric where Pep*Pro resides, copy lines from the "config.pro" files in this directory to your "config.pro" file.

Processing of the drawing information (DI) can be controlled by changing two text files. Both of these files are located under the "\//jerand//\peppro\text\usascii" directory. These two files are "peppro_di.fmt" and "peppro_di.mnu". The first file, peppro_di.fmt, determines the format, range of values, and visibility of each pre-programmed input. To make a DI visible and exportable, set "VISIBLE=YES". The "peppro_di.mnu" contains the menu item name for each DI and the one line help string.

For further information on the format, modification, or addition of ~DIs, please refer to Appendix B.
The Jerand License Manager is based on the [[Reprise License Manager|http://www.reprisesoftware.com/support/end-users.php]]. A link to the RLM ~End-User manual is installed in C:\Program Files\Jerand\RLM\documentation.

Another environment variable affects the licensing behavior of Pep*Pro. This variable is optional but setting it may improve license availability when multiple users are accessing a limited number of licenses. Under normal operation, a license is taken when Pep*Pro starts and released when the program stops. However, to take and release a license only when the "Export" function is used, set the system environment variable ~JERAND_LIC_DEFER with value of "DEFER."

Obtaining Licenses

The following steps describe how to obtain licenses for Pep*Pro.
#To generate a hostid, use the command //{{{rlmhostid}}}//. It is located by default either in the folder C:\Program Files\Jerand\RLM\i486_nt\obj (32 bit) or C:\Program Files\Jerand\RLM\x86e_win64\obj (64 bit).
#Send the server hostid to Jerand (email: licenses@jerand.com, fax: 1-317-875-6612, or voice: 1-317-875-6087 or 1-888-4JERAND). Jerand will supply the license file by e-mail.
The format of this manual is similar to the manuals which accompany Creo Parametric. The following conventions have been used throughout this manual:

:''Boldface''
::Indicates a menu option. However, it will appear in bold type only when the name refers to the actual option.
:UPPERCASE
::Indicates the name of a menu.
://{{{keyboard}}}//
::Information to be entered using the keyboard appears in this font: //{{{enter this.}}}//
::Characters between the <> symbol indicate a specific key on the keyboard.
://Reference//	
::When referencing other sections of this document or other documentation, the reference will be in italics.
://''Emphasis''//	 
::Information being emphasized will appear in bold italics.
:Mouse
::All mouse clicks assume a mouse configured for right hand operation.
The ''Convert'' option exports data for the selected parts to individual files and invokes the PEP CAD converter (dxf.exe) for each file.
The ''Convert'' option exports the part data to a file and invokes the PEP CAD converter (dxf.exe) for each part.
Cosmetic features may be processed by Pep*Pro/Part. Special processing is done for those cosmetic features containing text entities in the section. Substitution will be performed for some text strings when the output file is generated. If the section text is "&parameter", where parameter is the name of a valid part parameter, the value of the parameter will be used. If the section text is "&model_name" or "rel_model_name()", the model name (part name) will be substituted.

A layer statement is required to specify the layer on which the cosmetic marking is exported.

To process cosmetic feature geometry, use these options in the //''peppro.cfg''// file:

//allow cosmetic 
layer JET*~PRO_DEFAULT_COSMETIC//


//<html><span style="font-size: 13px">Cosmetic Geometry Example</span></html>//
!
//allow cosmetic yes
layer JET*~PRO_DEFAULT_COSMETIC 3 0 0//

Instruct Pep*Pro/Part that cosmetic geometry is to be exported on layer 3, font 0 and color 0. 
!

To process cosmetic feature text, use these options in the //''peppro.cfg''// file:

//allow cosmetic 
layer JET*~PRO_DEFAULT_COSMETIC_TEXT//

//<html><span style="font-size: 13px">Cosmetic Text Example</span></html>//
!
//allow cosmetic yes
layer JET*~PRO_DEFAULT_COSMETIC_TEXT 4 0 0//

Instruct Pep*Pro/Part that cosmetic text is to be exported on layer 4, font 0 and color 0.
!
//''default_value''// (no default), ''TODAY[+n]''

The default value from the list of values presented in the previous VALUES statement or a value between the minimum and maximum allowable. A default value of TODAY sets the value to today's date in the format (YYMMDD). If the optional +n (e.g. +2) is present, the date is set to n days past the current date.

//<html><span style="font-size: 13px">DEFAULT Example</span></html>//
!
//{{{DEFAULT=N}}}//
//{{{DEFAULT=13}}}//
!
When the DI menu item is selected, a listing of all current ~Drawing Information items will be shown. The user may then select each item individually in order to change the values of these inputs.

The ''Show All'' item at the top of the DI menu will bring up a message window that displays all the DI's and their current values.

The ''Reset All'' item near the top of the DI menu will reset all values.

When the DI menu item is selected, a listing of all current ~Drawing Information items will be shown. The user may then select each item individually in order to change the values of these inputs.

The ''Show All'' item at the top of the DI menu will bring up a message window that displays all the DI's and their current values.

The ''Reset All'' item near the top of the DI menu will reset all values.


Datum curve features may be processed by Pep*Pro/Part. [[Layer |Layer Names and Numbers]] statements are required to specify the layers on which the datum curves are to be exported.

To process datum curve feature geometry, use these options in the //''peppro.cfg''// file:

//allow datumcurve 
layer//


//<html><span style="font-size: 13px">Datum Curve Example</span></html>//
!
//allow datumcurve yes
layer PEP*~PRO_DEFAULT_DATUMCURVE CURVE//

Instruct Pep*Pro/Part that datum curve geometry is to be exported on the layer named CURVE.
!

Download the software from [[Jerand's web site | http://jerand.com/sw.html]]. Select each product (License Manager and Pep*Pro) desired for the desired operating system and save to disk. Extract each download into its own folder.

Dynamic text marking, also referred to as marking, places into the output file geometry for marking text characters.

Several configuration options control marking. Options allow for specifying the font, the geometry used to locate the marking, and the text string to be marked. During the export step, the user must select references to locate the marking.

To specify the layers on which the marking is exported, [[layer|Layer Names and Numbers]] statements for the layers JET*~PRO_DEFAULT_MARKING and JET*~PRO_DEFAULT_MARKING_TEXT are used.

A character font must be specified with the marking_font configuration option. A font consists of a Creo Parametric section file for each character, which may be marked, and a section file (template) describing the placement of the characters. One or more fonts can be present. Each font is in a sub-directory whose name is the font name. The font sub-directories are in a directory named "font" which is a sub-directory of the directory specified by the text_dir entry in the peppro*.dat file.

Specify the template to be used with the marking_template configuration option. A template locates the characters to be marked. The template is a Creo Parametric section file consisting of coordinate systems. Origin of the template is determined by the first coordinate system. Characters are then placed on subsequent coordinate systems within the template section.

Text to be marked is specified using the marking_ text configuration option. The string represents a valid right hand side of a relation and is converted to a string.

When the part geometry is exported, the user specifies two perpendicular edges to locate the text. The marking_selection_type and marking_selection_name configuration options control the geometry, which may be selected for the orientation. The part model must contain this feature and it must be placed on the surface being exported.

To use these options in the //''peppro.cfg''// file, the following lines in the file are necessary:

//allow marking 
marking_font 
marking_template 
marking_selection_type 
marking_selection_name 
marking_text// 

//<html><span style="font-size: 13px">Dynamic Text Marking Example</span></html>//
!
//allow marking yes
marking_font font1
marking_template template1 
marking_selection_type UDF
marking_selection_name PN
marking_text part_number+"_"+rev_level//
 
Instruct Pep*Pro/Part that the result of the evaluation of the relation "part_number+"_"+rev_level" will be marked using the character set in font "font1", located by the template "template1" and that the text will be located by the user selecting horizontal and vertical references from the UDF named "pn".
!
//<html><span style="font-size: 13px">Example file "peppro.cfg"</span></html>//
!
{{{!}}}<br />{{{! File: peppro.cfg}}}<br />{{{! Sample file}}}<br />{{{!}}}<br />{{{! Lines starting with ! or # are comments}}}<br />{{{! All lines are case-insensitive}}}<br />{{{!}}}<br />{{{! Specify order to determine orientation for export}}}<br />{{{! Options:}}}<br />{{{!	view (view name)}}}<br />{{{!	csys (coordinate system)}}}<br />{{{!	xyz (use part edges)}}}<br />{{{! options are accumulated over multiple lines & files, and tried in the}}}<br />{{{! order they are encountered.}}}<br />{{{!}}}<br />{{{!view_csys_priority view,csys,surface,xyz}}}<br />{{{view_csys_priority view}}}<br />{{{!}}}<br />{{{! Specify one or more view names}}}<br />{{{view BURN}}}<br />{{{view front, top}}}<br />{{{!}}}<br />{{{! Specify one or more cysts names}}}<br />{{{csys csys0}}}<br />{{{!}}}<br />{{{! Specify one or more surface names}}}<br />{{{!surface named_surf}}}<br />{{{surface first}}}<br />{{{!}}}<br />{{{! Specify flat pattern type}}}<br />{{{! Options:}}}<br />{{{!		generic,}}}<br />{{{!		instance, (flat pattern as specified in family table)}}}<br />{{{!		flat_pattern (last feature is flat pattern or unbend)}}}<br />{{{flat_pattern_type flat_pattern}}}<br />{{{! If instance, specify flat pattern prefix(es) and/or suffix(es)}}}<br />{{{flat_pattern_prefix fl_}}}<br />{{{!flat_pattern_suffix _flat}}}<br />{{{!flat_pattern_template ___* FLP*}}}<br />{{{!flat_pattern_template (......).* $1_F}}}<br />{{{!flat_pattern_template ([A-Z][0-9]).* $1_F}}}<br />{{{!flat_pattern_template ([A-Z])..([0-9][A-Z]).* FLAT_$2$1}}}<br />{{{!}}}<br />{{{! Specify layer numbers for layer names}}}<br />{{{! One or more layer names may specify the same layer number}}}<br />{{{! Maps from the layer name in Pro/E (or one of the special default names}}}<br />{{{! defined below) to the layer name in the DXF output file.}}}<br />{{{!layer layer_name layer_id layer_font layer_color}}}<br />{{{layer PEP*PRO_DEFAULT_GEOMETRY 1 0 0}}}<br />{{{layer PEP*PRO_DEFAULT_DI 2 0 0}}}<br />{{{layer TAP-10-24 10 0 0}}}<br />{{{layer TAP-12-24 12 0 0}}}<br />{{{!}}}<br />
{{{! Specify if output file to be created if part not flat}}}<br />{{{! Allowable values: true, yes, false, no (true = yes, false = no)}}}<br />
{{{!export_not_flat no prevents file from being exported}}}<br />{{{export_not_flat no}}}<br />{{{!}}}<br />{{{! Output directory and filename}}}<br />{{{! Specify directory where exported files are placed}}}<br />{{{!output_directory /output_dir/}}}<br />{{{! Specify how output filname is generated}}}<br />{{{output_filename object_name}}}<br />{{{!output_filename parameter parameter_name}}}<br />{{{!}}}<br />{{{! Assembly component selection}}}<br />{{{!assembly_component_selection name_prefix}}}<br />{{{!assembly_component_selection name_suffix}}}<br />{{{assembly_component_selection sheet_metal}}}<br />{{{!assembly_component_selection part_parameter}}}<br />{{{!}}}<br />{{{!Assembly component selection based on part parameter name}}}<br />{{{part_parameter IN_HOUSE}}}<br />{{{!}}}<br />
{{{!Assembly component selection based on part parameter name and values}}}<br />{{{part_parameter vendor=JERAND,PEP}}}
!
//<html><span style="font-size: 13px">Example file "peppro_di.fmt"</span></html>//
!
{{{NAME=PPIVER			TYPE=A32	FUNCTION=PPI_GET_STRING	DEFAULT=1.0	VISIBLE=YES.}}}
{{{NAME=MATERIAL		TYPE=A32	FUNCTION=PPI_GET_MATERIAL_NAME	VISIBLE=YES.}}}
{{{!NAME=MATERIAL		TYPE=A32	PARAMETER=GAUGE	FUNCTION=PPI_GET_STRING
VISIBLE=YES.}}}
{{{NAME=THICKNESS		TYPE=REAL	FUNCTION=PPI_GET_THICKNESS	MIN=0	VISIBLE=YES.}}}
{{{NAME=CAD_MOVE_PATH	TYPE=A32	FUNCTION=PPI_GET_STRING
DEFAULT=F:\DONE_PARTS
VISIBLE=YES.}}}
{{{NAME=CAD_IGNORE_RO	TYPE=YN	FUNCTION=PPI_GET_YN	DEFAULT=Y	VISIBLE=YES.}}}
{{{NAME=AUTO_TOOLING	TYPE=YN	FUNCTION=PPI_GET_YN	DEFAULT=Y	VISIBLE=YES.}}}
{{{NAME=SKIP_EXISTING_GEO	TYPE=YN	FUNCTION=PPI_GET_YN	DEFAULT=N	VISIBLE=YES.}}}
{{{NAME=GEO_NAME		TYPE=A32	FUNCTION=PPI_GET_YN	DEFAULT=N	VISIBLE=YES.
{{{NAME=REVISION		TYPE=A5		FUNCTION=PPI_GET_STRING	VISIBLE=YES.}}}
{{{NAME=JOB_ID			TYPE=A32	PARAMETER=DESCRIPTION	FUNCTION=PPI_GET_STRING
VISIBLE=YES.}}}
{{{NAME=ROT_ALLOWED	TYPE=INT		FUNCTION=PPI_GET_MENU
RESOURCE=ppi_comcut_contour.res	VALUES=N,P,O,E,I,S;
DEFAULT=0	MIN=0	MAX=8	VISIBLE=YES.}}}
{{{NAME=USE_CLUSTER	TYPE=YN	FUNCTION=PPI_GET_YN	DEFAULT=N	VISIBLE=YES.}}}
{{{NAME=USE_RS			TYPE=YN	FUNCTION=PPI_GET_YN	DEFAULT=N	VISIBLE=YES.}}}
{{{NAME=FIND_BEST_ANGLE	TYPE=YN	FUNCTION=PPI_GET_YN	DEFAULT=N	VISIBLE=YES.}}}
{{{NAME=ROT_ANGLE_TOL	TYPE=REAL	FUNCTION=PPI_GET_REAL
MIN=0	MAX=90	DEFAULT=0	VISIBLE=YES.}}}
{{{NAME=MACHINE		TYPE=A32	FUNCTION=PPI_GET_MENU	VISIBLE=YES.}}}
!
//<html><span style="font-size: 13px">Example DI Menu File</span></html>//
!
{{{Pep*Pro.PPI Label}}}
{{{&PPI}}}
{{{#}}}
{{{#}}}
{{{Pep*Pro.PPI Help}}}
{{{Pep*Pro: Work with pre-programmed inputs}}}
{{{#}}}
{{{#}}}
{{{Pep*Pro.PPI.Show#All Label}}}
{{{Show All}}}
{{{#}}}
{{{#}}}
{{{Pep*Pro.PPI.Show#All Help}}}
{{{Show all PPI (Pre-Programmed Inputs)}}}
{{{#}}}
{{{#}}}
{{{Pep*Pro.PPI.Reset#All Label}}}
{{{Reset All}}}
{{{#}}}
{{{#}}}
{{{Pep*Pro.PPI.Reset#All Help}}}
{{{Reset all PPI (Pre-Programmed Inputs)}}}
{{{#}}}
{{{#}}}
{{{Pep*Pro.PPI.UNITS Label}}}
{{{UNITS}}}
{{{#}}}
{{{#}}}
{{{Pep*Pro.PPI.UNITS Help}}}
{{{Units: inch or mm}}}
{{{#}}}
{{{#}}}
{{{Pep*Pro.PPI.MATERIAL Label}}}
{{{MATERIAL}}}
{{{#}}}
{{{#}}}
{{{Pep*Pro.PPI.MATERIAL Help}}}
{{{Material name}}}
{{{#}}}
{{{#}}}
{{{Pep*Pro.PPI.THICKNESS Label}}}
{{{THICKNESS}}}
{{{#}}}
{{{#}}}
{{{Pep*Pro.PPI.THICKNESS Help}}}
{{{Part thickness}}}
{{{#}}}
{{{#}}}
{{{Pep*Pro.PPI.GEO_REVISION Label}}}
{{{GEO_REVISION}}}
{{{#}}}
{{{#}}}
{{{Pep*Pro.PPI.GEO_REVISION Help}}}
{{{Part revision}}}
{{{#}}}
{{{#}}}
{{{Pep*Pro.PPI.ROT_ALLOWED Label}}}
{{{ROT_ALLOWED}}}
{{{#}}}
{{{#}}}
{{{Pep*Pro.PPI.ROT_ALLOWED Help}}}
{{{Allowable part rotation(s)}}}
{{{#}}}
{{{#}}}
!
Pep*Pro/Part allows for an output file to be generated for a part that is not flat. It also can prevent output files from being generated if the selected part is not precisely flat. The flatness_tolerance statement in the //''peppro.cfg''// file controls the measurement tolerance.

#The default option is to prevent an export file from being generated in the case a part is not flat. The following line may be in the //''peppro.cfg''// file to state this explicitly: //{{{export_not_flat no}}}//
#If the user would instead allow non-flat parts to be exported, the following should be placed in the //''peppro.cfg''// file: //{{{export_not_flat yes}}}//

<<<
Note: Only one of the two options may be used. If both are placed in the peppro.cfg file, only the first will affect Pep*Pro's operation.
<<<
The ''Export'' option exports data for the selected parts to individual files.
The ''Export'' option exports the part data to a file. All edge data for the selected surface and all DI data will be stored in a new file.

The edges that are exported are found by looking at a reference surface and all surfaces that are co-planar to it. Only the edges //''not shared''// between these surfaces are exported: the //''outline''// of the set of co-planar faces is output.

The acceptable types of edges are lines, arcs, ellipses, and B-splines.

There are four steps in this procedure:

On pressing the ''Export'' option the user will be prompted for a file name in which to save the DXF and DI data. The file ''part_name''.dxf will be stored in the output directory specified in the configuration file //''peppro.cfg''//. (See option [[output_directory|Output Directory]].) If no output directory is specified, all exported files will be saved in Creo Parametric's current working directory.

The export surface must be determined. The configuration options in the configuration file //''peppro.cfg''// determine which surfaces are exported and how these surfaces are oriented.

<<<
Note:	If a valid orientation and base surface cannot be determined from the options in the configuration file, the message 'Export Failed' will appear in the message window, and the export will stop.
<<<

Next, Pep*Pro/Part checks to make sure that the part is flat. If the part is not flat, the export will fail unless the ''export_not_flat'' option is set to 'yes' or 'true' in the //''peppro.cfg''// configuration file. (See [[Export Options]] for more on this option.)

If the part passes the previous check, all appropriate edges are exported to the output file, along with all pre-programmed input data. If Pep*Pro/Part cannot write to the specified output directory, the export will fail.

<<<
Note: The ''export_not_flat'' option can be set to 'no' or 'false' to ensure that no non-flat parts are exported accidentally.
<<<
''~PPI_GET_INT''
Prompts the user to type in an integer number.

''~PPI_GET_MATERIAL_NAME''
Extracts the material from the part.

''~PPI_GET_MENU''
Prompts the user to select from the menu named in the MENU statement. The items of the VALUES statement correspond sequentially to the MENU items.

''~PPI_GET_MENU_NO''
Prompts the user to select from the menu named in the MENU statement. The items of the VALUES statement correspond sequentially to the MENU items. One of these values is N, which stands for "no." If N is selected, all of the other possible values will be unselected.

''~PPI_GET_OBJECT_NAME''
Extract the name of the Creo Parametric part or assembly.

''~PPI_GET_PARAMETER_VALUE''
Extract the value of the parameter.

''~PPI_GET_REAL''
Prompts the user to type in a real number.

''~PPI_GET_STRING''
Prompts the user to type in a string.

''~PPI_GET_YN''
Prompts the user to select Yes or No from a menu.

Specifies the function used to obtain the DI value, from either the Creo Parametric object (''~PPI_GET_MATERIAL_NAME'' and ''~PPI_GET_OBJECT_NAME'') or the user.

<html><span style="font-size: 13px">FUNCTION Example</span></html>//
!
//{{{FUNCTION=PPI_GET_OBJECT_NAME}}}//
!
The ''Flat Check'' option in the main Pep*Pro menu checks the current part to be sure that it is flat. First, Pep*Pro selects a 'base' surface; a surface that Pep*Pro will use as a reference for Flat Check calculations. This surface is generally the largest surface in the part, or can be set using the options in the //''peppro.cfg''// configuration file. (See [[Orientation Priority]].) Once this surface has been determined, the Flat Check routine examines the part for flatness.

A part is considered to be 'flat' if all other faces or surfaces are either parallel or perpendicular to the determined surface at all points.

If both of these conditions are met, then the part is considered to be 'flat'. Otherwise, the message 'Part is NOT flat' will appear in the message window at the bottom of the screen.

This process may take several seconds.
This option is for use mainly in the batch mode of Pep*Pro/Part and in both interactive and batch modes for Pep*Pro/Assembly. When running Pep*Pro/Part interactively, the currently displayed part will be exported. However, if running batch files with the software, the flat pattern options allow the program to recognize and use various instances or suppressed features for correct export.

There are three options for this configuration.

#Flat Pattern: The program will be alerted that there may be either a flat pattern or unbend feature as the last feature in the part and that the feature may be suppressed. Pep*Pro/Part will resume the feature, if necessary, before the part is exported.
#Generic: Pep*Pro will use the generic part for export.
#Instance: Pep*Pro will use a specific instance of the part's family table for export.
The instances are identified by prefix(es) and/or suffix(es), and/or template(s). For example, if the generic part was named 'sheet.prt', and the prefix is 'fl_', the instance retrieved would be 'fl_sheet'. The user can enter into the //''peppro.cfg''// any prefix or suffix.

To use these options in the //''peppro.cfg file''//, the following lines in the file are necessary:

//flat_pattern_type flat_pattern_prefix prefix flat_pattern_suffix suffix flat_pattern_template suffix//

//<html><span style="font-size: 13px">Flat Pattern Type Example 1</span></html>//
!
//{{{flat_pattern_type instance flat_pattern_suffix _flat}}}// 

Instructs Pep*Pro/Part to find an instance of the current part whose name is partname_flat. 
!

//<html><span style="font-size: 13px">Flat Type Example 2</span></html>//
!
//{{{flat_pattern_type flat_pattern}}}// 

Instructs Pep*Pro to resume the flat pattern feature in the part before exporting.
!
Pep*Pro configuration files are case insensitive. Blanks, commas, or tabs may delimit fields. Comment lines are indicated by either a '!' or a '#' in the first column on the line. When multiple values are allowed, they may be placed on one or more statements.
The options for choosing what DI to include and display are specified in the "peppro_di.fmt" file. Each DI item is described on a line ending with a period followed by a carriage return. Each DI item has a NAME, TYPE, and associated FUNCTION. If desired, MENU, VALUES, DEFAULT, MIN, and MAX statements can be used to collect and limit the input. DI can be VISIBLE or not.
Two methods are available to specify the direction of the grain. The first method uses a coordinate system whose name has been set to "GRAIN". Grain direction is then specified by the x-axis of this coordinate system. The second method uses a cosmetic line with the feature name set to "GRAIN". Grain direction is specified by the line.

To control how the grain direction is exported, a [[layer|Layer Names and Numbers]] statement must be included. The default layer name "JET*~PRO_DEFAULT_GRAIN" may be used.
Copy the license file to the default folder C:\Program Files\Jerand\RLM\license.
The following steps describe how to install Pep*Pro and the Jerand License Manager.

<<<
Note:	Administrator privileges are needed for the installation of the license manager. All other products can be installed with user privileges.
<<<

For each product to be installed, run 'setup.exe' from the folder into which the files were extracted. A product directory will be created under the folder specified. For example, when installing Pep*Pro, choosing the default folder C:\Program Files\Jerand will create a folder C:\Program Files\Jerand\peppro for the software.

When installing Pep*Pro, you will need the host name of the license server and the port which the license manager is using. The default port number is 5053.


Pep*Pro/Part can be used interactively in either sheet metal or part modes while Pep*Pro/Assembly can be used interactively in assembly mode.

If either Pep*Pro/Part or Pep*Pro/Assembly is set to start automatically, the ''Pep*Pro'' menu item appears on the menu bar. Items on the ''Pep*Pro'' menu are enabled based upon the type of object (e.g. part, assembly, drawing) in the current window.


<html><span style="font-size: 16px">Starting and Stopping Pep*Pro</span></html>

Pep*Pro can be started and stopped either automatically or manually.

Statements in the files //''peppartnn.dat''// and //''pepassynn.dat''// control when Pep*Pro can start and stop with respect to the Creo Parametric session (see "[[Configuring Pep*Pro]]"). If the Pep*Pro module is not running, use the ''Tools/Auxiliary Application/Start'' command at any time during the Creo Parametric session to start it. To stop the module and release the license, use the ''Tools/Auxiliary Application/Stop'' command at any time during the session while Pep*Pro is running.

If the environment variable ~JERAND_LIC_DEFER has a value of "DEFER", Pep*Pro will start. Otherwise, if there is a license available for use, then the Pep*Pro module will start. If there are no licenses available, then Pep*Pro will refuse to start, and a message will appear in the message window stating that no licenses were available for use.

An Pep*Pro/Part license may be active when either Pep*Pro/Part or Pep*Pro/Assembly is running. An Pep*Pro/Assembly license is active when Pep*Pro/Assembly is running.

<html><span style="font-size: 16px">Pep*Pro/Part Main Menu Structure</span></html>

Pep*Pro/Part enables five items on the Pep*Pro menu: ''Convert'', ''Export'', ''Flat Check'', ''DI'', and ''Support Info''.

<<tabs tabsClass
Convert "Convert" [[Convert Pro/Part]] 
Export "Export" [[Export Pro/Part]] 
"Flat Check" "Flat Check Pro/Part"  [[Flat Check Pro/Part]]
DI "DI Pro/Part" [[DI Pro/Part]]
"Support Info" "Support Info Pro/Part" [[Support Info Pro/Part]]

>>

<html><span style="font-size: 16px">Pep*Pro/Assembly Main Menu Structure</span></html>

Pep*Pro/Assembly enables four items on the Pep*Pro menu: ''Convert'', ''Export'', ''DI'', and ''Support Info''.

<<tabs tabsClass
Convert "Convert" [[Convert Pro/Assembly]] 
Export "Export" [[Export Pro/Assembly]] 
DI "DI Pro/Assembly" [[DI Pro/Assembly]]
"Support Info" "Support Info Pro/Assembly" [[Support Info Pro/Assembly]]

>>
This manual describes the Pep*Pro for Creo Parametric family of products consisting of Pep*Pro/Part and Pep*Pro/Assembly.

Pep*Pro/Part provides an interface from Creo Parametric sheet metal mode or part mode to the PEP Technologyfamily of CAM products.

Pep*Pro/Part operates on a Creo Parametric part that is flat or for which a flat pattern exists. Configuration options inform the software about the part's orientation, how flat patterns are defined, layer definitions, and pre-programmed input.

Pep*Pro/Assembly provides an interface from Creo Parametric assembly mode.

Pep*Pro/Assembly operates on a Creo Parametric assembly model. Based upon user configuration options, it decides which parts in the assembly will be exported.

Pep*Pro modules can be invoked either interactively or non-interactively. The interactive user interface maintains the Creo Parametric look and feel.

When Pep*Pro/Part is invoked interactively, the designer retrieves the flat part. He/she can then determine if the part is indeed flat. Drawing information (DI) can be assigned; part number and material are extracted from the model. Finally, the part geometry and DI are exported to PEP.

Pep*Pro/Part can be invoked non-interactively by utilizing a non-graphics session of Creo Parametric. Pep*Pro first retrieves the specified flat parts. It then extracts DI from the part model and assigns DI from the suspend file. Finally, the part geometry and DI are exported to PEP.
Item specifications tell the program how to interpret certain features including threads and user defined features (~UDFs). The types of items currently supported are: bend lines, counterbores, countersinks, punches, tools, and threads. The statement must include the item type and a unique item name. For bend lines, the item name may be a regular expression.

To control how each item is exported, [[layer|Layer Names and Numbers]] statements may be included for each item name. The layer name must be the same as the item name.

To use these options in the //''peppro.cfg''// file, the following lines in the file are necessary:

//{{{item_name}}}// 

//<html><span style="font-size: 13px">Item Specification Example</span></html>//
!
//{{{item_name thread 1-4_20-UNC-2A}}}//

Instructs Pep*Pro/Part that the UDF named "1-4_20-~UNC-2A" is a thread.
!
Pep*Pro/Part allows the user to specify various layers in the //''peppro.cfg''// file so that these names may be exported with geometric information and drawing information (DI's). The layers are mapped from the layer name of Creo Parametric to a DXF layer name. To include layer names and layer ids, the following information is needed:

#Creo layer name
#DXF layer name
It is possible for a Creo layer name to have more than one DXF layer name. That is, a Creo Parametric layer can be mapped to more than one DXF layer name.

Several default layers are in the supplied //''peppro.cfg''// example file.

//<html><span style="font-size: 13px">
Layer Names and Numbers Example:</span></html>//
!
//{{{layer GEOM CUT}}}//

Instructs Pep*Pro to export a layer in the Creo Parametric model named "GEOM" to layer name CUT.
!
//''maximum_value''// (no default)

The highest possible value for the DI being described.

//<html><span style="font-size: 13px">MAX Example</span></html>//
!
//{{{MAX=9.9999}}}//
!
//''minimum_value''// (no default)

The lowest possible value for the DI being described.

//<html><span style="font-size: 13px">MIN Example</span></html>//
!
//{{{MIN=0}}}//
!
[[Table of Contents]]
''//~PPI_name//'' (no default)
This names the DI to be displayed or formatted as specified by the rest of the line.

//<html><span style=13px font>NAME Example</span></html>//
!
//{{{NAME=PARTNAME}}}//
!
The following steps describe how to obtain licenses for Pep*Pro.
#To generate a hostid, use the command  //{{{rlmhostid}}}//. It is located in the default folder C:\Program Files\Jerand\RLM\i486_nt\obj (32 bit) or C:\Program Files\Jerand\RLM\x86e_win64\obj (64 bit).
#Send the hostid to Jerand (email: licenses@jerand.com, fax: 1-317-875-6612, or voice: 1-317-875-6087 or 1-888-4JERAND). Jerand will supply the license file by e-mail.
Orientation priority gives Pep*Pro/Part instructions on how to orient the part during the export process. There are five methods that Pep*Pro may use to determine orientation.

#Orient Using View Names. A preferred method. The user must create the view name(s) in the Creo Parametric model, and the names of these views must be entered into the peppro.cfg file (see example below).
#Using Coordinate System. Once a coordinate system has been created in the part, Pep*Pro/Part can swiftly orient the part with respect to that coordinate system. The 'z' direction should be normal to the base surface and the xy-plane should be parallel to the base surface. The user must enter the name of that coordinate system into the peppro.cfg file (see example below).
#Orient Using Surface Names. The user must assign names to surface(s) in the Creo Parametric model, and the names of these surfaces must be entered into the peppro.cfg file (see example below).
#Orient Using Current Orientation. The user must interactively orient the Creo Parametric model on the screen.
#Use part dimensions. First, Pep*Pro finds the largest surface on the part. Then, the longest edge on that surface is assigned to be the 'x' direction. Next, the normal of that surface is assigned to be the 'z' direction. Using this technique, Pep*Pro/Part can quickly and easily orient any part. This is the default selection. However, the procedure is not perfect.

The exported surfaces will have the following properties:
#The surfaces will be parallel to the screen.
#The exported surfaces will have an outward normal that points out of the screen.
#The largest surface that satisfies (1) and (2) will be the 'base' surface. The base surface and all surfaces that are co-planar to it will be exported.

To use these options in the //''peppro.cfg''// file, the following lines in the file are necessary:

//{{{view_csys_priority view csys surface xyz screen}}}//

For //view_csys_priority//, the user can choose between (a) view, (b) csys, (c) surface, (d) xyz, (e) screen, or any desired combination.

//<html><span style="font-size: 13px">Orientation Priority Example</span></html>//
!
//view_csys_priority view,csys 
view FRONT 
csys ~CS0 
view TOP//

Instruct Pep*Pro to orient in the following order:
#the view whose name is "FRONT"
#the view whose name is "TOP"
#the coordinate system whose name is "~CS0"

<<<
Note:	This tells Pep*Pro to look for //all// views first, then //all// coordinate systems
<<<
!

''<html><span style="font-size: 16px">Pep*Pro/Part's Part Orientation Processing</span></html>''

In the above example, Pep*Pro/Part would first search for a view named FRONT for orientation. If no such view was found, it would then look for a view named TOP. If this was not found, it would attempt to find the coordinate system ~CS0.

''<html><span style="font-size: 16px">Notes on 'xyz' selections</span></html>''

In the previous example, the option //xyz// was not selected. If Pep*Pro/Part had been unable to find FRONT, TOP, or ~CS0, then a warning message would have been displayed, and the export would have failed. In order to have Pep*Pro orient using the xyz default, the 'xyz' trigger must be stated in the //view_csys_priority// line of //''peppro.cfg''//.

If no //view_csys_priority// line is in the //''peppro.cfg''// file, then the software will use the 'xyz' orientation by default.
The user may specify the directory to which output files will be written. By specifying the output directory, the current working directory need not become exceedingly cluttered with many output files. To control this option with Pep*Pro/Part, the following must be placed into the //''peppro.cfg''// file:

//{{{output_directory /output_dir/}}}//

where output_dir refers to the name of the output directory. This directory must exist on the user's file system. If the directory is not created before export is attempted, an error message will appear and no export will be done.

The full path to the output directory should be included. If the full path name of the output directory is not included, then the current working directory within Creo Parametric will be the parent directory for the output directory.

If no output directory is specified, then all outputs will be written to the current Creo Parametric working directory.

//<html><span style="font-size: 13px">Output Directory Absolute Path Example</span></html>//
!
//{{{output_directory f:\work\jet\project1\output\}}}//

Instructs Pep*Pro that the output directory will //''always''// be f:\work\jet\project1\output\.
!

//<html><span style="font-size: 13px">Output Directory Relative Path Example</span></html>//
!

//{{{output_directory output}}}//
Creo Parametric working directory: e:\projects\project1\main

Instructs Pep*Pro to use the output directory e:\projects\project1\main\output.

In this example, the output directory will be relative to the Creo Parametric working directory. If the user changes working directories in Creo Parametric, then a new directory must be created for output. If an invalid directory is specified, an error message will appear and no export will take place.
!
The user may specify the name of the output file using one of three methods. All output files use the ".dxf" extension. The output file name may be either the object (part) name, the value of a parameter, or the result of a relation. By default, the output file name is the name of the Creo Parametric part.

//<html><span style="font-size: 13px">Output File Name Using Parameter Example</span></html>//
!
//{{{output_filename parameter part_number}}}//

Instructs Pep*Pro to name the output file using the value of the parameter "part_number".
!

//<html><span style="font-size: 13px">Output File Name Using Relation Example</span></html>// (relation)
!
//{{{output_filename relation part_number+"_"+rev_level}}}//

Instructs Pep*Pro to name the output file using the result of evaluating the relation.
!
//''parameter_name''// (no default)
This specifies the model parameter used to set the initial value of the DI.

//<html><span style="font-size: 13px">PARAMETER Example</span></html>//
!
//{{{PARAMETER=MATERIAL}}}//
!
<div id='header'>
<div id='titleLine'>
<span id='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span id='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='sidebar'>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div><div id="licensePanel">
<a rel="license" href="http://shared.snapgrid.com/gtd_tiddlywiki.html#RevisionHistory" target="_new">GTDTW Version <span macro="version"></span></a>
<a rel="license" href="http://www.tiddlywiki.com" target="_new">
TiddlyWiki is published by Jeremy Ruston at Osmosoft under a BSD open source license</a>
<a rel="license" href="http://snapgrid.com" target="_new">GTD TiddlyWiki is a modification by Nathan Bowers at Snapgrid under the same license terms.</a>
<a rel="license" href="http://davidco.com" target="_new">"Getting Things Done" is &#169; David Allen at Davidco. Davidco has no affiliation with TiddlyWiki or GTD TiddlyWiki.</a></div></div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
//''relation_right_hand_side''// (no default)
This specifies the right hand side of a relation used to set the initial value of the DI.

//<html><span style="font-size: 13px">RELATION Example</span></html>//
!
//{{{RELATION=MATERIAL+"-"+THK}}}//
!
''resource_name'' (no default)

The name of the resource file to be used by Creo Parametric for prompting the user. The resource names used here are supplied already. You can add other resources by putting .res files in the peppro\text\usascii\resource directory. Each RESOURCE statement must have a corresponding VALUES statement. Any combination of the items may be selected, except that if ''~PPI_GET_MENU_NO'' was used and N ("no") is selected, all other items will be unselected.

<html><span style="font-size: 13px">RESOURCE Example</span></html>//
!
//{{{RESOURCE=ppi_comcut_contour.res}}}//
!
User Guide
Pep*Pro^^<html><span style="font-size: 12px">TM</span></html>^^ for PTC^^<html><span style="font-size: 12px">&reg;</span></html>^^ Creo^^<html><span style="font-size: 12px">&reg;</span></html>^^ Parametric
/***
!GTD Style
http://tiddlystyles.com/#theme:GTD

!Generic rules /%==================================================================== %/
***/
/*{{{*/
body {
 background: #464646 url('http://shared.snapgrid.com/images/tiddlywiki/bodygradient.png') repeat-x top fixed;
 color: #000;
 font: .82em/1.25em "Bitstream Vera Sans", Verdana, Helvetica, Arial, sans-serif;
/*"Lucida Sans Unicode", "Lucida Grande","Trebuchet MS", */
}
/*}}}*/
/***
!Header rules /%====================================================================== %/
***/
/*{{{*/
#contentWrapper
{
 margin: 0 auto;
width: 59em;
position: relative;
}

#header
{
 color: #fff;
 padding: 1.5em 1em .6em 0;
}

#siteTitle {

 font-size: 2.3em;
 margin: 0;
}

#siteSubtitle {
 font-size: 1em;
 padding-left: .8em;;
}

#titleLine{
 background: transparent;
 padding: 0;
}

#titleLine a {
 color: #cf6;
}

#titleLine a:hover {
 background: transparent;
}
/*}}}*/
/***
!Sidebar rules /%====================================================================== %/
***/
/*{{{*/
#sidebar{
 left: 0;
width: 18em;
 margin: .9em .9em 0 0;
 color: #000;
 background: transparent;
}
/*}}}*/
/***
!Main menu rules /%=================================================================== %/
***/
/*{{{*/
#mainMenu{
 position: static;
 width: auto;

 background: #600;
 border-right: 3px solid #500;
padding: 0;
 text-align: left;
 font-size: 1em;
}

#mainMenu h1{
 padding: 5px;
 margin: 0;
 font-size: 1em;
 font-weight: bold;
 background: transparent;
 color: #fff;
}

#mainMenu ul{
 padding: 0;
 margin: 0;
 list-style: none;
}

#mainMenu h1 a,
#mainMenu li a,
#mainMenu li a.button{
 display: block;
 padding: 0 5px 0 10px;
border: 0;
 border-bottom: 1px solid #500;
 border-top: 1px solid #900;
margin: 0;
}

#mainMenu a,
#mainMenu a.button{
 height: 22px;
height: 1.83em;
 line-height: 22px;
 color: #fff;
 background: #700;
margin-left: 1em;
}

#mainMenu a:hover,
#mainMenu a.button:hover {
 background: #b00;
 color: #fff;
}
/*}}}*/
/***
!Sidebar options rules /%============================================================ %/
***/
/*{{{*/
#sidebarOptions {
 background: #eeb;
 border-right: 3px solid #bb8;
 color: #B4C675;
 padding: .5em 0;
}

#sidebarOptions a {
 color: #700;
 margin: .2em .8em;
 padding: 0;
 border: 0;
}

#sidebarOptions a:hover, #sidebarOptions a:active {
 color: #fff;
 background: #700;
 border: 0;
}

#sidebarOptions input{
 margin: 2px 10px;
 border: 1px inset #333;
padding: 0;
}

#sidebarOptions .sliderPanel {
 background: #fff;
 color: #000;
 padding: 5px 10px;
 font-size: .9em;
}

#sidebarOptions .sliderPanel a{
 font-weight: normal;
 margin: 0;
}

#sidebarOptions .sliderPanel a:link,#sidebarOptions .sliderPanel a:visited {
 color: #700;
}

#sidebarOptions .sliderPanel a:hover,#sidebarOptions .sliderPanel a:active {
 color: #fff;
 background: #700;
}
/*}}}*/
/***
!Sidebar tabs rules /%===================================================================== %/
***/
/*{{{*/
#sidebarTabs {
 background: transparent;
 border-right: 3px solid #740;
 border-bottom: 3px solid #520;
 border: 0;
 padding: 0;
}

#contentWrapper #sidebarTabs a,
#contentWrapper #displayArea .tabContents a{
 color: #fff;
}

#contentWrapper #sidebarTabs a:hover,
#contentWrapper #displayArea .tabContents a:hover {
 background: #000;
 color: #fff;
}

#contentWrapper #sidebarTabs a:active,
#contentWrapper #displayArea .tabContents a:active{
 color: #000;
}



#contentWrapper .tabSelected {
 background: #960;
}

#contentWrapper .tabUnselected{
 background: #660;
}

#contentWrapper #sidebar .tabset{
 background: #eeb;
 border-right: 3px solid #bb8;
 padding: 0 0 0 .75em;
}

#contentWrapper .tabContents{
font-size: .95em;
background: #960;
border:0;
 border-right: 3px solid #740;
 border-bottom: 3px solid #520;
 padding: .75em;
}

#contentWrapper .tabContents{
 width: auto;
}

#contentWrapper #sidebarTabs .tabContents .tabset,
#contentWrapper .tabContents .tabset{
 border: 0;
 padding: 0;
 background: transparent;
}

#contentWrapper .tabContents .tabSelected,
#contentWrapper .tabContents .tabContents {
 background: #700;
 border: 0;
}

#contentWrapper .tabContents .tabUnselected {
 background: #440;
}

#contentWrapper .tabset a {
 color: #fff;
 padding: .2em .7em;
 margin: 0 .17em 0 0;
 height: 2em;
position: static;
}

#contentWrapper .tabset a:hover {
 background: #000;
 color: #fff;
}

#contentWrapper .tabset a:active {
 color: #000;
}

#contentWrapper .tabContents ul{
 margin: 0;
 padding: 0;
 list-style: none;
}

#contentWrapper .tabContents .tabContents ul{
 color: #eeb;
}

.tabContents ul a,
.tabContents ul .button{
 color: #fff;
 display: block;
 padding: .1em 0 .1em .7em;
 background: transparent;
 border: 0;
}

.tabContents ul a:hover {
 color: #fff;
 background: #000;
}
/*}}}*/
/***
!License panel rules /%==================================================================== %/
***/
/*{{{*/
#licensePanel {
 padding: 0px 1em;
 font-size: .9em;
}

#licensePanel a {
 color: #960;
 display: block;
 margin-top: .9em;
}

#licensePanel a:hover {
 color: #fff;
 background: transparent;
}
/*}}}*/
/***
!Popup rules /%================================================================= %/
***/
/*{{{*/
.popup {
 font-size: .8em;
 padding: 0em;
 background: #333;
 border: 1px solid #000;
}

.popup hr {
 margin: 1px 0 0 0;
 visibility: hidden;
}

.popup li.disabled {
 color: #666;
}

.popup li a,
.popup li a:visited{
 color: #000;
 border: .1em outset #cf6;
 background: #cf6;
}

.popup li a:hover {
border: .1em outset #cf6;
 background: #ef9;
 color: #000;
}
/*}}}*/
/***
!Message area rules /%================================================================= %/
***/
/*{{{*/
#messageArea{
 font-size: .9em;
 padding: .4em;
 background: #FFE72F;
 border-right: .25em solid #da1;
 border-bottom: .25em solid #a80;

position: fixed;
 top: 10px;
 right: 10px;
 color: #000;
}

#contentWrapper #messageArea a{
 color: #00e;
 text-decoration: none;
}

#contentWrapper #messageArea a:hover{
 color: #00e;
 text-decoration: underline;
 background: transparent;
}

#contentWrapper #messageArea .messageToolbar a.button{
 border: 1px solid #da1;
}

#contentWrapper #messageArea .messageToolbar a.button:hover{
 color: #00e;
 text-decoration: none;
 border: 1px solid #000;
 background: #fff;
}



/*}}}*/
/***
!Tiddler display rules /%================================================================== %/
***/
/*{{{*/
#displayArea {
 width: 39.75em;
 margin: 0 0 0 17em;
}

.tiddler {
 margin: 0 0 .9em 0;
 padding: 0 1em;
 border-right: .25em solid #aaa;
 border-bottom: .25em solid #555;
 background: #fff;
}

.title {
 font-size: 1.5em;
 font-weight: bold;
 color: #900;
}

.toolbar {
 font-size: .8em;
 padding: .5em 0;
}

.toolbar .button{
 padding: .1em .3em;
 color: #000;

 border: .1em outset #cf6;
 background: #cf6;
margin: .1em;
}

.toolbar .button:hover {
 background: #ef9;
 color: #000;
}

.toolbar .button:active {
 background: #ff0;
}

/*}}}*/
/***
!Viewer rules /% ------------------------------------------------------------------------------------------ %/
***/
/*{{{*/
.viewer {
 line-height: 1.4em;
 font-size: 1em;
}

.viewer a:link, .viewer a:visited {
 color: #15b;
}

.viewer a:hover {
 color: #fff;
 background: #000;
}

.viewer .button{
 background: transparent;
 border-top: 1px solid #eee;
 border-left: 1px solid #eee;
 border-bottom: 1px solid #000;
 border-right: 1px solid #000;
}

.viewer .button:hover{
 background: #eee;
 color: #000;
}

.viewer .button:active{
 background: #ccc;
 border-bottom: 1px solid #eee;
 border-right: 1px solid #eee;
 border-top: 1px solid #111;
 border-left: 1px solid #111;
}


.viewer blockquote {
 border-left: 3px solid #777;
 margin: .3em;
 padding: .3em;
}

.viewer pre{
 background: #fefefe;
 border: 1px solid #f1f1f1;
}

.viewer pre, .viewer code{
 color: #000;
}

.viewer ul {
 padding-left: 30px;
}

.viewer ol {
 padding-left: 30px;
}
ul{
list-style-type: asquare;
}
ol{ 
 list-style-type: decimal;
}

ol ol{ 
 list-style-type: lower-alpha;
}

ol ol ol{ 
 list-style-type: lower-roman;
}

.viewer ul, .viewer ol, .viewer p {
 margin: .0;
}

.viewer li {
 margin: .2em 0;
}

h1,h2,h3,h4,h5,h6 {
 color: #000;
 font-weight: bold;
 background: #eee;
 padding: 2px 10px;
 margin: 5px 0;
}

.viewer h1 {font-size: 1.3em;}
.viewer h2 {font-size: 1.2em;}
.viewer h3 {font-size: 1.1em;}
.viewer h4 {font-size: 1em;}
.viewer h5 { font-size: .9em;}
.viewer h6 { font-size: .8em;}

.viewer table {
 border: 2px solid #303030;
 font-size: 11px;
 margin: 10px 0;
}

.viewer th, .viewer thead td{
 color: #000;
 background: #eee;
 border: 1px solid #aaa;
 padding: 0 3px;
}

.viewer td {
 border: 1px solid #aaa;
 padding: 0 3px;
}

.viewer caption {
 padding: 3px;
}

.viewer hr {
 border: none;
 border-top: dotted 1px #777;
 height: 1px;
 color: #777;
 margin: 7px 0;
}

.viewer
{
 margin: .5em 0 0 0;
 padding: .5em 0;
 border-top: 1px solid #ccc;
}

.highlight {
 color: #000;
 background: #ffe72f;
}
/*}}}*/
/***
!Editor rules /% ----------------------------------------------------------------------------------------- %/
***/
/*{{{*/
.editor {
 font-size: .8em;
 color: #402C74;
 padding: .3em 0;
}

.editor input, .editor textarea {
 font: 1.1em/130% "Andale Mono", "Monaco", "Lucida Console", "Courier New", monospace;
 margin: 0;
 border: 1px inset #333;
 padding: 2px 0;
}

.editor textarea {
 height: 42em;
 width: 100%;
}

input:focus, textarea:focus
{
 background: #ffe;
 border: 1px solid #000;
}
.footer
{
 padding: .5em 0;
 margin: .5em 0;
 border-top: 1px solid #ddd;
 color: #555;
 text-align: center; 
}
/*}}}*/
/***
!IE Display hacks /% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%/
***/
/*{{{*/
body{
 _text-align: center;
}

#contentWrapper
{
/* _width: 770px; CSS UNDERSCORE HACK FOR PROPER WIN/IE DISPLAY */
 _text-align: left; /* CSS UNDERSCORE HACK FOR PROPER WIN/IE DISPLAY */ 
}

#messageArea{
 _position: absolute;
}
/*}}}*/
The ''Support Info'' displays support information (including sales, technical, license, and documentation) in an information window.
The ''Support Info'' displays support information (including sales, technical, license, and documentation) in an information window.
''//A number//, YN, REAL, INT'' (no default)
This describes the data type of the DI. ''//A number//'' is an alphanumeric string containing the number of characters specified (i.e., A32 is a 32 character string). YN specifies a yes or no variable. REAL is a real valued number. INT is an integer.

//<html><span style="font-size: 13px">TYPE Example</span></html>//
!
//{{{TYPE=A32}}}//
//{{{TYPE=YN}}}//
//{{{TYPE=REAL}}}//
//{{{TYPE=INT}}}//
!
#Chapter 1-Introduction to Pep*Pro for Creo Parametric
##[[Introduction]]
##[[Conventions]]
#Chapter 2-Installing Pep*Pro for Creo Parametric
##[[Downloading Software]]
##[[Installing Pep*Pro and License Manager Files]]
##[[Configuring Pep*Pro Licensing]]
##[[Obtaining Licenses]]
##[[Installing Licenses]]
##[[Configuring Pep*Pro]]
#Chapter 3-Using Pep*Pro for Creo Parametric
##[[Interactive Mode]]
##[[Batch Mode]]
#Chapter 4-Pep*Pro Configuration Options Usage
##[[Bend Lines]]
##[[Component Selection]]
##[[Cosmetic Marking]]
##[[Datum Curves]]
##[[Dynamic Text Marking]]
##[[Export Options]]
##[[Flat Pattern Type]]
##[[Grain]]
##[[Item Specification]]
##[[Layer Names]]
##[[Orientation Priority]]
##[[Output Directory]]
##[[Output File Name]]
#APPENDIX ~A-Pep*Pro Configuration Options
##[[Introduction|Appendix A-Introduction]]
##[[Operation|Appendix A-Operation]]
##Syntax
###[[General Information]]
###[[allow]]
###[[assembly_component_selection]]
###[[csys]]
###[[export_not_flat]]
###[[flat_pattern_prefix]]
###[[flat_pattern_suffix]]
###[[flat_pattern_template]]
###[[flat_pattern_type]]
###[[flatness_tolerance]]
###[[item_name]]
###[[layer]]
###[[marking_font]]
###[[marking_selection_name]]
###[[marking_selection_type]]
###[[marking_template]]
###[[marking_text]]
###[[output_directory]]
###[[output_filename]]
###[[part_parameter]]
###[[ppi_relation_filename]]
###[[surface]]
###[[text_output_type]]
###[[view]]
###[[view_csys_priority]]
##[[Example Configuration File]]
#APPENDIX ~B-Customizing ~Pre-Programmed Input
##[[Introduction|Appendix B-Introduction]]
##[[Modification of DIs|Appendix B-Modification of DIs]]
##[[Addition of a DI item|Appendix B-Addition of a DI Item]]
##Syntax
###[[General Information for Customization]]
###[[NAME]]
###[[TYPE]]
###[[PARAMETER]]
###[[RELATION]]
###[[FUNCTION]]
###[[RESOURCE]]
###[[VALUES]]
###[[DEFAULT]]
###[[MIN]]
###[[MAX]]
###[[VISIBLE]]
##Example Files
###[[Example DI Format File]]
###[[Example DI Menu File]]
<<search UserGuide [term]>>
//''list_of_values''// (no default)

A list of values corresponding to the menu items. Values whose menu items were selected will be used as DI. For example, if the user selects the second and third items in the menu, then the second and third items in the list will be passed as the DI. Commas separate the items and a semicolon follows the last value. Each VALUES statement must have a corresponding MENU statement.

//<html><span style="font-size: 13px">VALUES Example</span></html>//
!
//{{{VALUES=N,P,O,E,I,S;}}}//
!
''YES, NO, PART, ASSEMBLY'' (no default) Sets whether the DI item will be displayed on the menu and exported in the file. Furthermore, if ''PART'' or ''ASSEMBLY'' is specified, the DI will be processed only in the specified mode. 

//<html><span style="font-size: 13px">VISIBLE Example 1</span></html>// 
!
//{{{VISIBLE=YES}}}//
!
''bendline yes,no'' (no default)
''bottom yes,no'' (no default)
''cosmetic yes,no'' (no default)
''countersink yes,no'' (no default)
''datumcurve yes,no'' (no default)
''form yes,no'' (no default)
''marking yes,no'' (no default)
''pocket yes,no'' (no default)
''ream yes,no'' (no default)
''tool yes,no'' (no default)
''thread yes,no'' (no default)

This statement is used to specify which special processing is to be allowed. One or more allow statements can be used. If an allow statement for an option is not present, the special processing for the option will not occur. In addition to the option yes and no, true and false may be used.

The allow bendline statement allows datum axes representing sheet metal bend lines to be processed.

The allow bottom statement allows features on the bottom of the part to be processed. These features include countersinks and forms.

The allow cosmetic statement allows processing of cosmetic features. Construction lines and circles are not processed. The cosmetic features must be in the same plane as that being used to set the front face of the part.

The allow countersink statement allows the part to contain countersinks. The countersink may or may not have a corresponding hole. For the purpose of checking the part flatness, countersinks are considered to be flat. The location and size of the countersink are exported.

The allow datumcurve statement allows processing of datum curve features. The datum curve features must be in the same plane as that being used to set the front face of the part.

The allow form statement allows the part to contain form features. For the purpose of checking the part flatness, forms are considered to be flat. The form contour on the side punched is exported.

The allow marking statement allows Pep*Pro to create geometry for part marking.

The allow pocket statement allows pockets in the part to be exported. Pockets may be any shape and may include counterbores. Pockets may also be nested.

The allow ream statement allows the pre-drill for the ream to be exported.

The allow tool statement allows the part to contain special tool definitions.

The allow thread statement allows the threads in the part to be exported.

//<html><span style="font-size: 13px">Allow Example</span></html>//
!
{{{allow pocket yes}}}
!
//''name_prefix, name_suffix, sheet_metal, part_parameter''// (no default)

Component parts are selected from the assembly according to one or more of the specified options. This option is available with Pep*Pro/Assembly.

When //''name_prefix''// is specified, part names containing the assembly name with one or more leading characters will be selected; for example, if the assembly name is 'ABCD', then parts '1ABCD' and '22ABCD' would be selected for export.

When //''name_suffix''// is specified, the part names containing the assembly name with one or more trailing characters will be selected; for example, if the assembly name is 'ABCD', then parts '~ABCD1' and '~ABCD_22' would be selected for export.

When //''sheet_metal''// is specified, only Creo Parametric sheet metal parts will be selected.

When //''part_parameter''// is specified, the parts will be selected if they have defined a part parameter with a specified name and optional value. See the [[part_parameter]] option.

//<html><span style="font-size: 13px">Example</span></html>//
!
//{{{assembly_component_selection name_suffix}}}//
!
//''coordinate_system_name''// (no default)

Coordinate system names are used to orient the part when the csys option of view_csys_priority is used. Coordinate system names are examined in the order they are processed in the "peppro.cfg" files. Coordinate system names are processed until one matches a coordinate system name in the model; this coordinate is then used to orient the part. One or more coordinate system names can be placed on one csys statement. Multiple csys statements can be used.

//<html><span style="font-size: 13px">Csys Example</span></html>//
!
//{{{csys cs0, cs1}}}//
!
''no'' (default), ''yes''

This configuration parameter controls whether parts that are not flat will be exported. If this statement is not included, the default action is to export only parts that are flat. Values of "yes" or "true" will allow non-flat parts to be exported. Values of "no" or "false" allow only flat parts to be exported.

//<html><span style="font-size: 13px">Export_not_flat Example</span></html>//
!
//{{{export_not_flat yes}}}//
!
//''prefix''// (no default)

This configuration option specifies the prefix(es) used to identify flat patterns. The prefix(es) is prepended to the part or instance name to generate the name of the corresponding flat pattern. One or more flat_pattern_prefix statements can be included.

<html><span style="font-size: 13px">Flat_pattern_prefix Example</span></html>
!
//{{{flat_pattern_prefix fl_}}}//
!
//''suffix''// (no default)

This configuration option specifies the suffix(es) used to identify flat patterns. The suffix(es) is appended to the part or instance name to generate the name of the corresponding flat pattern. One or more flat_pattern_suffix statements can be included.

//<html><span style="font-size: 13px">Flat_pattern_suffix Example</span></html>//
!
//{{{flat_pattern_suffix _flat1}}}//
!
''source_pattern destination_pattern'' (no defaults)

This configuration option specifies how to transform the bent part name to the flat pattern name. If the part name matches the source_pattern template, then the destination_pattern template is used to generate the name of the corresponding flat pattern. One or more flat_pattern_template statements can be included.

The source_pattern is an extended regular expression. Each string matched in the source_pattern is noted in the destination string as "$n" where n is the string number.

//<html><span style="font-size: 13px">Flat_pattern_template Example</span></html>//
!
Part name """"___"""123" has a flat pattern "~FLP123". Use the statement //{{{flat_pattern_template ___* FLP*}}}// 
Part name "~D12AB" has a flat pattern "~D12_F". Use the statement //{{{flat_pattern_template ([A-Z][0-9][0-9]).* $1_F FLP*}}}//
!
''flat_pattern, generic, instance, none'' (default)

This configuration option specifies how flat patterns are created from the model.

A value of //''flat_pattern''// instructs the software to look at the last part feature, and if it is a suppressed 'flat pattern' feature or a 'unbend' feature, to resume the feature in order to create the flat pattern.

A value of //''generic''// says that the generic model or the part itself is flat.

A value of //''instance''// instructs the software to look in the family table for an instance whose name matches the requested name after applying a prefix or suffix.

A value of //''none''// causes the basic part to be used.

//<html><span style="font-size: 13px">Flat_pattern_type Example</span></html>//
!
//{{{Flat_pattern_type instance}}}//
!
//''tolerance (default 0.5)''//

Specifies angular tolerance (degrees) for two planes to be considered co-planar or normal.

//<html><span style="font-size: 13px">Flatness_tolerance Example</span></html>//
!
//{{{flatness_tolerance 0.1}}}//
!
''bendline //item_name//'' (no default)
''cbore //item_name//'' (no default)
''csink //item_name//'' (no default)
''punch //item_name//'' (no default)
''tool //item_name//'' (no default)
''thread //item_name//'' (no default)

The item_name statement is used to specify how items (typically user defined features) are to be considered. One or more item_name statements can be used.

The item_name bendline statement identifies the named item as being a datum axis representing a sheet metal bend line. The item name is a regular expression to select the axes to be processed. A layer statement is required in which the layer name is the same as the item_name.

The item_name cbore statement identifies the named item as being a counterbore containing a hole. The counterbore may be exported on one layer while the hole is exported on another.

The item_name csink statement identifies the named item as being a countersink with an optional hole. The countersink may be exported on one layer while the hole is exported on another.

The item_name punch statement identifies the named item as being a punch.

The item_name tool statement identifies the named item as containing a special tool specification. The tool name is specified as a text string feature parameter with a parameter name ~PEPPRO_TOOL.

The item_name thread statement identifies the named item as being a threaded hole. The thread information may be exported on one layer while the hole is exported on another. The thread must be either a cosmetic thread feature or a cylindrical datum surface. For Imperial (English) threads, the feature parameters ~THREADS_PER_INCH (string or numeric), FORM (string), CLASS (string), PLACEMENT (string, "B" is internal), and METRIC (yes/no) are required. For Metric threads, the feature parameters ~THREADS_PER_INCH, CLASS, PLACEMENT, and METRIC are required. The parameter HAND, indicating right or left hand thread is optional; if not specified, the default value is "right".

//<html><span style="font-size: 13px">Item_name Example</span></html>//
!
//{{{item_name thread 1-4_20_UNC_2A}}}//
!
//''layer_name layer_number font_number color_number''//

Specifies feature layers and how they are exported. If the Creo Parametric feature is on the named layer, its edges will be exported on a layer with the specified layer name.

Several layer names have been reserved for special processing. These layer names start with "PEP*~PRO_DEFAULT_".

PEP*~PRO_DEFAULT_CBORE_DRILL: If this layer is specified, the edges for the drill corresponding to a counterbore will be exported on the specified layer if the default layer name 'PEP*~PRO_DEFAULT_CBORE_DRILL' is included.

PEP*~PRO_DEFAULT_COSMETIC: If this layer is specified, the edges for cosmetic features will be exported on the specified layer if the default layer name 'PEP*~PRO_DEFAULT_COSMETIC' is included.

PEP*~PRO_DEFAULT_COSMETIC_TEXT: If this layer is specified, the text section entities for cosmetic features will be exported on the specified layer if the default layer name 'PEP*~PRO_DEFAULT_COSMETIC_TEXT' is included.

PEP*~PRO_DEFAULT_CSINK_DRILL: If this layer is specified, the edges for the drill corresponding to a countersink on the top of the part will be exported on the specified layer if the default layer name 'PEP*~PRO_DEFAULT_CSINK_DRILL' is included.

PEP*~PRO_DEFAULT_CSINK_DRILL_B: If this layer is specified, the edges for the drill corresponding to a countersink on the bottom of the part will be exported on the specified layer if the default layer name 'PEP*~PRO_DEFAULT_CSINK_DRILL_B' is included.

PEP*~PRO_DEFAULT_CSINK_GEOM: If this layer is specified, the edges for the countersink on the top of the part will be exported on the specified layer if the default layer name 'PEP*~PRO_DEFAULT_CSINK_GEOM' is included.

PEP*~PRO_DEFAULT_CSINK_GEOM_B: If this layer is specified, the edges for the countersink on the bottom of the part will be exported on the specified layer if the default layer name 'PEP*~PRO_DEFAULT_CSINK_GEOM_B' is included.

PEP*~PRO_DEFAULT_CSINK_TEXT: If this layer is specified, the text description of the countersink on the top of the part will be exported on the specified layer if the default layer name 'PEP*~PRO_DEFAULT_CSINK_TEXT' is included.

PEP*~PRO_DEFAULT_CSINK_TEXT_B: If this layer is specified, the text description of the countersink on the bottom of the part will be exported on the specified layer if the default layer name 'PEP*~PRO_DEFAULT_CSINK_TEXT_B' is included.

PEP*~PRO_DEFAULT_DATUMCURVE: If this layer is specified, the datum curve features on the top of the part will be exported on the specified layer if the default layer name 'PEP*~PRO_DEFAULT_ DATUMCURVE is included. Note that cross hatching is not processed.

PEP*~PRO_DEFAULT_FORM: If this layer is specified, the edges for the form feature on the top of the part will be exported on the specified layer if the default layer name 'PEP*~PRO_DEFAULT_FORM' is included.

PEP*~PRO_DEFAULT_FORM_B: If this layer is specified, the edges for the form feature on the bottom of the part will be exported on the specified layer if the default layer name 'PEP*~PRO_DEFAULT_FORM_B' is included.

PEP*~PRO_DEFAULT_GEOMETRY: All edges will be exported on the specified layer if the default layer name 'PEP*~PRO_DEFAULT_GEOMETRY' is included.

PEP*~PRO_DEFAULT_GEOMETRY_NOS: Features which are not on a named layer will have their edges exported on the specified layer if the default layer name 'PEP*~PRO_DEFAULT_GEOMETRY_NOS' is included.

PEP*~PRO_DEFAULT_GRAIN: If this layer is specified, the line indicating the grain direction will be exported on the specified layer if the default layer name 'PEP*~PRO_DEFAULT_GRAIN' is included.

PEP*~PRO_DEFAULT_MARKING: If this layer is specified, the geometry created for marking will be exported on the specified layer if the default layer name 'PEP*~PRO_DEFAULT_MARKING' is included.

PEP*~PRO_DEFAULT_MARKING_TEXT: If this layer is specified, the text section entities created for marking will be exported on the specified layer if the default layer name 'PEP*~PRO_DEFAULT_MARKING_TEXT' is included.

PEP*~PRO_DEFAULT_DI: The layer for pre-programmed input has been assigned a layer name 'PEP*~PRO_DEFAULT_DI'.

PEP*~PRO_DEFAULT_PUNCH: If this layer is specified, the punch information will be exported on the specified layer if the default layer name 'PEP*~PRO_DEFAULT_PUNCH' is included.

PEP*~PRO_DEFAULT_REAM_DRILL: If this layer is specified, the edges for the drill corresponding to a reamed hole will be exported on the specified layer if the default layer name 'PEP*~PRO_DEFAULT_REAM_DRILL' is included.

PEP*~PRO_DEFAULT_THREAD: If this layer is specified, the thread information for a tapped hole will be exported on the specified layer if the default layer name 'PEP*~PRO_DEFAULT_THREAD' is included.

PEP*~PRO_DEFAULT_TOOL: If this layer is specified, the tool information will be exported on the specified layer if the default layer name 'PEP*~PRO_DEFAULT_TOOL' is included.

//<html><span style="font-size: 13px">Layer Example</span></html>
!
//{{{layer HOLE HOLES}}}//
//{{{layer PEP*PRO_DEFAULT_GEOMETRY GEOMETRY}}}//
//{{{layer PEP*PRO_DEFAULT_DI DI}}}//
!
//''font_name''// (no default)

Specifies the name of the font used for marking. The font_name directory is a sub-directory to the "font" directory which is a sub-directory of the directory specified by the text_dir entry in the peppro*.dat file.

//<html><span style="font-size: 13px">Marking_font Example</span></html>//
!
//{{{marking_font font1}}}//
!
//''selection_name''// (no default)

Used in conjunction with marking_selection_type, this option specifies the entity name of the geometry entity to be used for locating the marking data.

//<html><span style="font-size: 13px">Marking_selection_name Example</span></html>// 
!
Use the UDF named "PN" to locate the marking data.
//{{{marking_selection_type udf}}}//	
//{{{marking_selection_name pn}}}//
!
''udf'' (no default)

Specifies the geometry entity type to be used to locate the marking data.

//<html><span style="font-size: 13px">Marking_selection_type Example</span></html>//
!
//{{{marking_selection_type udf}}}//
!
//''current_directory''// (no default)

Specifies the name of the Creo Parametric section to be used as a template for characters to be marked.

<html><span style="font-size: 13px">Marking_template Example</span></html>//
!
//{{{marking_template template}}}//
!
//''text''// (no default)

Specifies the text to be used for marking. The text can be any valid Creo Parametric relation. If the result of the evaluation is of type boolean, the text will be either "TRUE" or "FALSE".

<html><span style="font-size: 13px">Marking_text Example</span></html>//
!
//{{{marking_text part_number+"_"+rev_level}}}//
!
//''current_directory''// (default)
''folder //directory_name//''
''directory //directory_name//''
''parameter //parameter_name//''
''relation //relation//''

Specifies the name of the directory into which the output files are placed. It is suggested that this be a fully qualified file name. Otherwise, the output directory will be relative to the current Creo Parametric directory.

The 'current_directory' option causes the exported file to be placed in the current folder or directory. The 'parameter' option causes the exported file to be placed in the folder or directory specified by the string value from the parameter named '//parameter_name//'. The 'relation' option causes the exported file to be placed in the folder or directory formed by the result of evaluating the right hand side of the relation.

//<html><span style="font-size: 13px">Output_directory Example</span></html>//
!
//{{{output_directory folder c:\users\jet\parts2do}}}//
!
''object_name'' (default)
''parameter //parameter_name//''
''relation //relation//''

Specifies how the exported file is named. The 'object_name' option causes the exported file to be named using the Creo Parametric object name. The 'parameter' option causes the exported file to be named using the string value from the parameter named '//parameter_name//'. The 'relation' option causes the exported file to be named using the result of evaluating the right hand side of the relation.

//<html><span style="font-size: 13px">Output_filename Example</span></html>//
!
//{{{output_filename relation part_number+"_"+rev_level}}}//
!
//''parameter_name parameter_value''// (no default)

Component parts are selected from the assembly according to assembly_component_selection part_parameter. This option specifies the names of the part parameters and optional values. This option is available with Pep*Pro/Assembly.

//<html><span style="font-size: 13px">Part_parameter Example</span></html>//
!
//{{{part_parameter in_house}}}//
//{{{part_parameter vendor=JERAND,PEP}}}//
!
''all //file_name//''
''assembly //file_name//''
''other //file_name//''
''sheet_metal //file_name//''
''solid_part //file_name//''

Specifies the name of a file containing relations to be evaluated before use in DI parameters. Multiple ppi_relation_filename statements may be used. ''all'' specifies that the relations are applied to all object types. ''assembly'' specifies that the relations are applied to only assemblies. ''sheet_metal'' and ''solid_part'' specifies that the relations are applied to sheet metal or solid parts respectively. Finally, ''other'' specifies that the relations are applied to objects which are neither assemblies, sheet metal parts, nor solid parts.

//<html><span style="font-size: 13px">ppi_relation_filename Example</span></html>//
!
//{{{ppi_relation_filename sheet_metal rawmat.rel}}}//
!
''//surface name//, first'' (no default)

Surface names are used to orient the part when the surface option of view_csys_priority is used. Surface names are examined in the order they are processed in the "peppro.cfg" files. Surface names are processed until one matches a surface name in the model; this surface is becomes the x-y plane and the longest edge of the surface is oriented along the x-axis. One or more surface names can be placed on one surface statement. Multiple surface statements can be used. The reserved surface name "first" selects the first surface in the part; for sheet metal parts, this is the "green" surface. Similarly, the reserved surface name "second" selects the "white" surface..

//<html><span style="font-size: 13px">Surface Example</span></html>//
!
//{{{surface burn, front}}}//
!
''stroke, character'' (no default)

This option controls how text is specified in the output file. When ''stroke'' is used, the text will be represented as the lines and arcs which compose the characters in the text string. When ''character'' is used, the text will be represented as characters; subsequent processing will determine the appearance of the text.

//<html><span style="font-size: 13px">Text_output_type Example</span></html>//
!
//{{{text_output_type stroke}}}//
!
//''view name''// (no default)

View names are used to orient the part when the view option of view_csys_priority is used. View names are examined in the order they are processed in the "peppro.cfg" files. View names are processed until one matches a view name in the model; this view is then used to orient the part. One or more view names can be placed on one view statement. Multiple view statements can be used.

//<html><span style="font-size: 13px">View Example</span></html>//
!
//{{{view burn, front}}}//
!
''view, csys, screen, surface, xyz'' (no default)

Controls the order used to determine part orientation. If either view, csys or surface are specified, then either all view names, all coordinate system, or all surface names are examined to determine if the part can be oriented. The value of 'screen' uses the currently displayed orientation. The value of 'xyz' will always cause the part to be oriented such that the largest surface is in the x-y plane and the longest edge of the largest surface is along the x axis.

//<html><span style="font-size: 13px">View_csys_priority Example</span></html>//
!
//{{{View_csys_priority view, csys, xyz}}}//
//{{{View_csys_priority view}}}//
!