Creating g-code with BoardCAD 2.1

Welcome to BoardCAD forums Software BoardCAD Creating g-code with BoardCAD 2.1

Viewing 15 posts - 1 through 15 (of 19 total)
  • Author
    Posts
  • #3580

    surfineurope
    Participant

    In BoardCAD 2.1 the g-code generation is done in an external script instead of directly within BoardCAD. This will allow the user to easily customize the cutting paths. However, it does require a few extra steps in order to setup BoardCAD so that it can generate g-code. Here is a short tutorial on how to do this on Windows:

    Step 1: Download and install BoardCAD 2.1

    Click on the link below to install BoardCAD 2.1:

    http://www.boardcad.com/version21/boardcad21.jnlp

    When finished, a BoardCAD icon should be available on your desktop.

    2. Download scripts

    Right click on the following links and choose Save Link As:

    http://www.boardcad.com/version21/boardcad_init.py
    http://www.boardcad.com/version21/shapebot3deck.py
    http://www.boardcad.com/version21/shapebot3bottom.py
    http://www.boardcad.com/version21/shapebot.properties

    Make sure you remember where you save the files. I suggest you either save them in your home directory by using the path %userprofile%, or to create a specific path for storing the files, e.g. c:shapebot

    3. Make sure that BoardCAD finds the scripts

    You can control where BoardCAD look for the files by doing a right click on the BoardCAD icon and choose “Properties”. In the “Shortcut” tab there is a field called “Start in:”. Enter the path to your script files, i.e. %userprofile% or c:shapebot, in this field. Press ok.

    4. Start BoardCAD and generate g-code

    If BoardCAD is correctly setup, it should now have a script menu under which you’ll find the options G-code deck and G-code bottom.

    Create a new board, and use “3D model” -> “Approximate from Bezier” to create a 3D model that can be cut.

    Create g-code with the commands “Script” -> “G-code deck”, and “Script” -> “G-code bottom”

    Please read the BoardCAD book for details on how to configure the machine and correctly place the board within a blank. Note that some of the parameters in shapebot.properties have changed. An updated version of the BoardCAD book will be released in a couple of weeks together with the final version of BoardCAD 2.1.

    /Jonas

    #4354

    Howsit Jonas,
    Happy New Year, and plenty mahalos for the cool script-based implementation–can’t wait to try it out. One road block for me though, do you know how to point the Mac Jar app of BoardCAD to the *.py files like in the example for windows? I got 2.1 working, but without the jython console…
    aloha
    chris

    #4355

    surfineurope
    Participant

    Not sure how it works on Mac, but I can add a property value for the path so that it can be set through the Misc -> Settings menu, before I do I final release of version 2.1. I think this will make it easier for everyone.

    /Jonas

    #4356

    finally got the new version to compile for mac 10.7 (Lion) with the script functionality… it’s really nice, i very much like what you guys did with this version. i’ll post a link for the compiled mac binary in the Mac Developers thread so people can find/download it.
    One quick question though: do you know of a simple way to translate/rotate the board surface in the coordinate system so that the nose and tail both lie on the x axis (e.g., z = 0 at both ends)?
    mahalos,
    chris

    #4357

    surfineurope
    Participant

    @makau_surfboards wrote:

    One quick question though: do you know of a simple way to translate/rotate the board surface in the coordinate system so that the nose and tail both lie on the x axis (e.g., z = 0 at both ends)?
    mahalos,
    chris

    Here is simple way:


    #get reference to board
    import boardcad.BoardCAD
    boardhandler=boardcad.BoardCAD.getInstance().getBoardHandler()
    board=boardhandler.getActiveBoard()
    deck=board.getDeck()

    #find tail and nose points
    s=deck.getMinS()
    t=(deck.getMaxT()-deck.getMinT())/2
    p1=deck.getPoint(s,t)
    s=deck.getMaxS()
    p2=deck.getPoint(s,t)

    #place board
    import math
    a=math.atan((p2.y-p1.y)/(p2.x-p1.x))
    board.translate(-p1.x,-p1.y,0.0)
    board.rotate(a*180/math.pi)
    #4358

    right on, that works beautifully. you are a rock star of programming…

    #4359

    hi jonas,
    i need to request some more expert advise: separate from my last question, i’m now trying to incrementally rotate the board along the x-axis, similar to how the STLcutter is rotated, and am struggling to figure it out. i was trying to assign a setRotationCenter attribute to the board similar to the STLcutter but i am clearly missing something fundamental here. do you know a simple code snippet like you showed me last time to rotate the board along the x-axis (longitudinally)? again, i really appreciate all your help — i almost have the script working just how my machine needs it…
    mahalos

    #4360

    surfineurope
    Participant

    Sorry, I didn’t see this message until now. You can rotate the board around the x-axis with the following command:

    board.rotate_yz(angle)

    where board is a reference to your board as described above, and angle is the relative rotation in degrees.

    There seems to be a bug in the visualization that makes the board model look distorted after the rotation, but I think the underlying model should be correct.

    /Jonas

    #4361

    i shouldn’t admit it, but i was up to 15 lines of code trying to do that.
    I am shamed by the master once again…
    so it looks like I finally got it to work well for my machine now–many thanks for all the help.
    mahalo nui loa.

    by the way, where were those surf photos you posted from? looks like a fun beach break…

    #4362

    i’m getting some very nice tool paths out of the program now–i attached a screen shot just for fun. i have a question though: where is the split line between the deck and bottom surface? is it possible to get the whole surface as a continuous object (deck+bottom)?
    mahalos…..

    #4363

    Anonymous

    hi,
    Have you actually cut a board with these toolpaths?

    Is what you want to be able to make only one toolpath for the whole board? So you load the file only once in the controller?

    I’d love to see a good picture of a cut board…

    m.

    #4364

    howsit mocol,
    yeah, that’s exactly what i’m trying to get out. do you know how? I was using the exact same method with a commercial CAD/CAM package but board cad will be way more efficient. I’ve made many boards on SurfBot with this method, i’m just reproducing it with BoardCad which is way cooler. the images attached are of a board being cut with the tool path shown below… If i can get the surface as a whole, where won’t be a discontinuity between the deck and bottom as you see in the first tool path posted earlier…

    #4365

    the program stops when I try to generate de botton g code.. what I have to do ?

    #4366

    surfineurope
    Participant

    @rodrigopallante wrote:

    the program stops when I try to generate de botton g code.. what I have to do ?

    3D-model -> Transform -> Flip board

    /Jonas

    #4367

    Anonymous

    Makau,

    i was wondering if you can share where you get the green bullnose bit?
    or anyone ‘s connection for that matter.

    cheers!

Viewing 15 posts - 1 through 15 (of 19 total)
  • You must be logged in to reply to this topic.