Tracking Tools across Files in Fusion 360!

Поделиться
HTML-код
  • Опубликовано: 1 окт 2024

Комментарии • 32

  • @jeffmofo5013
    @jeffmofo5013 Год назад +4

    Chat GPT, the next evolution of search engines.
    Just as biased as the last one.
    One major flaw that I saw with it. I used it extensively to create some python code. It gives you wrong answers and unless you know what you are looking for, you will have no idea that it's wrong.
    Which is actually a problem with google search today. Kids today are taught to believe their search results.
    These recommendation algorithms are not getting better, but worse.

    • @LeBearCNC
      @LeBearCNC Год назад

      hum.... ChatGPT is NOT a search engine (he does not search on the Internet). What you see as a flaw is something that every human being has been through: a growing up period. Right now chatGPT is not even a teen ager....

    • @jeffmofo5013
      @jeffmofo5013 Год назад

      @@LeBearCNC
      I'm a senior software developer. been coding since 1993. I am also an expert at Machine Learning with a patent in NLP.
      I know exactly what chat GPT is doing.
      And I know exactly how google search works.
      The end result is what matters.
      You ask a question and you get a result.
      Google search results require you to wade through website after website looking for the answer.
      Chat GPT just spells it out for you.
      As you claim "flaw" it's not a flaw of the system. It's a flaw of the people building /running the system.
      second to that "flaw" machine learning is only ever 60% - 70% accurate. it's an inherent limitation of the algorithm.

    • @LeBearCNC
      @LeBearCNC Год назад

      @@jeffmofo5013 So, "Search Engine" == "AI". OK, if you want. But I believe many experts would think this affirmation is pretty short-sighted.
      BTW, have been coding since 1986.

    • @jeffmofo5013
      @jeffmofo5013 Год назад

      @@LeBearCNC
      You are being obtuse and generic. Only highlighting how clueless you are
      Google Search uses the following AI
      From RankBrain, Neural Matching, BERT and MUM - for understanding language for query, content and ranking purposes.
      BERT is google's version of GPT
      But the end user doesn't care how they get the answer, only that they get the answer. Google Search. Amazon Alex, Google Assistant, Apple's Siri, Microsoft Crotona, AND Now Chat GPT.
      All of these are some form of NLP, Natural Language Processing. So that the computer can understand the Natural Language of the question being asked and provide the best answer in a Natural Language form back to the user.

    • @LeBearCNC
      @LeBearCNC Год назад

      @@jeffmofo5013 Well, maybe we are talking about something different. When I use google for a search, I have never got an "NLP" answer. I get it that it uses AI to understand the search/question, but, as far as i know, it does not "create" an answer. ChatGPT is able to write code, G-Code, for example. I doubt google has the same ability. You can talk at length to say ChatGPT is nothing new, when it clearly is. OK, maybe "is" is not the proper word, "show" might be better. It clearly show possibilities that were not shown before.

  • @patricklaible7527
    @patricklaible7527 Год назад +1

    Hi, first thanks for the video. I am using the setup sheets different I am running linuxcnc and have them displayed there. But why going on the sheets for this task. parsing the G-Code files would have been easier I think and you avoid the error if you change some tool, but didn't update the setup sheet.
    Fusion let you write all the tools used in the header of the code file. This way you can also compare the tool information "(T202 D=6.5 CR=0. - ZMIN=-17.332 - THREAD MILL)" and throw errors if there are differences. And if your file server is running linux you can watch the folder for change and run the script automatically after a program change.

  • @kanoa9321
    @kanoa9321 Год назад +1

    You can skip half this and just create a post processor that exports the information you want directly to excel.

  • @randomrouting
    @randomrouting Год назад +4

    Been using chat GPT everyday for improving and automating our shop since i discovered it. Its not perfect but Total game changer for the future if not now.

    • @M_a_t_t75
      @M_a_t_t75 Год назад

      Can you give an example of how you're using it to improve automation?

    • @randomrouting
      @randomrouting Год назад +1

      @@M_a_t_t75 Im using it to find solutions to automation problems, simply asking how to solve them. You will get a few different suggestions typically to how to go about it.
      Some examples may be create software that helps me automate tasks. Scripts that sort emails,downloads attachments into specific folders depening on who sent the email and the contents of the text or generate specific types of dxf files for customer parts that vary in length or such.
      using APIs to generate invoices ect ect.
      All of which i could have done without the AI but not in this time frame, and honestly the amount of work i would have to put in to learn how to do all these things is TOO much.
      I typically work with vbscrips but this AI can convert them to python in no time when i need to.
      Ultimately I want to find a solution to my problem. not become an expert on APis or whatever, thats where the AI shines. It tells me what to do and gives me examples for code so I can knock it out in an hour instead of days.
      EDIT: Ive only been using it 2-3 weeks but the value its provided is immese.
      EDIT2: Just remembered i used it for writing documents for our ISO certification. Beutifully worded and in my native language. loved it.

  • @sydwazshawn9712
    @sydwazshawn9712 Год назад +1

    I feel this should be handled buy the cell controller. The cell controller should be able to tell you what tool is ran with what program and create a spreadsheet for you. Also the cell controller should be able to look thru its loaded tools and be able to say if the program can run or not. I'm surprised it cant do that, maybe Okuma has a update you can purchase? That being said, long ago we ran into issues with changing dedicated tools lengths, coolant parameters , etc... We found that once you make a tool up, you never change it, like ever. If you need to change stick out length or anything like that, you then create a new tool number. In the long run we found it cost way more time and money to try and manage changing dedicated tools and update all programs then it was to buy another tool or even duplicate tools so you had backups. You could have 8000 assemblies if you wanted, the machine doesn't care what tool number you give it, or at least it shouldn't? I would think it can run T8456 H8456 in whatever pot number you designate to it..
    Having programs that use two different tools or even slight differences with the same tool number is a big issue and get out of hand real fast.

  • @k4x4map46
    @k4x4map46 Год назад

    nice but until all can 'infuse, various viewpoints of any subject matter,' it's no different than the writings or ideas of a single-minded entity. chatgp (for now) is just an extension of singularity...GIGO then call it AI, yup and nope!!
    good stuff on your tool tracking.
    Using a database, input (yup takes time) all parameters for a tool used to include purchase source, tool usage etc., then add queries...couple that with a text editor and you're on your way!!---run a script without excel limitations---admittedly a friend setup the database shells and I modified it for numerous functions; 90-day forecast what maintenance task(s) are due and what machines are affected, supply materials on hand etc...print it out or display it on your devices--pre-programmed time-based background queries --nothing specific suggested here at at all, just another approach at a fix not using excel (unless you excel using excel!
    used to have stickies all over the place lol

  • @merouanebenderradji1582
    @merouanebenderradji1582 Год назад +1

    I think you can define 1000 different tools and tell the cnc machine that tool 561 is situate in pocket 89 and use different tools for different parts or programs where a tool number is always the same tool no matter what the machine is or program is.
    for example you make tool number 1 as the drill number 1 tool number 2 as the drill number 2 nd so on and so forth the same goes for letter drills and spot drills of different sizes and endmills from different manufacturer, which means you can for program 1 use tools 153,256,345,561,842 and for program 2 use the tools 643,54,21,201 for example this way you don't have to change the tool definition in the fusion library and chase the tools all over your programs but just use different tools for every programs I think the haas control have 1000 tool offsets so you should be able to define 1000 different tools and I am sure that the heidenhein control does have this capability, I am not sure about the okuma's osp control though.
    for the stickout issue I think you should indicate that in the controll but if you are going to do a huge change that can't be compensated through the control than the only way to do this is by parsing and going manually to update the tool definition, it is sad that fusion doesn't have a linked library I think they were just lazy about it and focused about other stuff as it should easy to implement, as an advice I think you should use the conversational programming in the control more often the osp control is that powerful and ditch fusion since you have a high volume production and not a job shop environement where you have a new part to machine everyday, unless you are continuely optimizing your process and testing new holders and new tools of course.

  • @johngover1455
    @johngover1455 Год назад

    F360 also makes it difficult to change tools for a setup that uses the same tool for multiple operations when changing to a different machine.
    Rt click and "edit tool" would appear to be the workflow to change the tools, but it just edits the parameters if that tool.
    Very cumbersome to manually edit each operation and select a different tool for each op.

  • @KlausMichaelKMS
    @KlausMichaelKMS Год назад

    why don't you pull the tools directly out of the gcode?
    I see no need to got the extra mile with the setup sheet.

  • @Zpnorthlander
    @Zpnorthlander Год назад

    This seems to be a systemic problem with CAM Software. I would love for this to change the norm with all cam systems

  • @mattiasarvidsson8522
    @mattiasarvidsson8522 Год назад

    gain 100kg weight .. get a large beard.. start using chewing tobacco ..and change to a southern accent ..

  • @jameshemmings1542
    @jameshemmings1542 Год назад

    I made a function that does something similar that can be directly integrated into your post, it could be pretty easily modified to track if a tool has thru spindle coolant.
    but basically it just creates a csv that updates every time you post a new program and will tell you if a tool needs replaced
    function updateTools(path){
    try{
    var file = new TextFile(path, false, "utf-8");
    }catch(e){ //if file doesnt exist create new file in path and open it for reading
    warning("file not found creating new file at: "+path)
    var file = new TextFile(path,true,"utf-8");
    file.writeln("Tool Number,Diameter,Description,Length below holder,Tool holder,Flute length,Vendor,Product ID")
    file.close();
    var file = new TextFile(path, false, "utf-8");
    }
    storedTools=[];
    try{
    line = file.readln(); //skips first line
    toolParameters = line.split(",") //get tool paramater names from first line
    while (true){
    line = file.readln();
    storedTool = line.split(",");//gets all values seperated by comas
    let toolObject={}//create a tool object
    for (var i = 0; i < toolParameters.length ; ++i){ //iterate thru the parameters from first line
    toolObject[toolParameters[i]]= storedTool[i]; //add parameters and their values to tool object
    }
    log("TOOLOBJECT="+toolObject["Tool Number"])
    storedTools.push(toolObject) //add tool object to array storing all tools
    }
    }
    catch(e){
    }
    file.close()
    var file = new TextFile(path, true, "utf-8");
    file.writeln("Tool Number,Diameter,Description,Length below holder,Tool holder,Flute length,Vendor,Product ID");
    //open file to write
    var tools = getToolTable()
    replacedTools = [] //store tool number of replaced tools
    for (var i = 0; i < tools.getNumberOfTools(); ++i) {
    var tool = tools.getTool(i);
    toolUsed = false
    let toolObject={}
    if (storedTools.length>0){
    for (var j = 0; j < storedTools.length ; ++j){
    if(parseInt(storedTools[j]["Tool Number"]) == tool.number){
    toolUsed = true;
    if(storedTools[j]["Description"].replace(/\W/g, "") != tool.description.replace(/\W/g, "")){
    storedTools[j]["Diameter"] = tool.diameter.toFixed(4);
    storedTools[j]["Description"] =tool.description.replace(/,/g,"");
    storedTools[j]["Length below holder"] = toolFormat.format(tool.bodyLength);
    storedTools[j]["Tool holder"] = tool.holderDescription;
    storedTools[j]["Flute length"] = toolFormat.format(tool.fluteLength);
    storedTools[j]["Vendor"] = tool.vendor;
    storedTools[j]["Product ID"] = tool.productId;
    storedTools[j]["Replaced"] = true
    break;
    }


    }
    }
    }
    if(!toolUsed){
    toolObject["Tool Number"] =toolFormat.format(tool.number) //toolFormat.format rounds value
    toolObject["Description"] =tool.description.replace(/,/g,"");
    toolObject["Diameter"] = tool.diameter.toFixed(4);
    toolObject["Length below holder"] = toolFormat.format(tool.bodyLength);
    toolObject["Tool holder"] = tool.holderDescription;
    toolObject["Flute length"] = toolFormat.format(tool.fluteLength);
    toolObject["Vendor"] = tool.vendor;
    toolObject["Product ID"] = tool.productId;
    storedTools.push(toolObject)
    }
    }
    storedTools.sort(function(a,b){return parseInt(a["Tool Number"])-parseInt(b["Tool Number"])}); //sorts tools in descending order
    for (var i = 0; i < storedTools.length ; ++i){
    entry=""
    for (var j = 0; j < toolParameters.length ; ++j){
    entry+= String(storedTools[i][toolParameters[j]]+",")
    }
    if (storedTools[i]["Replaced"]){
    warning("TOOL "+storedTools[i]["Tool Number"]+" REPLACED")
    entry+=",Replace tool!"
    }
    log(entry)
    file.writeln(entry)
    }
    file.close();
    executeNoWait("chrome","file:///C:/Users/james/AppData/Roaming/Autodesk/Fusion%20360%20CAM/Posts/toolTable.csv",false,"")
    }

  • @ReiniGrauer
    @ReiniGrauer Год назад

    I believe there is a way to alter the setup sheet template to dump information in different formats to make it easier to scrape. You could potentially use it to drop information about the tool itself, the length, the diameter, ERP number, whatever and then use that as the basis for comparison rather than just the tool number itself. So you could potentially write a routine to scan all incoming setup sheets and then alert when a new setup sheet alters a tool number's parameters and then make the list of what tool is affected. That way if someone changes a tool in one program and forgets that they did that, the system knows that something was changed and can provide more information.
    On second thought, it might be a cool idea to have a network share of "live" programs that are loaded in each machine (could be the network share on the control itself) - programs that are actually allowed to run on the machine in its current tool loadout and configuration. Then you could have all this tool information as comments in the gcode itself, have the system scrape the gcode, and parse through it the same way. That way, if someone wanted to run a program on the machine, they would have to load it to the control from that folder, and the python script would alert if a program was inside the folder that had contradictory tool information from the other programs. If the tool absolutely needed to be changed, you would delete the programs from the folder that clash with the change until the script stops alerting, and then you would have to repost them with the updated tool information if you needed to run those old ones again (to check for collisions etc). You could potentially even version the names or something (1/2" 3fl Aluminum Rougher V2.1) with new speeds and feed parameters to force other programs to update to the new master tool parameters. The versioning could even be worked so old programs aren't forced to repost unless there is a new major version number, like if you just slightly tweaked feeds and speeds you might do a minor bump to V2.2 and wouldn't require a change but causing a warning from the script, but if you broke a tool and decided you needed a global change to feeds and speeds to prevent breakage in another program, you could make a major V3.0 change and get an error in the script from the old programs in the folder.
    The benefit to this is no additional step of manually producing a setup sheet, and the python script can just be always running, looking at the network shares for file updates, and either feeding a MQTT to alert on an alert system (home assistant, whatever) and everything is driven from the actual gcode of what is being run.

  • @brendanmmann
    @brendanmmann Год назад

    We use an 8-digit tool code instead of pot numbers on our horizontals that I really like. So instead of saying something like T32, we would use T21050030. The first number 2 defines this tool as an end mill, the 1 defines it as a 4-5 flute end mill, 0500 means it's a 1/2 in size, the 3 means it's mostly used on steel, and lastly the 0 means it the first tool we made up. If we make another tool with a different stick out or if we just want a duplicate we would just change the last number to a 1, 2, 3... This way the program will only call up the tool you want not whatever is in that pot.

  • @tedanderson463
    @tedanderson463 Год назад

    Thank you sir......... For spending the time to make this country a better place..... Could you make some fixtures and some laps and make your own ball bearings.... With your CNC equipment.... I don't know what the accuracy has to be in a ball bearing but I would think it would have to be plus or minus 5 millionths... Or even closer.... 25 years ago I bought some spindle bearings for an old Bridgeport and the bearing house had a balanced set of general motors matched bearings at an absorbitant price it was over $200 for two small bearings...... I guess general motors made bearings at one time maybe they still do the CEO of general motors is a woman and she's a electrical engineer that's Mary T. Barra... And her dad was a tool and die maker for general motors for years and years... I was just wondering if you could do such a thing.... In 2019 approximately there was an addition to Google and it was called" Google lens" that was so intriguing to me you put the app in your phone and take a picture of something and it'll tell you what it is. The app logo looks a little bit like the Instagram logo but it's different... But I was able to identify plants.... And I found this funny looking tool and it said that it was used in air conditioning repair and it new what that tool was.... It identified some pine needles one time and told me what kind of tree it was very fascinating world we live in and it's cool having folks like you in it you're a gift to the world... praise God.

  • @DavidtheSwarfer
    @DavidtheSwarfer Год назад

    this is why everyone needs to learn a scripting language! learn it and about it so at *least* you know how to ask someone to do it for you and get it right the first time.

  • @JonBanquer
    @JonBanquer Год назад

    This is just the beginning of what you will find to be major limitations of doing horizontal tombstone machining of multiple, varied parts in Fusion 360.
    Better CADCAM all have a module or extensive tools for handling tombstones. As way of an example of missing Fusion 360 tombstone functionality note all the ordering options at 11 04 of the following video:
    ruclips.net/video/mdbNogowM-4/видео.html

  • @mitsmillman1652
    @mitsmillman1652 Год назад

    why would dead heading the coolant pump be bad for the spindle?

    • @steves.3485
      @steves.3485 Год назад

      That’s what I was trying to figure out - it would still be the same amount of pressure… probably not good for the pump, but don’t see why the spindle would care

  • @TsunauticusIV
    @TsunauticusIV Год назад +2

    I remember back when your channel was super popular and growing like crazy. It hurts to see that it’s been years since you had a popular video now. 😞 You were one of the first machinists channels that I began watching. You used to operate in such a tiny area but you made things work. I feel like you’ve let yourself become divided so many different ways that maybe you can’t properly focus on RUclips anymore. I really miss your awesome videos and the way you used to do things. Maybe we could get an old school “entertainment” style of machining video once a month or once a week. We need to draw in new viewers and keep the channel… and the industry… alive. Even if it’s just “starting from nothing” kind of series. Pick a small room or closet to start in. Make small investments and let your viewers watch you grow from nothing again. Honestly it was awesome to watch you grow but I think a lot of todays viewers missed that back in the day. You really drew me into the machining world and I feel like you allowed your channel to continue to progress and now that you’re at a high level… you’ve taken the content with it. You’ve left behind all the new/startup people and the people just looking for entertainment. There are a lot of people that just like to watch chips fly. Lol. Look… I want to see you constantly get over 100k views on every video. I know you can do it!

  • @spikeypineapple552
    @spikeypineapple552 Год назад

    Hi John, thanks for the video. I'm just about to move from an umbrella toolchanger to a side mount at my business. Do you have anything on how you number your tools etc so you don't lose tools?

  • @eastwestdrivers8612
    @eastwestdrivers8612 Год назад

    Thanks John, informative as always, do you know of any software that i can paste gcode into which then spits out commented code explaining what it means, simular to what ChatGTP done when writing the code for a Robodrill ...ie M3 S500 (Start spindle at 500rpm)
    I have been searching for ages but didnt know what i was looking for until i saw your video

    • @randomrouting
      @randomrouting Год назад +1

      I bet if you ask ChatGPT to explain/comment your gcode as you paste it in.. it will.

    • @eastwestdrivers8612
      @eastwestdrivers8612 Год назад

      @@randomrouting your probably right but i need to think a bit before inviting AI onto my laptop, dont think im ready for that
      it