Post Builder v3.1 Release Notes

# October 10, 2004

# What’s New in Post Builder V3.3.0

#### Post Description

The description and other attributes specified by the user upon creation of a post are now retained with the post. When a post is edited, these attributes are accessible by selecting the file folder icon on the Machine Tool parameters page.

mom_sys_post_description

The user can edit the Description of a post as desired. This information is also output as a variable mom_sys_post_description which can also be accessed programmably.

Machine Type, Kinematics, Output Unit and Controller will display the corresponding attributes that have been specified with the post.

The History will maintain the records every time the post is edited and saved. The first record shows the time stamp of the creation of a post. For any legacy post, the time stamp in the PUI file will become the record of the creation, when saved with this version of Post Builder.

####

#### Axis Multipliers

The options of Axis Multipliers, on the General Parameters of Machine Tool page, have been enhanced to include all possible permutation of multiplications for the N/C output.

Mill

Lathe

####

#### Override File Protection

By default, Post Builder will not save a post, if any of the files involved is protected. This version of Post Builder allows the users to override this restriction, when desired.

####

#### About Post Builder

The information about the following environment variables is displayed on the “About Post Builder” message dialog:

· UGII_BASE_DIR - Version of the UG (NX) in use

· POSTBUILD - Directory of the Post Builder in session

· HOME - User’s home directory

####

#### Backup Post in Session

When saving a post with No Backup option selected, this version of Post Builder will automatically create a backup copy of the post in session before overriding the original files. The backup copy, named <post_name>_org<N> (N is a null or a number), will be deleted upon the completion of the saving process. For any reason, if the post of interest is not completely saved (due to error encountered during the process), the backup copy of the original post is preserved.

####

#### Virtual NC Controller (VNC)

Many enhancements have been implemented for the VNC outputs in this version of Post Builder. The main objective is to polish the mechanism for handling merging lathe and/or multi-function type of machines.

The handlers for various events that may occur in the N/C code being simulated have been added as follows:

· Local coordinate system programming such as G68.1/G69.1 used by Mori-Seiki MT1500

· Feed /Speed/Coolant

· Helix & NURBS

· Validation of kinematics

· Lathe turret indexing

· Sync event

· Sync Manager initialization

The handlers for Local coordinate system programming, Feed/Speed/Coolant and the Helix & NURBS are included in the VNC generated by default.

Validation of Kinematics

VNC created with this version of Post Builder will automatically perform a validity check, at the ISV run-time, for all the kinematics parameters including axis names, kinematics components and junctions referenced in the custom command PB_CMD_vnc____map_machine_tool_axes. The parameters that will be validated are:

· mom_sim_mt_axis(X)

· mom_sim_mt_axis(Y)

· mom_sim_mt_axis(Z)

· mom_sim_mt_axis(4)

· mom_sim_mt_axis(5)

· mom_sim_zcs_base_MCS

· mom_sim_zcs_base_LCS

· mom_sim_spindle_comp

· mom_sim_spindle_jct

· mom_sim_pivot_jct

· mom_sim_advanced_kinematic_jct

ISV aborts when any of these parameters is found invalid.

pb_cmd_vnc__utils.tcl

The handlers for Lathe turret indexing, Sync event and Sync Manager initialization are not included in the VNC by default. The users can import them from the custom command file POSTBUILD/pblib/custom_command/pb_cmd_vnc__utils.tcl as needed.

PB_CMD_vnc____ASSIGN_TURRET_POCKETS command in this file is needed for lathe turret indexing.

PB_CMD_vnc__config_sync_dialog, PB_CMD_vnc__init_sync_manager and PB_CMD_vnc__sync commands are required for programming a merging lathe or a multi-function machine using Sync Manager.

vnc_base_v330_tcl.txt

#### A new version of the encrypted VNC base file is included in this version of Post Builder. This file will be released with 3.0.1 and newer versions of NX. In order to use the Machine Tool Drivers (MTD) created with the new version of Post Builder, the users of older NX or UG will need to copy this file from the POSTBUILD directory to the desired UGII_CAM_POST_DIR directory.

#

#

#

# PR Fixed in Post Builder V3.3.0

###

======================================================================

### 1341335

Problem:

Mill/turn saved in P/B v3.2.1 encountered Tcl error in UG/Post.

Resolution:

This problem has been fixed in Post Builder v3.3.

======================================================================

### 1344837

Problem:

Turning post outputs a “G92 S0” block with zero spindle speed, when the maximum RPM has been deselected.

Resolution:

The problem with a G92 S0 block coming out for a lathe spindle SFM start up has been fixed in Post Builder v3.3.

The block will only be output if the user has programmed a maximum RPM for the operation.

For legacy lathe posts, the custom command PB_CMD_output_spindle needs to be modified as follows:

#=============================================================

proc PB_CMD_output_spindle { } {

#=============================================================

global mom_spindle_mode

global spindle_is_out

global mom_spindle_maximum_rpm

if {![info exists spindle_is_out]} {

if {$mom_spindle_mode == "RPM"} {

MOM_force once M_spindle S G_spin

MOM_do_template spindle_rpm

} elseif {$mom_spindle_mode == "SFM" || $mom_spindle_mode == "SMM"} {

MOM_force once M_spindle S G G_spin

# The following line has been changed.

if {$mom_spindle_maximum_rpm > 0} {MOM_do_template spindle_max_rpm}

MOM_do_template spindle_css

}

set spindle_is_out 1

}

}

======================================================================

### 1347174

Problem:

Axis Multiplier not working on Y axis when developing a mill post.

Resolution:

The problem with the diameter not being doubled for Y axis has been fixed in Post Builder v3.3.

Legacy posts will need to be re-saved with this version of Post Builder.

======================================================================

### 1348372

Problem:

Fundamental problem with Post Builder.

Resolution:

In Post Builder v3.3, the scrollable area of the graphic window will be adjusted as needed automatically.

======================================================================

### 2039230

Problem:

Text string “brace” for a block definition will cause other blocks to be lost.

Resolution:

The problem of Postbuilder not saving text blocks that contain special characters such as { } [ ] has been fixed in Postbuilder v3.3.

Legacy posts will need to be re-saved with this version of Post Builder.

======================================================================

### 4980292

Problem:

Can not set federate mode to DPM for combined linear & rotary motions.

Resolution:

The problem with not being able to set DPM for combined linear and rotary motions in the feedrate dialog has been fixed in Post Builder v3.3.

Legacy posts will need to be re-saved with this version of Post Builder.

======================================================================

### 4985691

Problem:

Degrees per Minute (DPM) for contour not available in Postbuilder.

Resolution:

(Same as 4980292)

======================================================================

### 5002955

Problem:

Post Builder 3.2.1 changes word leader value.

Resolution:

The problem with the leader in the cycle step word being overwritten when a new post is created from an existing one has been fixed in Post Builder v3.3.

Legacy posts will need to be re-saved with this version of Post Builder.

======================================================================

### 5005250

Problem:

ISV is no longer able to simulate NURBS toolpath correctly.

Resolution:

Machine Tool Drivers created with Post Builder v3.3 will be able to simulate NURBS.

Legacy posts will need to be re-saved with this version of Post Builder.

======================================================================

### 5014819

Problem:

Getting incorrect B axis rotations after rapid position move.

Resolution:

The problem with the rotate axis output changing signs when the direction method is “sign determines direction” has been fixed in Post Builder v3.3.

Legacy posts will need to be re-saved with this version of Post Builder.

======================================================================

### 5027186

Problem:

Mirror X axis does not mirror I cricle vector.

Resolution:

The problem with the I word not being mirrored with the X word is mirrored has been fixed in Post Builder v3.3.

Legacy posts will need to be re-saved with this version of Post Builder.

======================================================================

### 5035419

Problem:

Mirror Y Axis option in Postbuilder not working correctly.

Resolution:

Options of Axis Multipliers including "Mirror Y Axis" will be working properly in Post Builder v3.3.

Legacy posts will need to be re-saved with this version of Post Builder.

======================================================================

#

#

# Legacy Posts Conversion

##

## Pre V3.3 Lathe Posts

Custom command PB_CMD_output_spindle used by any legacy lathe posts to output a block for setting the maximum spindle speed needs to be modified as follows:

#=============================================================

proc PB_CMD_output_spindle { } {

#=============================================================

global mom_spindle_mode

global spindle_is_out

global mom_spindle_maximum_rpm

if {![info exists spindle_is_out]} {

if {$mom_spindle_mode == "RPM"} {

MOM_force once M_spindle S G_spin

MOM_do_template spindle_rpm

} elseif {$mom_spindle_mode == "SFM" || $mom_spindle_mode == "SMM"} {

MOM_force once M_spindle S G G_spin

# The following line has been changed.

if {$mom_spindle_maximum_rpm > 0} {MOM_do_template spindle_max_rpm}

MOM_do_template spindle_css

}

set spindle_is_out 1

}

}

To Run ISV

To use the Machine Tool Drivers (MTD) built with this version of Post Builder in ISV before NX3.0, you need to copy "mom_source.dll" (Windows users only) from \POSTBUILD directory to $UGII_CAM_AUXILIARY_DIR and also copy "vnc_base_v330_tcl.txt" to $UGII_CAM_POST_DIR.

All Machine Tool Drivers created with Post Builder v3.2 will need to be resaved in the new version.

## Pre V3.1 Multi-Axis Posts

The option of the Axis Limit Violation Handling for a rotary axis specifies how the postprocessor behaves when the system reaches a rotary axis limit. The option can be of

· Warning means that the postprocessor outputs a message to the warning file, but takes no action to correct the axis limit violation.

· Retract/Re-engage means that the postprocessor generates N/C codes that enable machine-tool to retract to clearance geometry (plane, cylinder or sphere), reposition the rotary axis to a valid position if possible, re-engage to a specified distance above the part, feed to the previous position where it retracted from and then continue moving to the programmed destination. The feed rate for the retraction will be at the retract feed rate, the feed rate for the move from the clearance back to the re-engage point will be at the approach feed rate and the move from the re-engage point into the part will be at the engage feed rate.

Parameters for this control are specified in the custom command PB_CMD_init_rotary under Program & Tool Path -> Custom Command. As depicted in the graphic below, you can modify the variables mom_kin_retract_type, mom_kin_retract_distance and mom_kin_reengage_distance to configure how this functionality behaves.

The parameter mom_kin_retrace_plane used in previous releases of Post Builder has been replace by mom_kin_retract_distance. PLANE used as one of the options of mom_kin_retract_type in some pre-release versions of v3.1 has been replaced by SURFACE. After you have saved your legacy posts in Post Builder v3.1, unless you make changes in the custom command PB_CMD_init_rotary, the value of mom_kin_retract_plane will be transferred to mom_kin_retract_distance and PLANE will be interpreted as SURFACE automatically.

## Pre V3.1 XZC Mill & Simple Mill-Turn Posts

Prior to version 3.1, C axis limits (Machine Tool -> Rotary Axis) of a XZC mill or simple mill-turn post were not observed

No checks were made against the values that were on the dialog for the rotary axis limits. Only the limits of the fourth_axis Address –9999.9999 ~ 9999.9999 were used. Starting from version 3.1 the actual limits will be enforced.

Example of a post with rotary axis limits of 0 ~ 360:

V3.0.1

G81 X1 Z1 R2.1 C180.0

C260.0

C340.0

C420.0

C500.0

V3.1

G81 X1 Z1 R2.1 C180.0

C260.0

C340.0

C60.0

C140.0

When saving a legacy XZC or simple mill-turn post in Post Builder v3.1, if you need to preserve the effect of having the limits of the rotary axis being -9999.9999 ~ 9999.9999, you must change the values on the dialog accordingly.

## Pre V3.0 XZC Simple Mill-Turn Posts

The information in the custom command PB_CMD_init_mill_turn and PB_CMD_init_mill_xzc will be converted to dialog items on the Machine Tool pages and removed. The custom commands PB_CMD_start_of_mill, PB_CMD_end_of_mill, PB_CMD_start_of_turn and PB_CMD_end_of_turn have been converted into event handlers. You can now edit the event handlers on the Linked Posts page.

## Pre V3.0 Linked Posts

Custom command PB_CMD_init_multiple_post of all legacy posts has been converted to dialog items on the Linked Posts page and removed. The custom commands used to start and end each head have also been converted into event handlers. You can now edit these event handlers on the linked posts page.

## Pre V2.0.2 XZC Mill & Simple Mill-Turn Posts

You will need to follow the following steps to rectify existing XZC mill posts created in Post Builder version 2.0:

1. Create a new XZC mill post using the existing post as the “controller” post. Make sure the new post has the same output units as the existing ones.

2. Transfer your changes of the variables, if any, from the custom commands PB_CMD_kin_mill_turn_initialize and PB_CMD_kin_mill_xzc_init to PB_CMD_init_mill_turn and PB_CMD_init_mill_xzc respectively.

3. Add a line of code containing the “return” (without quotes) statement into the beginning of both PB_CMD_kin_mill_turn_initialize and PB_CMD_kin_mill_xzc_init commands.

4. Examine and save the post.