Introducing BanateCADPosted: November 20, 2011
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.