Post Block Reference : Post Questions
Introduction
In this topic we will cover each of the default post blocks in the Mill post processor. The purpose and use of each block will be explained. It is important to know that the description or name of the block may differ from post processor to post processor as the name (the text to the right of the post block number) is not used by the post processor engine, and is simply a reference to aid in understanding the purpose of the block.
The post blocks are organized by numeric sequence. This post blocks themselves may or may not be in numeric sequence in a post processor
MILL POST QUESTIONS
Block 200. Is X Modal?
This post question is setting if the posting engine should treat the X axis coordinate values as modal or not. (See available options below). When set to "n" the system will force the X axis values to be output every time a variable is encountered for the X axis position. When set to "y" the system will only output the X axis value if the position is different than the previous value output.
Available Options:
y - This setting turns on modality for the X axis variables
n - This setting turns off modality for the X axis variables
Block 201. Is Y Modal?
This post question is setting if the posting engine should treat the Y axis coordinate values as modal or not. (See available options below). When set to "n" the system will force the Y axis values to be output every time a variable is encountered for the Y axis position. When set to "y" the system will only output the Y axis value if the position is different than the previous value output.
Available Options:
y - This setting turns on modality for the Y axis variables
n - This setting turns off modality for the Y axis variables
Block 202. Is Z Modal?
This post question is setting if the posting engine should treat the Z axis coordinate values as modal or not. (See available options below). When set to "n" the system will force the X axis values to be output every time a variable is encountered for the Z axis position. When set to "y" the system will only output the Z axis value if the position is different than the previous value output.
Available Options:
y - This setting turns on modality for the Z axis variables
n - This setting turns off modality for the Z axis variables
Block 203. Are the Gcodes Modal?
This post question is setting if the posting engine should treat Gcode commands as modal or not. (See available options below). When set to "n" the system will force the gcode commands every time a variable is encountered for a gcode. When set to "y" the system will only output the gcode commands only if the current gcode is different than the previous command output. This works for gcodes that are related to one another. For example G0 and G1. G0 is the code for a rapid move and is output using the "rapid_move" variable. G1 is a move at feedrate and is output using the "feed_move" variable. In the following postblock example you can see how modality will be handled with multiple lines where the same variable is used:
Example Postblock |
Example Output - 203 set "y" |
Example Output - 203 set "n" |
n, rapid_move, xr n, rapid_move, yr n, rapid_move, zr
|
N001 G0 X1.0 N002 Y1.0 N003 Z1.0 |
N001 G0 X1.0 N002 G0 Y1.0 N003 G0 Z1.0 |
Available Options:
y - This setting turns on modality for gcodes
n - This setting turns off modality for gcodes.
Block 204. Are the Gcodes (G02 and G03) Modal in Arc Milling?
This post question is setting if the posting engine should treat the Gcode commands for arc milling as modal or not. (See available options below). When set to "n" the system will force the gcode command every time the "g_arc_move" variable is encountered on a postline. When set to "y" the system will output the gcode command initially for the "g_arc_move" variable but unless the arc direction changes, it will not be output again. The following example shows how modality will be handled with multiple arc segments where the arc block is called multiple times:
Example Postblock |
|
n,g_arc_plane,feed_mode,g_arc_move,x_f,y_f,z_f,arc_center,feed_rate
|
|
Example Output - 204 set "y" |
Example Output - 204 set "n" |
N001 G17 G03 X1.5 Y-0.6875 I-0.3125 J0. F4.4492 N002 X1.1875 Y-1. I0. J-0.3125 N003 X1.5 Y-1.3125 I0.3125 J0. N004 X1.8125 Y-1. I0. J0.3125 |
N001 G17 G03 X1.5 Y-0.6875 I-0.3125 J0. F4.4492 N002 G03 X1.1875 Y-1. I0. J-0.3125 N003 G03 X1.5 Y-1.3125 I0.3125 J0. N004 G03 X1.8125 Y-1. I0. J0.3125 |
Available Options:
y - This setting turns on modality for the arc gcodes
n - This setting turns off modality for the arc gcodes
Block 205. Are the XY (YZ or XZ) Coorindates Modal in Arc Milling?
This post question is setting if the posting engine should treat the XYZ coordinate positions as modal for arc milling. (See available options below). When set to "n" the system will force the XYZ coordinate values every time the corresponding variables are encountered on a postline. When set to "y" the system will output the coordinate positions initially for the arc but all others will not be output unless the coordinate position changes.
Available Options:
y - This setting turns on modality for the arc XYZ coordinate positions
n - This setting turns off modality for the arc XYZ coordinate positions
Block 206. Are Work Coordinates Modal?
This post question is setting if the "work_coord" variable should be handled as model or not. (See available options below) When set to "n" the system will force the output from the "work_coord" variable whenever it is encountered on a postline. When set to "y" the "work_coord" variable will be output initially in the NC program, but will not output again when encountered on a postline unless the value of the active work offset has changed.
Available Options:
y - This setting turns on modality for the work_coord variable
n - This setting turns off modality for the work_coord variable
Block 207. Output Sequence Numbers in Sub Programs?
When sub programs have been turned ON and the system is outputting the sub program itself into the NC file, this post question controls if the sup program code itself should have sequence numbers. When set to "n" the system will not output sequence numbers for the sub program NC code. When set to "y" the system will output sequence numbers for the sub program NC code.
NOTE: Sequence numbers are output from the "n" variable on a postline. If the postline does not have the "n" variable the system will not output the sequence number regardless of the setting of this post question.
Block 208. Output Sequence Numbers?
This post question controls if the main NC program will output sequence numbers. When set to "n" the system will not output sequence numbers for the main NC program. When set to "y" the system will output sequence numbers for the main NC program.
NOTE: Sequence numbers are output from the "n" variable on a postline. If the postline does not have the "n" variable the system will not output the sequence number regardless of the setting of this post question.
Block 209. Number of Places for Sequence Numbers?
This post question defines how many places the system should use when outputting sequence numbers. The input to this post question is an Integer/Whole number. The following table provides examples of values and the expected output:
Example Output - 209 set to 2 |
Example Output - 209 set to 3 |
Example Output - 209 set to 4 |
N01 N02 ... N10 N11
|
N001 N002 ... N010 N011 |
N0001 N0002 ... N0010 N0011 |
Block 210. Delete the Decimal Point?
This post question defines if the posting engine should output a decimal point for most variables that output a numeric value. (See available options below) When decimal points are not output the settings for post questions 211, 212, 214, 216, 414, 415, 425, 426 become important to ensure proper format is output for the cnc controller to properly interpret the numeric values.
Available Options:
y - This setting sets the posting engine to not output decimal values
n - This setting sets the posting engine to output decimal values
Block 211. Delete Leading Zeros?
This post question determines if the posting engine should output numeric values with leading zeros based on post questions that define the number of places before the decimal for the corresponding numeric variables. This is normally turned on (set to "y") to remove the leading zeros, and when turned off is usually for machines where no decimal point is output and a specific number of digits need to be present on an output line.
Available Options:
y - This setting sets the posting engine to delete the leading zero values from numeric variables
n - This setting sets the posting engine to not delete the leading zero values from numeric variables
Block 212. Delete Trailing Zeros?
This post question determines if the posting engine should output numeric values with trailing zeros based on post questions that define the number of places after the decimal for the corresponding numeric variables. This is normally turned on (set to "y") to remove the trailing zeros, and when turned off is usually for machines where no decimal point is output and a specific number of digits need to be present on an output line.
Available Options:
y - This setting sets the posting engine to delete the trailing zero values from numeric variables
n - This setting sets the posting engine to not delete the trailing zero values from numeric variables
Block 213. English or Metric Format (E/M)?
This post question determines if the posting engine will output all values in the program either as Inch (Imperial) or Metric values.
Available Options:
e - This setting sets the posting engine to output in Inch (Imperial) format.
m - This setting sets the posting engine to output in Metric format.
Block 214. Places Before Decimal Point for Reals (XYZ)?
This post question sets the number of places the posting engine should output before the decimal point for XYZ coordinate values specifically. Commonly used when no decimal value is output (See Post Question: 211).
Block 215. Number of Places for Tool Numbers?
This post question sets the number of places the posting engine should output for tool numbers. The input to this post question is an Integer/Whole number. The following table provides examples of values and the expected output:
Example Output - 215 set to 2 |
Example Output - 215 set to 3 |
Example Output - 215 set to 4 |
T01 T02 ... T10 T11
|
T001 T002 ... T010 T011 |
T0001 T0002 ... T0010 T0011 |
This setting is applied to the output from the following posting variables:
Block 216. Number of Places After the Decimal for Feed Rate?
This post question sets the number of places the posting engine will output for feedrate values in the NC file. The input to this post question is an Integer/Whole number.
Block 217. Scale Factor for Feed Rate?
This post question allows you to modify the feedrate values output by the system by using a scale factor. The input to this post question is a Double type numeric value meaning that you can use decimal place number. This setting should be left at a value of 1.0 unless needing to alter the feedrate values. The following table provides examples of values and the expected output:
Example Output - 217 set to 1 |
Example Output - 217 set to 2 |
Example Output - 217 set to .5 |
F10.0
|
F20.0 |
F5.0 |
Block 218. Number of Places for the Program Number?
This post question defines the number of places the system should use when outputting the program number from the program number variable "prog_n". The input to this post question is an Integer/Whole number. The following table provides examples of values and the expected output:
Example Output - 218 set to 2 |
Example Output - 218 set to 4 |
Example Output - 218 set to 8 |
O01
|
O001 |
O00000001 |
Block 219. Add Spaces to the Program?
This post question tells the posting engine if it should separate all output values in the NC program with a space character. For machines with limited memory it is desirable to remove spaces from the NC program but it can make the NC code harder to read.
Available Options:
y - This setting sets the posting engine to add spaces between values in the NC program.
n - This setting sets the posting engine to not add spaces between value in the NC program.
Block 221. Break Arcs Into Quadrants?
This post question tells the posting engine if arc motion should be broken up into quadrants thus not allowing larger arc motion to be output. This is very useful and required when arc output is formatted using an "R"/ radius value as outputting arc motion over 90 degrees when using an R/Radius value can result in the machine tool cutting the arc in the wrong direction.
Available Options:
y - This setting sets the posting engine to break arc moves into quadrants
n - This setting sets the posting engine to not break arc moves into quadrants
Block 222. Arc Center?
This post question defines how the posting engine should output the arc center definition into the NC file. The arc center is output from the "arc_center" variable and the following list defines the valid options for this post question:
a = Absolute Mode - The arc center will be output using IJK values to represent the XYZ location of the center point of the arc in Absolute Coordinates relative to the Machine Setup Origin for the operation.
b = Incremental - The arc center will be output using IJK values to represent the XYZ location of the center point of the arc in Incremental coordinate values relative to the starting point of the arc.
d = Unsigned Incremental - The arc center will be output using IJK values to represent the XYZ location of the center point of the arc in Incremental coordinate values however these values will be unsigned (no "-" negatives) relative to the starting point of the arc.
e = Radius Mode - The arc center is defined using an "R"/Radius value and the CNC controller will determine where the center point of the arc will be. This mode is easier to read and understand the size of the arc to be cut but sweeping over 90 degrees in some cases can cause the arc center to be incorrectly determined by the machine tool. It is advised to always set post question 221 to "y" when using this output mode.
NOTE: The modality of the arc center values is controlled by post question: 446.
Block 223. Break Arcs Into Two Pieces if Greater Than 180 Degrees?
This post question tells the posting engine if arc motion should be broken up into two pieces if the sweep of the arc is over 180 degrees This is very useful and required when arc output is formatted using an "R"/ radius value as outputting arc motion over 180 degrees when using an R/Radius value can result in the machine tool cutting the arc in the wrong direction.
Available Options:
y - This setting sets the posting engine to break arc moves into 2 pieces if over 180
n - This setting sets the posting engine to not break arc moves into 2 pieces if over 180
Block 227. Output G40 After, Rather Than With, The Last Linear or Arc Move?
This post question is no longer in use.
Block 228. Support Unicode Output?
This Post question tells the posting engine to support unicode characters or not. This is mainly used for developing post processor that will be used in non-English territories where the software is not in English.
228. Support Unicode Output?
Available Options:
y - This setting sets the posting engine to support Unicode characters
n - This setting sets the posting engine to not support Unicode characters.
SPECIAL NOTE: Some CNC controllers will not accept unicode characters. This option allows the post writer to disable support for these characters and they will be omitted from the output thus removing potential errors at the machine controller.
With this support Unicode Post question is set to "Y", the charout_xx Posting variable can output of special characters in the posted Gcode program by specifying its Unicode value. It is important to understand charout_xx variable output is linked with this post question 228. If the post processor is set to only support ASCII characters, charout_xx cannot output characters from the higher Unicode set of characters apart from the ASCII characters.
The following is an example usage of this Post question 288 and the charout_xx posting variable.
Add the lines below to the Post Processor under the block 2 as shown in the picture
charout_39, charout_64, charout_195, charout_0x27
n,charout_39, charout_66, charout_111, charout_98, charout_67, charout_65, charout_68, charout_0x2D, charout_67, charout_65, charout_77 , charout_39, charout_0x261D
We get the following result depending on the setting of question 228.
228. Support Unicode Output? y 228. Support Unicode Output? n
Block 229. Allow coolant on off codes to be output on a single line?
This Post question tells the Posting engines whether to Post the multiple coolant codes either in a single line or Post each coolant Mcode in different lines. The Mcodes for the coolants are defined in the Post questions 840-859.
Block 230. Use Standard Drilling Canned Cycle?
This question tells the posting engine if it should output the drilling cycle using longhand motion or the canned cycle. For longhand motion the system will call rapid and feed blocks as necessary to complete the drilling motion. For Canned Cycle output the posting engine will call the blocks from the defined table below:
Cycle Type: Standard Drill |
||||
Dwell |
With Subprograms |
With Wrapping |
Canned Cycle Block |
Subsequent Hole Blocks |
|
|
|
||
|
Yes |
|
||
Yes |
|
|
||
Yes |
Yes |
|
||
|
|
Yes |
||
Yes |
|
Yes |
||
|
Yes |
Yes |
||
Yes |
Yes |
Yes |
Block 231. Use Peck Drilling Canned Cycle?
This question tells the posting engine if it should output the peck drilling cycle using longhand motion or the canned cycle. For longhand motion the system will call rapid and feed blocks as necessary to complete the drilling motion. For Canned Cycle output the posting engine will call the blocks defined below:
Cycle Type: Peck Drill |
||||
Dwell |
With Subprograms |
With Wrapping |
Canned Cycle Block |
Subsequent Hole Blocks |
|
|
|
||
|
Yes |
|
||
Yes |
|
|
||
Yes |
Yes |
|
||
|
|
Yes |
||
Yes |
|
Yes |
||
|
Yes |
Yes |
||
Yes |
Yes |
Yes |
Block 232. Use High Speed Peck Drilling Canned Cycle?
This question tells the posting engine if it should output the high speed peck drilling cycle using longhand motion or the canned cycle. For longhand motion the system will call rapid and feed blocks as necessary to complete the drilling motion. For Canned Cycle output the posting engine will call the blocks defined below:
Cycle Type: High Speed Peck Drill |
||||
Dwell |
With Subprograms |
With Wrapping |
Canned Cycle Block |
Subsequent Hole Blocks |
|
|
|
||
|
Yes |
|
||
Yes |
|
|
||
Yes |
Yes |
|
||
|
|
Yes |
||
Yes |
|
Yes |
||
|
Yes |
Yes |
||
Yes |
Yes |
Yes |
Block 233. Use Tapping Canned Cycle? - (Right Hand)
This question tells the posting engine if it should output the tapping canned cycle. If this option is turned off (set to "n") the system will not output code to tap the hole. For Canned Cycle output the posting engine will call the blocks defined in the table below.
Cycle Type: Right Hand Tapping |
||||
Dwell |
With Subprograms |
With Wrapping |
Canned Cycle Block |
Subsequent Hole Blocks |
|
|
|
||
|
Yes |
|
||
Yes |
|
|
||
Yes |
Yes |
|
||
|
|
Yes |
||
Yes |
|
Yes |
||
|
Yes |
Yes |
||
Yes |
Yes |
Yes |
Block 234. Use Boring Cycle #1 Canned Cycle?
This question tells the posting engine if it should output the boring #1 canned cycle. For longhand motion the system will call rapid and feed blocks as necessary to complete the boring #1 motion. For Canned Cycle output the posting engine will call the blocks defined in the table below.
Cycle Type: Bore #1 |
||||
Dwell |
With Subprograms |
With Wrapping |
Canned Cycle Block |
Subsequent Hole Blocks |
|
|
|
||
|
Yes |
|
||
Yes |
|
|
||
Yes |
Yes |
|
||
|
|
Yes |
||
Yes |
|
Yes |
||
|
Yes |
Yes |
||
Yes |
Yes |
Yes |
Block 235. Use Boring Cycle #2 Canned Cycle?
This question tells the posting engine if it should output the boring #2 canned cycle. For longhand motion the system will call rapid and feed blocks as necessary to complete the boring #2 motion. For Canned Cycle output the posting engine will call the blocks defined in the table below.
Cycle Type: Bore #2 |
||||
Dwell |
With Subprograms |
With Wrapping |
Canned Cycle Block |
Subsequent Hole Blocks |
|
|
|
||
|
Yes |
|
||
Yes |
|
|
||
Yes |
Yes |
|
||
|
|
Yes |
||
Yes |
|
Yes |
||
|
Yes |
Yes |
||
Yes |
Yes |
Yes |
Block 236. Use Back Boring Cycle (#3) Canned Cycle?
This question tells the posting engine if it should output the back boring (#3) canned cycle. For longhand motion the system will call rapid and feed blocks as necessary to complete the back boring (#3) motion. For Canned Cycle output the posting engine will call the blocks defined in the table below.
Cycle Type: Back Bore #3 |
||||
Dwell |
With Subprograms |
With Wrapping |
Canned Cycle Block |
Subsequent Hole Blocks |
|
|
|
||
|
Yes |
|
||
Yes |
|
|
||
Yes |
Yes |
|
||
|
|
Yes |
||
Yes |
|
Yes |
||
|
Yes |
Yes |
||
Yes |
Yes |
Yes |
Block 237. Use Left Hand Tapping Canned Cycle?
This question tells the posting engine if it should output the left hand tapping canned cycle. If this option is turned off (set to "n") the system will not output code to tap the hole. For Canned Cycle output the posting engine will call the blocks defined in the table below.
Cycle Type: Left Hand Tapping |
||||
Dwell |
With Subprograms |
With Wrapping |
Canned Cycle Block |
Subsequent Hole Blocks |
|
|
|
||
|
Yes |
|
||
Yes |
|
|
||
Yes |
Yes |
|
||
|
|
Yes |
||
Yes |
|
Yes |
||
|
Yes |
Yes |
||
Yes |
Yes |
Yes |
Block 238. Use Fine Boring Cycle?
This block is currently not used.
Block 239. Output 0 dwell value?
This post question allows removing dwell values of zero when outputting drilling canned cycles. In the past when the dwell value was left at the default of zero, the posted code would output a dwell call with a zero value rather than just leave it out. By setting the value of this post question to "n", operations will not include the dwell call with zero value. This block was added to BobCAD-CAM V34 and BobCAM for SOLIDWORKS V10 SP1.
Block 240. Amount to Add to "t" to Obtain "t1" ?
This block is used to adjust the tool value that is output from the "t1" variable. The input to this question is an Integer/Whole number. Whatever value is defined on this post question will be added to the tool number and output. The table below shows examples of the "t1" variable output with different values defined on block 240.
t1 Variable Output Examples |
||
Block 240 Value |
Tool Number |
t1 Output Value |
1 |
1 |
2 |
5 |
1 |
6 |
10 |
1 |
11 |
Block 241. Amount to Add to "t" to Obtain "t2" ?
This block is used to adjust the tool value that is output from the "t2" variable. The input to this question is an Integer/Whole number. Whatever value is defined on this post question will be added to the tool number and output. The table below shows examples of the "t2" variable output with different values defined on block 241.
t2 Variable Output Examples |
||
Block 241 Value |
Tool Number |
t2 Output Value |
1 |
1 |
2 |
5 |
1 |
6 |
10 |
1 |
11 |
Block 242. Value of "t1" at "t" = 0?
This block is defining what value the "t1" when the "t" variable (tool number) is equal to 0.
Block 243. Value of "t2" at "t" = 0?
This block is defining what value the t2when the t variable (tool number) is equal to 0.
Block 258. Maximum Number of Work Offsets?
This block is defining the maximum number of work offsets that are available to the end user. This setting will alter what the user can see on the Posting Page of the Feature Wizard and the work offset option in the Machine Setup (See images below)
The work offset values that will be output based on the selection from the UI is defined on the post blocks 900. - 999.
Block 262. Add Sign to All Coordinate Values?
This block is setting if the posting engine should add "+" or "-" signs to all coordinates output in the NC file.
Available Options:
y - This setting sets the posting engine to ass signs to all coordinate values
n - This setting sets the posting engine to not add signs to all coordinate values.
Example Output - 262 set "y" |
Example Output - 262 set "n" |
N56 G01 Y-0.5 N61 G02 X+0.5 Y+0.265 I+0.765 J+0. N66 G01 X+2.5 N71 G02 X+3.265 Y-0.5 I+0. J-0.765 N76 G01 Y-1.5 N81 G02 X+2.5 Y-2.265 I-0.765 J+0. N86 G01 X+0.5 N91 G02 X-0.265 Y-1.5 I+0. J+0.765 N96 G01 Y-1. N101 G03 X-0.515 Y-0.75 I-0.25 J+0. N106 G03 X-0.6918 Y-0.8232 I+0. J-0.25 |
N56 G01 Y-0.5 N61 G02 X0.5 Y0.265 I0.765 J0. N66 G01 X2.5 N71 G02 X3.265 Y-0.5 I0. J-0.765 N76 G01 Y-1.5 N81 G02 X2.5 Y-2.265 I-0.765 J0. N86 G01 X0.5 N91 G02 X-0.265 Y-1.5 I0. J0.765 N96 G01 Y-1. N101 G03 X-0.515 Y-0.75 I-0.25 J0. N106 G03 X-0.6918 Y-0.8232 I0. J-0.25 |
Block 267. Amount to Add to Tool # For Tool Register Value?
The value entered on this block will be added to the current tool number when the "d_offset" posting variable is output. See example below:
Example Output - 267 set 5 and Tool number = 1 |
Example Output - 267 set 5 and Tool number = 5 |
T01 G43 H01 D06 Z1.0 |
T05 G43 H05 D10 Z1.0 |
Block 272. Rigid Tapping?
When tapping it is often necessary to output special commands to complete what is called "Rigid Tapping" Based on the needs of the machine tool's cnc controller this may be simply putting the machine in Feed Per Revolution mode, or may be another set of specialized commands. To accommodate this the BobCAD-CAM posting engine has to command variables that are placed in the tapping canned cycle blocks and the the cancel canned cycle blocks. These variables are called:
- rigid_tapping_start - When encountered on a postline: if Post Question 272 is set to "y" then block 22 will be called and processed by the posting engine.
- rigid_tapping_end - When encountered on a postline: If Post Question 272 is set to "y" then block 23 will be called and processed by the posting engine.
The above mentioned blocks can be used to process any special ON/OFF codes that need to accompany the tapping cycle to allow the machine to execute Rigid Tapping.
Available Options:
y - This setting sets the posting engine to process the "rigid_tapping_start" and "rigid_tapping_end" command variables.
n - This setting sets the posting engine to not process the "rigid_tapping_start" and "rigid_tapping_end" command variables.
Block 273. Output Programmable Rotary Axis Codes?
This post question effects the output from the rotary indexing codes from the post processor. The following command variables are controlled by this question:
- output_primary_rotary_index - This command variable calls post block 10 when post question 273 is set to "y"
- output_secondary_rotary_index - This command variable calls post block 17 when post question 273 is set to "y"
Available Options:
y - This setting sets the posting engine to output the rotary index positions to the NC program.
n - This setting sets the posting engine to not output the rotary index positions to the NC program.
Block 274. Rotary Clamping Output Mode?
This post question defines the mode the posting engine should use for outputting rotary clamping codes into the NC program. This post question determines if the following variables should be output or not:
Available Options:
y - This setting sets the posting engine to output the rotary clamping codes to the NC program.
n - This setting sets the posting engine to not output the rotary clamping codes to the NC program.
Block 280. Primary Rotary Axis Modal?
This post question defines if the posting engine should treat the variables pertaining to the primary rotary axis as modal or not. (See available options below). When set to "n" the system will force the primary rotary axis values to be output every time a variable is encountered for the primary rotary axis position. When set to "y" the system will only output the primary rotary axis value if the position is different than the previous value output.
Available Options:
y - This setting turns on modality for the primary rotary axis variables
n - This setting turns off modality for the primary rotary axis variables
Block 281. Primary Rotary Axis Modal?
This post question defines if the posting engine should treat the variables pertaining to the secondary rotary axis as modal or not. (See available options below). When set to "n" the system will force the secondary rotary axis values to be output every time a variable is encountered for the secondary rotary axis position. When set to "y" the system will only output the secondary rotary axis value if the position is different than the previous value output.
Available Options:
y - This setting turns on modality for the secondary rotary axis variables
n - This setting turns off modality for the secondary rotary axis variables
Block 313. Z Clearance For Auto Z Programming For XY Move?
This block is currently not in use and should be removed from the current *.BCPst post processor files.
Block 314. Z Clearance For Auto Z Programming For Cutting?
This block is currently not in use and should be removed from the current *.BCPst post processor files.
Block 315. Minimum Part Height?
This block is currently not in use and should be removed from the current *.BCPst post processor files.
Block 319. Break Arcs With Radius Larger Than?
This post question is used when a machine tool cannot process very large arc radius values (Not referring to IJK or R arc center definition). For machines that alarm on large radius values, this post question can be used in conjunction with additional post questions to allow the posting engine to break the large radius into line segments based on a tolerance. The input to this question is an Double/Decimal number.
For this posting question to be applied, post question 550 must be set to "y"
The tolerance used when breaking the arc into line segments is defined on post question: 320
Block 320. Arc Segment Breaking Tolerance?
This post question defines the tolerance value to be used when breaking arc motion into linear segments. The input to this question is an Double/Decimal number. This breakup tolerance will only be applied if post question 550 is set to "y".
Block 321. Line Segment Maximum Length?
This post question defines the tolerance value to be used when breaking arc motion into linear segments. The input to this question is an Double/Decimal number. This line breakup will only be applied if post question 551 is set to "y".
Block 322. Maximum Inverse Feedrate?
This post question defines the maximum feedrate value that will be output from the posting engine when one of the Inverse Time Feedrate modes are turned on in post question 441 and active in the NC file.
Block 323. Minimum Inverse Feedrate?
This post question defines the minimum feedrate value that will be output from the posting engine when one of the Inverse Time Feedrate modes are turned on in post question 441 and active in the NC file.
Block 324. Maximum DPM Feedrate?
This post question defines the maximum feedrate limit value to output by the Posting Engine when the calculated Degrees Per Minute (DPM) feedrate value is too large. The default value is 100000.
324. Maximum degrees per minute feedrate? 100000.00
Block 414. Number of Decimal Places for Metric Numbers?
This post question defines the number of decimal places the posting engine should use for coordinate values when outputting in Metric.
Block 415. Number of Decimal Places for English Numbers?
This post question defines the number of decimal places the posting engine should use for coordinate values when outputting in Imperial/English/Inch.
Block 425. Number of Decimal Places for Angles?
This post question defines the number of decimal places the posting engine should use for angular output. (Rotary Values)
Block 426. Number of Leading Decimal Places for Angles?
This post question defines the number of leading places before the decimal the posting engine should output for angular moves. (Rotary Values)
Block 427. Tapping Feedrate?
This post question defines the format the posting engine should use when outputting the "tapping_feedrate" variable when encountered on a postline.
Available Options:
1 - This setting makes the "tapping_feedrate" variable output with an Unit Per Minute value. (Inch Per Minute/MM Per Minute)
2 - This setting makes the "tapping_feedrate" variable output with a Unit Per Revolution value. (Inch Per Revolution/ MM Per Revolution)
Block 428. Feedrates Other Than Tapping?
This post question defines the format the posting engine should use when outputting the "canned_feed_rate" variable when encountered on a postline. This command is only for canned drilling cycles.
Available Options:
1 - This setting makes the "canned_feed_rate" variable output with an Unit Per Minute value. (Inch Per Minute/MM Per Minute)
2 - This setting makes the "canned_feed_rate" variable output with a Unit Per Revolution value. (Inch Per Revolution/ MM Per Revolution)
Block 429. Maximum Spindle Speed for Tapping?
This post question defines the maximum spindle speed the posting engine should allow to be output for tapping operations.
Block 430. Maximum Spindle Speed? (Deprecated)
This block is currently not in use and should be removed from the current *.BCPst post processor files.
This post question defines the maximum spindle speed the posting engine should allow to be output for all other operations besides tapping operations.
Block 431. Spindle Speed for High Range?
This post question defines the RPM that indicate the machine should switch from Low Speed Gear to High Speed Gear. The posting engine will call the following postblocks based on the setting of this question and the current RPM of the spindle at the time the "spingle_range" post variable is encountered.
- RPM < 431 Setting - The posting engine will call postblock 20 to output low range codes.
- RPM > 431 Setting - The posting engine will call postblock 21 to output high range codes.
Block 432. Add Amount for Tool Number in Tool List?
This post question is only used if the "output_tool_list" variable is placed in postblock 0. The values entered into this post question will be added to the tool number for when the tool number is output in the tool listing as well as all locations that use the "list_tool_number" variable. The input to this question is an Integer/Whole number.
Block 433. Maximum Sequence Number Allowed?
This post question defines the maximum sequence (line) number the posting engine will output in the NC file. This is used to limit the output for controllers that limit the number of places a value can be used. This post question is only applied when posting question 534 is set to "y". The input to this question is an Integer/Whole number.
Block 440. Rotary Output Type
This post question defines how the posting engine generates the rotary positions for the NC program. It is imperative that this setting is properly configured for a customers specific machine. To understand each of the settings for this post question follow this link and refer to the Post Processor Lesson 9 on Rotary Axis.
Available Options:
0 - Absolute Position - All rotary coordinate values will be generated as absolute positions and no sign will be output. This mode is used for indexing and is usually accompanied by M codes in the NC program to indicate the direction of rotation the machine should move. Using this mode will trigger the posting engine to output rotary direction codes when they are encountered on a postline. These post variables are: "primary_rotary_direction" and "secondary_rotary_direction"
1 - Signed Absolute - All rotary coordinate values will be generated as absolute positions and a sign will be output to indicate the direction the machine to rotate.
2 - Signed Continuous - This mode uses a base rotary zero location with all positive moves adding up in 1 direction from zero, while all negative positions being in the opposite direction of zero. It's easiest to think of this mode as a number line wrapped up around a cylinder. This is the most common system used.
Block 441. Multiaxis Feed Type?
This post question defines how the posting engine should output feedrate values in the NC file. Different types of cut and different options on the CNC controller will determine what feedrate is appropriate for the machine tool.
Available Options:
0 - Unit Per Minute - This mode outputs the linear Unit Per Minute (Inch/MM) for all motion in the NC program.
1 - Inverse On ALL - This mode will output inverse time feedrate values for all linear and rotary motion.
2 - Inverse on Rotary - With this mode, rotary toolpaths that position the rotary by itself, or rotary with linear motion, the system will output Inverse Time feedrates. Indexing will not output inverse time feedrates. Multiaxis paths where continuous rotation is present will be output with Inverse Time Feedrates, but multiaxis where rotary positioning is not done during the feeding cut will be output without Inverse Time Feedrates. This is the most common output method for Inverse Time feedrates.
3 - Inverse on 4/5 Axis - In this mode, all motion XYZ and rotation wether output by itself, or together, will be output using inverse time feedrates. This is not a commonly desired output method.
4 - DPM on Rotary Only - This mode outputs Degrees Per Minute for only lines where rotary motion is occurring at feedrate. If the NC file has linear motion along with rotation motion the system will not output DPM.
5 - DPM on Linear/Rotary - This mode outputs Degrees Per Minute for motion that includes a rotary move. This means if there is linear and rotation motion the feedrate value that is output will be in Degrees Per Minute and not Inch/MM Per Minute.
Block 442. Wrapping X Axis Is?
See Block 444 for details.
Block 443. Wrapping Y Axis Is?
See Block 444 for details.
Block 444. Wrapping Z Axis Is?
These postblocks are associated together in their configuration of defining how the posting engine should output wrapping(axis substitution) code. Each rotary axis must be defined correctly based on the kinematics of the specific machine tool.
Examples:
4 Axis Mill - Rotary Rotating Around X Axis |
|
Post Question |
Value |
442 - X Axis |
1 |
443 - Y Axis |
2 |
444 - Z Axis |
3 |
4 Axis Mill - Rotary Rotating Around Y Axis |
|
Post Question |
Value |
442 - X Axis |
2 |
443 - Y Axis |
1 |
444 - Z Axis |
3 |
4 Axis Mill - Rotary Rotating Around Z Axis |
|
Post Question |
Value |
442 - X Axis |
3 |
443 - Y Axis |
2 |
444 - Z Axis |
1 |
Block 445. Rewind Rotary Axis At Toolchange?
This postblock triggers the command variable "optional_rotary_rewind" to call postblock 111 to be called when encountered on a postline. This is used to provide a way to output special codes or commands to rewind the rotary axis back to zero at toolchange blocks. This helps to keep the rotary axes on a machine tool from adding up in positional values that may eventually be to large for the machine controller to handle.
Available Options:
y - This setting turns on rotary rewinds and when the post variable "optional_rotary_rewind" is encountered the posting engine will call postblock 111.
n - This setting turns off rotary rewinds and the post variable "optional_rotary_rewind" is ignored.
Block 446. Arc Center Output Modal?
This post question defines if the arc center values should be output as modal or not. (See available options below). When set to "n" the system will force the arc center values to be output every time a variable is encountered for the arc center position. When set to "y" the system will only output the arc center values if the position is different than the previous value output.
Available Options:
y - This setting turns on modality for the arc center variables
n - This setting turns off modality for the arc center variables
See Post Question 222 for the arc center definition.
Block 511. Use Incremental Coorindates?
This post question forces the posting engine to convert and output all coordinate values as incremental coordinates instead of absolute coordinates if set to "y".
Available Options:
y - This setting turns on incremental output.
n - This setting turns off incremental output.
IMPORTANT NOTE: For post processors that use the "movement_mode" posting variable, the setting for Absolute/Incremental found on the Current Settings > Posting Page will determine which mode is output for the coordinates in the NC file. If the post processor uses the "incremental_coord" or "absolute_coord" posting variables the posting engine will output the coordinates in the corresponding mode.
Block 512. Use Block Delete for Stop Codes?
This post question determines if the block delete character (defined on post question 656) should be output whenever the "stop" post variable in encountered and output into the NC program.
Available Options:
y - This setting turns on the block delete character output before the stop character in the NC file.
n - This setting turns off the block delete character output before the stop character in the NC file.
Block 513. Output F Feed Rate values? (Deprecated)
This block is currently not in use.
Block 515. Output G99 Instead of G98 in Drilling?
This post question sets what value is output from the "g98_g99" variable when encountered on a postline.
Available Options:
y - This setting sets the posting engine so the "g98_g99" posting variable returns the string defined for G99 on post question: 728
n - This setting sets the posting engine so the "g98_g99" posting variable returns the string defined for G98 on post question: 727
Block 516. Output G98/G99 in Drilling?
This post question sets wether or not the posting engine will output anything when the "g98_g99" posting variable is encountered on a postline.
Available Options:
y - This setting sets the posting engine to process and output the "g98_g99" posting variable.
n - This setting sets the posting engine to ignore the "g98_g99" posting variable.
Block 526. Start Renumbering From Start Number For Sub Programs?
This post question changes the sequence numbers output from the "n" posting variable for sub programs.
Available Options:
y - This setting changes the "n" variable to restart back at the staring sequence number (defined in the machine definition posting page) at the beginning of a sub program.
n - When set to "n" the posting engine will continue the sequence numbers from the end of the main program.
Block 527. Create Sub Directory For NC File?
This post question determines if the posting engine should create a sub directory for the NC files for the specific Job. I believe this is for WireEDM only.
Block 531. Replace Spaces In Comments With Commas?
This post question tells the posting engine if space characters should be replaced with a "," character in the NC file. This is used for CNC controlers that do not allow spaces in the program.
Available Options:
y - This setting sets the posting engine to replace all spaces (" ") characters in comments with a "," character.
n - When set to "n" the posting engine output space characters in the comments.
Block 533. Output Sub Programs At the Beginning Of The NC Program?
This post question tells the posting engine to output the sub programs either at the beginning or ending of the NC program.
Available Options:
y - This setting defines that the posting engine should output the sub programs at the beginning of the NC file.
n - When set to "n" the posting engine will output the sub programs at the ending of the NC file.
Block 534. Re-Start Sequence Numbering Once Maximum Sequence Number Is Reached?
This post question works in conjunction with post question: 433. When post question 534 is set to a value of "y" and the sequence number being output in the NC file reaches the maximum value defined on post question: 433 the posting engine will reset the sequence numbers and start the output values over again from the starting number.
Available Options:
y - The posting engine will reset the sequence numbers back to the beginning numbers when the maximum defined value is reached.
n - When set to "n" the posting engine will continue increasing the sequence number and not apply a maximum value.
Block 535. Are Feedrates Modal?
This post question determines if the posting engine should treat the feedrate values output should be treated as modal or not. (See available options below). When set to "n" the system will force the feedrate values to be output every time a variable is encountered for the feedrate. When set to "y" the system will only output the feedrate value if the feedrate value is different than the previous value output.
Available Options:
y - This setting turns on modality for the feedrate variables
n - This setting turns off modality for the feedrate variables
Block 536. Force All Codes To Upper Case?
This post question sets the posting engine to convert all codes and characters output to be upper case/capitol letters. This is necessary for some controllers as they only read Capitol letters and all lower case letters will be omitted when sending or opening a file on the CNC controller.
Available Options:
y - This setting turns sets the posting engine to force that all characters will be upper case/capitol letters.
n - This setting turns sets the posting engine to ignore the case and output all characters as they are.
Block 540. Check Each Output Line With Scripting?
This post question when set to "y" sets the posting engine to call scripting block 2102 after every postline is processed. This allows the post writer to create and run a scripting block after each line of code is added to the NC file.
Available Options:
y - Sets the posting engine to call block 2102 after each NC line is output.
n - This setting ignores block 2102. (Default Setting)
NOTE: Using this option can slow down the generation of NC files. This option should only be used when absolutely necessary, and with very efficient scripting code.
Block 550. Break Arc Segments Into Lines?
This post question enables a function of the posting engine to break arc motion into linear segments. This can be used to remove some arc motion or all arc motion depending on the setting of post question: 319. When arc motion is broken into line segments, the tolerance used by the posting engine is defined on post question: 320.
Available Options:
y - Sets the posting engine to break arc motion into line segments. Post questions 319 and 320 must be defined appropriately.
n - This setting does not break up arc motion.
Block 551. Break Line Segments Into Smaller Lines?
This post question when set to "y" sets the posting engine to break all linear segments in the NC file into segments that are shorter than the length defined on post question: 321.
Available Options:
y - Sets the posting engine to call break line segments into smaller lines based on the length defined on post question: 321
n - This setting does not break linear motion.
Block 552. Support Only G17 Arcs?
This post question when set to "y" sets the posting engine to only support arc motion output for the G17 (XY) plane. All other arc motion will be broken up into linear motion.
Available Options:
y - Sets the posting engine to only support arc motion in the G17 (XY) plane.
n - This setting sets the posting engine to support arcs in G17 (XY), G18 (XZ), and G19 (YZ) planes.
Block 553. Break Helix Into Lines?
This post question when set to "y" sets the posting engine to break all helical (3 axis arcs) motion into linear segments. Typically used for machines that do not support helical motion.
Available Options:
y - Sets the posting engine to breakup helical motion into linear segments.
n - This setting allows helix motion to be output into the NC file.
Block 554. Convert Small Arcs Into Line Move?
This post question determines if the posting engine should replace very small arc moves with a single linear segment. The length of arc move that is to be replaced when this option is set to "y" is defined on post question: 555.
Available Options:
y - Sets the posting engine to replace arc moves that are shorter than the defined value (post question 555.) with a line move.
n - This posting engine will output the small arc move.
Block 555. Small Arc Length To Break?
This post question defines the length of the arc segment that is used by the posting engine to determine if the arc should be replaced by a linear move based on the setting of post question: 554. The input to this question is an Double/Decimal number.
NOTE: Do not use a large value in this posting option or incorrect part geometry may result. This value is intended for small arc moves with a size around .005 (inch) and smaller.
Block 556. Break Arc segments for Posting Modes
This Post question controls the output of the arc for different Posting modes. With this Post question, the arcs move can be broken into line moves for specific Posting modes and not break the arcs to line moves for the other Posting Modes. If post question 550 (Break arc segments into lines?) is set to 'y', then this Post question 556 will be ignored considering that machine controller doesn't accept arc moves. This block was added to BobCAD-CAM V35 and BobCAM for SOLIDWORKS V10 SP1.
To use this Post question 556, the Post question 550 has to be set to 'n'
556. Arc break rule based on posting mode?
The following are the valid input values for Post question 556:
0 = no extra rule and will use post block 550
1= TCP
2=Machine Comp in Z only
4=Hybrid Comp
8= No Comp
16= Origin Tracking
The combinations of rules can be used by adding the values of several options together. For instance, using a value of 3 will be the same as using values 1 and 2. So arcs are not outputting while using TCP or Machine Comp in Z only. With this post question, you should be able to utilize arcs wherever possible, while avoiding them where necessary.
The Posting modes for a program can be set by choosing the options in the "Move List Coordinates" section (2) found on the "Multiaxis Posting" page(1) in the "Current settings" of a Machine.
Block 557. Drill Cycle Reference Plane Type?
This post question defines R-value definitions for drilling canned cycles. The variable reference_plane outputs the reference place for drilling canned cycles and returns the position of the feed plane with respect to the part's origin. Since certain controllers interpret this value differently, this post question will allow you to set it as an absolute position in reference to the machine setup, or as an incremental distance. This will also allow you to determine whether the incremental distance can be output as a negative value, or whether it should always be a positive value. This block was added to BobCAD-CAM V36 and BobCAM for SOLIDWORKS V11.
Available Options:
0 - Absolute Position - sets the reference plane as an absolute position in reference to the machine setup.
1 - Signed Incremental - sets the reference plane as an incremental distance between the rapid plane (initial plane) and the feed plane (reference plane). The sign of the value (Negative or Positive) shows the direction of the movement.
2 - Unsigned Incremental - sets the reference plane as an incremental distance between the rapid plane (initial plane) and the feed plane (reference plane). Only positive values are output.
Block 558. Allow Nested Comment?
This Post question controls whether output of comments inside other comments is allowed. Since comments are recognized by a particular prefix by controllers, this post question allows you to replace the prefix of a nested comment in cases where a controller may not allow comments inside of other comments. In this way we can retain the same data while avoiding a potential error on the controller. (See available options below). When set to "n" the system will replace the prefixes of the nested comment with the prefix defined in post question 559. When set to "y" the system will allow a comment inside another to use the same prefix as the comment it is inside of. This block was added to BobCAD-CAM V36 and BobCAM for SOLIDWORKS V11.
Available Options:
y - This setting allows for a comment inside another to use the same prefix. Ex: (FEATURE MILL HOLE (THROUGH HOLE) - 0.1250)
n - This setting replaces the prefix of a nested comment with the comment replacement string defined in post question 559. Ex: (FEATURE MILL HOLE *THROUGH HOLE* - 0.1250)
In the above example the replacement string in question 559 is set to "*".
Block 559. Nested Comment Replacement String?
This Post question controls what the prefix of a nested comment should be replaced with. Since comments are recognized by a particular prefix by controllers, this post question allows you to replace the prefix of a nested comment in cases where a controller may not allow comments inside of other comments. In this way we can retain the same data while avoiding a potential error on the controller. When post question 558 is set to "Y", this block will replace the prefix of the nested comment with the replacement string defined in this post question. This block was added to BobCAD-CAM V36 and BobCAM for SOLIDWORKS V11.
Block 560. Allow Multiple Revolution Helical Move?
This Post question controls whether output of a multiple revolution helical move is allowed. With this Post question, both 3D arc output and multiple revolution helical moves can be output. (See available options below). When set to "n" the system will force multiple arcs to be created for the helix. When set to "y" the system will only output a helix described with a total angle and pitch. This block was added to BobCAD-CAM V36 and BobCAM for SOLIDWORKS V11.
Available Options:
y - This setting turns on helical output and references questions 733 and 734 for total angle and pitch data.
n - This setting turns off helical output.