Jump to content

Welcome to eMastercam

Register now to participate in the forums, access the download area, buy Mastercam training materials, post processors and more. This message will be removed once you have signed in.

Use your display name or email address to sign in:

STOCK TO LEAVE


Recommended Posts

Hi,

I just found out that "RADIAL" is not showed up for STOCK TO LEAVE. Do you guys know why? Like I have other 3D toolpaths, they would show STOCK TO LEAVE ON WALL or FLOOR if I input into the boxed that MASTERCAM allows us.

 

 

On RADIAL, the program works fine and it just not showing STOCK TO LEAVE all though I programmed it to leave on DRIVE .01, CHECK .005 and now thing showed up in the comment

 

 

Here is my post block, thanks for your help.

---------------------------------

 

pstock # Comment amount of stock to leave

spaces$=0

if (opcode$=13 | opcode$=14),

[

if opcode$ = 13 & hst_flg, n$, pspc, scomm_str, "3D= ", *sopnotehst, scomm_end, e$

else, n$, pspc, scomm_str, "3D= ", *stoper, scomm_end, e$

if tool_op$ = 132,

[

n$, pspc, scomm_str, "3D XY STK= ", *stock_walls, scomm_end, e$

n$, pspc, scomm_str, "3D Z STK= ", *stock_floors, scomm_end, e$

]

else,

[

if check & stock<>0, n$, pspc, scomm_str, "3D XY STK= ", *stock, scomm_end, e$

if check & stock<>0, n$, pspc, scomm_str, "3D Z STK= ", *check, scomm_end, e$

]

hst_flg = 0

]

if stockleft,

[

if opcode$ = 1 | opcode$ = 2,

[

if stock1<>0, pbld, n$, scomm_str, "Z STK= ", *stock1, scomm_end, e$

if stock<>0, pbld, n$, scomm_str, "XY STK= ", *stock, scomm_end, e$

]

if opcode$ = 19 & stock2<>0, pbld, n$, scomm_str, "Z STK= ", *stock2, scomm_end, e$

if opcode$ = 4 & stock<>0, pbld, n$, scomm_str, "XY STK= ", *stock, scomm_end, e$

]

spaces$=sav_spc

Link to comment
Share on other sites
  • 3 weeks later...

I tried to look and I think it is staying at this area below and I still having problem for it to call out the STOCK TO LEAVE for RADIAL:

 

 

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

fstrsel sdr00 nextdc$ sdrnote 20 -1

# --------------------------------------------------------------------------

#Tool_Op String Select

 

stop00 : "None"

stop01 : "Contour"

stop02 : "Drill"

stop03 : "Pocket"

stop04 : "Transform"

stop05 : "Multi-surface rough parallel"

stop06 : "Multi-surface rough radial"

stop07 : "Multi-surface rough project"

stop08 : "Multi-surface rough flowline"

stop09 : "Multi-surface rough contour"

stop10 : "Multi-surface rough pocket"

stop11 : "Multi-surface finish parallel"

stop12 : "Multi-surface finish radial"

stop13 : "Multi-surface finish project"

stop14 : "Multi-surface finish flowline"

stop15 : "Multi-surface finish contour"

stop16 : "For C-Hook-created operations"

stop17 : "Manual entry"

stop18 : "None"

stop19 : "Point"

stop20 : "Trimmed"

stop21 : "Ruled"

stop22 : "Revolved"

stop23 : "Letters"

stop24 : "Swept 2D"

stop25 : "Swept 3D"

stop26 : "Coons"

stop27 : "Lofted"

stop28 : "5-Axis Drilling"

 

stool_op : "" #Target for string

 

fstrsel stop00 tool_op$ stool_op 29 -1

Link to comment
Share on other sites

Hi,

I just found out that "RADIAL" is not showed up for STOCK TO LEAVE. Do you guys know why? Like I have other 3D toolpaths, they would show STOCK TO LEAVE ON WALL or FLOOR if I input into the boxed that MASTERCAM allows us.

 

 

On RADIAL, the program works fine and it just not showing STOCK TO LEAVE all though I programmed it to leave on DRIVE .01, CHECK .005 and now thing showed up in the comment

 

Yepp, mpmaster is a good post and a good starting point. But the little details... Well, not developed correctly or 100%.

Like the "pccdia" on a circle movement... I used to work on many machines, but none of them can accomplish G41/G42 with G2/G3. Just a sidenote.

 

Anyhow Steven, "radial", what radial? Which toolpath strategy we talking'bout here?

Link to comment
Share on other sites

Here what I made before, just for fun. Yes, this is the proper solution (X7). Maybe someone will find it here once and it will be a good point to start... Or...

DO NOT copy/paste directly into your post, I just wanna show an example, which work with every toolpath in every case.

The answer may hidden somewhere here... :)

 

Definitions:

OpLastOp_id : 0 # OP tracking ID
OpDrillPoints : 0 # Number of Drill Points
OpStock_XY : 0 # OP stock on XY or drive surfaces
OpStock_Z : 0 # OP stock on Z
OpStock_F : 0 # Facing OP stock on face
OpStock_C : 0 # Surface OP stock on check surface
OpStock_Wall : 0 # OP stock on 3D HSM Wall
OpStock_Floor : 0 # OP stock on 3D HSM Floor
OpStock_HSM_C : 0 # OP stock on 3D HSM Check
OpCompSide : 0 # OP Cutting Side
Op2D_HSM_Style : 0 # 2D HSM OP Type
Op3D_HSM_Style : 0 # 3D HSM OP Type
OpContType : 0 # 2D Contour OP Type
OpPockType : 0 # 2D Pocket OP Type
OpPockCutDir : no$ # 2D Pocket OP Cutting direction
OpFaceType : 0 # 2D Facing OP Type
OpPockStepO : 0 # Pocket OP StepOver in mm
OpPockStepO_P : 0 # Pocket OP StepOver in percentage
OpDepthCuts : no$ # 2D Operations - Depth cuts ON/OFF
OpDepthCuts_D : 0 # 2D Operations - Depth cuts rough value
OpMultiPass : no$ # 2D Operations - Multipass cuts ON/OFF
OpMultiPass_SO : 0 # 2D Operations - Multipass cuts step
OpMultiPass_N : 0 # 2D Operations - Multipass number of passes
OpHSMCutDir : no$ # HSM OP Cutting direction
OpHSMStepO : 0 # 2D HSM Stepover
OpHSMStepO_2 : 0 # 2D HSM Stepover - 2
OpThrdType : 0 # Thread mill type, RH/LH
OpThrdSide : 0 # Thread mill side, ID/OD
Op3DStep_O : 0 # Multisurface OP Stepover
Op3DStep_D : 0 # Multisurface OP Stepdown
Op3DFlowTyp : no$ # Multisurface Rough/Finish OP Flowline Type (Across)
Op3DFlow_AD : 0 # Multisurface Rough/Finish OP Flowline Across distance
Op3DFlow_SH : 0 # Multisurface Rough/Finish OP Flowline Scallop height
Op3DContFlat : 0 # Multisurface Rough/Finish OP Contour use Flat
Op3DContFlat_SO : 0 # Multisurface Rough/Finish OP Contour Stepover on Flats
Op3DRest_SO : 0 # Multisurface Rough Rest OP Stepover
Op3DPencil : 0 # Multisurface Finsih Pencil OP StepType
Op3DPen_P : 0 # Multisurface Finsih Pencil OP Passes total number
Op3DPen_SO : 0 # Multisurface Finsih Pencil OP Stepover
Op3DBlend_SO : 0 # Multisurface Finsih B OP Blend Stepover
Op3DHSMStepO : 0 # 3D HSM Stepover
Op3DHSMStepO_2 : 0 # 3D HSM Stepover - 2
Op3DHSMStep_D : 0 # 3D HSM Stepdown
OpDrlTipComp : 0 # Drill OP Tip compensation length
OpDrlTipComp_ON : no$ # Drill OP Tip compensation enabled
OpBrkTrghLen : 0 # Operation Breaktrough length
OpBrkTrghLen_ON : no$ # Operation Breaktrough enabled

fmt "Z" 25 OpDepth	 # Operation full depth, Z level
fmt 4 OpDrillPoints # Number of Drill Points
fmt 25 OpStock_XY "mm" # OP stock on XY or drive surfaces
fmt 25 OpStock_Z "mm" # OP stock on Z
fmt 25 OpStock_F "mm" # Facing OP stock on face
fmt 25 OpStock_C "mm" # Surface OP stock on check surface
fmt 25 OpStock_Wall "mm" # OP stock on 3D HSM Wall
fmt 25 OpStock_Floor "mm" # OP stock on 3D HSM Floor
fmt 25 OpStock_HSM_C "mm" # OP stock on 3D HSM Check
fmt 25 OpPockStepO "mm" # Pocket OP StepOver in mm
fmt 25 OpPockStepO_P "%" # Pocket OP StepOver in percentage
fmt 25 OpDepthCuts_D "mm" # 2D Operations - Depth cuts rough value
fmt 25 OpMultiPass_SO "mm" # 2D Operations - Multipass cuts step
fmt 4 OpMultiPass_N # 2D Operations - Multipass number of passes
fmt 25 OpHSMStepO "mm" # 2D HSM Stepover
fmt 25 OpHSMStepO_2 "mm" # 2D HSM Stepover - 2
fmt 25 Op3DStep_O "mm" # Multisurface OP Stepover
fmt 25 Op3DStep_D "mm" # Multisurface OP Stepdown
fmt 25 Op3DRadStep "mm" # Multisurface Rough/Finish OP Radial Step
fmt 25 Op3DFlow_AD "mm" # Multisurface Rough/Finish OP Flowline Across distance
fmt 25 Op3DFlow_SH "mm" # Multisurface Rough/Finish OP Flowline Scallop height
fmt 25 Op3DContFlat_SO "mm" # Multisurface Rough/Finish OP Contour Stepover on Flats
fmt 25 Op3DRest_SO "mm" # Multisurface Rough Rest OP Stepover
fmt 4 Op3DPen_P # Multisurface Finsih Pencil OP Passes total number
fmt 25 Op3DPen_SO "mm" # Multisurface Finsih Pencil OP Stepover
fmt 25 Op3DBlend_SO "mm" # Multisurface Finsih B OP Blend Stepover
fmt 25 Op3DHSMStepO "mm" # 3D HSM Stepover
fmt 25 Op3DHSMStepO_2 "mm" # 3D HSM Stepover - 2
fmt 25 Op3DHSMStep_D "mm" # 3D HSM Stepdown
fmt "Z" 25 OpThrdDpth # Thread Mill OP Depth
fmt "D" 25 OpThrdDia "mm" # Thread Mill OP Diameter
fmt 25 OpThrdPitch "mm" # Thread Mill OP Pitch
# -------------------------------------------------------------------------
# -------------------------------------------------------------------------
# Cutter Compensation Side
sComp_L : "LEFT"
sComp_R : "RIGHT"
sOpCompSide : ""
fstrsel sComp_L OpCompSide sOpCompSide 2 -1
# -------------------------------------------------------------------------
#Select operation note - 2D HSM
sHsm2D00 : "2D HSM CORE"
sHsm2D01 : "2D HSM PEEL"
sHsm2D02 : "2D HSM BLEND"
sHsm2D03 : "2D HSM AREA"
sHsm2D04 : "2D HSM REST"
sHsm2D05 : "2D DYNAMIC AREA"
sHsm2D06 : "2D DYNAMIC REST"
sHsm2D07 : "2D DYNAMIC CORE"
sHsm2D08 : "2D DYNAMIC CONTOUR"
sHsm2D09 : "----"
sHsm2D10 : "----"
sHsm2D11 : "----"
sHsm2D12 : "----"
sHsm2D13 : "----"
sHsm2D14 : "----"
sOpType_2D_HSM : ""
fstrsel sHsm2D00 Op2D_HSM_Style sOpType_2D_HSM 15 -1
# -------------------------------------------------------------------------
#Select operation note - 3D HSM
sHsm3D00 : "3D HSM CORE ROUGH"
sHsm3D01 : "3D HSM AREA CLEARANCE"
sHsm3D02 : "3D HSM WATERLINE"
sHsm3D03 : "3D HSM SCALLOP"
sHsm3D04 : "3D HSM HORIZONTAL AREA"
sHsm3D05 : "3D HSM RASTER"
sHsm3D06 : "3D HSM PENCIL"
sHsm3D07 : "3D HSM HYBRID"
sHsm3D08 : "-----"
sHsm3D09 : "3D HSM SPIRAL"
sHsm3D10 : "3D HSM RADIAL"
sHsm3D11 : "3D HSM REST ROUGH"
sHsm3D12 : "3D OPTIAREA"
sHsm3D13 : "3D OPTICORE"
sHsm3D14 : "3D OPTIREST"
sHsm3D15 : "3D HSM PROJECT"
sOpType_3D_HSM : ""
fstrsel sHsm3D00 Op3D_HSM_Style sOpType_3D_HSM 16 -1
# -------------------------------------------------------------------------
#Select operation note - Drill
sdr00 : "COUNTER BORE"
sdr01 : "PECK DRILL"
sdr02 : "CHIP BREAK"
sdr03 : "TAP"
sdr04 : "BORE #1"
sdr05 : "BORE #2"
sdr06 : "FINE BORE"
sdr07 : "MISC #2"
sdr08 : "CUSTOM CYCLE 9"
sdr09 : "CUSTOM CYCLE 10"
sdr10 : "CUSTOM CYCLE 11"
sdr11 : "CUSTOM CYCLE 12"
sdr12 : "CUSTOM CYCLE 13"
sdr13 : "CUSTOM CYCLE 14"
sdr14 : "CUSTOM CYCLE 15"
sdr15 : "CUSTOM CYCLE 16"
sdr16 : "CUSTOM CYCLE 17"
sdr17 : "CUSTOM CYCLE 18"
sdr18 : "CUSTOM CYCLE 19"
sdr19 : "CUSTOM CYCLE 20"
sDrlOp : ""
fstrsel sdr00 nextdc$ sDrlOp 20 -1
# -------------------------------------------------------------------------
#Tool_Op String Select
stop00 : "None"
stop01 : "Contour"
stop02 : "Drill"
stop03 : "Pocket"
stop04 : "Transform"
stop05 : "Surface Rough Parallel"
stop06 : "Surface Rough Radial"
stop07 : "Surface Rough Project"
stop08 : "Surface Rough Flowline"
stop09 : "Surface Rough Contour"
stop10 : "Surface Rough Pocket"
stop11 : "Surface Finish Parallel"
stop12 : "Surface Finish Radial"
stop13 : "Surface Finish Project"
stop14 : "Surface Finish Flowline"
stop15 : "Surface Finish Contour"
stop16 : "For C-Hook-created operations"
stop17 : "Manual entry"
stop18 : "None"
stop19 : "Point"
stop20 : "Trimmed"
stop21 : "Ruled"
stop22 : "Revolved"
stop23 : "Letters"
stop24 : "Swept 2D"
stop25 : "Swept 3D"
stop26 : "Coons"
stop27 : "Lofted"
stop28 : "5-Axis Drilling"
stop29 : "NONE"
stop30 : "NONE"
stop31 : "NONE"
stop32 : "NONE"
stop33 : "NONE"
stop34 : "NONE"
stop35 : "NONE"
stop36 : "NONE"
stop37 : "NONE"
stop38 : "NONE"
stop39 : "Surface Finish Pencil"
stop40 : "Surface Finish Leftover"
stop41 : "Surface Finish Parallel Steep"
stop42 : "Surface Finish Shallow"
stop43 : "Surface Finish Scallop"
stop44 : "Surface Rough Plunge"
stop45 : "NONE"
stop46 : "NONE"
stop47 : "NONE"
stop48 : "NONE"
stop49 : "NONE"
sSurf_Op : ""
fstrsel stop00 tool_op$ sSurf_Op 50 -1
# -------------------------------------------------------------------------
# Contour Type
sCont00 : "2D"
sCont01 : "3D"
sCont02 : "2D Chamfer"
sCont03 : "3D Chamfer"
sCont04 : "Ramp"
sCont05 : "Remachining"
sCont06 : "Oscillate"
sContOpType : ""
fstrsel sCont00 OpContType sContOpType 7 -1
# -------------------------------------------------------------------------
# Pocket Type
sPock00 : "Standard"
sPock01 : "Facing"
sPock02 : "Island Facing"
sPock03 : "Remachining"
sPock04 : "Open"
sPockOpType : ""
fstrsel sPock00 OpPockType sPockOpType 5 -1
# -------------------------------------------------------------------------
# Facing Type
sFace00 : "ZigZag"
sFace01 : ""
sFace02 : ""
sFace03 : "One Pass"
sFace04 : "One Way"
sFace05 : "Dynamic"
sFaceOpType : ""
fstrsel sFace00 OpFaceType sFaceOpType 6 -1
# -------------------------------------------------------------------------

 

 

Postblocks:

pOperationInfo
sav_spc = spaces$
spaces$ = 0
#pCheckOpValues
"( *** Operation Basic Info *** )", e$
#"()", e$
#*opcode$, e$
#*tool_op$, e$
#"()", e$
# Contour Operations
if (opcode$ = 1 | opcode$ = 2) & tool_op$ = 1, pContourOp
# 2D HSM Operations
if opcode$ = 2 & tool_op$ = 134, pHSMOp_2D
# Drill Operations
if opcode$ = 3, pDrillOp
# Pocket Operations
if opcode$ = 4, pPocketOp
# Circmill Operations
if opcode$ = 2 & (tool_op$ = 18 | (tool_op$ > 99 & tool_op$ < 107)), pCircMillOp
# Facing Operations
if opcode$ = 19, pFacingOp
# Multisurface Operations
if (opcode$ = 13 | opcode$ = 14) & tool_op$ < 132, pMultiSurfOp
# HSM Multisurface Operations
if opcode$ = 13 & tool_op$ = 132, pHSMOp_3D
"( **************************** )", e$
spaces$ = sav_spc

pContourOp # Contour Operations
"( Operation Type: Contour - ", *sContOpType, " )", e$
"( DOC = ", *OpDepth, " )", e$
if OpDepthCuts & OpDepthCuts_D <> 0, "( Maximum Depth Cuts: ", *OpDepthCuts_D, " )", e$
if OpMultiPass, "( Multipass Cuts: ", *OpMultiPass_N, " Cuts by ", *OpMultiPass_SO, " )", e$
if OpStock_XY <> 0, "( Stock to leave on XY: ", *OpStock_XY, " )", e$
if OpStock_Z <> 0, "( Stock to leave on Z: ", *OpStock_Z, " )", e$
"( Cutter Compensation: ", *scomp_type, " )", e$
"( Compensation Side: ", *sOpCompSide, " )", e$
pHSMOp_2D # 2D HSM Operations
"( Operation Type: ", *sOpType_2D_HSM, " )", e$
"( DOC = ", *OpDepth, " )", e$
if Op2D_HSM_Style = 0 | Op2D_HSM_Style = 3, "( Maximum Stepover: ", *OpHSMStepO_2, " )", e$
else, "( Maximum Stepover: ", *OpHSMStepO, " )", e$
if OpDepthCuts & OpDepthCuts_D <> 0, "( Maximum Depth Cuts: ", *OpDepthCuts_D, " )", e$
if OpStock_XY <> 0, "( Stock to leave on XY: ", *OpStock_XY, " )", e$
if OpStock_Z <> 0, "( Stock to leave on Z: ", *OpStock_Z, " )", e$
#"( Cutter Compensation: ", *scomp_type, " )", e$
#"( Compensation Side: ", *sOpCompSide, " )", e$
#if OpHSMCutDir = no$, "( Cutting Direction: Climb )", e$
#if OpHSMCutDir = yes$, "( Cutting Direction: Conventional )", e$
pDrillOp # Drill Operations
"( Operation Type: ", *sDrlOp, " )", e$
"( Drilling Depth: ", *OpDepth, " )", e$
"( Number of Holes: ", *OpDrillPoints, " )", e$
if drl_sel_tos$ < 0,
[
[if mprint("Drilling R plane below Top of Stock!!!", 2) = 2, exitpost$]
]
pPocketOp # Pocket Operations
"( Operation Type: Pocket - ", *sPockOpType, " )", e$
"( DOC = ", *OpDepth, " )", e$
"( Rough Stepover: ", *OpPockStepO, ", ", *OpPockStepO_P, " )", e$
if OpDepthCuts & OpDepthCuts_D <> 0, "( Maximum Depth Cuts: ", *OpDepthCuts_D, " )", e$
if OpStock_XY <> 0, "( Stock to leave on XY: ", *OpStock_XY, " )", e$
if OpStock_Z <> 0, "( Stock to leave on Z: ", *OpStock_Z, " )", e$
if OpPockCutDir = yes$, "( Cutting Direction: Climb )", e$
if OpPockCutDir = no$, "( Cutting Direction: Conventional )", e$
pCircMillOp # Circmill Operations
if tool_op$ = 18, "( Operation Type: Circle Mill )", e$
if tool_op$ = 100, "( Operation Type: Threadmill )", e$
if tool_op$ = 105, "( Operation Type: Slot Milling )", e$
if tool_op$ = 106, "( Operation Type: Helix Bore )", e$
if tool_op$ <> 100, "( DOC = ", *OpDepth, " )", e$
else,
[
"( Thread Type: ", [if OpThrdType = 0, "Right", else, "Left"], [if OpThrdSide = 0, " - ID", else, " - OD"], " Thread )", e$
"( Thread Depth = ", *OpThrdDpth, " )", e$
"( Thread Diameter = ", *OpThrdDia, " )", e$
"( Thread Pitch = ", *OpThrdPitch, " )", e$
if OpMultiPass, "( Multipass Cuts: ", *OpMultiPass_N, " Cuts by ", *OpMultiPass_SO, " )", e$
]
if OpDepthCuts & OpDepthCuts_D <> 0, "( Maximum Depth Cuts: ", *OpDepthCuts_D, " )", e$
if OpStock_XY <> 0, "( Stock to leave on XY: ", *OpStock_XY, " )", e$
if OpStock_Z <> 0 & opcode$ <> 19, "( Stock to leave on Z: ", *OpStock_Z, " )", e$
"( Cutter Compensation: ", *scomp_type, " )", e$
if tool_op$ <> 100, "( Compensation Side: ", *sOpCompSide, " )", e$
pFacingOp # Facing Operations
"( Operation Type: Facing - ", *sFaceOpType, " )", e$
"( DOC = ", *OpDepth, " )", e$
if OpDepthCuts & OpDepthCuts_D <> 0, "( Maximum Depth Cuts: ", *OpDepthCuts_D, " )", e$
if OpStock_F <> 0, "( Stock to leave on Face: ", *OpStock_F, " )", e$
pMultiSurfOp # Multisurface Operations
if tool_op$ < 50, "( Operation Type: ", *sSurf_Op, " )", e$
if Op3DStep_O <> 0,
[
"( Maximum Stepover: ", *Op3DStep_O, " )", e$
Op3DStep_O = 0
]
# Radial Rough/Finish
if tool_op$ = 6 | tool_op$ = 12,
[
Op3DRadStep = Op3DRadStep / deg2rad$
"( Radial Angle Step: ", *Op3DRadStep, " )", e$
]
# Flowline Rough/Finish
if tool_op$ = 8 | tool_op$ = 14,
[
if Op3DFlowTyp, "( Stepover Distance: ", *Op3DFlow_AD, " )", e$
else, "( Scallop Height: ", *Op3DFlow_SH, " )", e$
]
# Contour Rough/Finish
if tool_op$ = 9 | tool_op$ = 15,
[
if Op3DContFlat > 1, "( Stepover on Flat areas: ", *Op3DContFlat_SO, " )", e$
"( Maximum Stepdown: ", *Op3DStep_D, " )", e$
]
# Pocket Rough
if tool_op$ = 10, "( Stepover Distance: ", *OpPockStepO, ", ", *OpPockStepO_P, " )", e$
# Pencil Finish
if tool_op$ = 39,
[
if Op3DPencil = 0, "( Only one pencil pass! )", e$
if Op3DPencil = 1, "( Number of total passes: ", *Op3DPen_P, " )", e$
if Op3DPencil = 2, "( Stepover Distance: ", *Op3DPen_SO, " )", e$
]
# Restmill Rough
if tool_op$ = 107,
[
"( Operation Type: Surface Rough Restmill )", e$
"( Stepover Distance: ", *Op3DRest_SO, " )", e$
]
# Blend Finish
if tool_op$ = 109,
[
"( Operation Type: Surface Finish Blend )", e$
"( Stepover Distance: ", *Op3DBlend_SO, " )", e$
]
if opcode$ = 14 & tool_op$ <> 9, "( Maximum Stepdown: ", *Op3DStep_D, " )", e$
if OpStock_XY <> 0, "( Stock to leave on Drive: ", *OpStock_XY, " )", e$
if OpStock_C <> 0, "( Stock to leave on Check: ", *OpStock_C, " )", e$
pHSMOp_3D # HSM Multisurface Operations
"( Operation Type: ", *sOpType_3D_HSM, " )", e$
if Op3D_HSM_Style < 2 | Op3D_HSM_Style = 4, "( Maximum Stepover: ", *Op3DHSMStepO, " )", e$
if Op3D_HSM_Style = 3 | Op3D_HSM_Style = 5 | (Op3D_HSM_Style > 8 & Op3D_HSM_Style < 15), "( Maximum Stepover: ", *Op3DHSMStepO_2, " )", e$
# HSM Pencil
if Op3D_HSM_Style = 6,
[
"( Maximum 3D Stepover: ", *Op3DHSMStepO_2, " )", e$
]
# HSM Hybrid
if Op3D_HSM_Style = 7,
[
"( Maximum Z Stepdown: ", *Op3DHSMStep_D, " )", e$
"( Maximum 3D Stepover: ", *Op3DHSMStepO_2, " )", e$
]
if OpStock_Wall <> 0, "( Stock to leave on Wall: ", *OpStock_Wall, " )", e$
if OpStock_Floor <> 0, "( Stock to leave on Floor: ", *OpStock_Floor, " )", e$
if OpStock_HSM_C <> 0, "( Stock to leave on Check: ", *OpStock_HSM_C, " )", e$

 

 

And...:

pparameter$	 #Read operation parameters
if prmcode$ = 10029, OpDepth = rpar(sparameter$, 1) # Operation full depth
 if prmcode$ = 15083, OpDrillPoints = rpar(sparameter$, 1) # Number of Drill Points
 if prmcode$ = 10010, OpStock_XY = rpar(sparameter$, 1)	 # OP stock on XY or drive surfaces
 if prmcode$ = 10068, OpStock_Z = rpar(sparameter$, 1) # OP stock on Z
 if prmcode$ = 10227, OpStock_C = rpar(sparameter$, 1) # Surface OP stock on check surface
 if prmcode$ = 12068, OpStock_F = rpar(sparameter$, 1) # Facing OP stock on face
 if prmcode$ = 12665, OpStock_Wall = rpar(sparameter$, 1) # OP stock on 3D HSM Wall
 if prmcode$ = 12666, OpStock_Floor = rpar(sparameter$, 1) # OP stock on 3D HSM Floor
 if prmcode$ = 12594, OpStock_HSM_C = rpar(sparameter$, 1) # OP stock on 3D HSM Check
 if prmcode$ = 15346, comp_type = rpar(sparameter$, 1) #Cutter compensation type - 0=computer, 1=control, 2=wear, 3=reverse wear, 4=off
 if prmcode$ = 15347, OpCompSide = rpar(sparameter$, 1) # OP Cutting Side
 if prmcode$ = 12713, Op2D_HSM_Style = rpar(sparameter$, 1) # 2D HSM OP Type
 if prmcode$ = 12628, Op3D_HSM_Style = rpar(sparameter$, 1) # 3D HSM OP Type
 if prmcode$ = 12014, OpContType = rpar(sparameter$, 1) # 2D Contour OP Type
 if prmcode$ = 10450, OpPockType = rpar(sparameter$, 1) # 2D Pocket OP Type
 if prmcode$ = 15564, OpPockCutDir = rpar(sparameter$, 1) # 2D Pocket OP Cutting direction
 if prmcode$ = 12051, OpFaceType = rpar(sparameter$, 1) # 2D Facing OP Type
 if prmcode$ = 10302, OpPockStepO = rpar(sparameter$, 1) # Pocket OP StepOver in mm
 if prmcode$ = 10414, OpPockStepO_P = rpar(sparameter$, 1) # Pocket OP StepOver in percentage
 if prmcode$ = 15211, OpDepthCuts = rpar(sparameter$, 1) # 2D Operations - Depth cuts ON/OFF
 if prmcode$ = 10065, OpDepthCuts_D = rpar(sparameter$, 1) # 2D Operations - Depth cuts rough value
 if prmcode$ = 15214, OpMultiPass = rpar(sparameter$, 1) # 2D Operations - Multipass cuts ON/OFF
 if prmcode$ = 15561, OpMultiPass_SO = rpar(sparameter$, 1) # 2D Operations - Multipass cuts step
 if prmcode$ = 15560, OpMultiPass_N = rpar(sparameter$, 1) # 2D Operations - Multipass number of passes
 if prmcode$ = 12956, OpHSMCutDir = rpar(sparameter$, 1) # HSM OP Cutting direction
 if prmcode$ = 12719, OpHSMStepO = rpar(sparameter$, 1) # 2D HSM Stepover
 if prmcode$ = 12974, OpHSMStepO_2 = rpar(sparameter$, 1) # 2D HSM Stepover - 2
 if prmcode$ = 12192, OpThrdDpth = rpar(sparameter$, 1) # Thread Mill OP Depth
 if prmcode$ = 12203, OpThrdDia = rpar(sparameter$, 1) # Thread Mill OP Diameter
 if prmcode$ = 12194, OpThrdPitch = rpar(sparameter$, 1) # Thread Mill OP Pitch
 if prmcode$ = 12204, OpThrdType = rpar(sparameter$, 1) # Thread mill type, RH/LH
 if prmcode$ = 12202, OpThrdSide = rpar(sparameter$, 1) # Thread mill side, ID/OD
 if prmcode$ = 10205, Op3DStep_O = rpar(sparameter$, 1) # Multisurface OP Stepover
 if prmcode$ = 12411, Op3DStep_D = rpar(sparameter$, 1) # Multisurface OP Stepdown
 if prmcode$ = 12103, Op3DRadStep = rpar(sparameter$, 1) # Multisurface Rough/Finish OP Radial Step
 if prmcode$ = 12117, Op3DFlowTyp = rpar(sparameter$, 1) # Multisurface Rough/Finish OP Flowline Type (Across)
 if prmcode$ = 12118, Op3DFlow_AD = rpar(sparameter$, 1) # Multisurface Rough/Finish OP Flowline Across distance
 if prmcode$ = 12119, Op3DFlow_SH = rpar(sparameter$, 1) # Multisurface Rough/Finish OP Flowline Scallop height
 if prmcode$ = 15505, Op3DContFlat = rpar(sparameter$, 1) # Multisurface Rough/Finish OP Contour use Flat
 if prmcode$ = 15506, Op3DContFlat_SO = rpar(sparameter$, 1) # Multisurface Rough/Finish OP Contour Stepover on Flats
 if prmcode$ = 12124, Op3DRest_SO = rpar(sparameter$, 1) # Multisurface Rough Rest OP Stepover
 if prmcode$ = 12449, Op3DPencil = rpar(sparameter$, 1) # Multisurface Finsih Pencil OP StepType
 if prmcode$ = 12424, Op3DPen_P = rpar(sparameter$, 1) # Multisurface Finsih Pencil OP Passes total number
 if prmcode$ = 12054, Op3DPen_SO = rpar(sparameter$, 1) # Multisurface Finsih Pencil OP Stepover
 if prmcode$ = 12302, Op3DBlend_SO = rpar(sparameter$, 1) # Multisurface Finsih Blend OP Stepover
 if prmcode$ = 12597, Op3DHSMStepO = rpar(sparameter$, 1) # 3D HSM Stepover
 if prmcode$ = 12579, Op3DHSMStepO_2 = rpar(sparameter$, 1) # 3D HSM Stepover
 if prmcode$ = 12578, Op3DHSMStep_D = rpar(sparameter$, 1) # 3D HSM Stepdown

 

Finally need to drop the "pOperationInfo" postblock call into the "ptlchg$" and "ptlchg0$" postblocks and let it run. (roughly...) :)

  • Like 3
Link to comment
Share on other sites

Peter good job copied and pasted into my archives of stuff. Thanks for sharing that.

 

Thank you Ron! These kind words are pushing me forward... ;)

And you're welcome!

Just a note, I went through on this, and I see, few things are still missing from this library, but when I decided to implement this on this way, then I focused on the new Dynamic path mostly.

But I think what I shared here, it can be a good starting point and easy to extend or improve or add other stuffs toolpaths.

:cheers:

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

Join us!

eMastercam - your online source for all things Mastercam.

Together, we are the strongest Mastercam community on the web with over 56,000 members, and our online store offers a wide selection of training materials for all applications and skill levels.

Follow us

×
×
  • Create New...