Beiträge von tdawg

    Hi,

    I programmed it, but I also don't see any reason to use this option.

    But if you have a couple of thousand users, there is always the one or other who needs a certain option.

    Of course, it's a big job to make this work for everyone. It is really amazing what people are doing with these machines!

    My guess would be that users wit an automatic tool changer might want to use this option. They do not need to have the tool measured with every change because the tools are chucked in their holders so their length of protrusion stays the same, thus can be captured in the tool table.

    Thinking of that scenario, I think you are right. I haven't even begun to consider fixed tool lengths and tool tables, and probably won't for some time given the price of ATC. Hopefully in a few years though.

    Back to the change_tool macro!


    There are 3 types:

    • 0 ignore
    • 1 move to tool change position
    • 2 move to tool change position and measure tool.

    What is the reason to use type 1 to change tools during a program without measurement?


    Original Sorotec code auf Deutsch:

    Schallbert I came back to this thread to ask if you would post your version so I can compare my edits ^^ Thanks for the link, I will have a look around.


    At this point it would probably be good to have a new thread specific for the macro that can contain your articles and the github repository. I made a private github myself to testdrive hosting the files, but am still learning how to use it and implement versioning online instead of my hard drive.


    I am really surprised how little info I can find specific to Eding macros. The Sorotec version has mostly different variables than the Eding macros and is much more complex, so it's obvious they have someone really smart writing this stuff. That person should make a youtube channel or something! Maybe there is a forum where people get together and write macros?


    I have completely free time at work during the holidays and have been reading/editing macros for the last several days straight :sleeping: I think I've hit a point where I am going in circles a little bit and need a break. I'll reach back out when I get back at the computer.

    I would like to build a lightweight enclosure and look to using aluminum extrusions for the frame.


    I see a lot of projects people make with extrusions, but where do they buy them? I have so far only found industrial suppliers that want my annual salary for a few meters. I know it costs more than wood, but some of it must be more affordable if people are using it at all.


    Any good online shops or regional suppliers we can use? Initial calculations (1500x1000x1000) suggest I need about 15 meters.

    I discovered that there are some pre-defined callouts within EdingCNC that refer to the macros.


    When I renamed the 'change_tool' sub routine to 'TOOL_CHANGE', it broke. Renaming it fixed it.


    Looking through the manual, other routines with hardcoded names and called by the software itself are:

    home_all

    change_tool

    user_reset

    user_1-20

    xhc_probe_z

    xhc_macro_1-10

    zero_set_rotation

    zhcmgrid


    Everything else can be named whatever you want and associated with your own sub routine.


    You can even nest your own subroutines within these software routines to customize their sequences.

    That's easy - it is because EdingCNC developers decided to hard-code a set of variables (including this one) internally to always reflect probe position.

    So does the G38.2 update this value on the backend when #5067 (probe triggered) is triggered? The manual says #5067 is 0 unless triggered to 1, so just want to confirm my interpretation. This would be easy to watch if I had a machine with me, but I am left to work this out in simulation mode and my monkey brain while I am away.

    Code
    G53 G38.2 Z[#4509] F[#4504] ; Probe Z to sensor height with Probe Feed #4504
    IF [#5067 == 1] ; Sensor is triggered

    I don't have any improvements to suggest on your code, it is already very easy to understand. Do you think I could remove the tool table recording from the Sorotec macro since I use a normal collet?


    I actually thought you work for Sorotec! Do you host any of this on Github? I am looking to start keeping mine there for version control and availability.

    Ha that is amazing coincidence. I recently messed with AI gcode a few days ago when ChatGPT went public, but never even thought to mess with it as I sat working on this code the last 2 days.


    It seems to restate the macro in plain terms, which is great for learning but doesn't exactly explain when the #5053 is recorded. I'll still take your lead and see what it comes up with for some other macros I've been thinking about. Maybe I'll even see if it could've done all the translation for me if I can handle the shock ^^

    I am working to fully understand the macro.cnc from Sorotec and translate version (2.1e) to english in the process. I am trying to fully explain each line using comments and I am completely tripped up in the tool measurement sub routine (sub user_2).


    I am referencing Schallbert 's amazing website on macros and there seem to be some extra lines in the Sorotec version I want to understand.


    Can someone help me understand how the machine knows the probe measurement (#5053) without issuing a G92 command at the sensor trigger point?


    Specifically, why does the machine move to safeZ and then do the measurement calculations:

    IF [#5067 == 1]

    G53 G0 z[#4506]

    #[5400 + #5016] = 0

    #[5500 + #5016] = 0

    #5021 = [#5053 - #4509]

    msg "Tool Length = " #5021


    IF [#3501 == 1]

    #4502 = [#4501]

    #4501 = [#5021]

    #3502 = [#4501 - #4502]

    G92 Z[#5003 - #3502]


    Here's the whole code from after the machine is moved to the sensor:

    https://www.holzwerken.net/new…ste-jetzt-veroeffentlicht


    Hope that tool helps you. I found my "local" dealer about 1 hour away and make some runs every few months for a few boards. Of course they come in large 2500x1250 sheets and I cut them down at home as quick as possible.


    The prices are similar to the baumarkt, BUT the quality is much better. I recently milled some Buche - Keilzinkung Lamellen from Obi and hated it. The durchgehende Lamellen from the holzhandler is only a little more money and looks great.

    Thanks to Roy and some others in the Eding Facebook group!


    Solution: Enable the "automatic tool change" option in the software.


    The Sorotec macro now works automatically:


    • Set Z0
    • Start program
      • Machine moves to tool change position and asks for first tool
      • Change tool and hit OK
      • Machine measures tool, starts spindle, and executes program
    • M6 encountered:
      • Machine moves to tool change location and asks for next tool
      • Change tool and hit OK
      • Machine measures tool, starts spindle, and executes program
    • Repeat as needed


    I did need to add an "M00" command for the "3503=0" statement so the machine didn't continue the program if I pressed cancel. Hopefully this doesn't cause any issues in the future.

    To start, let me say that reducing the number of points in the vector file solves the issue. However, I am curious if there is a setting to have EdingCNC overlook these in this case.


    I have a toolpath that is set to 2500mm/min, but slows to around 500mm/min despite being a straight line path. Once past this point in the cut, the feedrate goes back to normal, until the next pass.


    pasted-from-clipboard.png


    I know from my past experience with a vinyl plotter that too many points can slow the gcode, so I checked and of course there were lots of points in a very small span.

    Zooming in, some of these points in the straight section are clusters of several points within .02mm distance.

    It is obvious that the slowdown occurs as the machine "navigates" between the individual points and axis acceleration settings causes it to go slowly.


    pasted-from-clipboard.png


    LAF default is 3, and increasing to 3.5 did not seem to make a difference.


    Will increasing the LAF help "glide past" the excess vector points? What are practical limits to LAF and what machine factors make this important?

    Hi,


    I see when the program calls M6, the program pauses and requests a tool change.


    Currently, I manually call the Sorotec macro (under sub user 2) for tool length measurement after inserting the new tool, then press start again.


    Is there a way to have the machine call the macro automatically when it sees M6? Maybe this exists for ATC and can be adapted for MTC?