Loading

Parametric Column, Cylinder with varying radius

by TakeItAndRun, published

Parametric Column, Cylinder with varying radius by TakeItAndRun May 31, 2012
0 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps

Contents

Use This Project

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

2712Views 911Downloads Found in Buildings & Structures

Summary

This is an openSCAD file that shows how to make cylinders with varying radius. This is a responce to http://www.thingiverse.com/thing:21868. Parametric Doric Temple Building Set
by elindow

Instructions

The radius of the column can now vary as a function of the hight:

The program draws a series of cones of height dh+e on top of each other.
They overlap by e=0.02 so that we will get a continious object without internal, paralell faces. The lower radius of the cone is taken at a height of: i(h/nh) and its upper radius at a height of (i+1/nh)(h/nh), where h is the total height, nh is the number of slices(=cones) in h, and i runs from 0 to 1.

rn(i) are the radi of the sample colums,
with
r0, the basic radius
a, the strength of the modulation funktion in r

Replace the r-function to make your own shapes.

// define the radius of the column for every height i (i runs from 0 to 1)
// the 'trivial case of a straight column
function r0(i)=r0;
// a quadratic or parabel column: concave
// (the zero point of the modulation function is at i=0.5
function r1(i)=r0(1+2a(i-.5)(i-.5));
// a quadratic or parabel column: convex
function r2(i)=r0(1-2a(i-.5)(i-.5));
// a sinus function with half a period
function r3(i)=r0(1-asin(1i180));
// a sinus function with a frequency of 5'Hz', resulting in 5/2=2.5 bloobs
function r4(i)=r0(1-asin(5i180));
// this 1/x function has is divergend at i=0.5 (meaning the value would be infinity and
// openSCAD stops drawing here)
// the divergence is shifted to 0.55 (0.45, respectatly) and then drawn only for
// the values i=0 to 0.5 (i=0.5 to 1, respectatly)
function r5(i)=(i<.5)?r0(1-a/(i-.55)):r0(1+a/(i-.45));

If someone could give me the formular for greek/roman colums I will make .stl files for them

Have fun!

More from Buildings & Structures

view more

All Apps

3D Print your file with 3D Hubs, the world’s largest online marketplace for 3D printing services.

App Info Launch App

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

3D Print a wide range of designs with Treatstock. Easy to use tools to get the perfect result. The global 3D printing network that connects you with high-quality and fast working print services nea...

App Info Launch App

I do like this design.
I would like to hire you to design something similar,

This is a really clever solution. Thanks for figuring that one out!

Top