Merge branch 'master' of github.com:rambo/MCAD
This commit is contained in:
commit
a0719871e6
|
@ -1,5 +1,5 @@
|
||||||
// Parametric screw-like things (ball screws, augers)
|
// Parametric screw-like things (ball screws, augers)
|
||||||
// License: GNU GPL 2.0 or later.
|
// License: GNU LGPL 2.1 or later.
|
||||||
// © 2010 by Elmo Mäntynen
|
// © 2010 by Elmo Mäntynen
|
||||||
|
|
||||||
include <curves.scad>
|
include <curves.scad>
|
||||||
|
|
|
@ -104,5 +104,5 @@ module alignds420(position, rotation, screws = 0, axle_lenght = 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Example, uncomment to test
|
// Tests:
|
||||||
alignds420(screws=1);
|
module test_alignds420(){alignds420(screws=1);}
|
||||||
|
|
|
@ -16,14 +16,14 @@ def pytest_generate_tests(metafunc):
|
||||||
metafunc.addcall(funcargs=dict(modpath=fpath))
|
metafunc.addcall(funcargs=dict(modpath=fpath))
|
||||||
|
|
||||||
|
|
||||||
def test_compile(modname, modpath):
|
def test_module_compile(modname, modpath):
|
||||||
tempname = "test_" + modpath.basename + modname + '.scad'
|
tempname = modpath.basename + '-' + modname + '.scad'
|
||||||
fpath = temppath.join(tempname)
|
fpath = temppath.join(tempname)
|
||||||
stlpath = temppath.join(tempname + ".stl")
|
stlpath = temppath.join(tempname + ".stl")
|
||||||
f = fpath.open('w')
|
f = fpath.open('w')
|
||||||
f.write("""
|
f.write("""
|
||||||
//generated testfile
|
//generated testfile
|
||||||
include <%s>
|
use <%s>
|
||||||
|
|
||||||
%s();
|
%s();
|
||||||
""" % (modpath, modname))
|
""" % (modpath, modname))
|
||||||
|
@ -34,9 +34,8 @@ include <%s>
|
||||||
assert "warning" or "error" not in output[2].strip().lowercase()
|
assert "warning" or "error" not in output[2].strip().lowercase()
|
||||||
assert len(stlpath.readlines()) > 2
|
assert len(stlpath.readlines()) > 2
|
||||||
|
|
||||||
def test_compile_default(modpath):
|
def test_file_compile(modpath):
|
||||||
tempname = "test_" + modpath.basename
|
stlpath = temppath.join(modpath.basename + "-test.stl")
|
||||||
stlpath = temppath.join(tempname + ".stl")
|
|
||||||
output = call_openscad(path=modpath, stlpath=stlpath)
|
output = call_openscad(path=modpath, stlpath=stlpath)
|
||||||
print output
|
print output
|
||||||
assert output[0] is 0
|
assert output[0] is 0
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
/*
|
/*
|
||||||
* Utility functions.
|
* Utility functions.
|
||||||
*
|
*
|
||||||
* Originally by Hans Häggström, 2010.
|
* Originally by Hans Häggström, 2010.
|
||||||
* Dual licenced under Creative Commons Attribution-Share Alike 3.0 and LGPL2 or later
|
* Dual licenced under Creative Commons Attribution-Share Alike 3.0 and LGPL2 or later
|
||||||
*/
|
*/
|
||||||
|
|
||||||
<units.scad>
|
<units.scad>
|
||||||
|
|
||||||
function distance(a, b) = sqrt( (a[0] - b[0])*(a[0] - b[0]) +
|
function distance(a, b) = sqrt( (a[0] - b[0])*(a[0] - b[0]) +
|
||||||
(a[1] - b[1])*(a[1] - b[1]) +
|
(a[1] - b[1])*(a[1] - b[1]) +
|
||||||
(a[2] - b[2])*(a[2] - b[2]) );
|
(a[2] - b[2])*(a[2] - b[2]) );
|
||||||
|
|
||||||
function length2(a) = sqrt( a[0]*a[0] + a[1]*a[1] );
|
function length2(a) = sqrt( a[0]*a[0] + a[1]*a[1] );
|
||||||
|
@ -23,27 +23,6 @@ function angle(v) = angleOfNormalizedVector(normalized(v));
|
||||||
|
|
||||||
function angleBetweenTwoPoints(a, b) = angle(normalized(b-a));
|
function angleBetweenTwoPoints(a, b) = angle(normalized(b-a));
|
||||||
|
|
||||||
// Untested
|
|
||||||
module intersection(big_number=1000000000){
|
|
||||||
difference(){
|
|
||||||
child(0);
|
|
||||||
difference(){
|
|
||||||
cube(big_number, center=true);
|
|
||||||
child(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module intersection2(){
|
|
||||||
difference(){
|
|
||||||
child(0);
|
|
||||||
difference(){
|
|
||||||
child(0);
|
|
||||||
child(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
CENTER = 0;
|
CENTER = 0;
|
||||||
LEFT = -0.5;
|
LEFT = -0.5;
|
||||||
|
@ -66,9 +45,9 @@ module fromTo(from=[0,0,0], to=[1*m,0,0], size=[1*cm, 1*cm], align=[CENTER, CENT
|
||||||
|
|
||||||
color(material)
|
color(material)
|
||||||
translate(from)
|
translate(from)
|
||||||
rotate(angle)
|
rotate(angle)
|
||||||
translate( [ -endCaps[0]*size[0] - endExtras[0], size[0]*(-0.5-align[0]), size[1]*(-0.5+align[1]) ] )
|
translate( [ -endCaps[0]*size[0] - endExtras[0], size[0]*(-0.5-align[0]), size[1]*(-0.5+align[1]) ] )
|
||||||
rotate(rotation)
|
rotate(rotation)
|
||||||
scale([length, size[0], size[1]]) child();
|
scale([length, size[0], size[1]]) child();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue