D 2017-10-26T16:40:12.686 L a3d P 164d06fab2a746acf93726390a7d44467c693054 U matt W 1924

A3D - All 3D

Do you prefer to write code over pushing polygons around with a mouse? Goals: # Write 3D CSG code in Scheme - all the power of functional programing in Scheme. # Target multiple tools for visualization and processing.

POVRAY Target

Write the design in scheme/a3d and compile for POVRAY for photorealistic pictures.

OpenScad

Write the design in scheme/a3d and get the interactive browsing of openscad. Print the design on your 3D printer. Some of the projects I want to do include redesign of the dining room, a boat ([http://www.microcruising.com/Elusion.htm|based on the Elusion design by Matt Layden]) and various other projects. Being able to do photorealistic renderings is quite handy but openscad has no good way that I know of to do such a rendering. I wrote a3d to fill this gap for me. This is a very early release which has the beginnings of a useful subset supporting OpenScad and POVRay.

Examples

Boat hull (see [./doc/tip/a3d/boat.scm|boat.scm]):
This uses bezier curves from the 2d-primitives egg to construct non-compound curves for the sides. With large values for "accuracy" quite smooth surfaces can be formed. I'm focused on non-compound curves as my plan is to build the boat with plywood.
Dining Room (OpenScad) source is [./doc/tip/a3d/dining-room.scm]:
Dining Room (POV Ray):
NOTE: After doing all this work I found Ruckus for Racket: https://docs.racket-lang.org/ruckus/index.html which is somewhat overlapping with what I want to do with a3d. I may merge the syntax of a3d to make it compatible with Ruckus. They are already quite similar. Z 144e9c8bda30d80db88ae365755a6052