Banate CAD Third ReleasePosted: December 5, 2011
Is it Monday already!
Here is the third release of Banate CAD!
This week saw multiple improvements on multiple fronts. I can’t actually remember which features showed up between the last week’s release and today’s release, but here’s an attempt.
Generalized Bump Maps – I made this earth and moon things, and then I generalized it so that any BiParametric based shape can utilize the technique. That’s good because everything from spheres, to bezier surfaces are based on the BiParametric object.
import_stl_mesh – You can create a single instance of an imported mesh, and then use that single instance multiple times. That’s a great way to save on resources when you’re adding multiples of the same geometry to the scene.
Blobs – Quite a lot of work on this module. The main thing was getting the ‘beamsearch’ algorithm working correctly. That allows for the “real-time” viewing of metaball based objects. This was a lot of fun to get working. It doesn’t work in all cases, but it works in the vast majority of cases that will be used in 3D solid modeling.
Some features on way the program itself works. I’ve added support for reading some modules in from directories at runtime. This allows me to separate some things that are ‘core’ and MUST be in the package from a number of other things that are purely optional. It also allows me to support users adding things, in a sane way. They can eventually go into a “Libraries” directory.
Also, this separation, and the addition of the BAppContext object allows for the creation of tools that have nothing to do with UI. For example, in order to write a script that just imports a mesh, performs some operations on it, then exports, does not need all the UI code.
Oh yah, and before I forget, one of the biggest additions, or rather fleshing outs, was the animation system. The AnimationTimer object has actually been in there for a while, and the Animation menu has as well. It’s just nothing used it. Now, if you create shapes, and implement the Update() function, your shape will be informed whenver the clock ticks, giving you an opportunity to change things based on time. There are a few examples included in the example files. It’s pretty straight forward.
The animation system is quite handy for doing things like playing with metaballs, seeing how things change as you vary parameters. This will also come in handy when describing physical things that move. For example, I could model my Up! printer, and then actually set it in motion. But, that’s for another time.
There you have it. Another weekly release!