Hum Banate – We Make (In Hindi)
Banate CAD is a text based visualization and 3D modeling tool.
Current Version: BanateCAD_20111219 (new as of December 19, 2011)
Latest Changes – December 19, 2011
- ‘Processing-like’ Skin
The biggest change in this particular release is the addition of a Language Skin that allows you to create code similar to what you would see in the Processing environment. It is rudimentary to begin with, currently only supporting basic 2D drawing primitives (point, line, rect, triangle, ellipse), but it will grow. The general idea here is that you can pick up just about any book on the Processing environment and use that code, with some modifications, to create interesting animations and whatnot.
Eventually, this will be the UI development environment for creating dynamic models. That is, models that contain UI elements so the user can select parameters before they decide to print.
- Bicubic Surfaces
- Platonic Solids
- Crayola Coloring
This is clearly a work in progress, so there are lots of rough edges, but as it is, you can do a lot of interesting visualizations. As the program will Import .stl files, you can use it as a .stl file viewer. Over time, this capability will improve to allow you to treat the imported object as a mesh like any other in the system, with the ability to alter some of its features.
What it is not
Banate CAD is not a full blown CAD program. For one, unlike OpenScad, it does not perform CSG operations. At the moment, it is intended to act as a tool of exploration, for creating new types of solids, to quickly and easily explore the possibilities, and see them render quickly and easily. After you are done, it is fairly straight forward to export your creation as a .stl file, or even as an OpenScad polyhedron. From there, you can mash it up with other tools. Certainly CSG, or other types of operations will be added over time, but this is a good start.
Things That are “Work in Progress”
- Keyboard shortcuts don’t work
- Menus are half implemented
- File “Save” requires you to enter the name again, and again…
- Editing – basics like cut/copy/paste work, along with tabbing, undo/redo, but there’s no syntax highlighting.
Banate CAD is a Lua based program. It uses the Native windowing and OpenGL libraries of your system. I have only tested on Windows, and use the LuaForWindows package to get all the libraries quickly and easily. This will in fact also work on a Linux system, and probably a Mac system, assuming you have the basic core libraries, such as Iup, LuaGL, and LPEG.
If you are running on Windows, and you’ve never had a Lua installation, first, Install LuaForWindows from here: http://code.google.com/p/luaforwindows/
once you have that installed…
For All Platforms
Download the Banate CAD files from here: BanateCAD_20111219.zip
Unpack the .zip, and place those files in some directory on your machine.
To run, double-click the ‘BanateCAD.wlua’ file, and up comes the main Window.
From there you are free to type stuff into the input area at the bottom. When you want to see your rendering, select “Compile and Render” from the “Compile” menu. ‘F6′ does not work as yet, but it will soon enough.
Banate CAD is meant to be fully extensible in all forms, from the UI, to the scene, to the object models that you create. Since the source code is readily available as part of the package, anyone is free to extend it in any way they want. Adding new shapes that can then become a ‘native’ part of the environment is pretty straight forward. You can also do things such as change the lighting, color scheme, and even the mouse interactions if you like. There is no “compile”, not a lot of external libraries to get working. Just try some stuff out, reload the program, and see if it worked.
Given this open design, it should be fairly easy for any number of people to make changes, additions, improvements, and the like.
That’s about it.
As there is no documentation as such at the moment, the best way to learn how to do things is to examine the various .fab files in the Examples directory.
The hardest part of using this program is probably the woeful state of the error reporting/debugging. If your code is not absolutely perfect, you will see a cryptic dialog box saying something about ‘f()’ is null. That means there is an error in your code. At the moment, you’ll just have to slog through and try and figure out what’s wrong. A more robust debugging capability will come along as the editor improves.
Well, that’s it. A new ‘CAD’ program enters the scene.
It’s been a year since I first dropped my first design on Thingiverse. Now I am trying to ‘give back’ by sharing what I’ve learned over that past year.
I have been a heavy user of OpenScad. Without the existance of that tool, I would not have been able to make the progress I’ve made over the past year in terms of being able to simply, and rapidly create 3D designs.
I have borrowed some concepts, and even code hints from OpenScad. I have tried to make the UI relatively similar as I wanted to retain many of the things I like about that program.
I have also been a user of RapCAD. Giles Bathgate has been a great driver of showing what can be done with these text based CAD tools.
Banate CAD by William A Adams is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Based on a work at github.com.