Thingiverse
Polytope play made easy by rasarmg
by Thingiverse
Last crawled date: 3 years ago
Polygons and polyhedrons are the most powerful shapes available in OpenSCAD. However, it can sometimes be a challenge to construct them correctly. Consider this library to help you construct and work with your Polytopes..
Tools
module polytope_number (c, f, e, vi=true, fi=true, ei=true, sp=false, ts, th, to, tr=0)
Label the vertices, paths, and edges of a polytope.
module polytope_frame (c, f, e, vi=true, fi=true, ei=true, vc=1, fc=2, ec=0)
Assemble a polytope skeletal frame using child objects.
module polytope_bbox (c, f, a)
The 3d or 2d bounding box shape for a polytope.
Math Functions
function polytope_faces2edges (f)
List the edge coordinate index pairs of a polytope.
function polytope_limits (c, f, a, d=[0:2], s=true)
Determine the bounding limits of a polytope.
function polytope_bbox_pf (c, f, a)
Generate a bounding box polytope for another polytope in 3d or 2d.
function polytope_line (c, f, e, i, l, r=false)
Get a line from an edge or any two vetices of a polytope.
function polytope_vertex_av (f, i)
List the adjacent vertices for a given polytope vertex.
function polytope_vertex_af (f, i)
List the adjacent face indexes for a polytope vertex.
function polytope_edge_af (f, e, i)
List the adjacent face indexes for a polytope edge.
function polytope_vertex_n (c, f, i)
Get a normal vector for a polytope vertex.
function polytope_edge_n (c, f, e, i)
Get a normal vector for a polytope edge.
function polytope_face_n (c, f, i, l, cw=true)
Get the normal vector of a polytope face.
function polytope_face_m (c, f, i, l)
Get the mean coordinate of all vertices of a polytope face.
function polytope_face_mn (c, f, i, l, cw=true)
Get the mean coordinate and normal vector of a polytope face.
function polytope_plane (c, f, i, l, cw=true)
Get a plane for a polytope face.
function polytope_face_vcounts (f)
List the vertex counts for all polytope faces.
function polytope_face_angles (c, f)
List the angles between all adjacent faces of a polyhedron.
function polytope_edge_lengths (c, e)
List the edge lengths of a polytope.
function polytope_edge_angles (c, f)
List the adjacent edge angles for each polytope vertex.
function polytope_faces_are_regular (c, f, e, d=6)
Test if the faces of a polytope are all regular.
function polytope_triangulate_ft (f)
Triangulate the faces of a convex polytope using fan triangulation.
function polygod2d_perimeter (c, p)
Calculate the perimeter length of a polygon in 2d.
function polygod2d_area (c, p, s=false)
Compute the signed area of a polygon in a Euclidean 2d-space.
function polygod3d_area (c, p, n)
Compute the area of a polygon in a Euclidean 3d-space.
function polygod2d_centroid (c, p)
Compute the center of mass of a polygon in a Euclidean 2d-space.
function polygod2d_is_cw (c, p)
Test the vertex ordering of a polygon in a Euclidean 2d-space.
function polygod2d_is_convex (c, p)
Test the convexity of a polygon in a Euclidean 2d-space.
function polygod2d_winding (c, p, t)
Compute the winding number of a polygon about a point in a Euclidean 2d-space.
function polygod2d_is_pip_wn (c, p, t)
Test if a point is inside a polygon in a Euclidean 2d-space using winding number.
function polygod2d_is_pip_as (c, p, t)
Test if a point is inside a polygon in a Euclidean 2d-space using angle summation.
function polyhedron_area (c, f)
Compute the surface area of a polyhedron in a Euclidean 3d-space.
function polyhedron_volume_tf (c, f)
Compute the volume of a triangulated polyhedron in a Euclidean 3d-space.
function polyhedron_centroid_tf (c, f)
Compute the center of mass of a triangulated polyhedron in a Euclidean 3d-space.
function linear_extrude_pp2pf (c, p, h=1, centroid=false, center=false)
Convert a polygon to a polyhedron by adding a height dimension.
Examples
Numbering
include;
include;
tc = dtc_polyhedra_johnson;
tr = dtr_polyhedra_johnson;
id = "metagyrate_diminished_rhombicosidodecahedron";
c = get_table_v(tr, tc, id, "c");
f = get_table_v(tr, tc, id, "f");
v = coordinates_csc(c, 100);
polytope_number(v, f, sp=true);
Framing
include;
include;
tc = dtc_polyhedra_cupolas;
tr = dtr_polyhedra_cupolas;
id = "pentagonal_cupola";
c = get_table_v(tr, tc, id, "c");
f = get_table_v(tr, tc, id, "f");
v1 = coordinates_csc(c, 100);
v2 = coordinates_csc(c, 100, true);
grid_repeat(2, 225, center=true)
{
polytope_frame(v1, f) {circle(r=4); color("grey") sphere(r=6);}
polytope_frame(v2, f) {circle(r=4); color("grey") sphere(r=6);}
}
Shapes on edge, vertex, face
include;
include;
tc = dtc_polyhedra_archimedean;
tr = dtr_polyhedra_archimedean;
id = "truncated_cuboctahedron";
c = get_table_v(tr, tc, id, "c");
f = get_table_v(tr, tc, id, "f");
v = coordinates_csc(c, 100);
polytope_frame(v, f, fi="even")
{
circle(r=2);
color("grey") sphere(r=4);
color("red") star3d(20);
}
polytope_frame(v, f, fi="odd", fc=0, vc=-1, ec=-1)
color("blue") star3d(20);
polyhedron(v, f);
omdl
This design uses omdl. To render the design, this library must be available. More information is available in omdl on thingiverse.
To install omdl open a BASH shell and type:
$ mkdir tmp && cd tmp
$ wget https://git.io/setup-omdl.bash
$ chmod +x setup-omdl.bash
$ ./setup-omdl.bash --branch v0.6.1 --yes --install
Tools
module polytope_number (c, f, e, vi=true, fi=true, ei=true, sp=false, ts, th, to, tr=0)
Label the vertices, paths, and edges of a polytope.
module polytope_frame (c, f, e, vi=true, fi=true, ei=true, vc=1, fc=2, ec=0)
Assemble a polytope skeletal frame using child objects.
module polytope_bbox (c, f, a)
The 3d or 2d bounding box shape for a polytope.
Math Functions
function polytope_faces2edges (f)
List the edge coordinate index pairs of a polytope.
function polytope_limits (c, f, a, d=[0:2], s=true)
Determine the bounding limits of a polytope.
function polytope_bbox_pf (c, f, a)
Generate a bounding box polytope for another polytope in 3d or 2d.
function polytope_line (c, f, e, i, l, r=false)
Get a line from an edge or any two vetices of a polytope.
function polytope_vertex_av (f, i)
List the adjacent vertices for a given polytope vertex.
function polytope_vertex_af (f, i)
List the adjacent face indexes for a polytope vertex.
function polytope_edge_af (f, e, i)
List the adjacent face indexes for a polytope edge.
function polytope_vertex_n (c, f, i)
Get a normal vector for a polytope vertex.
function polytope_edge_n (c, f, e, i)
Get a normal vector for a polytope edge.
function polytope_face_n (c, f, i, l, cw=true)
Get the normal vector of a polytope face.
function polytope_face_m (c, f, i, l)
Get the mean coordinate of all vertices of a polytope face.
function polytope_face_mn (c, f, i, l, cw=true)
Get the mean coordinate and normal vector of a polytope face.
function polytope_plane (c, f, i, l, cw=true)
Get a plane for a polytope face.
function polytope_face_vcounts (f)
List the vertex counts for all polytope faces.
function polytope_face_angles (c, f)
List the angles between all adjacent faces of a polyhedron.
function polytope_edge_lengths (c, e)
List the edge lengths of a polytope.
function polytope_edge_angles (c, f)
List the adjacent edge angles for each polytope vertex.
function polytope_faces_are_regular (c, f, e, d=6)
Test if the faces of a polytope are all regular.
function polytope_triangulate_ft (f)
Triangulate the faces of a convex polytope using fan triangulation.
function polygod2d_perimeter (c, p)
Calculate the perimeter length of a polygon in 2d.
function polygod2d_area (c, p, s=false)
Compute the signed area of a polygon in a Euclidean 2d-space.
function polygod3d_area (c, p, n)
Compute the area of a polygon in a Euclidean 3d-space.
function polygod2d_centroid (c, p)
Compute the center of mass of a polygon in a Euclidean 2d-space.
function polygod2d_is_cw (c, p)
Test the vertex ordering of a polygon in a Euclidean 2d-space.
function polygod2d_is_convex (c, p)
Test the convexity of a polygon in a Euclidean 2d-space.
function polygod2d_winding (c, p, t)
Compute the winding number of a polygon about a point in a Euclidean 2d-space.
function polygod2d_is_pip_wn (c, p, t)
Test if a point is inside a polygon in a Euclidean 2d-space using winding number.
function polygod2d_is_pip_as (c, p, t)
Test if a point is inside a polygon in a Euclidean 2d-space using angle summation.
function polyhedron_area (c, f)
Compute the surface area of a polyhedron in a Euclidean 3d-space.
function polyhedron_volume_tf (c, f)
Compute the volume of a triangulated polyhedron in a Euclidean 3d-space.
function polyhedron_centroid_tf (c, f)
Compute the center of mass of a triangulated polyhedron in a Euclidean 3d-space.
function linear_extrude_pp2pf (c, p, h=1, centroid=false, center=false)
Convert a polygon to a polyhedron by adding a height dimension.
Examples
Numbering
include
include
tc = dtc_polyhedra_johnson;
tr = dtr_polyhedra_johnson;
id = "metagyrate_diminished_rhombicosidodecahedron";
c = get_table_v(tr, tc, id, "c");
f = get_table_v(tr, tc, id, "f");
v = coordinates_csc(c, 100);
polytope_number(v, f, sp=true);
Framing
include
include
tc = dtc_polyhedra_cupolas;
tr = dtr_polyhedra_cupolas;
id = "pentagonal_cupola";
c = get_table_v(tr, tc, id, "c");
f = get_table_v(tr, tc, id, "f");
v1 = coordinates_csc(c, 100);
v2 = coordinates_csc(c, 100, true);
grid_repeat(2, 225, center=true)
{
polytope_frame(v1, f) {circle(r=4); color("grey") sphere(r=6);}
polytope_frame(v2, f) {circle(r=4); color("grey") sphere(r=6);}
}
Shapes on edge, vertex, face
include
include
tc = dtc_polyhedra_archimedean;
tr = dtr_polyhedra_archimedean;
id = "truncated_cuboctahedron";
c = get_table_v(tr, tc, id, "c");
f = get_table_v(tr, tc, id, "f");
v = coordinates_csc(c, 100);
polytope_frame(v, f, fi="even")
{
circle(r=2);
color("grey") sphere(r=4);
color("red") star3d(20);
}
polytope_frame(v, f, fi="odd", fc=0, vc=-1, ec=-1)
color("blue") star3d(20);
polyhedron(v, f);
omdl
This design uses omdl. To render the design, this library must be available. More information is available in omdl on thingiverse.
To install omdl open a BASH shell and type:
$ mkdir tmp && cd tmp
$ wget https://git.io/setup-omdl.bash
$ chmod +x setup-omdl.bash
$ ./setup-omdl.bash --branch v0.6.1 --yes --install
Similar models
thingiverse
free
HP MicroServer N40L 4-bay 2.5in SSD mount / Bracket by rasarmg
...mp; cd tmp
$ wget https://git.io/setup-omdl.bash
$ chmod +x setup-omdl.bash
$ ./setup-omdl.bash --branch v0.6.1 --yes --install
grabcad
free
Five_Convex_Regular_Polyhedra
...faces meet at each vertex.
there are five and only five such polyhedra:
dodecahedron, icosahedron, cube, octahedron, tetrahedron.
thingiverse
free
PCI-E 1x Riser Card Bracket by rasarmg
...mp; cd tmp
$ wget https://git.io/setup-omdl.bash
$ chmod +x setup-omdl.bash
$ ./setup-omdl.bash --branch v0.6.1 --yes --install
thingiverse
free
A Parametric Reel / Spool by rasarmg
...& cd tmp
$ wget https://git.io/setup-omdl.bash
$ chmod +x setup-omdl.bash
$ ./setup-omdl.bash --branch v0.2 --yes --install
thingiverse
free
Platonic solids by aarono
...ive solids meet those criteria, and each is named after its number of faces."
-- http://en.wikipedia.org/wiki/platonic_solid
thingiverse
free
Webcam tripod mount by rasarmg
...mp; cd tmp
$ wget https://git.io/setup-omdl.bash
$ chmod +x setup-omdl.bash
$ ./setup-omdl.bash --branch v0.6.1 --yes --install
thingiverse
free
Quad HP-USB video adapter monitor post mount by rasarmg
...mp; cd tmp
$ wget https://git.io/setup-omdl.bash
$ chmod +x setup-omdl.bash
$ ./setup-omdl.bash --branch v0.6.1 --yes --install
3dwarehouse
free
Medial Rhombic Triacontahedron
...t these stretched 'pointy' components, the count is, indeed, 30 #geodesic #icosahedron #polyhedron #stellated #stellation
3dwarehouse
free
NOT Function
... not function that reverses the logical value from true to false or false to true #component #dc #dynamic #example #function #not
3dwarehouse
free
Great Rhombic Triacontahedron
...ar polyhedron, indexed as u54) - featured on the cover of coxeter's "regular polytopes" (coxeter,1973)
Rasarmg
thingiverse
free
Webcam tripod mount by rasarmg
...mp; cd tmp
$ wget https://git.io/setup-omdl.bash
$ chmod +x setup-omdl.bash
$ ./setup-omdl.bash --branch v0.6.1 --yes --install
thingiverse
free
Parts to repurpose HP t610 thin client into internet router by rasarmg
...to allow proper case ventilation for 24/7 operation.
wanted to minimize hacking the original case so this is what i came up with.
thingiverse
free
omdl - An OpenSCAD Mechanical Design Library by rasarmg
...dated to github version v0.3
2016-12-02: initial release version v0.2
the current release .scad source is in the .zip archive.
thingiverse
free
A Parametric Reel / Spool by rasarmg
...& cd tmp
$ wget https://git.io/setup-omdl.bash
$ chmod +x setup-omdl.bash
$ ./setup-omdl.bash --branch v0.2 --yes --install
thingiverse
free
PCI-E 1x Riser Card Bracket by rasarmg
...mp; cd tmp
$ wget https://git.io/setup-omdl.bash
$ chmod +x setup-omdl.bash
$ ./setup-omdl.bash --branch v0.6.1 --yes --install
thingiverse
free
HP MicroServer N40L 4-bay 2.5in SSD mount / Bracket by rasarmg
...mp; cd tmp
$ wget https://git.io/setup-omdl.bash
$ chmod +x setup-omdl.bash
$ ./setup-omdl.bash --branch v0.6.1 --yes --install
thingiverse
free
PCI Bracket Generator by rasarmg
...mp; cd tmp
$ wget https://git.io/setup-omdl.bash
$ chmod +x setup-omdl.bash
$ ./setup-omdl.bash --branch v0.6.1 --yes --install
thingiverse
free
Quad HP-USB video adapter monitor post mount by rasarmg
...mp; cd tmp
$ wget https://git.io/setup-omdl.bash
$ chmod +x setup-omdl.bash
$ ./setup-omdl.bash --branch v0.6.1 --yes --install
thingiverse
free
Wanhao Duplicator i3 LED Light Bar by rasarmg
...ght-build_plate_2o2_xm.stl
for front or rear light bar mounting, replace xm with fm or rm respectively in the second build plate.
Polytope
turbosquid
$1
Polytope Victorian Reversible Railway Station Bench
... reversible railway station bench for download as fbx and png on turbosquid: 3d models for games, architecture, videos. (1548417)
turbosquid
$1
Low Polygon Polytope Victorian Lamp Post
...poly polytope victorian lamp post for download as fbx and png on turbosquid: 3d models for games, architecture, videos. (1546572)
turbosquid
$1
Low Polygon Metal Water tower Polytope
...w poly metal water tower polytope for download as fbx and png on turbosquid: 3d models for games, architecture, videos. (1545104)
thingiverse
free
Polytope by MyDogJustice
...polytope by mydogjustice
thingiverse
just a basic model, but still fun to print!
thingiverse
free
Hyper Cross Polytope (Dual Hyper Cube) by Wwatson44
...d a shared edge and then push together the two edges into 4 dimensions you would get a cross polytope. schläfli notation: {3,3,4}
thingiverse
free
{4,3,3} Uniform Polytope / Tesseract by MyDogJustice
...to follow
give it a shot without support if you're into small perimeter massive overhang geometric prints!
63mm x 63mm x 63mm
thingiverse
free
24-Cell Schlegel Diagram by Professortiz
...four-dimensional space, thus making a perspective "drawing" of the polytope with the outermost octahedron representing the closest cell, and...
thingiverse
free
The 24-Cell by wwebber
...by wwebber thingiverse this one of the 6 regular polytope in 4d. it is made from 24...
unity_asset_store
$126
Lowpoly Medieval Bundle
...your workflow with the lowpoly medieval bundle asset from polytope studio. find this & other characters options on the...
Play
3ddd
$1
play center
...play center
3ddd
площадка
play center
3ddd
free
Mecplast play
...mecplast play
3ddd
mecplast , play , кресло
archive3d
free
Play 3D Model
...ine playing machine game machine
play n210909 - 3d model (*.3ds) for interior 3d visualization.
archive3d
free
Play 3D Model
...ame-playing machine game machine
play 6 - 3d model (*.gsm+*.3ds) for interior 3d visualization.
3ddd
$1
Dedon play
...p://www.dedon.de/en/collections/detail/collection/play-with-dedon-143/sidechair-1146/play-64.html#armchair-2059/play-64
3d_export
$5
Kitchen knife for play
...kitchen knife for play
3dexport
kitchen knife for play
design_connected
$18
Lazy PLAI
...lazy plai
designconnected
b & b italia lazy plai lounge chairs computer generated 3d model. designed by patricia urquiola.
turbosquid
$1
playing cards
...quid
royalty free 3d model playing cards for download as max on turbosquid: 3d models for games, architecture, videos. (1614013)
3ddd
$1
пластилин Play-Doh
...пластилин play-doh
3ddd
пластилин
пластилин play-doh
archive3d
free
Play 3D Model
...l
archive3d
child's play toy
play n121009 - 3d model (*.3ds) for interior 3d visualization.
Easy
design_connected
$16
Easy
...easy
designconnected
sollos easy computer generated 3d model. designed by almeida, jader.
design_connected
$20
Easy
...easy
designconnected
established & sons easy armchairs computer generated 3d model. designed by ed carpenter.
3d_ocean
$1
Easy Button
... it is accurate in close-ups. you can drop this model right into any setting. the textures are included as well as links to do...
design_connected
$16
Easy Armchair
...easy armchair
designconnected
easy armchair computer generated 3d model. designed by jeanneret, pierre.
3ddd
$1
Pouf EASY
... easy
3ds max 2010.v-ray 2.40.03.file formats fbx,obj. pouf desiree 2014 easy. dimensions 100x100x45 cm.
design_connected
$18
Easy Armchair
...easy armchair
designconnected
fsm easy armchair computer generated 3d model. designed by hartmann, markus.
design_connected
$16
Easy Chair
...easy chair
designconnected
magis easy chair computer generated 3d model. designed by seymour, jerszy.
design_connected
$16
Easy Rider
...easy rider
designconnected
bulo easy rider computer generated 3d model. designed by venlet, danny.
design_connected
$11
Easy Footstool
...easy footstool
designconnected
fsm easy footstool computer generated 3d model. designed by hartmann, markus.
design_connected
$18
Doda - Easy
...doda - easy
designconnected
molteni & c doda - easy computer generated 3d model. designed by laviani, ferruccio.
Made
design_connected
$11
Geometry Made Easy
...geometry made easy
designconnected
micromacro geometry made easy computer generated 3d model. designed by bernardi, sara .
turbosquid
$20
Loopa Bed by MADE
...
royalty free 3d model loopa bed by made for download as max on turbosquid: 3d models for games, architecture, videos. (1159987)
turbosquid
$10
MADE Barstool Sean
...
royalty free 3d model made barstool sean for download as max on turbosquid: 3d models for games, architecture, videos. (1564047)
turbosquid
$10
MADE Kitson Barstool
...oyalty free 3d model made kitson barstool for download as max on turbosquid: 3d models for games, architecture, videos. (1564045)
turbosquid
$10
MADE Rory chair
...id
royalty free 3d model made rory chair for download as max on turbosquid: 3d models for games, architecture, videos. (1563827)
turbosquid
$10
Toys made of wood
...
royalty free 3d model toys made of wood for download as max on turbosquid: 3d models for games, architecture, videos. (1329711)
turbosquid
$2
Shotgun made of bones
...yalty free 3d model shotgun made of bones for download as obj on turbosquid: 3d models for games, architecture, videos. (1689901)
3ddd
$1
Made In Ratio - Alpha Chair
...made in ratio - alpha chair
3ddd
made in ratio
the alpha chair by made in ratio.
fully unwrapped uvs.
turbosquid
$26
Sofa Made Hewitt
...ty free 3d model sofa made hewitt for download as max and obj on turbosquid: 3d models for games, architecture, videos. (1398557)
turbosquid
$26
Sofa Made Julianne
... free 3d model sofa made julianne for download as max and obj on turbosquid: 3d models for games, architecture, videos. (1397776)