discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Scaling polygons via sine waves

C
Chaoticenigma
Thu, Feb 13, 2020 3:42 AM

Ive just figured out how tl extrude a polygon on a loop, to create this
spiral pattern. But my next feat is trying to scale each of these polygons,
via a sinewave function of some sort, to create vase shapes, and patterns.
Im new to this program so any help would be appreciated! Heres the code i
have so far.

layers = 30;
layer_height = 7;
z_rot = 10;
amp = 40;

vase();

module vase(){
for(z = [0:1:layers]) {

translate([0, 0, z * layer_height]){
    
    
  rotate (z * -z_rot){
      
      
    linear_extrude(layer_height, twist = z_rot){
        
        
       polygon (points=[
        [10,-25],
        [25,-10],
        [25,10],
        [10,25],
        [-10,25],
        [-25,10],
        [-25,-10],
        [-10,-25]
        ]);
        }
     }
  }

}
}

--
Sent from: http://forum.openscad.org/

Ive just figured out how tl extrude a polygon on a loop, to create this spiral pattern. But my next feat is trying to scale each of these polygons, via a sinewave function of some sort, to create vase shapes, and patterns. Im new to this program so any help would be appreciated! Heres the code i have so far. layers = 30; layer_height = 7; z_rot = 10; amp = 40; vase(); module vase(){ for(z = [0:1:layers]) { translate([0, 0, z * layer_height]){ rotate (z * -z_rot){ linear_extrude(layer_height, twist = z_rot){ polygon (points=[ [10,-25], [25,-10], [25,10], [10,25], [-10,25], [-25,10], [-25,-10], [-10,-25] ]); } } } } } -- Sent from: http://forum.openscad.org/
A
arnholm@arnholm.org
Thu, Feb 13, 2020 7:17 AM

On 2020-02-13 04:42, Chaoticenigma wrote:

Ive just figured out how tl extrude a polygon on a loop, to create this
spiral pattern. But my next feat is trying to scale each of these
polygons,
via a sinewave function of some sort, to create vase shapes, and
patterns.
Im new to this program so any help would be appreciated! Heres the code
i
have so far.

To create vase shapes using only linear_extrude in OpenSCAD, you can
possibly accomplish what you want using a scale parameter taking a
vector, but I have not tried it. It is stretching the concept of
"linear_extrude" since it is no longer linear.

As you say, you need to be able to scale the profile using e.g. a sine
function in a sweep operation. I did exactly that to create a vase some
time ago, but using AngelCAD where a sweep function exists for such
purposes, see https://www.thingiverse.com/thing:2335400

Carsten Arnholm

On 2020-02-13 04:42, Chaoticenigma wrote: > Ive just figured out how tl extrude a polygon on a loop, to create this > spiral pattern. But my next feat is trying to scale each of these > polygons, > via a sinewave function of some sort, to create vase shapes, and > patterns. > Im new to this program so any help would be appreciated! Heres the code > i > have so far. To create vase shapes using only linear_extrude in OpenSCAD, you can possibly accomplish what you want using a scale parameter taking a vector, but I have not tried it. It is stretching the concept of "linear_extrude" since it is no longer linear. As you say, you need to be able to scale the profile using e.g. a sine function in a sweep operation. I did exactly that to create a vase some time ago, but using AngelCAD where a sweep function exists for such purposes, see https://www.thingiverse.com/thing:2335400 Carsten Arnholm
P
Parkinbot
Thu, Feb 13, 2020 9:56 AM

There is code for thousands of vases in Thingiverse. Have a look there.
Just a note: linear_extrude() has more parameters like slices and scale.
Try them out.

--
Sent from: http://forum.openscad.org/

There is code for thousands of vases in Thingiverse. Have a look there. Just a note: linear_extrude() has more parameters like *slices* and *scale*. Try them out. -- Sent from: http://forum.openscad.org/
C
caterpillar
Fri, Feb 14, 2020 6:17 AM

Do you want to create a vase such as this?
https://cults3d.com/en/3d-model/art/superformula-vase

http://forum.openscad.org/file/t1825/super.png

I use the path_scaling_sections function (and other modules) of  dotSCAD
https://github.com/JustinSDK/dotSCAD  to create it. You might give it a
try.

http://forum.openscad.org/file/t1825/lib-path_scaling_sections-2.jpg


https://openhome.cc

Sent from: http://forum.openscad.org/

Do you want to create a vase such as this? https://cults3d.com/en/3d-model/art/superformula-vase <http://forum.openscad.org/file/t1825/super.png> I use the path_scaling_sections function (and other modules) of dotSCAD <https://github.com/JustinSDK/dotSCAD> to create it. You might give it a try. <http://forum.openscad.org/file/t1825/lib-path_scaling_sections-2.jpg> ----- https://openhome.cc -- Sent from: http://forum.openscad.org/