algorithmic modeling for Rhino
Crystallon V2 is online at https://www.food4rhino.com/app/crystallon. Check it out and give it a try!
Yet there are always more improvements that can happen. I would like to introduce a few new components that I have found helpful and will be included in the next release, but you can try them now. They are online at https://github.com/fequalsf/Crystallon/tree/0972066e468f0a7a592ff4e...
I have been interested in finding ways to save settings for different iterations of a design which can be baked into a rhino file and used again later. These tools I've made are for working with divisions of a surface.
The first tool (Divide Surface) is for dividing a single surface using UV parameters and outputting a quad mesh. Simple enough. What makes this powerful is you can use that mesh with the "Morph Between Meshes" tool to create your voxels. So now you can morph between surfaces with the same number of divisions but with different parameters. The other nice thing about meshes is they are simple to work with and can be further modified with other plugins (such as kangaroo). They can be baked, manually edited in rhino and saved as STL or OBJ files to use again later. I will be updating all the tools eventually to output meshes.
The next tools are for creating those divisions. Any of the components that require a parameter input need a range of values from 0-1. The simplest way to do this is with the "Range" component. The default domain is 0-1 so you only need to give it a number of steps.
The next tool I made is a curve graph mapper, so you can map numbers using any curve drawn on the XY plane. This gives you much more freedom than the graph mapper and is easier to make small adjustments. Then you can always make many iterations of a curve and go back to any of them saved in the rhino file. There are options to view tags with the values on the curve as well as a gradient preview.
If you make a lot of divisions you will also notice stepping in the curve. This is because the gradient uses RGB colors which is only a range of whole number from 0-255. So you only have a total of 256 values from 0-1.