Pages

Monday, January 02, 2006

Additional primitives for AoI?


Our rainy season has arrived with the consequent floods, landslides, cold and humidity making staying in the workshop a very unpleasant experience. Rather than waste the time I've started getting acquainted with AoI indoors in the warm.

While I am awestruck with the capabilities of AoI, the paucity of primitives has made many modeling tasks tedious and others downright impossible. It seemed that AoI would be a lot more useful if a few extra primitives like cones, hexagonal prisms and helixes were added. In that AoI allows for the importing and exporting of Wavefront object files I have begun writing a few simple programmes to generate some of the forms I need directly instead of building them up within AoI using boolean operators and curves. My projects right now are to describe an auger and a threaded rod.

As you see, so far I've generated the helix necessary to building both of those two forms and I've got a start on the threaded rod.

If anybody has any pet peeves with AoI that would be ameliorated with an imported object file not easily buildable with the existing primitives or two let me know and I will see what I can do. I am thinking that it might be nice if I made the specification and building of such objects accessable over the web and intend to do that for a few shapes as soon as my son gets the ASP specification working on Apache in our server.

9 comments:

  1. That's tremendously peculiar to me - I thought AoI was a pov-ray modeller - the pov-ray scene description language includes all the primitives you just mentioned, in significantly more powerful form than most programs have them.
    Perhaps much with the trying to get a pov-ray solid to STL conversion program?
    ...Oh. Looking again, it's apparently nothing to do with pov-ray...
    Oh well.
    Might be an idea anyhow. If the format doesn't fit...

    ReplyDelete
  2. Thanks for the heads up! I'm going to download pov-ray and take a look!

    ReplyDelete
  3. ...it's actually almost certianly not what you want. Pov-ray is just a renderer - it has no modeling itself at all. It is command-line program that takes in a human-editable textfile describing a scene, renders it quite nicely, and outputs an image file with what it made.

    What would be the interesting part is the GUI modelers for it, or the file format itself.

    ReplyDelete
  4. Thanks again for the more thorough check. They've got some beautiful renderings on that site. Anyhow, if you see anything that would short-circuit my having to do Wavefront objects let me know.

    I was thinking of a few little programs to do the more usual kinds of gears and maybe a few of the less usual ones, like anti-backlash gears.

    ReplyDelete
  5. There are some useful scripts available for download through the script manager. Apart from anything else, they're a handy resource to crib from!

    http://aoisp.sourceforge.net/

    I wrote a "cog" script that creates a basic cog shape. This is then extruded to the required thickness, smoothed down etc.

    Vik :v)

    ReplyDelete
  6. What would be nice really nice about something like the pov-ray format is that such macros and scripts are built into the language, part of the data files, and are interpreted at runtime - so rather than generating a gear in your editor, playing with it and such, you just say "I want a gear here, with these parameters" - if you want to go back and tweak something, say, move to a larger gear, it doesn't require going back through those steps, just changing the numbers used in the data file.

    I'm actually looking into finding the relevant algorithms to do CSG operations on surface-based representations of solids, like the wavefront format.

    I'm simply itching to construct something like the pov-ray solid object format that is translatable to wavefront or STL format (or perhaps, to a reprap toolpath format - that one would even be the easiest of the above), and has the sort of (turing-complete, actually) scripting that pov-ray has. essentially is just the CSG that is giving me issues. Haven't gotten to that class yet...

    ReplyDelete
  7. ArtOfIllusion is currently trialling a plugin system that allows scripts to have some screen real estate, allowing the building of custom interfaces and constructors. It sounds like this might mesh with what you'e trying to achieve.

    I've found the AoI folks to be particularly amiable to the RepRap project, so if you like you might pop over to their SourceForge forum and sound them out.

    Vik :v)

    ReplyDelete
  8. Actually, what I haven't looked at enough is BRL-CAD. It looks like it may have the sort of design that would be compatible with writing what I want, which amounts to a compiler for human-readable geometry files - assuming they don't already have one. It's actually a tremendously interesting program - the cad program the U.S. Army Research Laboratory has been writing and developing since 1979. They released it under the BSD, GPL, and LGPL a little while back. geometry editor with CSG, embedded scripting language, converts to what looks like almost everything (including STL)... and libraries to write code for all of it. No ebuild in gentoo's portage yet, but one is coming.

    ReplyDelete