Fusion 360 & post processor

New Home Forum Software / Firmware Development Fusion 360 & post processor

This topic contains 314 replies, has 57 voices, and was last updated by  Guffy 5 days, 13 hours ago.

Viewing 30 posts - 271 through 300 (of 315 total)
  • Author
    Posts
  • #69236

    JeffH
    Participant

    I remembered from waaay back that Notepad didn’t fiddle the files like Wordpad, etc do. You get the straight up formatted goods when you open stuff, and it saves it the same way.

    When I got FUSION 360 to import the file mentioned above, it looked like it was having a good look at it ie processing the code, and incorporated my changes.

    Thanks for the comments

    #76800

    Guffy
    Participant

    hi
    I took the V10 preprocessor https://github.com/martindb/mpcnc_posts_processor and made a few improvements:

    • Implemented tool changing with Z probe (with using G28 Z or G38.3)
    • Implemented additional M0 reminders to remin turn ON\OFF spindle for whom has manually controlled motor.

    Now issued start code looks:

    ;Fusion 360 CAM 2.0.4860
    ;Posts processor: MPCNC_Mill_Laser.cps
    ;Gcode generated: Sunday, November 25, 2018 7:12:24 PM GMT
    ;Document: Untitled
    ;Setup: Setup2
    ; *======== START begin ==========*
    G90
    G21
    M84 S0
    G92 X0 Y0 Z0
    ; +------- Probe tool -------+
    M0 Attach ZProbe
    G28 Z
    G92 Z0.8
    G1 Z40 F300
    M0 Detach ZProbe
    ; +------- Tool probed -------+
    M0 Turn ON spinde
    ; *======== START end ==========*
    ;2D Adaptive2 - Milling - Tool: 1 - flat end mill
    ;X Min: 3.088 - X Max: 53.912
    ;Y Min: 3.088 - Y Max: 38.912
    ;Z Min: -3 - Z Max: 15
    M400
    M117 2D Adaptive2

    Tool change code:

    ; *======== CHANGE TOOL begin ==========*
    M400
    M300 S400 P2000
    G1 40 F300
    G1 X0 Y0 F2500
    M0 Turn OFF spinde
    M0 Put tool 2 - flat end mill
    ; +------- Probe tool -------+
    M0 Attach ZProbe
    G28 Z
    G92 Z0.8
    G1 Z40 F300
    M0 Detach ZProbe
    ; +------- Tool probed -------+
    M0 Turn ON spinde
    ; *======== CHANGE TOOL end ==========*
    ;2D Pocket2 - Milling - Tool: 2 - flat end mill
    ;X Min: 19.369 - X Max: 37.349
    ;Y Min: 14.231 - Y Max: 27.266
    ;Z Min: -1 - Z Max: 15
    M400
    M117 2D Pocket2

    Stop code:

    G0 Z15
    
    ; *======== STOP begin ==========*
    M400
    M117 Job end
    G0 X0 Y0 F2500
    M0 Turn OFF spinde. COMPLETE!
    ; *======== STOP end ==========*

    Properties:

    // user-defined properties
    properties = {
    cutterOnThrough: "M106 S200", // GCode command to turn on the laser/plasma cutter in through mode
    cutterOnEtch: "M106 S100", // GCode command to turn on the laser/plasma cutter in etch mode
    cutterOnVaporize: "M106 S255", // GCode command to turn on the laser/plasma cutter in vaporize mode
    cutterOff: "M107", // Gcode command to turn off the laser/plasma cutter
    travelSpeedXY: 2500, // High speed for travel movements X & Y (mm/min)
    travelSpeedZ: 300, // High speed for travel movements Z (mm/min)
    manualSpindlePowerControl:true, // Spindle motor is controlled by manual switch
    setOriginOnStart: true, // Set origin when gcode start (G92)
    goOriginOnFinish: true, // Go X0 Y0 Z0 at gcode end
    gcodeStartFile: "", // File with custom Gcode for header/start (in nc folder)
    gcodeStopFile: "", // File with custom Gcode for footer/end (in nc folder)
    gcodeToolFile: "", // File with custom Gcode for tool change (in nc folder)
    gcodeProbeFile: "", // File with custom Gcode for tool probe (in nc folder)
    toolChangeEnabled: true, // Enable tool change code (bultin tool change requires LCD display)
    toolChangeX: 0, // X&Y position for builtin tool change
    toolChangeY: 0, // X&Y position for builtin tool change
    toolChangeZ: 40, // Z position for builtin tool change
    toolChangeZProbe: true, // Z probe after tool change
    toolChangeDisableZStepper: false, // disable Z stepper when change a tool
    probeOnStart: true, // Execute probe gcode to align tool
    probeThickness: 0.8, // plate thickness
    probeUseHomeZ:true, // use G28 or G38 for probing
    probeG38Target: -10, // probing up to pos
    probeG38Speed: 30 // probing with speed
    };
    #76807

    Jeffeb3
    Participant

    Awesome! People are constantly using this post processor and asking about it. I’m happy it exists and people are using it. I have not used it myself.

    If I can offer some unsolicited advice, Github is a much better place for source code. It can track issues, have documentation, track different versions. This thread has been very confusing in the past when the latest version gets buried, and people either choose some experimental version, or the first version from the top.

    If you need help with git, let me know. Forking Martin’s version or even asking him to include your changes is better than a zip in the 10th page of a forum. Just my $0.02.

    1 user thanked author for this post.
    #76814

    Guffy
    Participant

    : )

    I’m familiar with git, because i’m senior c++ programmer. I use git fay by day at work. When i worked some time ago on small arduino project i installed gogs into my home freenas server.

    And I have github account, but i don’t know why does not really use it yet. I didn’t something big with that preprocessor so probably i though that not to big deal to make fork

    #76815

    Jeffeb3
    Participant

    Ah, good. No need for my advice then.

    #76819

    Guffy
    Participant

    Honestly i dont understand yet why it not produced m3/m5 gcodes. Even if i really don’t need them now (because i have manually controlled milling motor) i want to solve this issue. Then maybe i will make fork

    #76946

    Guffy
    Participant

    ok, Jeff inspired me to make github fork
    https://github.com/guffy1234/mpcnc_posts_processor

    1 user thanked author for this post.
    #77401

    Guffy
    Participant

    hi guys
    I spend some time to improve the postprocessor. I don’t know how name it now ). You can name it V11 as example.
    (the link in post above)
    So:

    • Now it support control of a spindle motor with M3/M4/M5 in addition to manual mode. It writes RPM values.
    • Code inside had bee refactored.
    • Examples of simple generated g-code files added to github README with syntax highlighting.
    • All properties now have normalized title and description. File properties could be selected with file dialog (right click on them).

    Attachments:
    1 user thanked author for this post.
    #77413

    Ryan
    Keymaster

    I really need to have a quick look. I would love to link one version I know works but I have not used fusion CAM in a very long time now. As soon as I look at it or we get a few people to verify it I will link straight to this I hope.

    Could you link a quick full sample output gcode perhaps. I can look for any obvious marlin incompatibility.

    #77417

    Guffy
    Participant

    Could you link a quick full sample output gcode perhaps. I can look for any obvious marlin incompatibility.

    samples are embedded into the github page https://github.com/guffy1234/mpcnc_posts_processor
    test Fusion file attached below

    Attachments:
    1. cam_testpp-v2.zip
    2 users thanked author for this post.
    #77424

    Ryan
    Keymaster

    OMG Freaking Beautiful! Wow, I appreciate the work….and the documentation. That is just great.

    The one stipulation is that needs to be on the newest Marlin firmware of mine or higher >=301. From the use of sticky feedrates.

    1 user thanked author for this post.
    #77435

    Jeffeb3
    Participant

    Guffy, You’re awesome. Almost makes me wish I could use fusion 360 (I’m banned from using windows). The docs and code are much clearer now. Hopefully that translates to lots of people making dust, instead of fighting software battles.

    1 user thanked author for this post.
    #77523

    Guffy
    Participant

    ok, so I polished the code (removed some unnecessary spaces, etc)
    and improved README on the githib (make properties desriptions as tables)

    Also I added Resources section at the end with useful links. So anyone can write a postprocessor too 😉

    And I added coolant code for issue coolant-related g-codes (based on M42, by deafult use pins 11 and 6). So as example you can connect a relay to pin 11 that manage air jet valve and a relay for dust sucker to pin 6. Then define mode “Air” to channel A in the postprocessor properties and “Suction” for channel B. Whenever you will set Coolant in the CAM (Air OR Suction)- postprocessor will inject corresponding g-codes for milling sections.

    I think that it’s not bad for now, haven’t additional ideas at the moment to add features in the nearest future. But pls report bugs and I will try to fix if any

    PS. By the way it seems that Fusion 360 got a lot of improvements in the CAM section
    https://www.autodesk.com/products/fusion-360/blog/november-28-2018-product-update-whats-new/#CAM

    Attachments:
    #77545

    Ryan
    Keymaster

    Amazing work, it really seems very thorough and complete.

    #77548

    Ryan
    Keymaster

    I changed the PP links to including your version. You really might have sparked my interest into trying basic stuff in Fusion CAM again.

    #77569

    Guffy
    Participant

    Do you control your duwalt with m3/m5 gcodes and use S for set rpm?

    I plan to ensure that rpm commands work properly and can implement “rpm boost” feature – a few coefficients that postprocessor may multiple to current rpm when performs plunge/helux/lead in parts of the cut section

    #77571

    Ryan
    Keymaster

    Yes, M3 when I use the PID.  Never heard of the boost.

    #77576

    Guffy
    Participant

    It’s my own term which i invented when you had complained that rpms kicked down for short moment when a tool lead in into iron and the current setting of pid can’t help.

    Postprocessor in fusion has an event (onMovement) that notifies kind of moving that it going to do. So despite that you can set rpm to an entire section the postprocessor teoretically can tune it inside the section depend on kind of current movement.

    Look at Dumper postprocessor. It really nice shows what fusion sends to a postprocessor

    #77577

    Ryan
    Keymaster

    I would say don’t worry about it. Very few actually use RPM control, and the PID just needs the three values set properly. I had tuned in free air and verified in wood. I just need to adjust slightly for metals.

    I can’t wait to try out your PP, I can’t imagine there are any other options we need? DO you think it is feature complete? I have looked through the PP guide and I think you got it all. So excited.

    #77579

    Guffy
    Participant

    I would say don’t worry about it.

    Ok )

    I can’t wait to try out your PP, I can’t imagine there are any other options we need? DO you think it is feature complete? I have looked through the PP guide and I think you got it all. So excited.

    I don’t know. Instead of programming in milling i’m novice. As example started to study fusion about month ago and cam part of it on the last weekend. So i have implemented it as i think it should be.

    So probably it’s better to ask expirienced guys does it complete or something is missed.

    #77594

    BT
    Participant

    One suggestion: add the min and max travel for each axis in the header comment.  Might help folks with layout if they know the amount of material they need in each direction.

    #77599

    mulze32
    Participant

    Fusion 360 CAM is my go to right now. I’m in no means good at it but for what I use it for its good. So thank you very much for continuing to develop the code, can’t wait to use it on the next project.

    #77673

    Guffy
    Participant

    One suggestion: add the min and max travel for each axis in the header comment. Might help folks with layout if they know the amount of material they need in each direction.

    Done

    
    Date: 01.12.2018 19:43:10
    Message:
    1. added properties to control over produced comments
    2. added tools table and ranges table to job header
    3. added support Inches mode
    ----
    Modified: MPCNC_Mill_Laser.cps
    Modified: README.md
    
    
    ;Fusion 360 CAM 2.0.4860
    ; Posts processor: MPCNC_Mill_Laser.cps
    ; Gcode generated: Saturday, December 1, 2018 5:48:24 PM GMT
    ; Document: ring1 v7
    ; Setup: Setup2
    ; 
    ; Ranges table:
    ; X: Min=-52.912 Max=52.912 Size=105.825
    ; Y: Min=7.587 Max=35.413 Size=27.825
    ; Z: Min=-8.8 Max=15 Size=23.8
    ; 
    ; Tools table:
    ; T1 D=3.175 CR=0 - ZMIN=-8.8 - flat end mill
    ; T2 D=1.5 CR=0 - ZMIN=-1.5 - flat end mill
    ; T3 D=2 CR=0 - ZMIN=-2 - flat end mill
    ; *======== START begin ==========* 
    G90
    G21
    M84 S0
    G92 X0 Y0 Z0
    ; COMMAND_TOOL_MEASURE
    ; +------- Probe tool -------+ 
    M0 Attach ZProbe
    G28 Z
    G92 Z0.8
    G0 Z50 F300
    M0 Detach ZProbe
    ; +------- Tool probed -------+ 
    ; COMMAND_START_SPINDLE
    ; COMMAND_SPINDLE_CLOCKWISE
    M0 Turn ON CLOCKWISE
    ; *======== START end ==========* 
    ;2D Pocket1 - Milling - Tool: 1 - Flat 3.175 flat end mill
    ; X Min: -52.912 - X Max: 52.912
    ; Y Min: 7.587 - Y Max: 35.413
    ; Z Min: -6.8 - Z Max: 15
    M400
    M117 2D Pocket1
    ; COMMAND_COOLANT_ON
    G0 Z15
    G0 X-12.396 Y10.838 F2500
    G0 Z5 F300
    ; MOVEMENT_LEAD_IN
    G1 Z2.813 F300
    ; MOVEMENT_RAMP_HELIX
    G1 X-12.415 Y10.809 Z2.67 F333
    G1 X-12.463 Y10.729 Z2.558
    G1 X-12.494 Y10.669 Z2.529
    G1 X-12.522 Y10.608 Z2.5
    
    2 users thanked author for this post.
    BT, Ryan
    #77739

    Guffy
    Participant

    fixed bugs:
    – calculation Ranges table
    – properly handle spindle speeds (M3/M4) in onSection and in onSpindleSpeed (when there is different ramp in RPM)

    #77783

    Guffy
    Participant

    I’m going to ask a few technical questions about post processors on autodesk forum.

    Have I ask about add our pp to their pp library http://cam.autodesk.com/hsmposts ?

    Or maybe even about are they can add it to set of pp deployed with fusion.

    Ryan, how you think?

    #77784

    Jeffeb3
    Participant

    If you do that. i wouod suggest calling it a Marlin Post Processor, since that’s the general audience.

    #77786

    Guffy
    Participant

    If you do that. i wouod suggest calling it a Marlin Post Processor, since that’s the general audience.

    Formally you right. But mpcnc is only one cnc i know that used marlin.

    Many diy small cnc machines use grbl with uno+cnc shield. Diy lasers frequently use cnc nano board and i guess grbl too.

     

    Ps. That’s finny, but grbl and linuxcnc pp failed to generate gcode when you set a coolant fir a section. Looks like they just didn’t testes the case.

    #77800

    Jeffeb3
    Participant

    There are people converting 3d printers to do cnc tasks. Seems more likely to be accepted into the core piggybacking on the success of something like Marlin.

    #77801

    Guffy
    Participant

    the task resolved the enxpected way. I tried to create new topic on https://forums.autodesk.com/t5/hsm-post-processor-forum/bd-p/218 . twice. and both times them had been closed as spam. first had lint to github, but second one, as for me was pretty innocent:

    pp for marlin

    hi
    I have implemented post processor and I have a few questions.

    1. I defined extended property descriptions, but it looks like Fusion sort it sometime in very strange way. Looks like it desn’t respect group id and alphabetical order of titles.
    2. A few of properties of my PP are spatial (positions and speeds). I assigned values to these properties in MM (mm/min) and defined extended attributes as “sptial” with corresponding default_mm and default_in. When I switch units in Fusion UI i had expected that Fusion will replace default values to default_in. But it didn’t happen. So I declared in my documentation that user must set properties in MM. How to properly handle spatial properties?
    3. I installed VSC extention HSM. Great tool. It deaclares that it can help to publish PP, but i didn’t find how.”

    Marked as spam. If you believe this is an error, submit an abuse report.”
    I made “abuse report” but it didn’t help.

    it’s some kind of a shame from their side. i didn’t expect

    #77802

    Jeffeb3
    Participant

    Really? Can you tell if it was a computer or a human that made the decision? I know sometimes forums cam have aggressive anti spam bots. Did you put a link in it? Sometimes that’s what will trigger it.

Viewing 30 posts - 271 through 300 (of 315 total)

You must be logged in to reply to this topic.