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:

2D High Speed Parameter Call out


Recommended Posts

3 minutes ago, huskermcdoogle said:

Try this mod in your post block, seems to work in my post.


pHighSpeedNotes
   
   if op_type_hsm = prv_op_type_hsm, *shsname, e$
   else, shsname, e$
   op_type_hsm = 9

 



I got an error message, such as..

11 Jul 2017 10:37:32 AM - RUN TIME -PST(6380)- The value of the string select selection variable is out of range:9

   if op_type_hsm = prv_op_type_hsm, *shsname, e$
   else, shsname, e$  ====================> this line is 6380

=====GCODE======

N1( 2.0000,2.000 SHELL MILL, CB, .005RAD, USED TOOL,)
(3FLTS .500LOC, 2.00LOH)
(SEMT13TAGSN-JM VP15TF INSERT TYPE)
G0 G17 G40 G49 G80 G90
G91 G28 Z0 M19
G28 Y0 (DYNAMIC MILL) ========================WRONG NOTE
T1 M6(2D TOOLPATHS - POCKET, CUT#2)
G90 G54 X1. Y2.
S6500 M3(XY STK= -.125)
(.7 STEPOVER, .005 FINISH)
(.0087 - .0175 PER RAMP)
G43 H1 Z1. T2 M8(DOC= Z0.)
Z.0625
G1 Z0. F5.
X.8801 Y-.88 F50.
G0 Z1.
G91 G28 Z0. M9
/G28 Y0. M5
M1
(*)
N2( .7500,3/4 EM, CB, ROUGHER,)
(4FLTS 1.500LOC, 1.63LOH)
G0 G17 G40 G49 G80 G90
G91 G28 Z0 M19
G28 Y0 (DYNAMIC MILL) ========================RIGHT NOTE
T2 M6(ROUGH OUT TOP ISLAND, CUT#3)
G90 G54 X1.7584 Y-2.698
S7500 M3(XYZ STK= .015)
G43 H2 Z1. T10 M8(DOC= Z-.1099)
Z.3125
G1 Z-.1099 F5.
X1.736 Y-2.6435 F75.
X2.3565 Y-1.7084
G0 Z1.
G91 G28 Z0. M9
/G28 Y0. M5
M1
(*)
N10( .5000,1/2 SPOTTER, HSS, 90.DEGS,)
(2FLTS .250LOC, .251LBS, 1.00LOH)
G0 G17 G40 G49 G80 G90
G91 G28 Z0 M19
G28 Y0 (DYNAMIC MILL) ========================WRONG NOTE
T10 M6(SPOT 1X CENTER 3D ARC RELIEF HOLE, CUT#4)
G90 G54 X2.9 Y-1.4241
S4500 M3
G43 H10 Z1. T12 M8(DOC= Z-.05)
G99 G81 Z-.05 R.125 F5.
G80
(*)
N1002(SPOT 2X .257, CUT#5)
G0 G90 G54
S4500 M3 (DYNAMIC MILL)
G43 H10 Z1.(DOC=Z-.255)
X3.0969 Y-.9965
Z.125
G99 G81 Z-.255 R.125 F10.
Y-2.0077
G80
Z1.
G91 G28 Z0. M9
/G28 Y0. M5
M1

Link to comment
Share on other sites

You can't just rely on only the parameter$ code. You need to add some logic to check and see "what type" of Operation is being processed, and only if it is a 2D HST Op, do you output the code.

Your trick with a "blank string" for the 10th string in the list might work under some conditions, but it isn't really a "clean" way to go about doing this.

We've kind of gotten off track here a bit. You've got both a "Post Block" and the "Target String" as an output line. I'd do either 1, or the other. In this case, you shouldn't need a Post Block at all, unless you want to calculate something.

I don't have the documentation in front of me, but you should use the variable 'tool_op$' to determine "what kind of Op is processing", and use that to determine "if that entire line should be output, or not".

       if tool_op$ = 55 | tool_op$ = 66 | (tool_op$ > 66 & tool_op$ < 72), shsname, e$
                                                                         

 

NOTE: That code is not correct. I set up the logic as an example only, showing how you could test for a specific 'tool_op$' number, or test for a "range" of numbers". You need to look up the "correct" values in the documentation, and modify the line accordingly.

  • Like 2
Link to comment
Share on other sites
31 minutes ago, Colin Gilchrist said:

You can't just rely on only the parameter$ code. You need to add some logic to check and see "what type" of Operation is being processed, and only if it is a 2D HST Op, do you output the code.

Your trick with a "blank string" for the 10th string in the list might work under some conditions, but it isn't really a "clean" way to go about doing this.

We've kind of gotten off track here a bit. You've got both a "Post Block" and the "Target String" as an output line. I'd do either 1, or the other. In this case, you shouldn't need a Post Block at all, unless you want to calculate something.

I don't have the documentation in front of me, but you should use the variable 'tool_op$' to determine "what kind of Op is processing", and use that to determine "if that entire line should be output, or not".


       if tool_op$ = 55 | tool_op$ = 66 | (tool_op$ > 66 & tool_op$ < 72), shsname, e$
                                                                         

 

NOTE: That code is not correct. I set up the logic as an example only, showing how you could test for a specific 'tool_op$' number, or test for a "range" of numbers". You need to look up the "correct" values in the documentation, and modify the line accordingly.

Hi Colin,
   I looked into the PARAMETER PDF, there is no TOOL_OP$ for 2D HIGH SPEED toolpaths. Is there another documentation saying about 2D HIGH SPEED TOOLS PATH for TOOL_OP$?

 

Tool_Op$ is only for CONTOUR, POCKET, DRILL, TAP, any traditional toolpaths but not the 2D high speed as i saw in the document.

PS: This is what I found, and it worked

if tool_op$ = 134, *shsname, e$    #High Speed toolpaths only

Thank you for your help, Colin.

 

Link to comment
Share on other sites

Well what I had done worked fine... I had the same issue he had, and found the solution was to type out the changes to the string select, then it will work right, intsead of It's in the NCI reference doc.

 

PC Robotic, pm me your post, I can get it working for you and make a comparison.

 

 

Link to comment
Share on other sites
1 hour ago, Colin Gilchrist said:

Your trick with a "blank string" for the 10th string in the list might work under some conditions, but it isn't really a "clean" way to go about doing this.

I would agree its not really clean, it might suffer during an version update.  Otherwise, should work fine.  

If tool_op$ = 134 is valid for all 2d high high speed ops, I agree that would be a good way to force output.  Documentation isn't super clear on which ops that is valid for.

Hope you are all squared away now.

 

Link to comment
Share on other sites
11 hours ago, huskermcdoogle said:

Try this mod in your post block, seems to work in my post.


pHighSpeedNotes
   
   if op_type_hsm = prv_op_type_hsm, *shsname, e$
   else, shsname, e$
   op_type_hsm = 9

 

Hi Husker,
   I tried on mine and it gave me an error message of "OUT OF RANGE" for the op_type_hsm = 9, on the other hand Colin's suggestion worked beautifully.  Thank you for your input, Husker, your work has opened my eyes how to define things in selecting strings.

  • Like 1
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...