MatchSrf really needs CP blending

It is very time consuming to blend CPs behind row 1 (G1) or row 2 (G2) manually, and non-direct UVN-manipulation with the woodpecker tool is even more tiring :confused:

3 Likes

the smooth feature of moveuvn is helpful for this type of work, but I agree, matchsrf needs a LOT of love from the dev team.

1 Like

Smoothing does not help here, because the U/V hull curve flow is spot on throughout, it’s the N, the normal, that is off, so each CP must be carefully woodpeckered along the surface normal. MatchSrf and MoveUVN really need an update after, like, forever.

Six years ago Match "smooth" blending? :sob:

1 Like

smooth u and smooth v work here for me for this type of stuff.

it should only smooth along the u or v direction based on the averages of the control cage for the cv’s you select..

are you seeing something different?

setting up a “between” snap can help lessen the pain for this too..

simply snap a cv to point between two other cv’s , which by default is a blend between the two.

hope any of that helps while we wait for matchsrf to join the 20th century.

1 Like

21st ?

:wink:

I did not misstype…

3 Likes

I tried smooting, and fail to see how it would help here, with moving CPs normal to the surface, as the U/V hull curve flow is just like it should be. I found out that with DragMode set to the UVN option, and using DragStrength, at least no woodpeckering with the prehistoric MoveUVN tool is necessary. Still, blending or fall-off in a surface matching tool is essential.


A Sweep 2 rails alternative by nature has the “wave” transition, but too many spans and too many CPs to make detailed adjustments.

Rebuilding the Sweep 2 rails surface is no option, as the shape changes a lot; see the cross-section inflections, and the isovcurves no longer matching up, like the Surface from four edges provides out of the box.

1 Like

can you share the file ?

it s a really pity, that _matchSrf does not have a copy option, nor can be “chained” in history.
applying _matchSrf to a copy will delete history of the object.

the powerful workflow that is not possible - but should be:
setup

  • “simple sweep”, (first surface) or edge surface or other clean surface
  • matchSrf G2 some edges
  • matchSrf G1 all edges
  • matchSrf G0 with refine

now i would love to be able to change the input curves. :- :grimacing:

ok - but post the file and i ll give it a try.

Sure, thanks, here’s the Rhino 7 file (oddly, a whopping 4.1 MB). Curves and surface continuity are just like they should be. I have not yet moved the CVs normal to the surface.
Test.3dm (4.1 MB)

Until a better “Match surface” tool is introduced with new Rhino update, you can play with some alternative tools to try to minimize the work needed to fix the surface:


  1. ! _RebuildUV will modify either U or V, while preserving the opposite direction. Most of the time I prefer this tool over the regular “Rebuild”.
    Rebuild | Rhino 3-D modeling

  1. ! _RemoveMultiKnot may help to get rid of the unnecessary control points in case that the surface has an excessive amount of these.
    InsertControlPoint | Rhino 3-D modeling

  1. Custom macros to change the “Drag strength” of Gumball:

Drag strength 100% (also resets the Gumball if it was modified prior that):
!_SetRedrawOff '~_Dragmode _CPlane '_Gumball _On '~_-DragStrength _ShowDialog=No _DragStrength=100 _Enter '~_GumballAlignment _CPlane '_EnterEnd _SetRedrawOn

Drag strength 10% (you can change the “DragStrength” value to any percentage that suits your needs):
!_SetRedrawOff '~_Dragmode _CPlane '_Gumball _On '~_-DragStrength _ShowDialog=Yes _DragStrength=10 _Enter '~_GumballAlignment _CPlane '_EnterEnd _SetRedrawOn


  1. Macros to align Gumball:

Align Gumball to Cplane:
! _GumballAlignment _CPlane

Align Gumball to Object (handy to move control points along the normal direction):
! _GumballAlignment _Object


  1. Custom macros for self-aligned Gumball with MoveUVN directions:

Move UVN 100%:
!_SetRedrawOff '~_Dragmode _UVN '_Gumball _On '~_-DragStrength _ShowDialog=No _DragStrength=100 _Enter '~_GumballAlignment Object '_EnterEnd _SetRedrawOn

Move UVN 2%:
!_SetRedrawOff '~_Dragmode _UVN '_Gumball _On '~_-DragStrength _ShowDialog=Yes _DragStrength=2 _Enter '~_GumballAlignment Object '_EnterEnd _SetRedrawOn

Move UVN 5%:
!_SetRedrawOff '~_Dragmode _UVN '_Gumball _On '~_-DragStrength _ShowDialog=Yes _DragStrength=5 _Enter '~_GumballAlignment Object '_EnterEnd _SetRedrawOn

Move UVN 10%:
!_SetRedrawOff '~_Dragmode _UVN '_Gumball _On '~_-DragStrength _ShowDialog=Yes _DragStrength=10 _Enter '~_GumballAlignment Object '_EnterEnd _SetRedrawOn

Drag strength 100% (resets the Gumball after you use some of the above macros):
!_SetRedrawOff '~_Dragmode _CPlane '_Gumball _On '~_-DragStrength _ShowDialog=No _DragStrength=100 _Enter '~_GumballAlignment _CPlane '_EnterEnd _SetRedrawOn

1 Like

dear @Lagom

degree 7

your overall curve (green) has 8 CVs and Degree 7
if - at the end you re not building a single surface, but just using a section out of it - i do not see the need for Degree 7 - which adds unnecessary complexity.
rebuilding the this section by Degree 5 with 6 CVs does fit within 0.006 mm tolerance.
you might profit from building piecewise curves with lower degree.

swee2 - mac

i had many issues with sweep2 and Rhino7 / mac.
Especially it is very hard to get a “simple sweep” as it was called in older Versions.
I never understood why people / users did not push to have a simple sweep with error feedback … something like “simple sweep was not possible because shape/cross nr 3 does not meet …”

the problem was reported here and not sure if ever fixed RH-71505

in rhino mac v8 i get a simple sweep2 from your curves
the cv-distribution is nice

matchSrf G1 only

the boundary surfaces (extrusions) only tangent matchSrf will make sense.
after matching all 4 edges with G1 ill get this surface


File

rh8

Lagom_s_Test-2_02_tp.3dm (192.6 KB)

rh7

Lagom_s_Test-2_02_tpRH7.3dm (1.5 MB)

does this help ?
kind regards - tom

All right, tried both ways. Sweep 2 rails, which has the “wave”, is a degree 3 surface in the V direction, and cannot be instantly matched G1 on all four edges. With RemoveMultiKnot, however, G1 matching is almost within tolerance, see below. However, because of the accurate isocurve matching, I still contemplate sticking to Surface from four edges, however, because of instant G1 matching within tolerance all around, and accept having to move the CPs with DragMode and DragStrength, still better than the tedious and archaic MoveUVN woodpecker method.

Thanks for your input. I used a degree 7 curve as centre-section front to back, because I was under the impression Rhino can use partial curves (I come from other software). I must absolutely keep to the sections, so building between them along the long draft angle strips with a degree 5 snippet is probably more of the “Rhino way”.

Yeah, no “simple sweep” option in Rhino 7 macOS. Indeed the four extrusions are there to G1-enforce the correct draft angle on the long edges, and G1 enforce the right orientation at the sections. So, if as you say, the degree 5 snippet approach is the proper way in Rhino, I will use that.

I just tried your file and seems like using the simple option in “Sweep 2 rail” delivers G1 continuity and smooth transition across all control points. No need for any extra surface matching.

No such option in Rhino 7 macOS. My Sweep 2 rails (see above) looks much worse than yours, from the exact same curves/edges. See second image. Very odd.

Well, to be more precise, Rhino 7 does not have a “Simple” option anymore like the older Rhino iterations. I meant the very basic settings (turning off “Refit rails” is essential, because this is what makes the surface simple):

@Lagom
try after fully restart your mac (system) and the first thing you do is to run rhino and sweep2 your curves.
any better ?
this was discussed in above link i mentioned.

That’s what I did. But still, a substantial difference to your Sweep 2 rails surface. Maybe Rhino 7 macOS is a bit different under the hood, who knows?

In any case, I understand I have two alternatives now; either Surface from four edges plus N-movement of CPs, or Sweep 2 rails with degree 5 curves plus RemoveMultiKnot.

That’s really weird. Hopefully it will be fixed soon for the Mac version of Rhino 7. Did you follow the advice of @Tom_P above with restarting your Mac? Was that a fix for the issue with “Sweep 2 rails”?

no - not for rhino 7 mac
looks like it works in rh8.