Feature #2526 - seams on round objects

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help

Also, be nice to others! Read the FreeCAD code of conduct!
jmaustpc
Veteran
Posts: 11207
Joined: Tue Jul 26, 2011 6:28 am
Location: Australia

Re: seams on round objects

Post by jmaustpc »

piffpoof wrote:
greyltc wrote:That's a nice feature! Don't you think the seam should be absent when the shape is closed though?
Or more precisely, shouldn't there be a option in the GUI to hide the seam - when desired. In certain circumstances the seam is invaluable for providing depth of field and orientation when rotating in 3-space.

But when finished the modeling it would be nice to be able to hide the seam if desired
Hiding it would be missing the point in most cases, and potentially cause other issues like trying to get a fillet to work, if you create a mesh from the solid you still get that line even if it is hidden so it would still cause issues in 3d printing but you actually can hide it its just that you have to hide all edges on a specific solid (this is done by default in the Mesh WB), you can't just hide one. Just change from "flat lines" to "shaded".
greyltc wrote:Here's a picture of a sphere's seam after it has propagated into a cube by running a cut operation between the two solids. This can't be cleaned up by running Refine Part ( aka removeSplitter() ):

Refine only works on planar faces. Your example is a perfect example of where the simple solution is to rotate the "tool" sphere such that the seam does not intersect the other solid when you apply the cut.

It is also a perfect example of where you could have mapped a sketch to that face and performed a "PartDesign Groove", which also gives to a spherical cut out with no extra edge.
greyltc
Posts: 24
Joined: Thu Jan 14, 2016 2:24 pm
Location: England

Re: seams on round objects

Post by greyltc »

bejant wrote:If the seam appears when the model is 3D printed, or machined (Path/CAM WB), then yes. I'd guess that no seam when Angle = 360 degrees would probably be an issue for the OCC people.
Yeah that's the major concern I have here: that the seam impacts manufacturing of my parts. My other concern is that I'm anal and I'd rather not look at edges/faces on my parts that I didn't explicitly design in.

As for the manufacturing impact: I have experienced first hand that the seams show up in dxf exports of cross sections I make of my parts and my cutting tool's software interprets arcs that should be continuous as two separate ones which causes a few issues.
greyltc
Posts: 24
Joined: Thu Jan 14, 2016 2:24 pm
Location: England

Re: seams on round objects

Post by greyltc »

jmaustpc wrote:Your example is a perfect example of where the simple solution is to rotate the "tool" sphere such that the seam does not intersect the other solid when you apply the cut.
That's a workaround that doesn't apply in all cases though right? Drill a hole in a block by subtracting a cylinder and the artifact can't be avoided by rotation.
jmaustpc wrote:It is also a perfect example of where you could have mapped a sketch to that face and performed a "PartDesign Groove", which also gives to a spherical cut out with no extra edge.
Cool, thanks for the tip, I'll check it out. Being new to FreeCAD, I haven't done much outside of the Part interface.

I guess there are probably various workarounds to solve the issues that seams create in most cases.
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: seams on round objects

Post by DeepSOIC »

I'm afraid there is not much that can be done from FreeCAD side of things.

You may be successful at refining the actual profiles (but as far as I remember, refinement only starts to work given a shell, so you may need to trick FreeCAD into refining the profiles).

I'm not happy with what I'm saying, but consider other tools. I just loaded OnShape to see if there are seems to, and it looks like there are no seams there. (BTW, they announced they will open an API soon! OnShape is becoming a killer CAD surprisingly quickly!)
jmaustpc
Veteran
Posts: 11207
Joined: Tue Jul 26, 2011 6:28 am
Location: Australia

Re: seams on round objects

Post by jmaustpc »

greyltc wrote: jmaustpc wrote:
Your example is a perfect example of where the simple solution is to rotate the "tool" sphere such that the seam does not intersect the other solid when you apply the cut.



That's a workaround that doesn't apply in all cases though right? Drill a hole in a block by subtracting a cylinder and the artifact can't be avoided by rotation.
Yes, only works in some situations.
DeepSOIC wrote:I'm afraid there is not much that can be done from FreeCAD side of things.
As deepsoic said, these extra edges are created by OpenCasecade, so it would be best to as about this on either OCE or OCC forums.
greyltc
Posts: 24
Joined: Thu Jan 14, 2016 2:24 pm
Location: England

Re: seams on round objects

Post by greyltc »

jmaustpc wrote:As deepsoic said, these extra edges are created by OpenCasecade, so it would be best to as about this on either OCE or OCC forums.
Yep. I'm having a look at this avenue now. My hope is that there could be some minor change to how FreeCAD calls the OCC functions to generate some of these primitives so that the shapes would be generated without seams.
User avatar
wandererfan
Veteran
Posts: 6324
Joined: Tue Nov 06, 2012 5:42 pm
Contact:

Re: seams on round objects

Post by wandererfan »

greyltc wrote:Yep. I'm having a look at this avenue now. My hope is that there could be some minor change to how FreeCAD calls the OCC functions to generate some of these primitives so that the shapes would be generated without seams.
In OCC, a Sphere is:
- a half circle curve -> an Edge
- a revolution of the Edge by 360* -> a Shell
- a "fill" of the Shell -> a Solid (the Sphere)

Your seam is the original Edge and is fundamental to the definition of the end result. It is not an "extra".

Seam removal would need to happen when the 3D model is exported to the manufacturing format (dxf,stl, etc) or rendered for display.

wf
greyltc
Posts: 24
Joined: Thu Jan 14, 2016 2:24 pm
Location: England

Re: seams on round objects

Post by greyltc »

wandererfan wrote: In OCC, a Sphere is:
- a half circle curve -> an Edge
- a revolution of the Edge by 360* -> a Shell
- a "fill" of the Shell -> a Solid (the Sphere)
Yeah, that's exactly what I figured was going on; the edge is a leftover from the creation of the sphere.
Why does the call to OCC's sphere creation function return the solid *plus* the edge that it used internally to create the object?
Wouldn't it be easy to strip the edge from what gets returned so that we get back a nice, clean sphere/cylinder/cone? I'm sure these all are generated the same way, by revolutions.
ickby
Veteran
Posts: 3116
Joined: Wed Oct 05, 2011 7:36 am

Re: seams on round objects

Post by ickby »

It is not the creation that needs the seam but the definition of a face topology. A face is defined by a surface, which is defined in a uv space, and pcurves in this uv space restricting the used uv area in all four directions. These pcurves are than shown as edges. In occ it is Mandatory that the uv space is restricted fully by pcurves, in all directions. It must be a fully enclosed area. For a Sphere and cylinder this only Works With degnerated edges in the Vertices and the seam edge. No Way around. I dont know how other Systems, which omit the seam edge, Handel the topology Definition
ickby
Veteran
Posts: 3116
Joined: Wed Oct 05, 2011 7:36 am

Re: seams on round objects

Post by ickby »

The whole closed wire on surface uv space and the resulting seam edge is better explained here: http://opencascade.blogspot.de/2009/02/continued.html

Roman also states that the "closed wire" restriction is special to occ and for example not present in unigraphix, which allows them to omit seam edges.
Post Reply