What's new
What's new

HSM post processor

Fully Defined

Aluminum
Joined
Oct 12, 2013
Location
San Francisco, CA
I'm looking for guidance on editing the HSM (HSMWorks, Inventor CAM, Fusion 360) postprocessor for Mitsubishi Meldas so manual toolchanges actually work. The stock post processor totally ignores the "Manual Tool Change" selection in the tool library, as well as "Force Tool Change" manual NC. Neither adds any lines to the code at all.

I need to call an empty spindle (T100), pause (so I can insert the tool - T100 Hxxx), run the manual tool toolpath, move the Z to the tool change position, stop the spindle, pause again (so I can remove the tool), call a tool change and continue the program.

Like this:

Txx M6
T100
(magazine-fed tool cycle)
T100 M6
Txx
M0
(manual spindle unclamp)
G43 Hxxx
(cycle start)
(manual tool cycle)
Z[TOOL CHANGE POSITION]
M5
M0
(manual spindle unclamp)
(cycle start)
Txx M6
Txx
(and so on...)

Or if you have a better strategy, I'm all ears!

Stock Meldas post: https://cam.autodesk.com/posts/download.php?name=meldas
 
When I was working on an NX post, I ran my code through several different posts to look at the output. When I found one that sort of did what I thought I wanted, I copied and pasted the section into the post I was building. Then it turned into an editing exercise rather than a build from scratch exercise. Don't know if a similar approach might help you with you HSM post, but just thought I'd throw it out there.
 
Autodesk have a manual on post editing, freely downloadable here.

The language is javascript.

I have done some basic editing of a post to enable our apprentices to use Fusion 360 with one of our old Hurcos.

If you have any experience with js or similar languages you should be able to figure it out pretty easily.
 
Is this something you need to do alot, IE your post really needs to handle it, or is it a "convenience" thing? The reason I ask, is in Mastercam there is a 'manual input "toolpath'. You could copy the code you want onto your desktop lets say, then just import (or copy/paste if easier) and just type in exactly what you need and output as code, BEFORE your ops like machining some features, boring whatever, then do a manual input toolpath again AFTER the ops are done.

I do this for 'specialty' things like engraving serial numbers or activating different G187 (Haas) params..

<toolpath>
<toolpath>
<toolpath>
<manual input = G187 P1 E.05
<toolpath>
<toolpath>
<manual input = G187 P3 E.003
<toolpath>

etc...
 
I have not done a good job explaining what the problem is.

The reason this is complicated is IF, THEN, ELSE applies here.

IF T100, THEN...
ELSE...

Currently, the Meldas HSM (including INVENTOR CAM & FUSION 360) post does not treat manually changed tools any different than those loaded in the magazine. I need to change that.

I am looking for two things:

1) What would you expect your program to look like when a manually changed tool is called?
2) What did you do to make that happen?

I think I want:

IF T100, THEN M05 after the tool change, THEN M00 after that, THEN run the cut, THEN M05, THEN M00,
ELSE NONE OF THE ABOVE.

But I don't know that that's right. Is it? What's better?
 
Use a optional stop to load tool manually very simple done this for over 10 years. do your tool change for empty pocket then Optional Stop Load tool and go then before tool change Optional Stop unload tool and go again.

Inventor and fusion both have manual programmable stops in the CAM for you. In the Ribbon up top go to Job and Manual NC plenty of options to help you there. Also Autodesk has a tutorial for it online.
 
can you call a tool number outside the library? when I need to do stuff I call tool 22,23,24 (21 in the tool changer). some controls will just put the old tool away and open the door so you can load the manual tool.
 
Use a optional stop to load tool manually very simple done this for over 10 years. do your tool change for empty pocket then Optional Stop Load tool and go then before tool change Optional Stop unload tool and go again.

Inventor and fusion both have manual programmable stops in the CAM for you. In the Ribbon up top go to Job and Manual NC plenty of options to help you there. Also Autodesk has a tutorial for it online.

I appreciate the response, but unfortunately it does not apply to my question - although it was helpful to confirm that I am on the right track, more or less.

I need to know how to edit the post processor so that it works as designed: changing a tool manually that was set as a manual tool in the tool library. Unfortunately the post processor ignores the setting.

I've tried manual NC commands, but they end up pausing the program with the spindle still running, or with the wrong tool in the spindle. It needs to happen as part of the tool change, and apply only to manually changed tools.

I have seen any freely available manual or tutorial on the entire internet; none of them show how to fix a post processor that does not work as intended.
 
can you call a tool number outside the library? when I need to do stuff I call tool 22,23,24 (21 in the tool changer). some controls will just put the old tool away and open the door so you can load the manual tool.

As it shows above, I use T100 as a placeholder tool, and offsets 102-199 as manually changed tools.

I need to figure out how to edit the post processor to do something like what you described. My control does not do this, hence this thread (and many like it that nobody seems to want to reply to).
 
How is your JavaScript? If you want to edit the post processor yourself, you'll need at least a passing familiarity with JavaScript. Open up the file in any text editor (I prefer Notepad++). The out-of-the-box ones from Autodesk are reasonably well-documented with comments.

You'll probably find a diff-like utility helpful (assuming you're on Windows, WinMerge 2011 [source, portable executable] works well). I use this to merge my changes back into the default as new versions are released.

Additional information:
 
How is your JavaScript? If you want to edit the post processor yourself, you'll need at least a passing familiarity with JavaScript. Open up the file in any text editor (I prefer Notepad++). The out-of-the-box ones from Autodesk are reasonably well-documented with comments.

You'll probably find a diff-like utility helpful (assuming you're on Windows, WinMerge 2011 [source, portable executable] works well). I use this to merge my changes back into the default as new versions are released.

Additional information:

Your heart is in the right place, but this is not what I asked for. To answer your question, what is Javascript? :typing:

This is probably the tenth time I've posed this question in various places, and inevitably the following things happen:

1) An old timer tells me what I already know;
2) A nice person tells me what I already know;
3) Somebody asks me why I would ever want to do that;
4) Somebody thinks I've never opened a computer before;
5) Somebody thinks I haven't exhausted every other avenue before asking for advice;
6) Crickets.

Aften ten posts, literally nobody will do something other than 1-6. What's the deal?
 
Your heart is in the right place, but this is not what I asked for. To answer your question, what is Javascript? :typing:

This is probably the tenth time I've posed this question in various places, and inevitably the following things happen:

1) An old timer tells me what I already know;
2) A nice person tells me what I already know;
3) Somebody asks me why I would ever want to do that;
4) Somebody thinks I've never opened a computer before;
5) Somebody thinks I haven't exhausted every other avenue before asking for advice;
6) Crickets.

Aften ten posts, literally nobody will do something other than 1-6. What's the deal?

In post #4 I told you what you needed, the member you quoted told you again.

If you don't know what JS is then that strikes of 1 and 2 from your list. I haven't seen anyone ask 3, or assume 4, or 5.

In order to make the post do what you want, you need to read the pdf both mountie and I linked you, and you need to learn some JS.
 
In post #4 I told you what you needed, the member you quoted told you again.

If you don't know what JS is then that strikes of 1 and 2 from your list. I haven't seen anyone ask 3, or assume 4, or 5.

In order to make the post do what you want, you need to read the pdf both mountie and I linked you, and you need to learn some JS.

Again, I appreciate you bothering to stop and help. I have already extensively edited my post processor to do a lot of things it didn't already do. This one's a corker though!

I agree that in order for me personally to make the post processor do what I want I would have to learn Javascript. You're right! Look at number 1, number 2, number 4 & number 5 of my list above.

I came here to ask what other folks have done to make it work, so I don't have to go to so much trouble.
 
HSM Post Processor Forum - Autodesk Community

Ask over there, the HSM post forum should have some folks who are able/willing to help.

EDIT: Juuuuussst found your post there, nevermind.

I've done some post editing, but nothing as involved.

If the people who can offer "free" help aren't being useful, get in touch with the guys over at Silverhawk Solutions. They should be able to do it for you for a reasonable fee. I used them once before when I needed somewhat more complicated post edits to make the live tools/C axis/subspindle behave on my lathe.
 
The Manual NC "Force tool change" does have an effect in the Meldas stock post, but it's not what you want. Let's say you have two operations that use the same tool. Normally, HSMWorks will continue right on with the 2nd toolpath after the first is done-- it won't turn off the spindle or coolant, and it won't home Z. If you add "Force tool change" between them, it will home the Z axis, turn off the coolant, and add an optional stop.

My understanding of what you want to do is add an M0 after picking an empty pocket, run code as normal, and add an M0 after the code runs. This is easy to do using a conditional like:

if(tool.manualToolChange){
onCommand(COMMAND_STOP);
}

inserted in the right places. tool.manualToolChange is set to TRUE when "manual tool change" is checked in the library. It can be applied to any tool, but if two operations share the tool, it will not home and pause in between unless a manual NC force tool change is added. I can PM you the modified post.

Strangely the stock Meldas post did not put any M5s in my test code and you may want to add them. It also never cancels the length offset. Maybe this is included with the tool change macro. It ends with homing, coolant off, and an M30. Also notably in the stock post, tool numbers higher than 99 will generate an error. Does your manually installed tool need to be tool 100? If so, further changes will be needed to suppress the error.
 








 
Back
Top