Welcome to Our Community

Some features disabled for guests. Register Today.

Newbie Question: Fusion360 --> Gcode for pen plotter?

Discussion in 'DrawBot' started by Floor van de Velde, Apr 11, 2020.

  1. Floor van de Velde

    Builder

    Joined:
    Apr 10, 2020
    Messages:
    5
    Likes Received:
    1
    Hello all!
    I'm quite new on this forum and am also new to building drawing machines, etc. I just finished building a drawing robot based on this design: Drawing Robot - Arduino Uno + CNC Shield + GRBL by henryarnold
    I'm using SourceRabbit Gcode sender to send the Gcode to the machine, but am a bit stuck on how to convert my .svg's, dxf's, .ai's, .eps's, etc to Gcode. I was hoping to use Illustrator but that seems to not work.

    I am also learning Fusion360 which I am loving and would love to know: would it be possible convert a sketch in Fusion to Gcode? I presume it's through the "manufacturing" workspace, but am having trouble going from there....

    Has anyone here had success in doing this? Or any other advice for best ways to turn vectors into Gcode?

    (I also know how to use Rhino...not sure if that could work?)

    So grateful for anyone that might have advice!
     

    Attached Files:

  2. Giarc

    Giarc OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Jan 24, 2015
    Messages:
    3,017
    Likes Received:
    1,682
    I do not know how to do a simple engraving type tool path in Fusion. You could always export your drawing as a .dxf and open it in F-engrave (free opensource). I do a lot of drawings by attaching a pen to my CNC router and using an engraving tool path. I call the pen a 1mm endmill and use a 0.2mm depth of cut. I start with a .dxf. At the beginning of the video in this project you can see what I mean.
     
  3. Alex Chambers

    Alex Chambers Master
    Moderator Builder

    Joined:
    Nov 1, 2018
    Messages:
    2,785
    Likes Received:
    1,366
    Never tried it but;

    engrave toolpath.png

    Alex.
     
    Giarc likes this.
  4. Giarc

    Giarc OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Jan 24, 2015
    Messages:
    3,017
    Likes Received:
    1,682
    Brilliant. I don't know how I did not see that. :duh: It has been a long time since I generated gcode with Fusion. I am rusty.
     
  5. Floor van de Velde

    Builder

    Joined:
    Apr 10, 2020
    Messages:
    5
    Likes Received:
    1
    Thanks Giarc and Alex!
    I did know that there is a way to generate Gcode with Fusion, but I get lost when it comes to configuring the tool. I just downloaded a grasshopper definition here: 2D Gcode Generator that I'm going to try as well.

    Giarc, if you have any tips on how to generate Gcode for your drawing plotter, please do let me know. I've been searching for three days now and am just burning to start using my machine!

    Thanks again for all your help!
     
    Alex Chambers likes this.
  6. AllanArt

    AllanArt New
    Builder

    Joined:
    Jun 3, 2019
    Messages:
    46
    Likes Received:
    7
    After a slow and very confusing start, I am able to successfully use Adobe Illustrator svg files with my custom arco 1010 pen plotter. My application is art based. I create unique artwork which I then enhance by plotting over with ink line drawing detail.

    If your experience is anything like mine, you will have discovered that except for OpenBuilds' CAM (OBC), there is no gcode app/controller combo on the market that specifically deals with pen plotting - to my knowledge. Nothing with the specific modes you need to generate pen plotting code. For example, depending on your pen holder design, cnc plotting very likely involves proper control of the range of the pen up/down servo. Another important parameter you need in the code is "dwell" time for each and every pen up/down move, to compensate for the mechanical delay of the servo before moving the transport. Here's an early example of a test print on plain paper using a 3D printed pen holder I designed with Fusion 360. I tried different dwell times and finally settled on .2sec.

    Several gcode generating solutions were recommended, including Fusion 260, but none of them offered a practical workflow IMO. I would have been happy to use OB CAM, but it's a web app with certain limitation - like inability to work with very large files and open vector paths - so I went looking for a workable solution. Fusion 360 is amazing software, but like so many other solutions I looked at, the task of plotting a pen tool path gets lost in a maze of 3D functionality for which I have no use. And that's just for openers.

    Fortunately I stumbled upon Lighburn used to control laser cnc. Relatively inexpensive software. When you think about it, that's a lot closer to pen plotting than adapting a turning spindle path code generator. Lightburn is meant to realtime control a cnc laser, but it also includes a gcode generator feature. By setting one simple power setting in the gui, it can generate gcode from an imported svg, that you are able to easily adapt to pen plotting. While the code does not address setting up/down servo values or dwell times, it will place M3/M5 gcode "placeholders" in the code (meant for a laser) which I then replace with up/down spindle values ("S" servo values as seen by OpenBuilds Control interface) including dwell times of my choosing. It takes me less than a minute to do this in a text editor, after which I now have perfect code to open in Openbuids Control to control the 1010. Better yet, Lighburn's GUI enables you to optimize the tool path of the code to improve the efficiency of the plot. Very useful.

    The major limitation to Lighburn - in this use case - is it cannot open or play gcode itself. In other words, the code you generate is a one way path output. This is not an issue in this case since I move the file on to Openbuilds Control which has an array of very useful and functional features to execute the plot.

    Thus far I've done dozens of plots from Illustrator svg via the 1010, without a major glitch. (Still work to do to perfect my pen holder design) It literally takes me minutes to get to a successful plot from the time I export my work in Illustrator as an svg.
     

    Attached Files:

  7. Floor van de Velde

    Builder

    Joined:
    Apr 10, 2020
    Messages:
    5
    Likes Received:
    1
    Hi Allan,
    Wow. Thank you SO much for such a generous response. Your pen plotter looks amazing and is miles ahead of my little drawingbot. I hope to put together one using OpenBuilds in the near future. I'm new to this all, so I guess I have to start somewhere.

    I agree, there seems to be a lot of information out there about how to build these types of plotters, but much less information and advice on how to prepare files. After about a week of wrangling with different plug-ins, etc. I am currently creating vector art in Rhino, then importing that to Inkscape and then saving the GCode from there which I then plug into SourceRabbit which runs the machine. But I find Inkscape incredibly confusing to use and would MUCH rather use Illustrator and/or Rhino and just export from there.

    Since I teach at college level, Fusion360 is free to me and I must say I'm starting to love how you can explore parametric design. (I've been exploring parametric design in Grasshopper as well. But that is definitely more of a learning curve for someone like me who's more of an artist, way less of a programmer).

    I am totally going to try out the laser cutting software you recommended. $80 seems very reasonable to me. I did find a plugin for Illustrator. Not sure if you know about it. Here is the link: Illustrator to G-code panel — DIEGO MONZON
    I just haven't been able to figure it out. I think I need to understand gcode a bit better and my machine's settings. I might give it another whirl though, because working in Illustrator would be ideal.

    I will have some images and video of my machine working soon. May I ask what it cost you approx. to build your system? I would love to have that size to work with.

    Thanks so much again for your reply. Super helpful!
     
  8. Alex Chambers

    Alex Chambers Master
    Moderator Builder

    Joined:
    Nov 1, 2018
    Messages:
    2,785
    Likes Received:
    1,366
    I believe there is a trial version of lightburn - worth checking that out before spending any money.
    Alex.
     
  9. Floor van de Velde

    Builder

    Joined:
    Apr 10, 2020
    Messages:
    5
    Likes Received:
    1
    Yes. I am trying it out right now.
    Might still go the Illustrator Plugin route, but I do work quite a bit with laser cutters too...so it might be interesting to get the software for school. Is there a different laser cutting software that you prefer / might recommend?
     
  10. AllanArt

    AllanArt New
    Builder

    Joined:
    Jun 3, 2019
    Messages:
    46
    Likes Received:
    7
    The paid version of Ligthburn is $40 not $80 as I recall.

    You can try to control your Grbl machine with it if you wish, but it's not necessary or relevant to the solution. Its role is to generate working gcode. Here's a screen grab of the key settings I used to make it work. You need to select the M3 GRBL interface (even though you are not actually going to control a machine with it), and give the laser a power level something less than 100%. In my case I use 52% but the actual number really does not matter. I also set it to "user origin" because this makes it very easy for me to register the gcode with the 1010 coordinate interface when I import the file in to Openbudilds Control. By doing this you will cause Lightburn to generate code that will plant "M5s" and "M3s" at the start and stop of every open and close vector. Save the gcode with a .txt extension and open in a text editor. You can think of the M values as "placeholders".

    I use a text editor to replace all the M3's with "S110 G4 P0.2" - servo down - and all the M5s with "S160 G4 P0.2" - servo up - plus I clean up a few minor XY coordinate and other entries at the beginning and end of the code based on what I have learned about how the acro will handle the generated code. Your case will be different bc you have a different machine. The S110 and S160 values are based on the needs of my pen holder servo, which I learned after trial and error. Openbuilds Control offers the ability to make these changes as well, so I can always change it on that side of the fence if necessary. The G4 P0.2 item is the servo dwell time I have determined, again, based on the design needs of my particular custom pen holder.

    Once I'm done editing the code (typical takes less than a minute) I change the extension back to ".gc" and I'm done. I've got perfect optimized gcode ready to plot via Openbuilds Control. Be aware, once you generate gcode in Lighburn you cannot load it back in to the app to review the tool path again. That's one of its limitations. It's a one way street in this regard. You must work on optimizing the path in their tool path preview window (which BTW is great) prior to committing the code bc you can't load the file back in to app again. Also, this method does not work as clearly if you chose to have Lighburn generate paths to fill outlined vector shapes. It does does something much different in the code to account for the inner paths. Something that is much more difficult to track down and replace using the "find-and-replace" method. I don't need the inner fill paths so I have not bothered to figure out how to solve the problem.

    I'm very familiar with Inkscape. It was my goto app for a few years, until my unique art technique required I switch to Illustrator. Even so, I tried to use it to generate the gcode but it was a total bust. I've been in touch with someone on the inkscape design team on this issue and I was told they are about to give up on the gcode extension because the extension developer will no longer maintain it. I also know about that supposed gcode plug-in for Illustrator you mentioned. I tried going down that gcode path too. I haven't checked it out lately, but it was effectively vaporware at the time I looked in to it.

    As for my setup, it's a standard OpenBuilds ACRO 1010 priced in the 600s. To this I added a custom 3D printed penholder. That's another big application hole I found in the pursuit of a cnc pen plotter. No off the shelf solution to be found anywhere. I needed a pen holder that would accept a wide variety of pen size diameters and was relatively easy to swap pens too. I tried to adapt pen holder designs I found on Thingiverse but ran in to issues with all of them so I used Fusion 360 to come up with a design of my own. Took me 3 tries but eventually came up with a design that works well enough with the 1010 for my application - for now. But it's something I plan to get back to at some point.

    Good luck
     

    Attached Files:

  11. Floor van de Velde

    Builder

    Joined:
    Apr 10, 2020
    Messages:
    5
    Likes Received:
    1
    Thanks so much Allan! I'm slowly picking through your last thread to see how I can make Lightburn work with my particular machine. I think the real problem for me is that I don't totally understand how my drawing machine reads Gcode. I was able to build it myself and upload everything to the Arduino, but I'm still figuring out exactly how the gcode works. I think once I have a handle on this, it'll all be a lot easier.
    I also tried to use the Illustrator plugin I told you about, but same problem here....I have to actually input the specs according to my own machine....so..still lots to learn! I have a solid grip on Illustrator, Rhino, Fusion360 and a string of other open source apps that can create vector-based software...now just to figure out how to draw!

    Thanks again for your generous knowledge sharing!
     
  12. Giarc

    Giarc OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Jan 24, 2015
    Messages:
    3,017
    Likes Received:
    1,682
    What happens if you choose to use a stepper versus a servo to raise and lower the pen holder? I am curious because mine has worked fine without needing any dwell mine modifications, but my drawings are relatively simple and not intended to be artwork.
     
  13. AllanArt

    AllanArt New
    Builder

    Joined:
    Jun 3, 2019
    Messages:
    46
    Likes Received:
    7
    I've seen many examples online of cnc engraving machines adapted for pen plotting, but typically they are not intended for complex plots of hundreds, if not thousands of XY vectors, and for good reasons.

    For openers, it would add way more time to the plot waiting for the Z axis to raise and lower the pen, compared to a servo. Second, you have to treat the pen like a tool bit, setting the Z depth perfectly to ride the plotting surface underneath. Problem is, the nature of the surface (lets say paper or canvas for example) may not be perfectly flat to within a fraction of a mm - which is the resolution you need for very fine ink pens. Set Z too low and you can destroy the tip of a microliner pen in a heartbeat. Set Z too high and you risk a skipping affect in the plot. Gravity can solve this problem for you.

    A way around this problem is to allow gravity to lower the pen on to the surface - to "ride" its imperfections as they may be - and lift it off the surface properly with the arm of a common RC servo type. That's the method used by the majority of pen holders - like my design. It still takes a finite amount of time to lift and lower the pen, but way faster than it takes to turn a threaded rod or move a belt to make a Z move - or raise and lower the entire bed below as some do using a 3D printer. That said, the truth is the servo method is a crude method in its own way. The ideal method, IMO, would be to control the pen via a solenoid arm. In fact that was my first choice in the design of my pen holder, but I discovered that the kind of solenoid action I needed would require me to make my own out of coiled wire rigged in some Rube Goldberg fashion. No time for that project.

    One shortcoming of the servo method is the working resolution. Because GRBL/gcode has no formal provision for servo controlled pen plotting, we are forced to adapt the servo to the 0-255 "spindle" range parameter. That's a bit too coarse in terms of the servo throw resolution needed IMO. A range of 0-1024 would work much better. I assume this is an Arduino I/O limitation.

    As for the added need for a dwell time, it is a must if you expect to move through a big complex plot at a reasonable pace. In the case of my ARCO 1010 and my servo controlled pen holder - I use feed rates between F500-F1000. Any faster than that and I find the tiniest play in my pen holder, combined with the tiny play in the 1010s X axis Vslot mounting plate, will result in a tiny bit of "path wiggle" due to drag on the pen - as minor as you think that might be. This can have a lot to do with the specific track of connecting paths at times. Either way, without setting a dwell time, the gcode controller will start moving the transport a hair before picking up the pen creating a tiny "dog ear" defect as it moves on to start the next vector path. Conversely, you need to prevent the pen from waiting too long at the start of a path potentially creating a tiny ink dot puddle. Issues like this will vary depending on the type of ink vs gel vs other media you choose to use.
     
    Peter Van Der Walt likes this.
  14. Giarc

    Giarc OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Jan 24, 2015
    Messages:
    3,017
    Likes Received:
    1,682
    Thank you for the explanation. I would love to see one of the drawings, but I totally understand if you do not want them on the internet.
     
  15. AllanArt

    AllanArt New
    Builder

    Joined:
    Jun 3, 2019
    Messages:
    46
    Likes Received:
    7
    I use an exclusive technique I perfected whereby I cut adhesive vinyl (mostly the commercial type used by sign makers) in to small irregular shapes, which I then paste down end-to-end by hand, one-by-one, (like a self made jigsaw puzzle of sorts) to create colorful compositions of different subject matter. I mostly employ either a known pop-art style, or a style of my own I call "colorful flat art". Piece counts vary from around 100 on the simple stuff to 600+ pieces in some of my architectural themed compositions - with anywhere from around a dozen to over 40 different vinyl colors and types in a given compositions.

    While the result yields a totally unique artistic look, it has limitations. I'm limited in my inability to include fine line detail or color gradations to name two. While I have developed the skill to lay in some very intricate combination of cut pieces, I have been looking for a way to overlay the underlying composition with pen and ink line detailing. Problem is the only ink that will stick to vinyl permanently is alcohol ink. But that presents another set of problems. It dries in less than 2sec so I only have one shot at laying in each ink line without making a mistake. A mistake that could ruin the underlying artwork- not too mention the steady hand it takes to lay in a perfect line. That's what led be to the cnc pen plotting idea and OpenBuilds Acro 1010 in particular. My goal was to create a plotter that I could lay down vector lines with 100% dependability and reasonable accuracy. What I did not expect to find is how much of a forgotten child pen plotting is in the cnc space. Fortunately I was able to cobble together the missing pieces with the 1010 to come up with an acceptable solution/workflow.

    This picture is a small (20 x 13) "proof of concept" composition I created to test and explore this idea. The subject matter is based on a photo of a landmark building in Cary NC. Using an old B/W photo, I created a multi layered vector drawing in Adobe Illustrator composed of close to 300 vector shapes (pieces) butted up to each other like an unconventional jigsaw puzzle. 30+ layers for the main composition account 30+ different vinyls color and type I planned to use. On top of these 30 layers I drew 300+ black open and closed end vector detailing lines.

    To create the actual artwork first I airbrushed in the sky and foreground with an alcohol ink gradation. Then using Illustrator and my commercial vinyl cutter, I cut a sheet of colored pieces for each of the 30+ colors in the picture and set these in by hand one-by-one on to the backing material, using my Illustrator artwork as a reference. Again, everything you see set in to the underlying composition is vinyl - including the small black mat surrounding the picture. It's very difficult for a photo to reproduce the individual pieces. You have to see the picture in person - close up - to recognize it is not painted.

    Next I exported the black detailing layers (there was more than one) as an svg and opened in Lightburn software. There I previewed and optimized the "tool path" - which by default is intended for a laser - and exported the gcode. I then opened this code in a text editor and converted its M3 and M5 placeholders in to Up/Down servo values that OpenBuilds Control would recognize - with a dwell time of .2sec - plus cleaned up a few lines of code at the start and end of the Lightburn code pertaining to a laser plot only.

    From there I opened the modified code in OpenBuilds Control - which BTW offers an assortment of editing tools as well. Very helpful in registering the plot as it turned out. At this point the trickiest part was aligning and registering the plot with the underlying artwork in the 1010. Again, one screwup and the artwork below would be ruined so there can be no mistakes. Given this was my first attempt, I decided to lay in the plot in sub groups (6) rather than risk a misalignment in one location plot vs another. So for example the background trees went in first by themselves. The building detailing was done separately as well as the building sign and street lamp, and the railing on the building etc. Some of the black building lines are actually vinyl and I did end up laying in a few lines by hand, but 90% of the black line detailing you see is the result of 1010 plotting. I was able to come up with a method to "eyeball" the registration of the plot to within <1mm, which was adequate for this composition, but I will attempt to improve on this in future compositions. An ARM method (Automatic Registration Mark) like you find in a vinyl cutter would be ideal but I think that's a wish too far to expect of Grbl right now.

    While the overall workflow may sound clunky, it's acceptable for now. However, I hope someone takes more interest in adding plot specific tools and parameters to the GRBL/gcode environment. That said, I was fortunate to have picked the OpenBuilds 1010 path by chance. The machine performance was rock solid. I must admit, at first I did not fully appreciate the scope and value of the tools included OB Control software. A few critical functions it offers helped me greatly in reaching the point I'm at. Next up is bigger and more complex subject matter.
     

    Attached Files:

  16. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    15,055
    Likes Received:
    4,313
    Amazing work! Looks fantastic! You should post some video of the process / cutting sometime we'd love to reshare it to give you some exposure if you'd like
     
  17. Giarc

    Giarc OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Jan 24, 2015
    Messages:
    3,017
    Likes Received:
    1,682
    That is cool! Thanks for sharing.
     
    Peter Van Der Walt likes this.

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice