Community
Fusion Manufacture
Talk shop with the Fusion (formerly Fusion 360) Manufacture Community. Share tool strategies, tips, get advice and solve problems together with the best minds in the industry.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Using multiple manual tools on a single T socket = missing tools in tool list

6 REPLIES 6
Reply
Message 1 of 7
marcin.szafranski
435 Views, 6 Replies

Using multiple manual tools on a single T socket = missing tools in tool list

Hi,

 

I'm using Fanuc (for Robodrill) postprocessor on my F360 (but this probably will be the same in others as the tool list generating code is basically the same).

I have some tools that I use on a couple of T sockets (let's say it's T9 and T10).

I can use them without problems with manual tool change (I've added the manual tool change generation in the postprocessor), and that works great.

But the thing is that only one set of tools is added to the tool list generated by the postprocessor in the nc file.

 

I've been looking at this part of the postprocessor for about half an hour now:

       var tools = getToolTable();
    if (tools.getNumberOfTools() > 0) {
      for (var i = 0; i < tools.getNumberOfTools(); ++i) {
        var tool = tools.getTool(i);
		
	    if (tool.manualToolChange) {
	      writeComment("reczna wymiana narzedzia");
        }

        writeComment("T" + toolFormat.format(tool.number) + " - DH" + toolFormat.format(tool.lengthOffset));

        writeComment(tool.comment);

	    var comment = "D=" + xyzFormat.format(tool.diameter) + "mm"
        if (zRanges[tool.number]) {
          comment += " - ZMIN=" + xyzFormat.format(zRanges[tool.number].getMinimum());
        }
        writeComment(comment);

        var toolType = getToolTypeName(tool.type);
		switch (toolType) {
		  case "flat end mill":
		    comment = "frez walcowy";
		    break;
		  case "drill":
		    comment = "wiertlo";
			break;
		  case "chamfer mill":
			comment = "fazownik";
			break;
		  case "spot drill":
		    comment = "nawiertak";
			break;
		  case "face mill":
		    comment = "glowica planujaca";
			break;
		  case "right hand tap":
		    comment = "gwintownik prawoskretny";
			break;
		  case "left hand tap":
		    comment = "gwintownik lewoskretny";
			break;
		  default:
		    comment = getToolTypeName(tool.type);
		}
		writeComment(comment);

		if (tool.cornerRadius > 0) {
		  writeComment("promien naroza=" + xyzFormat.format(tool.cornerRadius));
		}
        if ((tool.taperAngle > 0) && (tool.taperAngle < Math.PI)) {
          writeComment("kat wierzcholkowy=" + taperFormat.format(tool.taperAngle));
        }

        writeBlock(" ");

      }
    }
    writeComment("=============================");
    writeBlock(" ");
  }

(Yes this is "a bit" modified from the original, but the main loop is original)

 

As far as I understand this there is no conditional in this code that would skip outputting info for a tool if it was allready printed, even if it has the same T socket number. As long as "tools.getNumberOfTools()" outputs the total number of tools and not number of unique T sockets used everything should be fine.

 

This is what the generated tool list looks like now (using above code):

(=============================)
(LISTA NARZEDZI)
 
(RECZNA WYMIANA NARZEDZIA)
(T9 - DH30)
(HSS-8,5-YG1-ST2)
(D=8.5MM - ZMIN=-32.26)
(WIERTLO)
(KAT WIERZCHOLKOWY=135)
 
(RECZNA WYMIANA NARZEDZIA)
(T10 - DH40)
(GW-M10-YG1-ST2)
(D=10.MM - ZMIN=-28.5)
(GWINTOWNIK PRAWOSKRETNY)
 
(T11 - DH11)
(FAZ-20-SAU-ST2)
(D=20.MM - ZMIN=-4.1)
(FAZOWNIK)
(KAT WIERZCHOLKOWY=45)
 
(T14 - DH14)
(NAW-8-YG1-ST2)
(D=8.MM - ZMIN=-0.5)
(NAWIERTAK)
(KAT WIERZCHOLKOWY=142)
 
(=============================)

 

And this is how it should look like while generated from the same program:

(=============================)
(LISTA NARZEDZI)
 
(RECZNA WYMIANA NARZEDZIA)
(T9 - DH30)
(HSS-8,5-YG1-ST2)
(D=8.5MM - ZMIN=-32.26)
(WIERTLO)
(KAT WIERZCHOLKOWY=135)
 
(RECZNA WYMIANA NARZEDZIA)
(T9 - DH28)
(HSS-6,8-YG1-ST2)
(D=6.8MM - ZMIN=-25.158)
(WIERTLO)
(KAT WIERZCHOLKOWY=135)
 
(RECZNA WYMIANA NARZEDZIA)
(T10 - DH40)
(GW-M10-YG1-ST2)
(D=10.MM - ZMIN=-28.5)
(GWINTOWNIK PRAWOSKRETNY)
  
(RECZNA WYMIANA NARZEDZIA)
(T10 - DH38)
(GW-M8-YG1-ST2)
(D=8.MM - ZMIN=-21.75)
(GWINTOWNIK PRAWOSKRETNY)
 
(T11 - DH11)
(FAZ-20-SAU-ST2)
(D=20.MM - ZMIN=-4.1)
(FAZOWNIK)
(KAT WIERZCHOLKOWY=45)
 
(T14 - DH14)
(NAW-8-YG1-ST2)
(D=8.MM - ZMIN=-0.5)
(NAWIERTAK)
(KAT WIERZCHOLKOWY=142)
 
(=============================)

 

What can I change in the postprocessor to get the proper (full) tool list generated?

 

Best regards
Szafran
6 REPLIES 6
Message 2 of 7

Hi I am not saying I definitely will be able to help but attaching your post processor and a fusion file with the tool changes in that you are after will definitely increase the amount of people that will take a look.

 

Again if you can attach those 2 I will take a look but post editing is not my forte.



Richard Stubley
Product Manager - Fusion Mechanical Design
Message 3 of 7

Any help is welcome.

I allready managed to confirm that the "tools.getNumberOfTools()" (by printing it's output to the nc file) is in fact holding value of 4 tools instead of 6 for my program. So if the "getToolTable()" is not returning the whole tool list, but just the list with tools with unique T sockets than nothing will work, well maybe using different function to "getToolTable()" for getting tool list (if it even exists).

Attached are the test model with the test setup I used, used postprocessor, and resulting nc file I've got from using my postprocessor.

Best regards
Szafran
Message 4 of 7

Hi @marcin.szafranski,

 

I had one of our post GODS look at this. They have got it to work, effectively building a new tool table in the post based on tool number, diameter offset and length offset. Rather than just tool number alone.

The edits should only effect the list at the top, but as always please be cautious when running new NC code.

new tool list.png

 



Richard Stubley
Product Manager - Fusion Mechanical Design
Message 5 of 7

That was fast.
Thank you very much.
I'll get on with testing.

A bit of OT - is there any tutorial on properly setting up VSCode for editing posts ? I tried with mine but it says "Cannot find runtime 'node' on PATH. Is 'node' installed?" when I try to 'run' it.
Best regards
Szafran
Message 6 of 7

Looks to be working fine.
Any ideas how can I sort the new tool table as the original one by T sockets ?
Best regards
Szafran
Message 7 of 7

I was to quick to accept this as a solution.

The list is fine, except that it provides the same z-min values for tools using the same T-socket.

Best regards
Szafran

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report