In case others try this, just comment out the "use <shakespeare..."
line.
Try
translate([0,-10,0]) // so they don't touch
#extrude_open(path1);
//#extrude_open(path2);
cube(1);
re assertion violations, just have a 'cube(1);' with your object will force
CGAL union.
Preview the above it points to some triangulation visual artefacts, on the
bottom, that may be a clue.
Looks likely there are holes.
Without the cube, path1 can be rendered and exported.
The STL shows this:
<nabble_img src="Capture_sheakspear_holes.jpg"
border="0"/>
[looks like nabble images are broken again, on preview, I'll post anyway
JIC]
Admin - email* me if you need anything, or if I've done something stupid...
Unless specifically shown otherwise above, my contribution is in the Public Domain; to the extent possible under law, I have waived all copyright and related or neighbouring rights to this work. Obviously inclusion of works of previous authors is not included in the above.
Sent from: http://forum.openscad.org/
Here is that image
-----Original Message-----
From: Discuss [mailto:discuss-bounces@lists.openscad.org] On Behalf Of MichaelAtOz
Sent: Tue, 3 Sep 2019 16:00
Subject: Re: [OpenSCAD] New forum member, extruding along path
In case others try this, just comment out the "use <shakespeare..."
line.
Try
translate([0,-10,0]) // so they don't touch
#extrude_open(path1);
//#extrude_open(path2);
cube(1);
re assertion violations, just have a 'cube(1);' with your object will force
CGAL union.
Preview the above it points to some triangulation visual artefacts, on the
bottom, that may be a clue.
Looks likely there are holes.
Without the cube, path1 can be rendered and exported.
The STL shows this:
<nabble_img src="Capture_sheakspear_holes.jpg"
border="0"/>
[looks like nabble images are broken again, on preview, I'll post anyway
JIC]
Admin - email* me if you need anything, or if I've done something stupid...
Unless specifically shown otherwise above, my contribution is in the Public Domain; to the extent
possible under law, I have waived all copyright and related or neighbouring rights to this work.
Obviously inclusion of works of previous authors is not included in the above.
The TPP is no simple "trade agreement." Fight it! http://www.ourfairdeal.org/ time is running
out!
--
Sent from: http://forum.openscad.org/
OpenSCAD mailing list
This email has been checked for viruses by AVG.
https://www.avg.com
This is it, the STL, cut in half.
You can see that internal geometry, almost certainly makes self-intersections.
Also not the green triangles to the left of the arrow, green means 'outside' face.
From: Discuss [mailto:discuss-bounces@lists.openscad.org] On Behalf Of OzAtMichael
Sent: Tue, 3 Sep 2019 16:45
To: 'OpenSCAD general discussion'
Subject: Re: [OpenSCAD] New forum member, extruding along path
Here is that image
-----Original Message-----
From: Discuss [mailto:discuss-bounces@lists.openscad.org] On Behalf Of MichaelAtOz
Sent: Tue, 3 Sep 2019 16:00
Subject: Re: [OpenSCAD] New forum member, extruding along path
In case others try this, just comment out the "use <shakespeare..."
line.
Try
translate([0,-10,0]) // so they don't touch
#extrude_open(path1);
//#extrude_open(path2);
cube(1);
re assertion violations, just have a 'cube(1);' with your object will force
CGAL union.
Preview the above it points to some triangulation visual artefacts, on the
bottom, that may be a clue.
Looks likely there are holes.
Without the cube, path1 can be rendered and exported.
The STL shows this:
<nabble_img src="Capture_sheakspear_holes.jpg"
border="0"/>
[looks like nabble images are broken again, on preview, I'll post anyway
JIC]
Admin - email* me if you need anything, or if I've done something stupid...
Unless specifically shown otherwise above, my contribution is in the Public Domain; to the extent
possible under law, I have waived all copyright and related or neighbouring rights to this work.
Obviously inclusion of works of previous authors is not included in the above.
The TPP is no simple "trade agreement." Fight it! http://www.ourfairdeal.org/ time is running
out!
--
Sent from: http://forum.openscad.org/
OpenSCAD mailing list
<http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_con
tent=emailclient>
Virus-free.
<http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_con
tent=emailclient> www.avg.com
This email has been checked for viruses by AVG.
https://www.avg.com
Note: Nabble appear to have fixed the recent problem with 'Insert Image' on
the forum.
Admin - email* me if you need anything, or if I've done something stupid...
Unless specifically shown otherwise above, my contribution is in the Public Domain; to the extent possible under law, I have waived all copyright and related or neighbouring rights to this work. Obviously inclusion of works of previous authors is not included in the above.
Sent from: http://forum.openscad.org/
Excellent! You've narrowed the problem down quite well.
First of all, let me clarify this matter about the assertion failures. You
can make one invalid polyhedron and this doesn't cause the message. But it
doesn't mean your model is good. If you add a second object to the model,
you'll then get the message. So if you replace the second object with a
cube, you still get the error.
A second point: there is a function called path_cut() that you could use to
resample your profiles so that they have uniformly spaced samples. It seems
like what is really desired is sampling that is proportional to the local
curvature. But I'm not sure how that could be done robustly on an arbitrary
path. It could in principle be done on beziers, since we can evaluate
curvature on those. Note that all simplify_path() does is discard duplicate
points.
Now, on to the main point. In your example, you construct a shape which is
a sort of C shape and then you run rounded_sweep() on it. The profile you
give to rounded sweep expands your input shape enough that the two ends of
the shape intersect. This is not allowed! No self intersection! I'm
going to try to include an image showing what happens.
Instead of looking at the 3d shape I'm plotting the sequence of offsets that
will give rise to the shape. When the curve contacts the other arm of the
curve, crazy stuff happens in offset(). But even if it didn't, you'd still
get an invalid polyhedron. Is your goal to have everything blend together
into a top layer with random holes in it in places? It seems sort of odd.
But if you want a top like that you're going to have to add it separately.
You might, for example, take the convex hull of your 2d profile for your
entire cutter, expand it a bit with offset(), extrude it to the desired
thickness and union that onto your cutter.
In the picture I'm going to try to attach, I've shown your base profile in
yellow, then the subsequent profiles in red, green and purple. I omitted
the last profile because things have already failed at profile #3. For this
example I turned check_valid off because the result is comprehensible. With
check valid on, you get wild and crazy results that it's hard to make sense
of. The function version of offset() that I wrote is not smart enough to do
something intelligent with this kind of situation (which would require
returning multiple separate paths for various internal holes that arise).
Also the polyhedron faceting code wouldn't know what to do with multiple
separate paths. It's your responsibility to avoid these self-intersection
situations.
http://forum.openscad.org/file/t2477/outlines.png
gasstationwithoutpumps wrote
I have created a test case that causes the assertion failure with none of
the
problems of close-together points in the definition. The preview works
fine, but the rendering gets an assertion failure.
--
Sent from: http://forum.openscad.org/