Fret- and Headless Neck-Through Multiscale 6-String (Walnut-burl, Mahogany, Bubinga)

Discussion in 'Luthier's Corner' started by couchsofa, Oct 13, 2014.


  1. I went to a community wood workshop today. It's a pretty great workshop for kids with an amazing assortment of tools.
    Right when I wanted to leave because the operator was busy I ran into an acquaintance from the fablab. We went ahead to change the blade on the bandsaw and did some resawing.

    tumblr_nfpi41fmkX1twvu9io1_1280.png

    Planing and thicknessing

    tumblr_nfpi41fmkX1twvu9io2_1280.png

    And the end result are to 9,5mm thick pieces of walnut burl :D

    tumblr_nfpi41fmkX1twvu9io3_1280.png
     
  2. Well, I spend last night at the lab and got the tuners almost finished. Almost ... the inner threads on two of the seven knobs I made were stripped. No Idea how that happened but I have a bit of scrap left that I can use to make a replacement.
    I'm a bit worried, will a M3 thread in brass hold against the string tension? Backup plan is to convert up to M4.

    I went a bit frantic after the caffeine of two Club Mate hit and decided to ditch the CNC and do the rest by hand with files. It was more intense than I thought ... a lot of filing, filing and ... drilling. A drill broke in the hole but I got it out. Then a drill bit grabbed on to the brass and lugged the workpiece with the vise around. No harm done, just gave me a scare^^

    tumblr_nfsu5cb0p21twvu9io2_1280.png


    I also cut a new version of the fingerboard template because my piece of ebony was too small for the last one. I'm not sure about the shape, something's off :/ I think the lines should follow the cut-away and not the "fan of the frets". What do you guys think?

    tumblr_nfsu5cb0p21twvu9io1_1280.png
     
  3. Just cut some wings with the hacksaw. The upper one is sitting on my bench, glue drying with a piece of wenge veneer between the bubinga and walnut burl.

    tumblr_nfv6zwbXc51twvu9io2_1280.png tumblr_nfv6zwbXc51twvu9io1_1280.png
     
  4. MPU

    MPU

    Sep 21, 2004
    Valkeala Finland
    M3 threads will hold just fine. My only concern regarding your tuners is that it will be very hard to turn those small diameter slippery knobs. Some kind of rougher surface would help a lot.
     
  5. Splods

    Splods

    Oct 7, 2012
    Adelaide, SA
    What's even better is if they more closely resemble tuning pegs, that way you can get a good grip on it.
     
  6. Gilmourisgod

    Gilmourisgod

    Jun 23, 2014
    Cape Cod MA
    Yeah, you might need to knurl those knobs, cool project what with all the custom metal work. Do they have a metal lathe and knurling bit at your Fablab? Now I want a laser cutter, don't know why, just want one.
     
  7. Ok, I'm a bit more relaxed now :)

    That's it! Knurling ... I head no idea how to create those grooves but the process looks totally doable. We have a metal lathe at the fablab and, if I got it right, all I need is to get one of those: http://www.amazon.de/WABECO-Rändelz...F8&qid=1417470913&sr=1-1&keywords=rändelzange

    Don't worry, feeling the need to get a laser cutter is completely normal and you will know why you got one once it's up and running and the ideas begin to flow :D

    Routed the first half of the wings on the abomination of a router table that I created. It went quite smooth, just had one major tear-out but that was easily fixed with some glue. I will route the next part once my long router cutter with an upper bearing arrives.

    tumblr_nfxc47ulFf1twvu9io1_1280.png tumblr_nfxc47ulFf1twvu9io2_1280.png
     
  8. Means2nEnd

    Means2nEnd Supporting Member

    Looks like a lot of wood at once. From advice from guys here I never take off more than 1/2" at a time usually less. One of those reasons was to minimize tear outs. The less the spinning rod of death and destruction sticks out of my table the better I feel as well.
     
  9. Gilmourisgod

    Gilmourisgod

    Jun 23, 2014
    Cape Cod MA
    I template sanded my first body to line with a " robosander" which is just a small drum sander with a pattern follower on one end. Its a lot slower, but no tearout. Anybody else use one of these?
     
  10. Means2nEnd

    Means2nEnd Supporting Member

    Thanks Gilmourisgod, I never heard of one of these but this could be great for punky wood tops and end grain. Learn something new every day/night I'm ordering some!
     
  11. MPU

    MPU

    Sep 21, 2004
    Valkeala Finland
    I use oscillating drum sander for final shaping the body. I've never understood the need for pattern routing with one-offs. I have the body shaped with drum sander in the same time I make the template for it.
     
  12. I took multiple passes, adjusting the fence until I hit the template. I think it was the combination of a slightly dull cutter, running into end-grain and grain running almost parallel to the edge.

    Why did I never think of that? That's awesome! :D

    Not if you've got a laser cutter :D
     
  13. I think you were right. Got a new cutter yesterday and tried again, taking off ~1mm (5/127") on each pass and still had tearout on the end-grain. I found the Robosander, great idea but I can't do woodworking inside the lab, the drill press is way to heavy to move outside, and I don't like the idea of spinning the drum on my router at high rpm.
    So, my plan to continue is as follows: take the parts to the community woodworking workshop and sand as close as possible to the template on the drum sander and do the rest on my router table. I can also prepare the fretboard and neck while I'm there if I can get the truss rod route done by then (still waiting for cutter to arrive).

    On a different note: I sprayed the brass hardware with Zapon Laqucer to prevent corrosion and ditched the set screws. There just isn't enough space for them. I could make them shorter but they already are very short and one stripped a thread so I just fixed the threaded rod with Loctite.
     
  14. Hmm, I found some sites talking about the properties of Bubinga and they all say that it's incredibly dense and very brittle. So taking of 5/127" might have been already too much. Definitely going to sand the wings and control cavity cover as close to the template as I can.
    I would be very grateful for any further tips, tricks or recommendations on how to proceed working the Bubinga, didn't think it would such a hassle :meh:
     
  15. The drum sander worked really well. Absolutely no tear-out on the Bubinga and nice smooth edges.
    tumblr_ngdu71az1u1twvu9io2_1280.png

    Couldn't resist the obligatory mock-up, although it is still a long way to go ...

    tumblr_ngdu71az1u1twvu9io1_1280.png
     
  16. Triad

    Triad Supporting Member Commercial User

    Jul 4, 2006
    Europe
    Builder
    Love the tuners!
     
  17. Thanks! Still need to knurl the knobs and make new saddles.

    I removed most of the material from the electronics cavity. I'm thinking about doing the rest with the CNC since I had so much trouble with the router on the Bubinga.

    [​IMG]
     
  18. Just a short update because I've caught the flu and won't be home over the holidays:

    Bought a Shinto saw-rasp and began the round-overs on the upper wing. I'll wait with the lower wing until I have all the CNC work done so I got a nice surface to reference.
    Also marked the thickness of the neck on the wings to give me an idea of how much material I got to work with in order to create the curved back; it measures to be 9mm (~3/8").

    [​IMG]

    Also managed to write a bit of gcode to mill the electronics cavity, didn't write it by hand this time since this is a very organic shape with lots of curves... Sim looks good but I will do a prototype first!

    Edit: It might be interesting for people with limited budget that I did all the CAM work with OpenSource Software.
    • Created the shape in inkscape
    • Inset it 4mm to compensate for a 8mm cutter
    • Exported the path to gcode instructions using gcodetools for inkscape
    • Ran it through a parametrization post-processor
    • Did a bit of editing and wrapped the path in a loop
    • Simulated the code in EMC2.4 (LinuxCNC)

    Code:
    %
    
    G21 (using mm)
    G40 (manual toolrad comp)
    
    #<feed_rate> = 400.000000 (Feed definition)
    #<z_feed_rate> = 100.000000 (Feed definition)
    
    #<depth> = 32 (Pocket depth)
    #<z_feed> = 0.5
    #<z_offset>  = [-1 * #<depth>] (Z axis offset)
    #<x_offset>  = -40.2 (X axis offset)
    #<y_offset>  = -220.8 (Y axis offset)
    
    #<z_safe> = [30 - #<z_offset>]
    
    G00 Z[#<z_safe> + #<z_offset>]
    G00 X[71.303008 + #<x_offset>] Y[265.016916 + #<y_offset>]
    
    
    
    #<steps> = [#<depth> / #<z_feed>]
    #<current_depth> = [#<depth>]
    
    O101 repeat [#<steps>]
    
        #<current_depth> = [#<current_depth> - #<z_feed>]
    
        G01 Z[#<current_depth> + #<z_offset>] F [#<z_feed_rate>](Penetrate)
    
        G03 X[54.939101 + #<x_offset>] Y[263.425865 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[0.747043] J[-92.629963] F [#<feed_rate>]
        G03 X[32.018868 + #<x_offset>] Y[256.905863 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[24.123737] J[-128.350492]
        G03 X[32.048280 + #<x_offset>] Y[256.861170 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[0.197750] J[0.098110]
        G02 X[32.077215 + #<x_offset>] Y[256.816238 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-0.155544] J[-0.131950]
        G02 X[32.283836 + #<x_offset>] Y[256.305672 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-4.417582] J[-2.084848]
        G02 X[32.435570 + #<x_offset>] Y[255.770613 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-5.083235] J[-1.730557]
        G02 X[32.532576 + #<x_offset>] Y[255.223347 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-5.553018] J[-1.266543]
        G02 X[32.568905 + #<x_offset>] Y[254.650304 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-4.501340] J[-0.573044]
        G02 X[32.532783 + #<x_offset>] Y[254.073439 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-4.624231] J[-0.000000]
        G02 X[32.435570 + #<x_offset>] Y[253.522524 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-5.599211] J[0.703991]
        G02 X[32.283837 + #<x_offset>] Y[252.987469 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-5.235014] J[1.195518]
        G02 X[32.077215 + #<x_offset>] Y[252.476899 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-4.624371] J[1.574339]
        G02 X[31.815085 + #<x_offset>] Y[251.989622 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-4.759394] J[2.246164]
        G02 X[31.502218 + #<x_offset>] Y[251.528370 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-4.776512] J[2.903168]
        G02 X[31.146301 + #<x_offset>] Y[251.102776 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-4.390802] J[3.310341]
        G02 X[30.743856 + #<x_offset>] Y[250.706810 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-4.449873] J[4.120175]
        G02 X[30.302802 + #<x_offset>] Y[250.345721 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-4.258374] J[4.751516]
        G02 X[29.818822 + #<x_offset>] Y[250.019686 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-3.598605] J[4.819676]
        G02 X[29.312903 + #<x_offset>] Y[249.745455 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-3.116626] J[5.145962]
        G02 X[28.768831 + #<x_offset>] Y[249.511810 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-2.971593] J[6.169443]
        G02 X[28.198689 + #<x_offset>] Y[249.323691 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-2.439811] J[6.436430]
        G02 X[27.593792 + #<x_offset>] Y[249.183188 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-1.800896] J[6.380877]
        G02 X[26.984543 + #<x_offset>] Y[249.100007 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-1.214138] J[6.620030]
        G02 X[26.343766 + #<x_offset>] Y[249.071154 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-0.640777] J[7.100913]
        G02 X[25.698733 + #<x_offset>] Y[249.099819 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-0.000000] J[7.271763]
        G02 X[25.085395 + #<x_offset>] Y[249.183188 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[0.593432] J[6.663662]
        G02 X[24.484811 + #<x_offset>] Y[249.323863 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[1.143173] J[6.232922]
        G02 X[23.918705 + #<x_offset>] Y[249.511810 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[1.964990] J[6.865178]
        G02 X[23.370382 + #<x_offset>] Y[249.745291 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[2.629726] J[6.936433]
        G02 X[22.860364 + #<x_offset>] Y[250.019686 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[2.440455] J[5.147262]
        G02 X[22.380766 + #<x_offset>] Y[250.345823 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[2.848627] J[4.704725]
        G02 X[21.943679 + #<x_offset>] Y[250.706810 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[4.248026] J[5.588671]
        G02 X[21.541235 + #<x_offset>] Y[251.102776 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[4.047317] J[4.516022]
        G02 X[21.185318 + #<x_offset>] Y[251.528370 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[4.035017] J[3.736042]
        G02 X[20.968624 + #<x_offset>] Y[251.857837 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[2.466397] J[1.858161]
        G02 X[20.776989 + #<x_offset>] Y[252.200558 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[21.233445] J[12.097778]
        G02 X[19.810261 + #<x_offset>] Y[251.778829 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-18.501826] J[41.092823]
        G03 X[18.818604 + #<x_offset>] Y[251.341652 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[13.541752] J[-32.060259]
        G03 X[3.452969 + #<x_offset>] Y[240.015743 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[19.636736] J[-42.726848]
        G03 X[1.189183 + #<x_offset>] Y[233.003368 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[6.741628] J[-6.047975]
        G03 X[5.014075 + #<x_offset>] Y[227.287440 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[7.361510] J[0.788352]
        G03 X[21.918665 + #<x_offset>] Y[222.773722 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[17.791937] J[32.721582]
        G03 X[24.319092 + #<x_offset>] Y[222.719682 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[21.707268] J[911.088978]
        G02 X[26.577104 + #<x_offset>] Y[222.669160 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-20.293353] J[-957.727219]
        G03 X[26.552850 + #<x_offset>] Y[222.854425 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-1.718638] J[-0.130781]
        G02 X[26.535450 + #<x_offset>] Y[223.042597 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[1.008824] J[0.188172]
        G02 X[26.567327 + #<x_offset>] Y[223.619451 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[5.235391] J[0.000000]
        G02 X[26.660439 + #<x_offset>] Y[224.170376 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[4.872253] J[-0.540131]
        G02 X[26.812170 + #<x_offset>] Y[224.705438 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[5.228800] J[-1.193711]
        G02 X[27.018767 + #<x_offset>] Y[225.216000 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[4.631706] J[-1.577124]
        G02 X[27.280911 + #<x_offset>] Y[225.703277 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[4.763128] J[-2.248306]
        G02 X[27.593792 + #<x_offset>] Y[226.164530 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[4.772834] J[-2.900806]
        G02 X[27.949713 + #<x_offset>] Y[226.590133 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[4.386790] J[-3.306929]
        G02 X[28.352127 + #<x_offset>] Y[226.986091 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[4.456050] J[-4.126244]
        G02 X[28.793311 + #<x_offset>] Y[227.343430 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[3.795721] J[-4.235319]
        G02 X[29.277159 + #<x_offset>] Y[227.665747 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[3.970125] J[-5.435450]
        G02 X[29.787123 + #<x_offset>] Y[227.943880 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[3.333563] J[-5.505592]
        G02 X[30.335526 + #<x_offset>] Y[228.181090 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[2.855511] J[-5.849092]
        G02 X[30.901556 + #<x_offset>] Y[228.369027 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[2.529700] J[-6.672602]
        G02 X[31.502218 + #<x_offset>] Y[228.509714 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[1.743607] J[-6.091699]
        G02 X[32.111453 + #<x_offset>] Y[228.592895 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[1.214003] J[-6.619014]
        G02 X[32.752217 + #<x_offset>] Y[228.621745 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[0.640764] J[-7.101108]
        G02 X[33.397290 + #<x_offset>] Y[228.593079 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-0.000000] J[-7.272402]
        G02 X[34.010587 + #<x_offset>] Y[228.509714 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-0.593308] J[-6.662456]
        G02 X[34.611190 + #<x_offset>] Y[228.369034 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-1.142958] J[-6.232027]
        G02 X[35.177279 + #<x_offset>] Y[228.181090 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-1.965239] J[-6.865804]
        G02 X[35.725645 + #<x_offset>] Y[227.943886 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-2.306219] J[-6.083957]
        G02 X[36.235647 + #<x_offset>] Y[227.665747 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-2.827123] J[-5.790505]
        G02 X[36.715183 + #<x_offset>] Y[227.343301 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-3.152727] J[-5.206493]
        G02 X[37.152304 + #<x_offset>] Y[226.986091 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-3.688914] J[-4.960221]
        G02 X[37.554763 + #<x_offset>] Y[226.590121 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-4.048635] J[-4.517484]
        G02 X[37.910664 + #<x_offset>] Y[226.164530 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-4.031112] J[-3.732630]
        G02 X[38.223570 + #<x_offset>] Y[225.703266 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-4.462447] J[-3.363948]
        G02 X[38.485663 + #<x_offset>] Y[225.216000 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-4.489826] J[-2.729128]
        G02 X[38.696528 + #<x_offset>] Y[224.705448 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-5.064434] J[-2.390503]
        G02 X[38.852338 + #<x_offset>] Y[224.170376 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-4.452939] J[-1.586888]
        G02 X[38.945473 + #<x_offset>] Y[223.619449 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-4.776667] J[-1.090844]
        G02 X[38.977354 + #<x_offset>] Y[223.042597 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-5.202941] J[-0.576852]
        G02 X[38.950122 + #<x_offset>] Y[222.713331 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-2.004230] J[0.000000]
        G03 X[38.902364 + #<x_offset>] Y[222.392816 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[9.336209] J[-1.554933]
        G03 X[70.681944 + #<x_offset>] Y[221.704273 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[342.954087] J[15095.240353]
        G03 X[90.295040 + #<x_offset>] Y[221.324787 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[159.915867] J[7757.954970]
        G02 X[90.325461 + #<x_offset>] Y[221.784925 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[11.134972] J[-0.505083]
        G02 X[90.395042 + #<x_offset>] Y[222.228504 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[3.249020] J[-0.282409]
        G02 X[90.546772 + #<x_offset>] Y[222.763566 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[5.228579] J[-1.193641]
        G02 X[90.753369 + #<x_offset>] Y[223.274128 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[4.631763] J[-1.577148]
        G02 X[91.015525 + #<x_offset>] Y[223.761408 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[4.767448] J[-2.250724]
        G02 X[91.328394 + #<x_offset>] Y[224.222658 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[4.771282] J[-2.899654]
        G02 X[91.684355 + #<x_offset>] Y[224.648278 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[4.383193] J[-3.304162]
        G02 X[92.086728 + #<x_offset>] Y[225.044219 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[4.466312] J[-4.136432]
        G02 X[92.527911 + #<x_offset>] Y[225.401557 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[3.795678] J[-4.235270]
        G02 X[93.011762 + #<x_offset>] Y[225.723875 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[3.970042] J[-5.435348]
        G02 X[93.521724 + #<x_offset>] Y[226.002007 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[3.333625] J[-5.505702]
        G02 X[94.070129 + #<x_offset>] Y[226.239218 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[2.855405] J[-5.848854]
        G02 X[94.636158 + #<x_offset>] Y[226.427155 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[2.529745] J[-6.672722]
        G02 X[95.236816 + #<x_offset>] Y[226.567842 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[1.743596] J[-6.091627]
        G02 X[95.846112 + #<x_offset>] Y[226.651028 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[1.214023] J[-6.619168]
        G02 X[96.486815 + #<x_offset>] Y[226.679873 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[0.640703] J[-7.101085]
        G02 X[97.131891 + #<x_offset>] Y[226.651207 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-0.000000] J[-7.272449]
        G02 X[97.745187 + #<x_offset>] Y[226.567842 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-0.593306] J[-6.662442]
        G02 X[98.345793 + #<x_offset>] Y[226.427161 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-1.142926] J[-6.231896]
        G02 X[98.911877 + #<x_offset>] Y[226.239218 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-1.965200] J[-6.865637]
        G02 X[99.460191 + #<x_offset>] Y[226.002022 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-2.304803] J[-6.080268]
        G02 X[99.970244 + #<x_offset>] Y[225.723875 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-2.832392] J[-5.800630]
        G02 X[100.449787 + #<x_offset>] Y[225.401433 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-3.160860] J[-5.218715]
        G02 X[100.886902 + #<x_offset>] Y[225.044219 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-3.677219] J[-4.945790]
        G02 X[101.289362 + #<x_offset>] Y[224.648248 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-4.048353] J[-4.517210]
        G02 X[101.645264 + #<x_offset>] Y[224.222658 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-4.031455] J[-3.732934]
        G02 X[101.958172 + #<x_offset>] Y[223.761393 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-4.462037] J[-3.363678]
        G02 X[102.220264 + #<x_offset>] Y[223.274128 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-4.489997] J[-2.729210]
        G02 X[102.431161 + #<x_offset>] Y[222.763568 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-5.062379] J[-2.389961]
        G02 X[102.586938 + #<x_offset>] Y[222.228504 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-4.446667] J[-1.584797]
        G02 X[102.680073 + #<x_offset>] Y[221.677577 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-4.777133] J[-1.090914]
        G02 X[102.711954 + #<x_offset>] Y[221.100724 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-5.202775] J[-0.576853]
        G01 X[102.711954 + #<x_offset>] Y[221.093268 + #<y_offset>] Z[#<current_depth> + #<z_offset>]
        G03 X[109.198699 + #<x_offset>] Y[220.976790 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[543.546009] J[30079.702873]
        G02 X[117.503926 + #<x_offset>] Y[220.824394 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-147.973026] J[-8289.937840]
        G03 X[133.812388 + #<x_offset>] Y[223.899527 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[0.767454] J[40.712111]
        G03 X[137.658640 + #<x_offset>] Y[227.662839 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-2.748475] J[6.656215]
        G03 X[137.832664 + #<x_offset>] Y[233.988523 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-7.698336] J[3.377023]
        G03 X[134.287566 + #<x_offset>] Y[239.921961 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-18.059371] J[-6.764297]
        G03 X[126.529676 + #<x_offset>] Y[246.994315 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-77.753433] J[-77.499108]
        G03 X[118.745605 + #<x_offset>] Y[252.656164 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-49.114110] J[-59.341666]
        G03 X[118.640897 + #<x_offset>] Y[252.471212 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[1.685253] J[-1.076201]
        G02 X[118.528935 + #<x_offset>] Y[252.290192 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-1.037661] J[0.516667]
        G02 X[118.169106 + #<x_offset>] Y[251.860716 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-4.350916] J[3.279866]
        G02 X[117.762253 + #<x_offset>] Y[251.461164 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-4.578999] J[4.255750]
        G02 X[117.325103 + #<x_offset>] Y[251.103952 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-4.130975] J[4.609312]
        G02 X[116.845567 + #<x_offset>] Y[250.781508 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-3.629968] J[4.880666]
        G02 X[116.335606 + #<x_offset>] Y[250.503375 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-3.333316] J[5.505106]
        G02 X[115.787200 + #<x_offset>] Y[250.266165 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-2.855471] J[5.849024]
        G02 X[115.221159 + #<x_offset>] Y[250.081943 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-2.211640] J[5.833771]
        G02 X[114.620510 + #<x_offset>] Y[249.945007 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-1.900085] J[6.948655]
        G02 X[114.007228 + #<x_offset>] Y[249.861643 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-1.206445] J[6.577861]
        G02 X[113.362166 + #<x_offset>] Y[249.832979 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-0.645063] J[7.244050]
        G02 X[112.721387 + #<x_offset>] Y[249.861830 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[0.000000] J[7.130204]
        G02 X[112.112141 + #<x_offset>] Y[249.945007 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[0.604856] J[6.703242]
        G02 X[111.511548 + #<x_offset>] Y[250.081936 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[1.299444] J[7.085186]
        G02 X[110.945449 + #<x_offset>] Y[250.266165 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[1.646770] J[6.022083]
        G02 X[110.397102 + #<x_offset>] Y[250.503365 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[2.305772] J[6.082777]
        G02 X[109.887082 + #<x_offset>] Y[250.781508 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[2.828872] J[5.793870]
        G02 X[109.403276 + #<x_offset>] Y[251.103816 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[3.490035] J[5.763050]
        G02 X[108.962078 + #<x_offset>] Y[251.461164 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[3.353475] J[4.591375]
        G02 X[108.559520 + #<x_offset>] Y[251.860814 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[3.709029] J[4.138596]
        G02 X[108.203745 + #<x_offset>] Y[252.290192 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[4.482047] J[4.075830]
        G02 X[107.890836 + #<x_offset>] Y[252.751455 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[4.457271] J[3.360464]
        G02 X[107.628717 + #<x_offset>] Y[253.238724 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[4.497850] J[2.733686]
        G02 X[107.422077 + #<x_offset>] Y[253.749298 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[4.419708] J[2.085852]
        G02 X[107.270390 + #<x_offset>] Y[254.284349 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[5.070415] J[1.726483]
        G02 X[107.177462 + #<x_offset>] Y[254.831624 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[4.806749] J[1.097723]
        G02 X[107.145375 + #<x_offset>] Y[255.404658 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[5.100720] J[0.573034]
        G02 X[107.177255 + #<x_offset>] Y[255.981509 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[5.234829] J[0.000000]
        G02 X[107.270390 + #<x_offset>] Y[256.532438 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[4.869792] J[-0.539914]
        G02 X[107.422077 + #<x_offset>] Y[257.067487 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[5.222021] J[-1.191414]
        G02 X[107.628717 + #<x_offset>] Y[257.578063 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[4.626547] J[-1.575352]
        G02 X[107.801731 + #<x_offset>] Y[257.881925 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[2.063534] J[-0.973760]
        G03 X[107.995391 + #<x_offset>] Y[258.175558 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-12.943876] J[8.747533]
        G03 X[91.456484 + #<x_offset>] Y[263.277163 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-30.497881] J[-69.511606]
        G03 X[73.686361 + #<x_offset>] Y[265.016927 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-18.817886] J[-100.584964]
        G03 X[72.490179 + #<x_offset>] Y[265.022387 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[-1.076901] J[-104.896492]
        G03 X[71.303008 + #<x_offset>] Y[265.016927 + #<y_offset>] Z[#<current_depth> + #<z_offset>] I[0.194959] J[-171.458071]
        G01 X[71.303008 + #<x_offset>] Y[265.016916 + #<y_offset>] Z[#<current_depth> + #<z_offset>]
    
    O101 endrepeat
    
    G00 Z[#<z_safe> + #<z_offset>]
    G00 X0 Y0
    %
     
    Last edited: Dec 17, 2014
  19. blindsagacity

    blindsagacity

    Nov 7, 2013
    I'm lost on the last 3 steps of your gcode process, but really interested in being able to get gcode through inkscape. Any links or explanations on those last 3 points?
     
  20. Sure.
    • Ran it through a parametrization post-processor
    That's by far the easiest step, you can select a post-processor in the gcodetools plugin and this one adds a variable offset and scale factor to each axis. It also creates separate variables for xy and z feedrates, which can be quite useful.
    I don't need the scaling so I deleted that one with search and replace and renamed the offsets. Just so it is a bit more readable :)
    • Did a bit of editing and wrapped the path in a loop
    The editing was mostly search and replace to tidy up the code and removing a few commands: just some manual optimization ;)
    It's still a 2D path and I want the CNC to mill out a pocket, going down in steps. That's what the loop does. I calculate the number of steps (how often I need to repeat the pattern at a different height) by dividing the depth of the pocket by the z-feed (how much material I want to take off in one go, 0.5mm here).
    O101 repeat [#<steps>] repeats the code for the number of steps.
    #<current_depth> = [#<current_depth> - #<z_feed>] reduces the z coordinate by the z-feed on each loop.
    The last two statements just move the cutter to a save height above the workpiece and return it to zero.
    Now you just need to change every Z[] statement in the code to Z[#<current_depth>], which I did by replacing "Z[-0.1250000" with "Z[#<current_depth>". As long as the paths are 2D the Z coordinate should be the same on every statement and is easily replaced.
    • Simulated the code in EMC2.4 (LinuxCNC)
    Took me a wile to get this working^^ In the end I got an Image of LinuxCNC and installed it in a VM using VMWarePlayer. You can select a simulator when starting EMC, I mostly use 3axismm but there are a lot of options and many things to be considered of which I have little knowledge. The Sim works great for validating your gcode though, but I always do a prototype on the actual machine to see if I run into problems.

    Hope that helped ... maybe I should do a little tutorial ...
     
  21. Primary

    Primary TB Assistant

    Here are some related products that TB members are talking about. Clicking on a product will take you to TB’s partner, Primary, where you can find links to TB discussions about these products.

     
    May 18, 2022

Share This Page