Skip to content

Instantly share code, notes, and snippets.

View hull_array.md

3d hull from an array of solids

// AngelCAD code.

shape@ main_shape(as_args@ args)
{
   array<solid@> spheres;
   for(int i=-1; i<=1; i+=2) 
      for(int j=-1; j<=1; j+=2) 
View polyhedron_hull.md

Create polyhedron from point cloud

When a polyhedron is created from an array of points, it is interpreted as a convex hull

// AngelCAD code.
shape@ main_shape(as_args@ args)
{
   array<pos3d@> hull_points = { {-1,-1,0}, {-1,1,0}, {1,1,0}, {1,-1,0}, {1/2,1,2} };
   return polyhedron(hull_points);
View A performance test.md
View USB-winkeler.md
// AngelCAD code: USB-winkeler.as
// https://arnholm.github.io/angelcad-docs/
// (Adapted from USB-Winkeler-bug.scad by Dietrich)

// calbe diameter
double d1 = 5;
// 90º Radius
double r1= 20;
//wall thickness
View Repairing bad STL using AngelCAD polyfix.md

Original problem using OpenSCAD to import an STL fils

union()
{
  translate([0, 0, 6])
  scale([0.9842519685, 0.9842519685, 1])
  import("floor.stl");
  cube([50, 50, 6]);
}
View intersection_box.md
// AngelCAD code.

shape@ main_shape()
{
   // create cube & sphere in default positions
   double d = 100;
   solid@ mycub = cube(size:d);
   solid@ mysph = sphere(r:d*0.8);
View main.cpp
#include <iostream>
using namespace std;
#include "cf_serial/cf_serial_simple.h"
int main(int argc, char **argv)
{
try {
cf_serial_simple serial("COM8");
@arnholm
arnholm / minkowski3d_3_1.md
Last active Feb 9, 2020
minkowski3d_3.as - Demonstrates 3d filetting using minkowski
View minkowski3d_3_1.md
// AngelCAD sample: minkowski3d_3.as
// Demonstrates 3d filetting using minkowski3d

solid@ object(double sz)
{
   // cuboids extending in 3 axis directions
   return   translate(-sz,0,0) * cuboid(2*sz,sz,sz)
          + translate(0,-sz,0) * cuboid(sz,2*sz,sz)
          + cuboid(sz,sz,2*sz);
View minkowski_ball.md
// AngelCAD code. https://arnholm.github.io/angelcad-docs/

shape@ main_shape()
{
   double ball_height = 56;
   double top_radius = 20;
   double head_minkow = 3;
   double threw_hole = 11;
View fillet_plates.md
// AngelCAD code. Demonstrate fillet between two plates
// https://arnholm.github.io/angelcad-docs/

solid@ fillet(solid@ obj, double r)
{
   // create a cube enclosing the object completely
   // with an internal void shaped by the object
   boundingbox@ box = obj.box();
   pos3d@ c  = box.center(); 
You can’t perform that action at this time.