Colin Gilchrist

Verified Members
  • Content count

    6,347
  • Joined

  • Last visited

  • Days Won

    20

Colin Gilchrist last won the day on April 13

Colin Gilchrist had the most liked content!

Community Reputation

2,432 Excellent

About Colin Gilchrist

  • Rank
    Advanced Member

Profile Information

  • Gender
    Male

Uncategorized

  • Location
    South of Seattle

Recent Profile Visitors

8,210 profile views
  1. Colin Gilchrist

    Is there a way around Solidworks and Mastercam

    Have you read my Stickied Thread about "Setting the Control Definition Defaults"? If you do this, you can upgrade to a new version of Mastercam in about 5 minutes.
  2. Colin Gilchrist

    Assigning formula to variable

    The XYZ output variables are already tied to a Global Formula inside the encrypted portion of the Post. You need to contact your Reseller if you want help making this work inside your Post.
  3. Colin Gilchrist

    Tool list description

    Shane / Pete, I'd love to come down to do a little training, and help you get your Posts, Vericut, and possibly Probing setup. Let me know if that is something you'd still be interested in... Thanks, Colin
  4. Colin Gilchrist

    Tool list description

    double post...
  5. Colin Gilchrist

    Fidia

    Not a Fidia specifically, but plenty of 5X Head/Head Gantry Machines. What controller does it have?
  6. Colin Gilchrist

    Threadmill Operation Bug? WIerd quirk

    Threadmill has had some really weird stuff for a couple versions of Mastercam. In 2017, if you used "Incremental" for the Linking Parameters, it will treat the "Depth" as an actual 'Incremental from Geometry' value, and the Top of Stock as 'Incremental', but the Retract and Clearance values are Absolute values. So if you enter "0.25" for Retract, thinking "that will be .25 above my Geometry", nope, that's 0.25 Absolute!
  7. Colin Gilchrist

    Macro Loading, advice needed

    You are only limited to 750 characters, if you manually type them in. The Manual Entry Operation can be set to "read a text file on your computer, in a folder you choose", and that character limit won't apply. However, there is also another simple solution; just create multiple Manual Entry Operations in a row. Sure, it's annoying at first to do the work, but you could have a 'setup instructions' op, then a 'clear G10 lines' op, and an 'initialize machine variables' op. String 4 ME ops together, you've got 3,000 characters. If you need more text than 2 or 3 ME Ops can provide, just use the 'text file' option. It is really the best way to re-use code. BTW, there is also an 'edit' button for the text file, so you can still make edits on the fly, as needed.
  8. Colin Gilchrist

    Tool Description

    Typically, you can use the NCI predefined String Variable: strtool$ If that isn't the string you want, the 20,000 series parameters contain the Tool Data strings. It might be 20001, 20002, or 20003. (Other lines contain "space delimited numbers, in 'string' format"). For stings that have no predefined variable, you capture the value like this: First, define a String Variable to hold the value: stool1 : "" Then, add a line to 'pparameter$' Post Block: (Inside pparameter -) # make sure there are six space characters in front of the 'if' statement! if prmcode$ = 20003, stool1 = sparameter$
  9. Colin Gilchrist

    YCM 4th Axis Post Edit Help!

    Easy. Look for this switch in your Post: frc_cinit : yes$ change to: frc_cinit : no$ The variable name is "force 'C' initialize". (In the 4 Axis Posts, 'c$' is the 'Rotary Address Variable', even though it is typically configured to output either 'A' or 'B'.
  10. Colin Gilchrist

    macros and mastercam

    Yes, it does. VBScript is the available scripting tool. If you require more advanced capabilities than a script can provide, Mastercam has both a ".NET" interface (Net-hooks), and a full C++ API, if you really need access to "everything". VBScript can create and/or manipulate geometry, and more. There is a VBScript help file that actually installs with Mastercam by default. The name escapes me offhand, but it is something like "script56.chm", or something like that...
  11. Colin Gilchrist

    Mill-Turn Machine Recommendation

    You will not be disappointed if you purchase an Okuma. Okuma continues to be one of my favorite Machine Tool Builders, as the machines will hold their accuracy for many years.
  12. Colin Gilchrist

    Incremental contour

    By the way Pete, Just to finish up making this easy, you could also add the following to 'plinout': Original: plinout #Output to NC of linear movement - feed pcan1, pbld, n$, sgfeed, sgplane, `sgcode, sgabsinc, pccdia, pxout, pyout, pzout, pcout, `feed, strcantext, scoolant, e$ Modified 'plinout', with additional 'pinc_rot' Post Block added above: pinc_rot #Block to handle incremental or absolute B output #This block outputs 360 incremental B rotation, for special case if absinc$, "B360." else, pcout plinout #Output to NC of linear movement - feed pcan1, pbld, n$, sgfeed, sgplane, `sgcode, sgabsinc, pccdia, pxout, pyout, pzout, pinc_rot, `feed, strcantext, scoolant, e$
  13. Colin Gilchrist

    setup Post Processor

    Nayebi, Please provide a sample Mastercam file so someone can help you.
  14. Colin Gilchrist

    Incremental contour

    Hi Pete, The MP Language has tools available to break linear moves "automatically". I believe that this would work for you, to control the segment length, without having to enable the "fixed segment length" in the Operation. What specific Post is your Post based on? In the "Generic Posts" from CNC Software, there is usually a "motion setup" Post Block named 'pmotion_su', which lets you manipulate the "incoming data" from the NCI File. Here is a sample from MPFan: pmotion_su #Motion Setup (Set brklinestype & linarc) brklinestype$ = zero linarc$ = zero if rot_on_x, [ if cuttype = one, #Axis Substitution [ linarc$ = one #Linearize all arcs if rev_brkflag, #Break rotation flag (set in pcoutrev) [ brklinestype$ = 11 #Break all lines, use brklineslen$ for segment length #brklineslen$ = pi$ * rotdia$ #Break every 360 degrees brklineslen$ = pi$ * rotdia$ / four #Break every 90 degrees rev_brkflag = zero #Reset flag ] ] if cuttype = two, #Polar [ brklinestype$ = rotary_axis$ + three linarc$ = one ] ] You'll notice the first two lines in this Post Block, reset the Command Variable for 'brklinestype$', and 'linarc$'. (setting both to 'zero', turns them off. Then, we have an "if statement", which checks to see "is there a Rotary Axis present in your Axis Combination?", which ends up setting the 'rot_on_x' variable. When this variable is "on" (not zero), it means we are in 4 Axis Mode. So, if we are in 4X mode, then we check to see if we are using Axis Substitution, or Polar output. In the block to process each "mode", we can manipulate the values for: linarc$ - Tells MP to "linearize Arcs", based on the Chordal Tolerance Variable brklinestype$ - Tells MP "what kind of motion to breakup". This is based on a bunch of different options (11 different "modes" for breaking linear moves). brklineslen$ - Tells MP what the length of each 'broken segment' should be. Here is a modified Post Block, which would break all linear motion, based on detecting if the Post was in "incremental output mode": pmotion_su #Motion Setup (Set brklinestype & linarc) brklinestype$ = zero linarc$ = zero if rot_on_x, [ if cuttype = one, #Axis Substitution [ linarc$ = one #Linearize all arcs if rev_brkflag, #Break rotation flag (set in pcoutrev) [ brklinestype$ = 11 #Break all lines, use brklineslen$ for segment length #brklineslen$ = pi$ * rotdia$ #Break every 360 degrees brklineslen$ = pi$ * rotdia$ / four #Break every 90 degrees rev_brkflag = zero #Reset flag ] ] if cuttype = two, #Polar [ brklinestype$ = rotary_axis$ + three linarc$ = one ] ] if absinc$ = one, #We are in Incremental Mode, so break all linear motion into small segments [ chord_tol$ = arcrad$ * .02 # Use 2% of Arc Radius, as Chord Tol Value. if chord_tol$ < .0001, chord_tol$ = .0001 #Trap and fix small values. linarc$ = one #Break all Arcs brklinestype$ = 11 #Set "break type" to break all lines, using segment length brklineslen$ = .02 #Set "break segment length" distance ]
  15. Colin Gilchrist

    Get tplane name

    You can capture the 'Plane name String' in the 'pparameter$' Post Block. It will be one of the '20,000' series parameters. You can search through a string, for a 'string match', using the 'strstr' function. So this is certainly possible, and the amount of effort will vary; depending on how well you know the MP Language. As an example, many users would spend hours or even multiple days to figure out all the steps needed to do this. For me, it is around 20 minutes of effort.

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