{{ message }}

Instantly share code, notes, and snippets.

# Hans Loeblichthehans

Created Jul 18, 2020
OpenSCAD example of one way to chamfer when extruding a 2D profile
 \$fs=0.5; \$fa=1; // example usage chamfer_extrude(height=10,ch1=-3,ch2=3) { hull() { translate([-10,0]) circle(5, \$fn=64); translate([10,0]) circle(5, \$fn=64); } square([10,30],center=true);
Created Jun 22, 2020
OpenSCAD demo of transformation using complex numbers
 // Demo of using complex numbers to map one 2D point to another. // Performs rotate and/or scale transform in one operation, without any // transcendental (trigonometric) functions nor irrational numbers*. // *please ignore the circular input data // Enable animation for demo! // multiply complex numbers function cmul(c1,c2) = let(a=c1,b=c1,c=c2,d=c2) [a*c-b*d, a*d+b*c];
Created Jun 2, 2020
 // Pipe library demonstrating a concept of chained operations \$fn = 72; // define exact number of fragments in curves // using \$fs instead would cause some mismatched # of edges during tapers echo(str("For best results, all angles should be multiples of ", 360/\$fn, " degrees")); in = 25.4; // Example of how to use pipe // Note that all calls are chained (there's only one semicolon, at the end)
Created Feb 29, 2020
 # If the design does not create a "sync" clock domain, it is created by the nMigen build system # using the platform default clock (and default reset, if any). from nmigen import * from nmigen_boards.de10_nano import * class Blinky(Elaboratable): def elaborate(self, platform): leds = Array(platform.request("led", i) for i in range(0,8))
Created Nov 24, 2019
 module rotate_about(a, v, p=[0,0,0]) { translate(p) rotate(a,v) translate(-p) children(); } // example usage rotate_about([0,45,0],p=[5,0,10]) cylinder(r=5,h=10);
Created Nov 24, 2019
OpenSCAD example of particular way to fillet when extruding a 2D profile
 \$fs=0.5; \$fa=1; // example usage fillet_extrude(height=10,r1=3,r2=-3) { hull() { translate([-10,0]) circle(5); translate([10,0]) circle(5); } rotate(90) hull() {
Created Nov 23, 2019
Example of creating a cutout for a 3D object which is pivoting around the origin.
 module rotate_extrude3D(clearance, bounds=[1000,1000]) { rotate_extrude() intersection() { // clip to positive x axis before rotate_extrude translate([0,-bounds/2]) square(bounds); offset(delta=clearance) // add clearance to profile union() for(a=[-90:\$fa:90]) // union projections from multiple angles projection() rotate([-90,a]) children(); } }
Created Nov 18, 2019
Basic duct transition using hull in OpenSCAD