FEATURE REQUEST: MatchSrf

I wish the MultipleMatch option on the MatchSrf command would permit selecting for the continuity for each edge rather than forcing the same for all edges.

5 Likes

that would be awesome

1 Like

Thanks for the suggestion, do you have an example file that shows the set up and what you’re after? NetworkSrf might be worth looking at too since it allows for this level of control but it doesn’t modify an existing surface.

you mean tangency on one edge and curvature on the other at the same time? … this seems very crucial in modeling it helps speed up the workflow. I also wish to have this options … they should add it in the rhino 7 beta version … if it won’t be too late! the subject has also been discussed several times by users on this forum

2 Likes

Yes, that is what I was thinking about.

Here is an example of where it might come in. I have an evil triangle here. I’ve tried cutting out part of the adjacent surface to to create a four-sided opening. For such an opening I’d need 3xtangent and 1xby position.

yes I see
I start by matching the first edge in (curvature).
then I go to the other edges to match them in tangency.
for the moment there is no quick solution, you have to match them one by one

Have you tried, Ctrl+Shift click and delete of that surface and then NetworkSrf using the adjacent surface edges as input? Upload the 3dm file or at least the relevant bits please if you want more help.

Personally, I’d create a four sided boundary here and NetworkSrf that…

1 Like

That would be useful to me as well.

A different way of looking at the request. The requested feature provides the same level of control as NetworkSrf but using an existing surface.

1 Like

This feature request is the result of trying to create a four-sided shape in that very place, just like you indicated. :slight_smile: I frequently chop part of a surface out like that to change a 3-sided opening to a 4-sided opening.

However, I have never been able to to create a curved blend to a corner (where a curve radius goes to zero)

using a four-sided shape in Rhino. In fact, in this example I have two other such blends to corners.

Even with a 3-sided shape, it takes a lot of coaxing to get the fill reasonably smooth.

Problem Corners 2.3dm (7.0 MB)

With the four-sided opening, one side does not quite come out as tangent.

It should not surprise me that the blue prints are nebulous here as well. The tangent circles at at the left are specified. The circular transition to the end is. But the rest is left up in the air.

If I try to fix that on its own I get this:

Which gave me the result for this feature request.

Another feature request might be a simple way to bring a radius to a zero.

Clearly these 3-sided shapes cause difficulties with Rhino. If I don’t join in the right order I get a bad surface, which can be anywhere in the polysurface.

I was playing around trying to replace the 3-sided opening with a 4-sided. I split the adjoining surface to create four sides, did a networksrf on the edges and I got this:

Rhino polysurface object is not valid.

brep.m_E[8] edge is not valid.
edge.m_vi[0]=edge.m_vi[1]=7 but edge.IsClosed() is false.
ON_Brep.m_E[8] is invalid.

See attached (try joining the two surfaces):
Problem Join.3dm (3.3 MB)

I can get around this by rebuilding the surface and doing matchsrf.

ok… you have about a jillion more isoparms than you need to make this surface.

There is a great modeling series by Sky Greenawaldt that may help you a lot.

There is a section on making 3 sided surfaces into 4 sided surfaces.

check it out.

I have watched those videos. The problem is they do address different types of problems. It is targeted towards free form modeling. Here, I am dealing with plans where the various parts have to fit together. Even though it’s it a large object, variations of 1/32" of an inch are noticeable. I have about 50 point data sets that have to fit together.

I am trying to figure out techniques for simplification within those parameters.

@Miano What form are the plans? If they are tradtional 2D drawings then there is no guarantee that all the details were worked out exactly. Typically working out the details of the ends of fillets and similar would be left to the person building the part or similar.

They are X/Y/Z Coordinates from tables. In the case of the shaft bossing, just forward of the triangular area, the curves are circles where the radius and center are specified.

I very strongly disagree… the principals are absolutely 100% applicable to this project. Your curves are way too complex and should be rebuilt and broken up into class A segments. As it sits your resulting surfaces are way way way way way too complex to even try and get decent continuity.

You need smoothly flowing surfaces, which means you need the absolute minimum amount of surface points so you can get good continuities. There is no reason you can’t hold shapes from your plans.

When you get this much complexity in your surfaces you are tying both your feet to both your hands and jumping in the pool. You may be able to swim… but it’s a looooot harder.

I’d encourage you to go back and watch the videos again…Sky shows how you can do this type of model at a very high quality, it all starts with building very high quality curves.

If this is something you run into often (I sure do) you should try XNurbs. You can set the edge continuity individually before creating the result. I use XNurbs a lot both for native Rhino modeling and especially for working on imported geometry. I work on quite a lot of stuff that is created in other CAD programs and XNurbs has really helped to speed up my workflow cleaning up/fixing imported geometry.

Here’s your posted file with the 4-sided srf created in XNurbs. The input geometry is far from ideal with a lot of control points and trimmed edges, but sometimes this is what you have to work with. Your patch is degree 3 with 22x79 control points, The XNurbs patch is degree 5 with 30x33 control points, but with more evenly distributed control points. Given the less than ideal input geometry I believe you will have a very hard time getting a perfect result, but the XNurbs surface is pretty good.

Problem Join_XNurbs.3dm (1.6 MB)

Let me present the question: how do you recommend approaching this particular problem?

Here is a point set of the simplest, non-trival case (there are places in this set that can be done with EDGESRF). They points define a molded hull shape. Except at the top and bottom, the points are rounded to the nearest 1/16" (that is, the measurements are +/- 1/32"). Occasionally I find points that are in error but overwhelmingly they are correct.

There are other components (e.g, decks, stringers, longitudinals, breasthooks, flats, bulkheads),that are also dictated by similar point sets that need to match up on the molded lines.

I need to create from these points a surface[s] that hits the points within 1/16" for the other elements to match up.

I have found that waterlines are more critical than frames in defining the shape. Apparently, the original designers saw the same because of the irregular positions of the waterlines. They appear to be at locations critical to defining the frame curves (and there are supplemental data sets that fill in critical points where these are not sufficient) while the frames are at regular intervals. One can easily eliminate frames while eliminating waterlines can produce noticeable defects.

The upper left edge is a straight line. The upper hull cross sections aft are straight lines. Farther aft it transitions to multiple lines.

Problem Points.3dm (3.2 MB)

If I can see the points from both side of the surface, things seem to be close enough. If I cannot see both sides, either the point is off or the surface is too far off.

It appears that xNurbs is only available for the PeeCee.

meshpatch>quadremesh>tosubd>tonurbs

Problem Points_kfix.3dm (805.0 KB)

Thanks,
So I have to use V7 then.