Scaling?
Besides the site, I have been adding a few more scripts to my repertoire. This weekend I focused on creating a script that I have had in my head for a while, and would be extremely useful for some of the fabrication exercise that are to come soon. Here is the idea, and I am by no means claiming originality of this one:
- Create a curve
- Grid points over that curve (this step might not be needed)
- Create a curve through these points to create a grid
- Extrude the grid up, normal to a construction plane (not to the curve)
- Extrude along the other two axis to create thickness (for laser cutting)
- Shift the grid up half of the distance of the extrusion (from step 4) and do a boolean split to notch out the intersections
- Rotate everything flat, make2d, export for cutting.
This is the fastest/cheapest way of fabricating and (re)constructing from a digital model that I am aware of…but while writing it, I had another idea: Why not use step 2 to generate base points for copying an object to the surface, in a way scaling the surface with a given object. I wrote this new idea into a modified script so that the user chooses the base copy point on the “scale” object rather than using an arbitrary base point. This gives the user more control choice over how the object will “scale” along the surface. I would like to add a rotation parameter to the script to see what happens when the object is kept normal to the surface (or with a tolerance) during the copy, but that would take some reworking from the way it is currently written. This is another a reason to try I should probably try out the C# .NET framework to allow for inheritance (and therefore extension) of all these functions (they should really be in classes) that I am creating/modifying.
One thing to note about the current routine is that if the curve does not exist as a rectangular form (see point grid images from the top view below) it will warp with the edge as it interpolates to fit the specified number of rows and columns on the surface. This is great for images, but will probably have to be modified for fabrication purposes if I wish to be working with non-orthogonal (in all directions) surfaces.
Here are some shots of the scripts (its actually 2 right now) in action:
The first uses a “scale” that was created using another twist, scale, loft tool that I made earlier. It operates with a 20×20 grid.
This one uses a tighter grid 30×30 and a cube shape.
I will continuing the development of the original script idea for the next round.