Introducing BanateCAD

Hum Banate – We Make

Introducing BanateCAD.  I have spent the past year playing with OpenScad, doing 3D modeling, learning how to make interesting things to print on my printer.

Although I’ve been able to do a great many things with OpenScad, I finally came to the point where it made more sense for me to create my own 3D modeling package, rather than living within the constraints of OpenScad.

Banate CAD is the beginning of my effort to create what I will term as a 3D visualization and modeling package.  At the moment, it possesses many of the primitives that I have created in OpenScad over the past year, from cubic surfaces, to blobs.  I’ve thrown in some extras like being able to specify colors using Crayola color names.

There is NO CSG at the moment.  CSG operations will be great, and I will probably add them over time.  I want to implement the CSG operations as native Lua code, not simply bind to an existing library.  In that way, more of the codebase will be transferable to other platforms, without having to worry about porting monsterous libraries that I know nothing about.

Banate CAD is written completely in Lua.  I use the IUP library, and LuaGL.  As long as these two packages are available in your Lua distribution, it should work on your platform.  At the moment, it’s “Windows Only”, simply because I use the LuaForWindows package, and I haven’t tested with anything else.  I do have a Mac, and I’ll try it out there, and work out whatever differences may exist.

In creating Banate CAD, I am hoping to accelerate the advancement of this genre of CAD tools.  It is freely and easily modified/improved by anyone who has some basic Lua coding skills.  There should be a few people from the “World of Warcraft” universe who can apply some skills to making this better.

I do provide some basics, like being able to turn a triangle mesh into an OpenScad polyhedron().  That might make it relatively easy to move between environments.

So, there you have it.  On the one year anniversary of my first upload to Thingiverse, I am putting out a “Thing” that I think might be useful to some people.

 


5 Comments on “Introducing BanateCAD”

  1. Yura V says:

    Successfully run on Fedora 15!
    What is you computer setup I mean CPU memory and video card?
    In my case window resizing is slow and rotating with mouse too…

  2. Yura V says:

    Sorry, slow is only on Demo1.fab. Crayola_sphere is fast.

    I try other files test_platonic.fab but got error window:

    [string “icosahedron(3)…”]:9: attempt to call global ‘cube’ (a nil value)
    stack traceback:
    [string “icosahedron(3)…”]:9: in function ‘f’
    ./MenuController.lua:153: in function
    (tail call): ?
    [C]: in function ‘MainLoop’
    ./FabuWindow.lua:44: in function ‘Run’
    BanateCAD.wlua:12: in main chunk
    [C]: ?

    Some other test files work well

  3. Yura V says:

    shapes.fab and shapes2.fab :

    [string “–host.bgcolor = {0.9, 0.90, 0.40, 1}…”]:6: attempt to index global ‘supershape’ (a function value)
    stack traceback:
    [string “–host.bgcolor = {0.9, 0.90, 0.40, 1}…”]:6: in function ‘f’
    ./MenuController.lua:153: in function
    (tail call): ?
    [C]: in function ‘MainLoop’
    ./FabuWindow.lua:44: in function ‘Run’
    BanateCAD.wlua:12: in main chunk
    [C]: ?

    • thanks for going through the examples. I have deleted shape.fab, and updated shapes2.fab in the github. You can get the latest there. Mostly it’s updating them to use the current names of things.

      I will be going through all the examples, and fixing up a few things in the next couple of days so everything is up to date and functional.


Leave a comment