mirror of
https://github.com/BelfrySCAD/BOSL2.git
synced 2024-12-29 00:09:41 +00:00
fix stroke bug
This commit is contained in:
parent
ef368e2d5c
commit
cd50d6bf79
2 changed files with 67 additions and 13 deletions
18
drawing.scad
18
drawing.scad
|
@ -372,20 +372,16 @@ module stroke(
|
|||
: zrot(joint_angle);
|
||||
multmatrix(mat) polygon(joint_shape);
|
||||
} else {
|
||||
// These are parallel to the path
|
||||
v1 = path2[i] - path2[i-1];
|
||||
v2 = path2[i+1] - path2[i];
|
||||
ang = modang(v_theta(v2) - v_theta(v1));
|
||||
pv1 = rot(-90, p=unit(v1,BACK));
|
||||
pv2 = rot(-90, p=unit(v2,BACK));
|
||||
if (!approx(ang,0)) {
|
||||
if (ang>=0) {
|
||||
rot(from=RIGHT, to=pv1)
|
||||
arc(d=widths[i], angle=ang, wedge=true);
|
||||
} else {
|
||||
rot(from=RIGHT, to=-pv2)
|
||||
arc(d=widths[i], angle=-ang, wedge=true);
|
||||
}
|
||||
}
|
||||
// Need 90 deg offset to make wedge perpendicular to path, and the wedge
|
||||
// position depends on whether we turn left (ang<0) or right (ang>0)
|
||||
theta = v_theta(v1) - sign(ang)*90;
|
||||
ang_eps = 0.1;
|
||||
if (!approx(ang,0))
|
||||
arc(d=widths[i], angle=[theta-ang_eps, theta+ang+ang_eps], wedge=true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
62
screws.scad
62
screws.scad
|
@ -76,7 +76,7 @@ include <screw_drive.scad>
|
|||
// .
|
||||
// |ISO|UTS|Head | Drive |
|
||||
// |---|---|--------------- | ----------------------------|
|
||||
// |X|X|"none" | hex, torx, slot (UTS only)|
|
||||
// |X|X|"none" | hex, torx, slot |
|
||||
// |X|X|"hex" | *none*|
|
||||
// |X|X|"socket" | hex, torx|
|
||||
// |X|X|"button" | hex, torx|
|
||||
|
@ -1263,7 +1263,7 @@ function _screw_info_english(diam, threadcount, head, thread, drive) =
|
|||
["#1", [ 0.118, 1/16, 7, 0.031, 0.036]],
|
||||
["#2", [ 9/64, 5/64, 8, 0.038, 0.037]],
|
||||
["#3", [ 0.161, 5/64, 8, 0.044, 0.041]], // For larger sizes, hex recess depth is
|
||||
["#4", [ 0.183, 3/32, 10, 0.051, 0.049]], // half the diameter
|
||||
["#4", [ 0.183, 3/32, 10, 0.051, 0.049]], // half the screw diameter
|
||||
["#5", [ 0.205, 3/32, 10, 0.057, 0.049]],
|
||||
["#6", [ 0.226, 7/64, 15, 0.064, 0.058]],
|
||||
["#8", [ 0.270, 9/64, 25, 0.077, 0.078]],
|
||||
|
@ -2088,3 +2088,61 @@ $fn control
|
|||
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
|
||||
iso shoulder screws, hex drive socket head ISO 7379
|
||||
Mcmaster has variations like 12mm shoulder for m10, 6mm shoulder for M5
|
||||
|
||||
shld thread head head hex hex dep
|
||||
diam length diam ht shold tol
|
||||
5, [6.5, 9.5, 10, 4.5, 3, 2.4 .03
|
||||
6, [8 , 11 , 13, 5.5, 4, 3.3 .03
|
||||
8, [10 , 13 , 16, 7 , 5, 4.2 .03
|
||||
10,[13 , 16 , 18, 9 , 6, 4.9 .037
|
||||
12,[16 , 18 , 24, 11 , 8, 6.6 .037
|
||||
16,[20 , 22 , 30, 14 , 10, 8.8 .046
|
||||
20,[25 , 27 , 36, 16 , 12, 10 .046
|
||||
|
||||
|
||||
UTS shoulder screws, b18.3 (table 13)
|
||||
|
||||
sh diam thread len, head diam hex size hex depth
|
||||
[#4, [1/8 , 5/32 , 1/4 , 5/64 , 0.067
|
||||
[#6, [5/32 , 3/16 , 9/32 , 3/32 , 0.067
|
||||
[#8, [3/16 , 3/16 , 5/16 , 3/32 , 0.079
|
||||
[#10, [1/4 , 3/8 , 3/8 , 1/8 , 0.094
|
||||
[1/4, [5/16 , 7/16 , 7/16 , 5/32 , 0.117
|
||||
[5/16, [3/8 , 1/2 , 9/16 , 3/16 , 0.141
|
||||
[3/8, [1/2 , 5/8 , 3/4 , 1/4 , 0.188
|
||||
[1/2, [5/8 , 3/4 , 7/8 , 5/16 , 0.234
|
||||
[5/8, [3/4 , 7/8 , 1 , 3/8 , 0.281
|
||||
[3/4, [1 , 1 , 1+5/16 , 1/2 , 0.375
|
||||
[7/8, [1+1/4, 1+1/8, 1+3/4 , 5/8 , 0.469
|
||||
[1+1/8, [1+1/2, 1+1/2, 2+1/8 , 7/8 , 0.656
|
||||
[1+1/4, [1+3/4, 1+3/4, 2+3/8 , 1 , 0.750
|
||||
[1+1/2, [2 , 2 , 2+3/4 , 1+1/4 , 0.937
|
||||
|
||||
shoulder tol = .003
|
||||
|
||||
height = .5 (shoulder nom diam) + .0625
|
||||
.5 (shoulder nom diam) + .125 >= 3/4
|
||||
|
||||
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
,
|
||||
|
|
Loading…
Reference in a new issue