Hello Everyone. I have some questions about surface continuity. I made a little video.
I can’t quite wrap my head around how my surfaces lose some of their continuity. And what do some of the numbers mean in the analyzing tools.
Thanks!!!
Hello Everyone. I have some questions about surface continuity. I made a little video.
I can’t quite wrap my head around how my surfaces lose some of their continuity. And what do some of the numbers mean in the analyzing tools.
Thanks!!!
second part of the video:
the angles are between the normals.
_line normal (twice at the same point for both surfaces)
_angel (two objects)
… should give those same values
first part
trying to build a simple case that shows the same issue:
There is torsion at the edge - and this torsion is not distributed in the same “speed”. (not sure what the correct term is to be used here).
in the front the is nearly the same issue that you show in the video.
the middle setup shows the green and blue quads from the controlpolygon.
hopefully this shows the issue:
even if the overall quad (green and blue) have straight edges - it s not said that the torsion is distributed in the same way.
In revers (at the back)
if you draw this overall quad as a single surface - all Isocurves are straight lines, - for example the green line - but the original edge (red line) is behind the surface
edgecontinuety_torsion.3dm (3.2 MB)
maybe one more sample / image to show what i mean by unequal distributed torsion:
the grey surface is a simple 4pt-Surface with the left edge along the z-axis.
the blue surface is a fin surface, that is perpendicular to the initial surface.
the green curve is a helix - which has “constant torsion”.
… the outer edge of the blue surface shows, that we do not have the same amount of torsion along the edge of the initial surface…
hope this helps / explains it - kind regards - tom
They don’t lose continuity. They are made to be not tangent.
For two surfaces like that made with straight loft where the control points are not in the same plane the first and second cv of the curves
needs to be the same length.
The enclosed file shows what I mean
CV_alignment.3dm (129.1 KB)
The reason MatchSrf did not improve the match is the lack of a sufficient number of control points to adjust. In the example in the video there are only two contol points which can be adjusted for tangency along the edge. Moving those to improve the match at one location will cause it to change and possibly become worse at other locations.
Use the “Refine match” option in MatchSrf to improve the match. MatchSrf with that option will add sufficient control points so that the surfaces can be match within the specificied tolerance. Note that MatchSrf does not change the degree when refining the match so the number of spans will increase due to the increased number of control points and knots.
Thanks Tom
This makes sense.
I have another question though. About how does Global Tolerance list it’s tolerances as G1 and G2… Not sure if you or anyone else here is familiar with this tool but I’ve been trying to wrap my brain around it and it’s started me down this rabbit hole of understanding surfaces better.
Sure, if you move the points randomly then it will be unlikely to improve. But you can make the two surfaces precisely tangent if you move the cvs as I suggested in my post above.
The OP did not post his geometry, but using the example that Tom posted the enclosed file shows how it can be matched. If you first change the degree of the surface to 5 it can be done with very little change to the shape of the surface.
cv_spacing.3dm (764.1 KB)
Only if changing the shape of the surface(s) at the top and bottom edges, which are already exactly tangent, is acceptable. If those edges need to be preserved then the only way to improve the match is to add control points along the edge to be matched. Of couse there are special cases such as the top and bottom edges being straight.
In your video you say a surface is a “G1 surface” but not a “G2 surface”.
In the EdgeContinuity and GlobalEdgeContinuity tools G0, G1, G2, etc are different types of continuity between two adjacent surfaces, not descriptions of the type of surface.
G0 by itself means there is position match.
G1 by itself means there is tangency (normal direction) match.
G2 by itself means there is cuvature match.
The EdgeContinuity tool displays the deviation from the selected (in the tool options) level of continuity between two surfaces. Change the selection and the deviation from a different level of continuity is displayed.
The GlobalEdgeContinuity tool has a more complicated display. Similar to the EdgeContinuity tool it displays along the edge the deviation from a selected level of continuity. In the tool panel it also shows the maximum deviation from G0, G1 and G2 levels of continuity for the edges.
Perhaps you are thinking of continuity within multispan surfaces which depends on the “degrees” of the surface. That is a related but separate topic. The continuity between surfaces can be evaluated independent of the degrees of the surfaces.
dear @Drew_Weininger
the fillet issue of the other topic (link below) is related to the missing surface continuity. as jim as pointed out:
i would recommend to completely eliminate any torsion at the connection between 2 surfaces - that would mean that the 8 Cv’s (yellow, selected) of the connected curves (or later surfaces) lay on a plane (green)
Whenever one modifies a surface to make it tangent to a neighboring surface it will be changing the shape of the surface. Changing the shape of the edges should not matter since the edges will be gone after fillets are added.
A better solution is to avoid making the connection twisted as Tom suggests below. Without the twist that can be easily made G1 with much simpler surfaces. Avoiding surfaces with multiknots will also improve the quality of the surfaces.
Thanks Everyone.
All the advice is making sense. Here is my workflow, a question or two and my solve. Would love to know your thoughts on my solve and if you guys have a better method, mine seems like a bit of hack!
Rhino File Included. Video linked below.
Thanks again.
Test.3dm (1.4 MB)
…torsion because of twist, not tension because of pulling.
if you want a pure geometrical approach see my post above:
the data is for milling wood ?
anyhow you will have some grinding / sandpaper work …
if you need a fast workflow with enough precision, don’t want to apply for a class-A surface modeller for the car industry, and also want to have maximum control of the shape - without digging in to deep:
hope this helps - kind regards, tom
In such cases, or if low-quality 3D printing is involved, I always tell people to not bother with perfect G1, let alone G2 continuity, or Class-A approaches - there will be so much manual post-processing involved that an “ok-ish” 3D surface model will do. This way, you also ensure you can be at the pub at 5pm sharp!
Using Sweep2 with multiple cross sections / shapes will generally result in a surface with multiknots. RemoveMultiKnot can be used to remove the multiknots but the shape of edge of the surfaces will change slightly. Usually the change will be small but may be large enough to affect continuity with adjacent surfaces if the edges of adjacent surfaces were used as rails.
Also if Sweep2 is used then only one straight cross section shape at the the beginning or end of the curve pair is needed. The Slash option in Sweep2 can be used to control the the angles of the isocurves between the curves. This will also generally result in a surface with multiknots.
Added: Loft between two degree 5 curves will result in a surface with degree 5 in the direction of the curves. Sweep2 using degree 5 rails will results in a surfaces with degree 3 in the direction of the rails.
I’m going to need a beer at a pub after all of this! If I knew you all- I would take you out for a round or five.
These files are for CNC machining. I create a model in Rhino and then I use RHINO CAM to create the GCode for my CNC machine. I can hack my way through the 3D modeling process but sometimes the surfaces I create have issues/failures and it makes it difficult for the CAM to properly carve the surfaces. I like trying to create proper surfaces as I think better to understand the software- instead of hack my way through. This endeavor on this thread has been to work at some foundational issues I’m trying to fix to have an easier time later in the pipeline. I use to do this process by hand/power tools but bought a CNC machine about a year ago and stumbling my way through learning Rhino/Rhino CAM. I have some background with MAYA/Adobe and visual effects so somethings in the softwares translates, others not so much.
Mainly I’m trying to wrap my brain around why and how some shapes I can create easily while other times I get failures. It’s a lack of my understanding of software and NURBS theory. So I’m playing a bit of catch up. Also I want to be able to 3D model fairly quickly and with few steps/revisions/hurdles.
Thanks All!