OpenScad Virtual Machine - v0.2 (Q49284)
Jump to navigation
Jump to search
No description defined
Language | Label | Description | Also known as |
---|---|---|---|
English |
OpenScad Virtual Machine - v0.2
|
No description defined
|
Statements
1.0.0
0 references
auto
0 references
www.thingiverse.com
0 references
en
0 references
Moving right along, adding some more convenience... This thing builds on the last version of the OpenScad Virtual machine by adding a few convenience functions: CUBE(size, center); CYLINDER(r1, r2, h, center); SPHERE(r); And a couple for the CSG operations as well: UNION(parts); DIFFERENCE(part1, part2); I also changed the 'CSG' module name to 'EXEC' which seems more appropriate. So, now you can do this: EXEC(UNION([CUBE([10,10,10]), CYLINDER(r1=6, r2=5, h=12)]); That pretty much makes it look more like what you'd write in normal OpenScad. So, why bother? It's more direct, or 'imperative'. This style might match some people's style better than the strictly hierarchical way of doing things. If you want to get really technical, this style is like functional programming. Since almost everything, other than EXEC() is a function, without side effects, the 'functions' can be easily passed around as parameters to other functions and modules. Still don't have any variables, loops, and the like, but how hard could it be ;-) Also, it's fairly easy to build individual parts as simple arrays and just use them. At any rate, take a look at the 'test_openscad_vm.scad' file as it shows how to mix and match things. The 'target()' function uses the all new stuff. The 'wheel()' function does a mix and match of styles. This all might make more obvious sense in a couple more versions.
0 references
https://spdx.org/licenses/CC0-1.0
0 references
WilliamAAdams
0 references
thingiverse.com
0 references