SolveSpace Logo SOLVESPACE -- parametric 2d/3d CAD
Examples
Tutorials
Features
Download
Reference
Technology
Library
Forum
Contact
USER FORUM

(you are viewing a thread; or go back to list of threads)

Is there a known bug re a difference extrusion using a profile containing a Bezier curve (by E A)
New user here.
I am posting the failed and successful attempt demonstrating what I am asking about.
I will upload the successful attempt in a second post. (I see no way to upload 2 files)

1. create an extrusion.
2. along the depth of the extrusion, create a shape at least one portion of which is a bezier spline. difference extrude that across the extrusion of step 1.
3. the resulting "profiled" extrusion shape remains and is visible. If you attempt to link the file, no shape appears, just construction artifacts.

What did work (and I know that I made two changes) was replaced the Bezier spline with a series of straight segments, using tangent arcs as needed. At the same time, I made the profiled extrusion first, then removed unwanted portions with a difference extrusion to get the desired triangular shape across the depth of the profiled extrusion.

There was one other change that may be the cause. In my 4 failed attempts, I tried copying the spline from another file and using advanced paste (translation) from another file. The translation is the only thing visible when link to the file. In the successful attempt, I actually plotted the points and recreated the curved line using straight segments and some tangent arcs. Therefore the cubic Bezier spline may not be at fault...it may be the translated curve that caused the failure.
Thu Jan 26 2023, 14:07:51, download attachment halfweight4.slvs
(no subject) (by E A)
Attached successful attempt.
Thu Jan 26 2023, 14:10:18, download attachment halfweight5.slvs
(no subject) (by Andrew)
With the original file as a linked group, it can be 'made visible' by using 'Force NURBS surface to triangle mesh' in the Import group. While not a fix for the issue, it is a useful work around, and works for many issues in Solvespace.
Thu Jan 26 2023, 14:25:26
(no subject) (by E A)
Thanks. Actually, in 2 of my failed attempts, when creating the 2nd curved extrusion, I had to do that anyway to remove an error condition. But the more I think about it, I have a feeling it had to do with the copy from one file and paste translated into my file that caused the issue. I have not completely investigated to define the exact cause. I do know that even if I clear "Show entities from this group from all but the last group, when I link the file into another file, the only thing that appears is the 2D pasted translation. It seems like I remember reading that you could link any file into any other file, but I am new to SS, and old as well, so all I really know is that it was NOT working!
Thu Jan 26 2023, 14:51:09
(no subject) (by Paul)
In your halfweight4 sketch the last group has "force NURBS surfaces to triangle mesh" checked because of a NURBS boolean error (which looks like it might be a coincident edges error - a common problem). By changing g006=sketch-in-plane to enclose the area to keep instead of remove, and using "intersection" in g007 I got it to work properly without forcing to triangle mesh. See the attachment and compare.

If I recall, there may be a bug when the last group of a linked sketch has not NURBS shell but does have a triangle mesh. SS may not notice that and is trying to use the non-existent NURBS version from the linked file. As Andrew said, forcing to triangle mesh in the linked group may be a work around. But getting the geometry to work as NURBS is always preferable ;-)

See attached
Fri Jan 27 2023, 08:18:34, download attachment halfweight_fix.slvs
(no subject) (by Paul)
As for linking a sketch that has been forced to triangle mesh. There was/is an open issue on github for that here:

https://github.com/solvespace/solvespace/issues/1269

There is a fix pending for it, so this should be addressed in version 3.2 (hopefully later this year). Then you won't have to "force to mesh" in the new file, it will happen automatically when you link a file that is mesh only.

BTW I would not have gone after this bug today if not for this post on the forum bringing it up again. ;-)
Sat Jan 28 2023, 19:14:14
@paul (by E A)
Paul, I have a feeling you have identified the problem I am having. Many thanks!

I am so new at 3d in general and SS in particular, I would likely not have stumbled on to the correct path for a LONG time. From the tutorials, I learned about "difference" extrusions, but I had not been able to wrap my head around the "intersection" option for extrusions until you mentioned them.

Yes, all 8 times I reached this point in my various attempts, I would get an error with the difference extrusion, and SS would suggest I force nurbs to mesh as a probable solution, so I would. This cascades to another issue for me. When I try to export STL the finished model, it fails with a message like "Export failed--<several thousand> triangles, 0 surfaces". Also, the export routine begins by saying something like "Exporting, model already converted to triangle mesh". This appears to be a known issue with the export stl function.

On that note, any suggestions on how to emboss the "2" on the top without using a difference extrusion, as that also causes an error requiring "force nurbs to triangle mesh" to rectify.

thank you so much for your assistance.
Sun Jan 29 2023, 12:46:43
@paul (by E A)
I implemented your suggestion of using intersecting extrusions. Seemingly perfect. In fact I could export a stl file. When I linked that file to another file to rotate the solid, the import was fine, and the rotation was fine (although, for the life of me I can't find the last remaining degree of freedom in the import).

However, I was not out of the woods. After linking and rotating the wedge of the weight to form a true half-profile (in my feeble mind, the only way to create a casting mold model--of course I will still have to use a difference extrusion to create the mold cavity), I revolved a profile to create half of the line hole. and attached it via a union of the overlapping portions of the parts. In my final file, it was fine when I opened it, but about 30 seconds later, I got an error that would require forcing nurbs to mesh to resolve. thanks to your input, I was able to remove this error also by changing from a union to an assembly. I am not sure what the difference is between a union and assembly for a lathed extrusion since there is no "back" wall to the extrusion, but it resolved the issue and I was feeling PROUD!

I should not have been grinning. The export stl process failed yet again. It was not as total a failure as with the nurbs to mesh issue, but still a failure.

The error message reads:
Error -- SolveSpace
The mesh is self-intersecting (NOT okay, invalid).
The mesh is watertight (okay, valid).
125 problematic edges, bad.
the model contains 712 Triangles, from 79 surfaces.

My ego is duly deflated. Insights appreciated. I have an idea to attach the ring with no intersection--a true assembly, but the error areas displayed for the STL test extend into the wedge shaped area and I keep wondering about that pesky 1 dof from the wedge file.
Sun Jan 29 2023, 19:42:37
(no subject) (by Paul)
Don't use the assembly option to connect solids that should form a single part. That option is literally for making assemblies from more than one part to check for fit and ensure no interference. It seems to work for some, but I don't think it's a good idea. You said the parts were overlapping, so that's bad in an assembly. Make it a union. If it doesn't work, force the union group to triangle mesh. Hopefully that works.
Mon Jan 30 2023, 08:18:25
(no subject) (by E A)
@ Paul

You are a Godsend to newbies like me, and I know you must be slammed by requests for your time and attention. I know my problems are due to lack of understanding the parameters relied on by the programmers. My initial preference was to use the union option assuming it should lock in the geometry of the model better--meaning that I have only a linguistic idea of the difference between assembly and union.

Also, in the construction of my model, I draw one wedge of my model. Then I rotate that wedge (2 sided, 3 total pieces) and constrain them to form a new solid. Unfortunately, the program does not give me the option to define that translation in any way (i.e. difference/union/assemble/intersection). Since my constraints are to use two endpoints of the axis of rotation, and 1 pair of outer shell points coincident, I get the result I want, but no option to turn it into a solid singular object (in my case, one half of a hexagonal object).

All that being said, if I want to "assemble" two parts, and create a UNION, apparently, I need "clearance tolerances" if I connect them "vertically" through coincident endpoints. I have tried tolerances of up to .003 mm but always end up with at least one face being a problem (determined by changing the combination type to intersection).

I KNOW it is my lack of understanding the engine, but I am lost. It is not a total failure in that I can place the two parts in the same file and potentially print them and physically combine the printed objects to make the final object, but is not that what software is for?

Once again, thanks for your time and patience.
Fri Feb 3 2023, 18:48:46
Post a reply to this comment:
Your Name:
Your Email:
Subject:
(no HTML tags; use plain text, and hit Enter for a line break)
Attached file (if you want, 5 MB max):
© 2008-2022 SolveSpace contributors. Most recent update June 2 2022.