This is rather odd. Why only these two and none else? Surface A is a simple degree three extrusion. The CP structure is not disturbed. All surfaces in contact with surface A always join. Any ideas what might be the reason for the G0 error?
Thanks @Tom_P the file units are mm and the absolute tolerance is set to 0,01 mm. I use V8 macOS but saved in V7 because I had the impression that quite a few are still using V7.
I didnât have success with the Match with On Surface option so far. In the manual, it says: âIn that case, the edge to be changed is pulled to the target surface and the pulled curve is used as the target.â - what does the latter part of that sentence mean, when the first part already seems to say what happens - the edge is pulled to the surface specified? I was under the impression this tool is very similar to Aliasâ Align Project, where one can select the a current view, a vector, or the surface normal to âglueâ a surface edge onto another surface. What does âpullâ mean here - current view, or surface normal?
Thanks @Gijs I rebuilt that area from scratch as simple as possible. Same problem. Then I used RebuildEdges on the extruded front surface, and no visible doubling of edges before joining (no need to join anyway). However, why exactly is RebuildEdges necessary for such simple trim edges? How did those two trim edges become âscrambledâ?
To expand on Tomâs reply, âpullâ and âprojectâ in Rhino have fundamentally different meanings.
When an curve is projected onto a surface every point on the curve is moved in the same direction until it either intercepts the target surface. or misses the target surface and is ignored. The projected curve is then the set of all the projected points. This is equivalent to extruding the
curve in the projection direction, and then intersecting the extrusion with the target surface.
Whan a curve is âpulledâ onto a surface for each point on the curve the closest point on the surface is found. If there is not a closest point on the surface then that point is ignored. The direction between each point on the surface and the corresponding point on the surface is usually different.
The Help for the OnSurface option of MatchSrf is a bit confusing. My recollection is the original idea for the OnSurface option of MatchSrf is âyou can select a curve that is on or near a surface as the target, and then a surface to match to at that curve.â Note that the user selects the target curve, and is it does not need to be associated with the first surface. The user then selects the target surface. To ensure that the selected curve is actually on the surface after the user selects the curve âthe curve is pulled to the surface.â After the curve is pulled to the surface the selected edge of the first surface is matched to curve as if it was the trimmed edge of the target surface.
Frequently the edge of the first surface is close to or on the target surface, and the user wants to use that edge as the curve. To do so the user can sub-opbject select that edge of the first surface as the target curve. To eliminate the need to sub-object select that edge of the first surface as the target curve the alternative was added that âYou can also press Enter to skip selecting a target curve and only select a target surface. In that case, the edge to be changed is pulled to the target surface and the pulled curve is used as the target.â
The Rhino equivalent of Aliasâ Align with Project option (based on the description in the Alias help link) is a two step process:
Project
Select the surface edge to be moved to the target surface.
Check the projection direction option and change if desired.
Enter to complete projecting the edge onto the target surface.
MatchSrf
Select the surface edge to be moved.
Select the projected curve.
Select the target surface.
Set the desired continuity, etc.
Complete the match.
The most common case in Alias/ICEM is to pull a surface edge onto a target surface to align it G2 which also produces the trim curve on the target surface, so pressing the Enter key replicates that behaviour. The difference in Rhino is that only the normal alignment direction (âpullâ) is available, and that one has to duplicate the aligned edge to then trim the target surface (so far I was not successful to use the aligned edge directly for trimming, which would reduce clicks).
@Lagom I still have no clue what you are doing differently. I cannot reproduce it on my end. When you are trimming the surface with the pipe and the line, whatâs the sequence of steps you are using? What is the radius of the pipe you used?
First trimmed with the pipe (0,3 mm radius). Then trimmed the trimmed surfaces further with the line.
When I set up this model, I sometimes joined and then unjoined surfaces, just to see where naked edges occur. Could it be that, for whatever reason, joining and unjoining does something to a trimmed surfaceâs edges?
Interesting. Then joining (âstitchingâ in Alias) is best used with a finished surface model, before meshing it for rendering or exporting it to Creo or Fusion. Or, to keep the originals strictly unaltered, âtest joiningâ to check for naked edges is best done with a copy of the surfaces in question.
thatâs the main reason why I started developing GlobalEdgeContinuity, which you can test out in the WIP (or a much rougher version on PackageManager in Rhino 7/8).
All right⌠that join has such undesirable side effects should be mentioned in the manual, including a hint for beginners about test-joining only with surface copies.