test: failing regression test for #546 (ignored until fixed): solid.extrude with taper refuses profiles of lines and arcs: "not supported yet: tapered profiles mixing lines and arcs" (#571)
Adds an ignored regression test for #546; it runs once #546 is fixed.
This commit is contained in:
1 parent
7a8754bef7
commit
88e9661457
1 file changed
+18
@@ -2920,3 +2920,21 @@ fn a_pattern_of_a_reduced_fillet_rounds_each_copy_alike() {
|
||||
let expect = 60.0 * 20.0 * 2.0 + 3.0 * (840.0 - (4.0 - PI) * 9.0 * 10.0);
|
||||
assert!(rel(volume(&mut s), expect) < 2e-4, "{} vs {expect}", volume(&mut s));
|
||||
}
|
||||
|
||||
/// A taper on a profile of lines and an arc (#546). The D profile (back 9.2, sides 7.4, a
|
||||
/// half-round front R 4.6 tangent to them) grows by d = z · tan 5° with mitred corners:
|
||||
/// A(d) = A₀ + P·d + (2 + π/2)·d², integrated over the 10 mm height.
|
||||
#[test]
|
||||
#[ignore = "fails until #546 is fixed"]
|
||||
fn tapered_extrude_of_a_profile_mixing_lines_and_an_arc() {
|
||||
let mut s = Session::default();
|
||||
run(&mut s, "sketch.create", json!({"plane": "XY", "name": "D"}));
|
||||
run(&mut s, "sketch.line", json!({"points": [[0, 4.6], [-7.4, 4.6], [-7.4, -4.6], [0, -4.6]], "closed": false}));
|
||||
run(&mut s, "sketch.arc.center_point", json!({"center": [0, 0], "start": [0, -4.6], "end": [0, 4.6]}));
|
||||
run(&mut s, "sketch.finish", json!({}));
|
||||
run(&mut s, "solid.extrude", json!({"sketch": "D", "distance": 10, "taper": "5 deg"}));
|
||||
let (t, h) = (5f64.to_radians().tan(), 10.0);
|
||||
let (a0, p, k) = (7.4 * 9.2 + PI * 4.6 * 4.6 / 2.0, 2.0 * 7.4 + 9.2 + PI * 4.6, 2.0 + PI / 2.0);
|
||||
let expect = a0 * h + p * t * h * h / 2.0 + k * t * t * h.powi(3) / 3.0;
|
||||
assert!(rel(volume(&mut s), expect) < 1e-3, "{} vs {expect}", volume(&mut s));
|
||||
}
|
||||
Reference in new issue
Block a user