implicit-0.0.0: Math-inspired programmatic 2&3D CAD: CSG, bevels, and shells; gcode export..

Graphics.Implicit

Synopsis

Documentation

translateSource

Arguments

:: (Additive a a a, AdditiveInvertable a) 
=> a

Vector to translate by (Also: a is a vector, blah, blah)

-> (a -> )

Object to translate

-> a ->

Resulting object

Translate an object by a vector of appropriate dimension.

scaleSource

Arguments

:: Multiplicative a a 
=>

Amount to scale by

-> (a -> )

Object to scale

-> a ->

Resulting scaled object

Scale an object

complementSource

Arguments

:: (a -> )

Object to complement

-> a ->

Result

unionSource

Arguments

:: [a -> ]

List of objects to union

-> a ->

The object resulting from the union

Union a list of objects

intersectSource

Arguments

:: [a -> ]

List of objects to intersect

-> a ->

The object resulting from the intersection

Intersect a list of objects

differenceSource

Arguments

:: [a -> ]

List of objects to difference

-> a ->

The object resulting from the difference

Difference a list of objects

unionRSource

Arguments

::

The radius of rounding

-> [a -> ]

objects to union

-> a ->

Resulting object

Rounded union

intersectRSource

Arguments

::

The radius of rounding

-> [a -> ]

Objects to intersect

-> a ->

Resulting object

Rounded minimum

differenceRSource

Arguments

::

The radius of rounding

-> [a -> ]

Objects to difference

-> a ->

Resulting object

Rounded difference

shellSource

Arguments

::

width of shell

-> (a -> )

object to take shell of

-> a ->

resulting shell

sliceSource

Arguments

::

z-level to cut at

-> Obj3

3D object to slice from

-> Obj2

Resulting 2D object

Slice a 3D objects at a given z value to make a 2D object.

bubble :: -> Obj2 -> Obj3Source

Bubble out a 2D object into a 3D one.

extrudeSource

Arguments

::

Length to extrude

-> Obj2

2D object to extrude

-> Obj3

Resulting 3D object

Extrude a 2D object. (The extrusion goes into the z-plane)

extrudeRSource

Arguments

::

Radius of rounding

->

Length to extrude

-> Obj2

2D object to extrude

-> Obj3

Resulting 3D object

Rounded extrude. Instead of the extrude having a flat top or bottom, it is bevelled.

extrudeOnEdgeOfSource

Arguments

:: Obj2

Object to extrude

-> Obj2

Object to extrude along the edge of

-> Obj3

Resulting 3D object

Create a 3D object by extruding a 2D object along the edge of another 2D object. For example, extruding a circle on the edge of another circle would make a torus.

sphereSource

Arguments

::

Radius of the sphere

-> Obj3

Resulting sphere

cubeSource

Arguments

::

Width of the cube

-> Obj3

Resuting cube

circleSource

Arguments

::

radius of the circle

-> Obj2

resulting circle

cylinderSource

Arguments

::

Radius of the cylinder

->

Height of the cylinder

-> Obj3

Resulting cylinder

squareSource

Arguments

::

Width of the square

-> Obj2

Resulting square

regularPolygonSource

Arguments

::

number of sides

->

radius

-> Obj2

resulting regular polygon

zsurfaceSource

Arguments

:: (ℝ2 -> )

Description of the height of the surface

-> Obj3

Resulting 3D object

polygonSource

Arguments

:: [ℝ2]

Verticies of the polygon

-> Obj2

Resulting polygon

writeSVGSource

Arguments

:: ℝ2

lower corner of bounding box

-> ℝ2

upper corner of bounding box

->

resolution of rendering

-> String

Filename to write SVG to

-> Obj2

2D object to render as SVG

-> IO ()

Resulting IO action that will write SVG

Write an SVG of a 2D object

writeSTLSource

Arguments

:: ℝ3

Lower corner of (3D) bounding box

-> ℝ3

Upper corner of bounding box

->

resolution of rendering

-> FilePath

Name of file to write STL to

-> Obj3

3D object to make STL for

-> IO ()

Resulting IO action that will write STL