587,923 active members*
3,409 visitors online*
Register for free
Login
IndustryArena Forum > MetalWorking Machines > Tormach Personal CNC Mill > Anyone using HSMWorks Express with Tormach Personal CNC 1100?
Page 2 of 5 1234
Results 21 to 40 of 90
  1. #21
    Join Date
    Nov 2006
    Posts
    134
    I hacked up a post for HSMexpress on the pcnc1100 a couple of years ago, when HSMexpress first came out, based on the first two public posts I could find, which both had bugs. I wrote up some custom subroutines in javascript that generate tapping cycles for two different types of tormach tapping heads that I have (tension-compression and reversing) and it seemed to work fairly well, but I never had a chance to really put it through solid testing. I'm just now starting up a new project that will be using my PCNC again, so I need to refresh that post to work with the latest release, and then test it a bit before it's something I would want other folks to trust. In the meantime, I could share my old post with anybody who is brave enough to try it out (no guarantees! it worked for me with my setup back when...). Let me know with a PM if you want it and are able to check the code it outputs before you break your taps, etc.

  2. #22
    I would love to see it when you feel better about it. If I am using CAM to code a part I would rather not have to hand code the tapping.

    Sent from my SM-N900V using Tapatalk
    Donald

  3. #23
    Join Date
    Apr 2003
    Posts
    3578
    Hsve you asked any of the resellers to see if we have posts for Tormach?
    Attached Files Attached Files
    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
    Cadcam
    Software and hardware sales, contract Programming and Consultant , Cad-Cam Instructor .

  4. #24
    Join Date
    Jul 2006
    Posts
    525
    I don't use it with a tormach, but.. I do use it on a daily basis, and appear to be one of the most heavy users around. If anyone runs into any snags, feel free to drop me a line, though both the support team at HSMWorks and at Nexgencam are excellent as well.

    If youre using Solidworks already, there isn't a better CAM solution around. Inventor won't be far behind for long. If you can't afford one of those two packages, take a good look at Fusion CAM360, its going to change things.

  5. #25
    Join Date
    Apr 2003
    Posts
    3578
    though both the support team at HSMWorks and at Nexgencam are excellent as well.
    Don't forget NexGenCam West now added to the team.
    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
    Cadcam
    Software and hardware sales, contract Programming and Consultant , Cad-Cam Instructor .

  6. #26
    cadcam,
    What is the difference in the tormach post you posted and the nextgencam one in the hsm forums?
    Donald

  7. #27
    Join Date
    Apr 2003
    Posts
    3578
    Donald,
    Not sure I think it was tweaked for a customer. I have not asked or did a compare as I do have both. They both came from the NexGenCam office.

    Jayson
    NexGenCam West
    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
    Cadcam
    Software and hardware sales, contract Programming and Consultant , Cad-Cam Instructor .

  8. #28
    Join Date
    Dec 2010
    Posts
    1230
    cadcam I have an issue that seems like a very simple fix regarding that post. I am trying to use it to evaluate and compare to MC-X5. I spent a great deal of time and trial and error to get our MC post to work perfectly for the Tormach and other Mach3 machine, but I now have absolutely no desire to have to figure out a 4th language to be able to edit this type without getting "syntax error" every time I try to edit the post.

    The NC looks good except for two things. One, and most importantly, it ends with a "G53 X0 Y0" which crushes all the cut chips into the bellows and derails them. I can not figure out how to change it to m998 or similar. I think it is the line below but no matter what I try I just get "syntax error"

    if (!machineConfiguration.hasHomePositionX() && !machineConfiguration.hasHomePositionY()) {
    // writeBlock(gFormat.format(28), gAbsIncModal.format(91), "X" + xyzFormat.format(0), "Y" + xyzFormat.format(0)); // return to home
    writeBlock("M05");
    writeBlock("M998");

    The other issue is how difficult it is to read with no line spaces. We finally got each section to have several blank lines so while scrolling through tens of thousands of lines it is possible to see tool changes, comments at beginning of ops, etc so the code can be edited on machine.

    Perhaps you can point me in the right direction to not have to spend 10 hours reading and learning this syntax stuff to get it changed. Or perhaps you may even be so kind as to make a few changes so I can compare the two and possibly be able to understand the cause and effect of changes on this type of coding. I would be eternally grateful as I really like the feel of HSMXpress compared to MC and I'm able to have customers send IGES from newer SW versions and actually work right off of them in assemblies. Very impressive.

  9. #29
    Join Date
    Feb 2006
    Posts
    7063
    Quote Originally Posted by WOTDesigns View Post
    cadcam I have an issue that seems like a very simple fix regarding that post. I am trying to use it to evaluate and compare to MC-X5. I spent a great deal of time and trial and error to get our MC post to work perfectly for the Tormach and other Mach3 machine, but I now have absolutely no desire to have to figure out a 4th language to be able to edit this type without getting "syntax error" every time I try to edit the post.

    The NC looks good except for two things. One, and most importantly, it ends with a "G53 X0 Y0" which crushes all the cut chips into the bellows and derails them. I can not figure out how to change it to m998 or similar. I think it is the line below but no matter what I try I just get "syntax error"

    if (!machineConfiguration.hasHomePositionX() && !machineConfiguration.hasHomePositionY()) {
    // writeBlock(gFormat.format(28), gAbsIncModal.format(91), "X" + xyzFormat.format(0), "Y" + xyzFormat.format(0)); // return to home
    writeBlock("M05");
    writeBlock("M998");

    The other issue is how difficult it is to read with no line spaces. We finally got each section to have several blank lines so while scrolling through tens of thousands of lines it is possible to see tool changes, comments at beginning of ops, etc so the code can be edited on machine.

    Perhaps you can point me in the right direction to not have to spend 10 hours reading and learning this syntax stuff to get it changed. Or perhaps you may even be so kind as to make a few changes so I can compare the two and possibly be able to understand the cause and effect of changes on this type of coding. I would be eternally grateful as I really like the feel of HSMXpress compared to MC and I'm able to have customers send IGES from newer SW versions and actually work right off of them in assemblies. Very impressive.
    The correct way to do that would be:

    writeBlock(gFormat.format(5);
    writeBlock(mFormat.format(998);

    Or, you can brute force it:

    writeln("M05");
    writeln("M998");

    Either will work, but the first is more "correct" style-wise.

    Regards,
    Ray L.

  10. #30
    Join Date
    Dec 2010
    Posts
    1230
    PERFECT Ray L. It clicked and I was able to change it to m998 and remove the others without error. I also stated plugging "writeIn(" "); on its own lines in places to create the blank lines as desired.

    Two other things I've noticed.

    1) Program name must me a number
    I understand the idea to create sub-routines and other machines may need it, but Mach doesn't need a number. Any way to stop that forced number for this post?
    2) I can't seem to get it to output tool info at tool change so operator has reference/reminder what tool SHOULD actually be in the spindle.


    I'm also curious how others are managing programming multiple jobs. For example I use carrier machining a LOT and its easy enough to program in the part file. Seems like it would be nice to do it in an assy to be able to check interference and fixture location. I have to machine soft jaws for the second opp on most of those carrier parts and cant figure out an easy way to do that. Even if I use "extrude from sketch" in job setting, when I simulate its machining a solid block not two separate jaws. To actually see it in the assy I have to break the mates and re-position the part in newly drawn already-machined soft jaws. What technique are you guys using for stuff like this?

    Thank you Ray L., you have saved me countless hours of guessing

  11. #31
    Join Date
    Feb 2006
    Posts
    7063
    Quote Originally Posted by WOTDesigns View Post
    PERFECT Ray L. It clicked and I was able to change it to m998 and remove the others without error. I also stated plugging "writeIn(" "); on its own lines in places to create the blank lines as desired.

    Two other things I've noticed.

    1) Program name must me a number
    I understand the idea to create sub-routines and other machines may need it, but Mach doesn't need a number. Any way to stop that forced number for this post?
    Not quite sure what you mean here. Standard G-code doesn't understand names for anything. What "forced number" are you referring to?

    Quote Originally Posted by WOTDesigns View Post
    2) I can't seem to get it to output tool info at tool change so operator has reference/reminder what tool SHOULD actually be in the spindle.
    The toolchange code should be coming from within the onSection function - look for where it outputs the M6. Here's is more or less how I prompt the user in my Post:

    writeBlock(mFormat.format(6), "T" + toolFormat.format(tool.number)); // Output the toolchange
    writeBlock(gFormat.format(43), hFormat.format(tool.lengthOffset)); // Turn on tool length compensation for new tool
    writeln(" (MSG, Load Tool #" + toolFormat.format(tool.number) + ", " + tool.description + ")"); // Tell the user which tool to load
    writeBlock(mFormat.format(0)); // Stop for user to change tool

    This should display the tool name from your tool library on the status line, then do an M0. After changing the tool, hit CycleStart to resume. Note that the "MSG" syntax is also a Mach3-specific thing that will not work with other CNC controllers.

    If you have Mach3 configured to do the M0 for you, then use this instead:

    writeln(" (MSG, Load Tool #" + toolFormat.format(tool.number) + ", " + tool.description + ")"); // Tell the user which tool to load
    writeBlock(mFormat.format(6), "T" + toolFormat.format(tool.number)); // Output the toolchange
    writeBlock(gFormat.format(43), hFormat.format(tool.lengthOffset)); // Turn on tool length compensation for new tool

    The POST capability in HSMXpress is head and shoulders better than anything I have ever seen in any other CAM system. It is incredibly flexible, and there are few things you *can't* do with just a few lines of code. As an example, I've attached some of the G-code that my HSMXpress POST outputs (note this code is output for a KFlop running my own CNC controller app, so it is not 100% Mach3-compatible).

    Quote Originally Posted by WOTDesigns View Post
    I'm also curious how others are managing programming multiple jobs. For example I use carrier machining a LOT and its easy enough to program in the part file. Seems like it would be nice to do it in an assy to be able to check interference and fixture location. I have to machine soft jaws for the second opp on most of those carrier parts and cant figure out an easy way to do that. Even if I use "extrude from sketch" in job setting, when I simulate its machining a solid block not two separate jaws. To actually see it in the assy I have to break the mates and re-position the part in newly drawn already-machined soft jaws. What technique are you guys using for stuff like this?
    I've learned to always to CAM in an assembly, not a part. For machining soft jaws, I would treat the jaws as a single piece. Setup a separate job, and define the stock as a block that encloses both jaws, with the opening the width they would be with the real part clamped in place. Use a spacer of the correct size when machining the jaws, and use the actual part contour to define the shape of the recesses in the jaws. You don't need to do an extrusion - just use the 2DContour op, and manually define the Top and Bottom.

    Regards,
    Ray L.
    Attached Files Attached Files

  12. #32
    Join Date
    Dec 2010
    Posts
    1230
    WOW. Your output looks like everything I could hope and dream for! The more information I can get into the job the less time I have to spend explaining and replacing broken tools. Right now I am hand writing tons of code but I am thinking I can use the "Edit Notes" when right clicking on an operation to input all needed data directly to the Gcode output somehow. Any idea what that format call would be? If I could get each line of the Note to be a line of comment before the tool change but after the description that should be perfect.

    When I say Program Name I am used to naming the NC file "AD501_A03_rev3" or "AD501_A03_repair missed hole_DELTE" but it is forcing me to save the NC file name as a number or I get an error message. I can change the name in the windows "where to save" pop up though. Just annoying to do over and over while testing program gcode output.

    Your information has gotten me rolling along! I have the spacing starting to look like I want and added the tool descriptions to the tool block at the beginning and will soon add the D, CR, Taper, and Zmin to the tool change area for operator. Thank You so much!! Here is the output before:

    %
    O00001 (SOFT JAWS)
    (T1 D=0.5 CR=0. - ZMIN=0.16 - flat end mill)
    (T2 D=0.404 CR=0. TAPER=118deg - ZMIN=0.1237 - drill)
    (T3 D=0.125 CR=0. TAPER=45deg - ZMIN=0.8413 - chamfer mill)
    (T16 D=0.6693 CR=0. - ZMIN=0.155 - flat end mill)
    G90 G94 G17
    G20
    (OFFSET VISE 2 Y-4__BOTH X1.75 FROM CENTER)
    M05
    M998
    T16 M06
    (17mm center cut comment)
    S5140 M03
    G54
    M08
    G00 X9.4335 Y-2.0316
    G43 Z1.6 H16


    and here is the new output so far:

    %
    O00001 (SOFT JAWS)

    (T1 - 1/2" DF END MILL - D=0.5 CR=0. - ZMIN=0.16 - flat end mill)
    (T2 - MCH LTR Y DRILL - D=0.404 CR=0. TAPER=118deg - ZMIN=0.1237 - drill)
    (T3 - ENGRAVER - D=0.125 CR=0. TAPER=45deg - ZMIN=0.8413 - chamfer mill)
    (T16 - 17mm Center Cut Tormach - D=0.6693 CR=0. - ZMIN=0.155 - flat end mill)

    G90 G94 G17
    G20
    (OFFSET VISE 2 Y-4__BOTH X1.75 FROM CENTER)
    M05
    M998


    (17mm Center Cut Tormach)
    T16 M06
    S5140 M03
    G54
    M08
    G00 X9.4335 Y-2.0316
    G43 Z1.6 H16


    MUCH MUCH MUCH easier to read on the machine.

    Is there any way to get it to out put the operation comments (right click operation, edit comment) as comments at the beginning of the job or tool change?

  13. #33
    Join Date
    Feb 2006
    Posts
    7063
    I've attached my post here. It should give you lots of ideas for things you can do.

    I use both Job Notes and Operation Notes to pass all kinds of information to the POST - g-code, prompts, over-rides for various things. You'll find the code for parsing these called from the onSection and onOpen functions. There are things you might not want in there - for example, I re-map the tool numbers, sequentially starting at 1. You'll find that in onOpen, and only the re-mapped number are used anywhere else.

    I don't understand your problem with having to use numeric names - I've used HSMXpress with both Solidworks and Inventor, and could name the files anything I wanted.

    One of the HSMWorks-provided posts is named "dump.cps". Take a look both at the post itself, then run it on a few designs, and look at the output. It will show you all the parameters that are available for use by the POST. Like I said, there is almost nothing you CAN'T do.

    Regards,
    Ray L.
    Attached Files Attached Files

  14. #34
    Join Date
    Dec 2010
    Posts
    1230
    Fan-damn-tastic Ray, thank you.

    The job issue is something in the post I think. If I name the job anything other that 1-99999 I get an error when posting. The file name is seperate. I'll compare yours and figure it out in sure. Looking forward to seeing your, but I'm back in the shop for the day running parts now. Thanks again!

    Brian
    WOT Designs

  15. #35
    Join Date
    Feb 2006
    Posts
    7063
    Quote Originally Posted by WOTDesigns View Post
    Fan-damn-tastic Ray, thank you.

    The job issue is something in the post I think. If I name the job anything other that 1-99999 I get an error when posting. The file name is seperate. I'll compare yours and figure it out in sure. Looking forward to seeing your, but I'm back in the shop for the day running parts now. Thanks again!

    Brian
    WOT Designs
    Put your post up here and I'll take a look at it, and see if I can find the problem. I can't imagine why anyone would make that restriction, especially within the POST itself.

    Regards,
    Ray L.

  16. #36
    Join Date
    Jan 2013
    Posts
    306
    Not sure why it would be in a Mach post but Haas does require the numerical name at post as it is put in the first line and Haas uses this to identify the program.


    Steve

  17. #37
    Join Date
    Jul 2006
    Posts
    525
    Quote Originally Posted by WOTDesigns View Post
    Fan-damn-tastic Ray, thank you.

    The job issue is something in the post I think. If I name the job anything other that 1-99999 I get an error when posting. The file name is seperate. I'll compare yours and figure it out in sure. Looking forward to seeing your, but I'm back in the shop for the day running parts now. Thanks again!

    Brian
    WOT Designs

    Code:
      if (programName) {
        var programId;
        try {
          programId = getAsInt(programName);
        } catch(e) {
          error(localize("Program name must be a number."));
        }
        if (!((programId >= 1) && (programId <= 99999))) {
          error(localize("Program number is out of range."));
        }
        // old machines only support 4 digits
        var oFormat = createFormat({width:5, zeropad:true, decimals:0});
        writeln(
          "O" + oFormat.format(programId) +
          conditional(programComment, " (" + programComment + ")")
        );
      } else {
        error(localize("Program name has not been specified."));
      }

  18. #38
    Join Date
    Dec 2010
    Posts
    1230
    Quote Originally Posted by Spk64 View Post
    Not sure why it would be in a Mach post but Haas does require the numerical name at post as it is put in the first line and Haas uses this to identify the program.


    Steve

    Does each program have to be unique for Haas? I'm asking because I'm trying to finance a TM-2P right now and should know tomorrow if I am approved. Apparently not having set up an LLC is hurting me but I still have 2 leasing companies working in it and both promised an answer by Monday.

    If every Haas post requires it I'll just deal with it on both machines and use a date coding system perhaps like 03021 for the first program today.

    Ray, you will appreciate that my fall back machine is a Pro Servo in case they say no to the $55K Haas. Sure would be nice to have 40x16 travels, auger, 3 phase, 7.5hp, 20 station ATC, feedback to control, and real enclosure, but the Tormach's travels are killing me not being able to use double station vise or cut (2) 10" blocks side by side without staggering the vises.

    Brian
    WOT Designs

  19. #39
    Join Date
    Feb 2006
    Posts
    7063
    Quote Originally Posted by WOTDesigns View Post
    Does each program have to be unique for Haas? I'm asking because I'm trying to finance a TM-2P right now and should know tomorrow if I am approved. Apparently not having set up an LLC is hurting me but I still have 2 leasing companies working in it and both promised an answer by Monday.

    If every Haas post requires it I'll just deal with it on both machines and use a date coding system perhaps like 03021 for the first program today.

    Ray, you will appreciate that my fall back machine is a Pro Servo in case they say no to the $55K Haas. Sure would be nice to have 40x16 travels, auger, 3 phase, 7.5hp, 20 station ATC, feedback to control, and real enclosure, but the Tormach's travels are killing me not being able to use double station vise or cut (2) 10" blocks side by side without staggering the vises.

    Brian
    WOT Designs
    Brian,

    Yeah, even the Pro is slightly limiting for me - I have a lot of fixtures that just barely fit into the 25" X travel. 40" would be really nice. But, other than that, I love that machine. Love the speed (500 IPM rapids with the servos is really nice, especially when using HSMXpress - I ran 350 IPM on my stepper Pro!). No comparison to the performance of the Haas, though. But, no comparison in price either - you could buy three or four Pros for the price of one Haas. There will be an upgradeable 12/18/24 tool ATC for the Pro later this year!

    BTW - Setting up an LLC is quick and easy. I did mine using Nolo.com - cost about $225, and a couple of weeks for the paperwork to flow through the system.

    Regards,
    Ray L.

  20. #40
    Join Date
    Jul 2006
    Posts
    525
    Most all traditional machine controls require a unique four digit O#### number be assigned as the first line of the program. It needs to be unique, or at least, only one program with that number can be loaded on the control at a time. Many more modern controls have moved away from this in various ways, I think a Haas allows more digits than four now. Its something that has always bugged me about linuxCNC, that it uses O for something else (cant recall atm) which causes an error if your program starts with an O-word.

Page 2 of 5 1234

Similar Threads

  1. Tormach 1100 S3 using Tormach 1.5" face mill....
    By dneisler in forum Tormach Personal CNC Mill
    Replies: 24
    Last Post: 05-06-2015, 04:50 AM
  2. WTB Tormach 1100
    By X35 Design in forum Tormach Personal CNC Mill
    Replies: 10
    Last Post: 02-27-2014, 04:04 PM
  3. Looking for used Tormach 1100
    By Blakea1790 in forum Tormach Personal CNC Mill
    Replies: 0
    Last Post: 05-31-2012, 08:39 PM
  4. New Tormach 1100 series 3 vs. Old Tormach 1100 series 1 to purchase
    By inventor1227 in forum Tormach Personal CNC Mill
    Replies: 13
    Last Post: 03-21-2012, 09:55 PM
  5. Looking to buy a tormach 1100
    By sirbean in forum Tormach Personal CNC Mill
    Replies: 2
    Last Post: 10-28-2011, 12:27 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •