-
Notifications
You must be signed in to change notification settings - Fork 176
Open
Description
Describe the bug
regular_prism give an error with edge_profile and other masks
Code To Reproduce Bug
include <BOSL2/std.scad>
diff()
regular_prism(n = 8, d = 30, l = 60)
edge_profile()
mask2d_ogee(["xstep", 1, "ystep", 1, // Starting shoulder.
"fillet", 5, "round", 5, // S-curve.
"ystep", 1, "xstep", 1 // Ending shoulder.
]);
Expected behavior
Something similar to the following code
include <BOSL2/std.scad>
diff()
cyl($fn = 8, d = 30, l = 60)
edge_profile()
mask2d_ogee(["xstep", 1, "ystep", 1, // Starting shoulder.
"fillet", 5, "round", 5, // S-curve.
"ystep", 1, "xstep", 1 // Ending shoulder.
]);
Additional context
Version: b44fd1c
Trying to use regular_prism to make n-gonal columns instead of using cyl with $fn is giving me errors (at the end of the issue).
Trying to echo-debug, I found that for regular_prism, the following line in masks is returning an undef:
path_angs_T = _attach_geom_edge_path($parent_geom, vec);
for cyl this function do not return undef.
ERROR: Assertion '(is_list(list) || is_string(list))' failed: "Invalid input." in file ../../Documents/OpenSCAD/libraries/BOSL2/lists.scad, line 883
TRACE: called by 'idx' in file ../../Documents/OpenSCAD/libraries/BOSL2/masks.scad, line 1253
TRACE: called by 'for' in file ../../Documents/OpenSCAD/libraries/BOSL2/masks.scad, line 1253
TRACE: called by 'children' in file ../../Documents/OpenSCAD/libraries/BOSL2/transforms.scad, line 1613
TRACE: called by 'children' in file ../../Documents/OpenSCAD/libraries/BOSL2/builtins.scad, line 31
TRACE: called by 'multmatrix' in file ../../Documents/OpenSCAD/libraries/BOSL2/builtins.scad, line 31
TRACE: call of '_multmatrix(m = undef)' in file ../../Documents/OpenSCAD/libraries/BOSL2/builtins.scad, line 31
TRACE: called by '_multmatrix' in file ../../Documents/OpenSCAD/libraries/BOSL2/transforms.scad, line 1613
TRACE: call of 'multmatrix(m = undef)' in file ../../Documents/OpenSCAD/libraries/BOSL2/transforms.scad, line 1607
TRACE: called by 'multmatrix' in file ../../Documents/OpenSCAD/libraries/BOSL2/masks.scad, line 1252
TRACE: called by 'for' in file ../../Documents/OpenSCAD/libraries/BOSL2/masks.scad, line 1242
TRACE: called by 'children' in file ../../Documents/OpenSCAD/libraries/BOSL2/attachments.scad, line 1303
TRACE: called by 'children' in file ../../Documents/OpenSCAD/libraries/BOSL2/attachments.scad, line 1165
TRACE: *** Excluding 17 frames ***
TRACE: call of 'attachable(anchor = [0, 0, 0], spin = 0, orient = [0, 0, 1], size = undef, size2 = undef, shift = undef, r = undef, r1 = undef, r2 = undef, d = undef, d1 = undef, d2 = undef, l = undef, h = undef, vnf = [[[15, 0, -30], [10.6066, -10.6066, -30], [0, -15, -30], [-10.6066, -10.6066, -30], [-15, 0, -30], [-10.6066, 10.6066, -30], [0, 15, -30], [10.6066, 10.6066, -30], [15, 0, 30], [10.6066, -10.6066, 30], [0, -15, 30], [-10.6066, -10.6066, 30], [-15, 0, 30], [-10.6066, 10.6066, 30], [0, 15, 30], [10.6066, 10.6066, 30]], [[7, 6, 5, 4, 3, 2, 1, 0], [0, 9, 8], [1, 10, 9], [2, 11, 10], [3, 12, 11], [4, 13, 12], [5, 14, 13], [6, 15, 14], [7, 8, 15], [0, 1, 9], [1, 2, 10], [2, 3, 11], [3, 4, 12], [4, 5, 13], [5, 6, 14], [6, 7, 15], [7, 0, 8], [8, 9, 10, 11, 12, 13, 14, 15]]], path = undef, region = undef, scale = undef, extent = true, cp = [0, 0, 0], offset = [0, 0, 0], anchors = [["face0", [12.8033, -5.3033, 0], [0.92388, -0.382683, 0], 67.5], ["edge0", [15, 0, 0], [1, -7.63625e-17, 0], 90, [["edge_angle", 135], ["edge_length", 60]]], ["top_edge0", [12.8033, -5.3033, 30], [0.653281, -0.270598, 0.707107], 157.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["bot_edge0", [12.8033, -5.3033, -30], [0.653281, -0.270598, -0.707107], -22.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["top_corner0", [15, 0, 30], [0.707107, -5.39965e-17, 0.707107], 90], ["bot_corner0", [15, 0, -30], [0.707107, -5.39965e-17, -0.707107], 90], ["face1", [5.3033, -12.8033, 0], [0.382683, -0.92388, 0], 22.5], ["edge1", [10.6066, -10.6066, 0], [0.707107, -0.707107, 0], 45, [["edge_angle", 135], ["edge_length", 60]]], ["top_edge1", [5.3033, -12.8033, 30], [0.270598, -0.653281, 0.707107], 112.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["bot_edge1", [5.3033, -12.8033, -30], [0.270598, -0.653281, -0.707107], -67.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["top_corner1", [10.6066, -10.6066, 30], [0.5, -0.5, 0.707107], 45], ["bot_corner1", [10.6066, -10.6066, -30], [0.5, -0.5, -0.707107], 45], ["face2", [-5.3033, -12.8033, 0], [-0.382683, -0.92388, 0], -22.5], ["edge2", [0, -15, 0], [-8.17198e-17, -1, 0], 0, [["edge_angle", 135], ["edge_length", 60]]], ["top_edge2", [-5.3033, -12.8033, 30], [-0.270598, -0.653281, 0.707107], 67.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["bot_edge2", [-5.3033, -12.8033, -30], [-0.270598, -0.653281, -0.707107], -112.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["top_corner2", [0, -15, 30], [-5.77846e-17, -0.707107, 0.707107], 0], ["bot_corner2", [0, -15, -30], [-5.77846e-17, -0.707107, -0.707107], 0], ["face3", [-12.8033, -5.3033, 0], [-0.92388, -0.382683, 0], -67.5], ["edge3", [-10.6066, -10.6066, 0], [-0.707107, -0.707107, 0], -45, [["edge_angle", 135], ["edge_length", 60]]], ["top_edge3", [-12.8033, -5.3033, 30], [-0.653281, -0.270598, 0.707107], 22.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["bot_edge3", [-12.8033, -5.3033, -30], [-0.653281, -0.270598, -0.707107], -157.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["top_corner3", [-10.6066, -10.6066, 30], [-0.5, -0.5, 0.707107], -45], ["bot_corner3", [-10.6066, -10.6066, -30], [-0.5, -0.5, -0.707107], -45], ["face4", [-12.8033, 5.3033, 0], [-0.92388, 0.382683, 0], -112.5], ["edge4", [-15, 0, 0], [-1, 7.63625e-17, 0], -90, [["edge_angle", 135], ["edge_length", 60]]], ["top_edge4", [-12.8033, 5.3033, 30], [-0.653281, 0.270598, 0.707107], -22.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["bot_edge4", [-12.8033, 5.3033, -30], [-0.653281, 0.270598, -0.707107], 157.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["top_corner4", [-15, 0, 30], [-0.707107, 5.39965e-17, 0.707107], -90], ["bot_corner4", [-15, 0, -30], [-0.707107, 5.39965e-17, -0.707107], -90], ["face5", [-5.3033, 12.8033, 0], [-0.382683, 0.92388, 0], -157.5], ["edge5", [-10.6066, 10.6066, 0], [-0.707107, 0.707107, 0], -135, [["edge_angle", 135], ["edge_length", 60]]], ["top_edge5", [-5.3033, 12.8033, 30], [-0.270598, 0.653281, 0.707107], -67.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["bot_edge5", [-5.3033, 12.8033, -30], [-0.270598, 0.653281, -0.707107], 112.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["top_corner5", [-10.6066, 10.6066, 30], [-0.5, 0.5, 0.707107], -135], ["bot_corner5", [-10.6066, 10.6066, -30], [-0.5, 0.5, -0.707107], -135],["face6", [5.3033, 12.8033, 0], [0.382683, 0.92388, 0], 157.5], ["edge6", [0, 15, 0], [8.17198e-17, 1, 0], 180, [["edge_angle", 135], ["edge_length", 60]]], ["top_edge6", [5.3033, 12.8033, 30], [0.270598, 0.653281, 0.707107], -112.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["bot_edge6", [5.3033, 12.8033, -30], [0.270598, 0.653281, -0.707107], 67.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["top_corner6", [0, 15, 30], [5.77846e-17, 0.707107, 0.707107], 180], ["bot_corner6", [0, 15, -30], [5.77846e-17, 0.707107, -0.707107], 180], ["face7", [12.8033, 5.3033, 0], [0.92388, 0.382683, 0], 112.5], ["edge7", [10.6066, 10.6066, 0], [0.707107, 0.707107, 0], 135, [["edge_angle", 135], ["edge_length", 60]]], ["top_edge7", [12.8033, 5.3033, 30], [0.653281, 0.270598, 0.707107], -157.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["bot_edge7", [12.8033, 5.3033, -30], [0.653281, 0.270598, -0.707107], 22.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["top_corner7", [10.6066, 10.6066, 30], [0.5, 0.5, 0.707107], 135], ["bot_corner7", [10.6066, 10.6066, -30], [0.5, 0.5, -0.707107], 135]], two_d = false, axis = [0, 0, 1], override = undef, geom = ["vnf_extent", [[[15, 0, -30], [10.6066, -10.6066, -30], [0, -15, -30], [-10.6066, -10.6066, -30], [-15, 0, -30], [-10.6066, 10.6066, -30], [0, 15, -30], [10.6066, 10.6066, -30], [15, 0, 30], [10.6066, -10.6066, 30], [0, -15, 30], [-10.6066, -10.6066, 30], [-15, 0, 30], [-10.6066, 10.6066, 30], [0, 15, 30], [10.6066, 10.6066, 30]], [[7, 6, 5, 4, 3, 2, 1, 0], [0, 9, 8], [1, 10, 9], [2, 11, 10], [3, 12, 11], [4, 13, 12], [5, 14, 13], [6, 15, 14], [7, 8, 15], [0, 1, 9], [1, 2, 10], [2, 3, 11], [3, 4, 12], [4, 5, 13], [5, 6, 14], [6, 7, 15], [7, 0, 8], [8, 9, 10, 11, 12, 13, 14, 15]]], function(anchor) [undef, undef, undef], [0, 0, 0], [0, 0, 0], [["face0", [12.8033, -5.3033, 0], [0.92388, -0.382683, 0], 67.5], ["edge0", [15, 0, 0], [1, -7.63625e-17, 0], 90, [["edge_angle", 135], ["edge_length", 60]]], ["top_edge0", [12.8033, -5.3033, 30], [0.653281, -0.270598, 0.707107], 157.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["bot_edge0", [12.8033, -5.3033, -30], [0.653281, -0.270598, -0.707107], -22.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["top_corner0", [15, 0, 30], [0.707107, -5.39965e-17, 0.707107], 90], ["bot_corner0", [15, 0, -30], [0.707107, -5.39965e-17, -0.707107], 90], ["face1", [5.3033, -12.8033, 0], [0.382683, -0.92388, 0], 22.5], ["edge1", [10.6066, -10.6066, 0], [0.707107, -0.707107, 0], 45, [["edge_angle", 135], ["edge_length", 60]]], ["top_edge1", [5.3033, -12.8033, 30], [0.270598, -0.653281, 0.707107], 112.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["bot_edge1", [5.3033, -12.8033, -30], [0.270598, -0.653281, -0.707107], -67.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["top_corner1", [10.6066, -10.6066, 30], [0.5, -0.5, 0.707107], 45], ["bot_corner1", [10.6066, -10.6066, -30], [0.5, -0.5, -0.707107], 45], ["face2", [-5.3033, -12.8033, 0], [-0.382683, -0.92388, 0], -22.5], ["edge2", [0, -15, 0], [-8.17198e-17, -1, 0], 0, [["edge_angle", 135], ["edge_length", 60]]], ["top_edge2", [-5.3033, -12.8033, 30], [-0.270598, -0.653281, 0.707107], 67.5, [["edge_angle", 90], ["edge_length", 11.4805]]],["bot_edge2", [-5.3033, -12.8033, -30], [-0.270598, -0.653281, -0.707107], -112.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["top_corner2", [0, -15, 30], [-5.77846e-17, -0.707107, 0.707107], 0], ["bot_corner2", [0, -15, -30], [-5.77846e-17, -0.707107, -0.707107], 0], ["face3", [-12.8033, -5.3033, 0], [-0.92388, -0.382683, 0], -67.5], ["edge3", [-10.6066, -10.6066, 0], [-0.707107, -0.707107, 0], -45, [["edge_angle", 135], ["edge_length", 60]]], ["top_edge3", [-12.8033, -5.3033, 30], [-0.653281, -0.270598, 0.707107], 22.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["bot_edge3", [-12.8033, -5.3033, -30], [-0.653281, -0.270598, -0.707107], -157.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["top_corner3", [-10.6066, -10.6066, 30], [-0.5, -0.5, 0.707107], -45], ["bot_corner3", [-10.6066, -10.6066, -30], [-0.5, -0.5, -0.707107], -45], ["face4", [-12.8033, 5.3033, 0], [-0.92388, 0.382683, 0], -112.5], ["edge4", [-15, 0, 0], [-1, 7.63625e-17, 0], -90, [["edge_angle", 135], ["edge_length", 60]]], ["top_edge4", [-12.8033, 5.3033, 30], [-0.653281, 0.270598, 0.707107], -22.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["bot_edge4", [-12.8033, 5.3033, -30], [-0.653281, 0.270598, -0.707107], 157.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["top_corner4", [-15, 0, 30], [-0.707107, 5.39965e-17, 0.707107], -90], ["bot_corner4", [-15, 0, -30], [-0.707107, 5.39965e-17, -0.707107], -90], ["face5", [-5.3033, 12.8033, 0], [-0.382683, 0.92388, 0], -157.5], ["edge5", [-10.6066, 10.6066, 0], [-0.707107, 0.707107, 0], -135, [["edge_angle", 135], ["edge_length", 60]]], ["top_edge5", [-5.3033, 12.8033, 30], [-0.270598, 0.653281, 0.707107], -67.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["bot_edge5", [-5.3033, 12.8033, -30], [-0.270598, 0.653281, -0.707107], 112.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["top_corner5", [-10.6066, 10.6066, 30], [-0.5, 0.5, 0.707107], -135], ["bot_corner5", [-10.6066, 10.6066, -30], [-0.5, 0.5, -0.707107], -135], ["face6", [5.3033, 12.8033, 0], [0.382683, 0.92388, 0], 157.5], ["edge6", [0, 15, 0], [8.17198e-17, 1, 0], 180, [["edge_angle", 135], ["edge_length", 60]]], ["top_edge6", [5.3033, 12.8033, 30], [0.270598, 0.653281, 0.707107], -112.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["bot_edge6", [5.3033, 12.8033, -30], [0.270598, 0.653281, -0.707107], 67.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["top_corner6", [0, 15, 30], [5.77846e-17, 0.707107, 0.707107], 180], ["bot_corner6", [0, 15, -30], [5.77846e-17, 0.707107, -0.707107], 180], ["face7", [12.8033, 5.3033, 0], [0.92388, 0.382683, 0], 112.5], ["edge7", [10.6066, 10.6066, 0], [0.707107, 0.707107, 0], 135, [["edge_angle", 135], ["edge_length", 60]]], ["top_edge7", [12.8033, 5.3033, 30], [0.653281, 0.270598, 0.707107], -157.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["bot_edge7", [12.8033, 5.3033, -30], [0.653281, 0.270598, -0.707107], 22.5, [["edge_angle", 90], ["edge_length", 11.4805]]], ["top_corner7", [10.6066, 10.6066, 30], [0.5, 0.5, 0.707107], 135], ["bot_corner7", [10.6066, 10.6066, -30], [0.5, 0.5, -0.707107], 135]]], parts = [], expose_tags = false, keep_color = false)' in file ../../Documents/OpenSCAD/libraries/BOSL2/attachments.scad,line 2418
TRACE: called by 'attachable' in file ../../Documents/OpenSCAD/libraries/BOSL2/shapes3d.scad, line 1003
TRACE: call of 'regular_prism(n = 8, h = undef, r = undef, center = undef, l = 60, length = undef, height = undef, r1 = undef, r2 = undef, ir = undef, ir1 = undef, ir2 = undef, or = undef, or1 = undef, or2 = undef, side = undef, side1 = undef, side2 = undef, d = 30, d1 = undef, d2 = undef, id = undef, id1 = undef, id2 = undef, od = undef, od1 = undef, od2 = undef, ang = undef, chamfer = undef, chamfer1 = undef, chamfer2 = undef, chamfang = undef, chamfang1 = undef, chamfang2 = undef, rounding = undef, rounding1 = undef, rounding2 = undef, realign = false, shift = [0, 0], teardrop = false, clip_angle = undef, from_end = undef, from_end1 = undef, from_end2 = undef, texture = undef, tex_size = [5, 5], tex_reps = undef, tex_inset = false, tex_rot = 0, tex_depth = undef, tex_samples = undef, tex_taper = undef, style = undef, anchor = undef, spin = 0, orient = [0, 0, 1])' in file ../../Documents/OpenSCAD/libraries/BOSL2/shapes3d.scad, line 987
TRACE: called by 'regular_prism' in file test.scad, line 3
TRACE: called by 'children' in file ../../Documents/OpenSCAD/libraries/BOSL2/attachments.scad, line 1591
TRACE: called by 'children' in file ../../Documents/OpenSCAD/libraries/BOSL2/attachments.scad, line 1920
TRACE: call of 'hide(tags = "remove keep")' in file ../../Documents/OpenSCAD/libraries/BOSL2/attachments.scad, line 1914
TRACE: called by 'hide' in file ../../Documents/OpenSCAD/libraries/BOSL2/attachments.scad, line 1591
TRACE: called by 'difference' in file ../../Documents/OpenSCAD/libraries/BOSL2/attachments.scad, line 1590
TRACE: called by 'if' in file ../../Documents/OpenSCAD/libraries/BOSL2/attachments.scad, line 1588
TRACE: call of 'diff(remove = "remove", keep = "keep")' in file ../../Documents/OpenSCAD/libraries/BOSL2/attachments.scad, line 1583
TRACE: called by 'diff' in file test.scad, line 2
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels