build123d
build123d copied to clipboard
Thicken normal incorrect
l1 = JernArc((0,0), (-1,0), 1, 180).edge().reversed()
l2 = JernArc((0,0), (1,0), 2, -90)
s = RadiusArc((0,0), (0,-1), 1)
f = sweep((l1^0)*s, l1) + sweep((l2^0)*s, l2) # Workaround for #622
p = thicken(f, 0.4)
There is a normal_override parameter of thicken to help cope with these situations:
p = thicken(f, 0.4, normal_override=(0, 1, 0))
When thicken was developed controlling the normal was found to be difficult so this override was added as the best solution at the time.
Shouldn't it just thicken in the face normal?