Xmas Wish: Improve Patch

what are the chances of improving Patch? this is something which keeps popping up frequently, the wish is probably even older than the 10 year old tracker i found and seems to be anticipated also by McNeel employees RH-12267 @rajaa @chuck has there been any talks beyond that tracker?

you can take your time guys, if its ready for xmas 2023 i am still alive i hope, maybe for Rhino 8 even or anytime ever?

RH-12267 is on the ā€œFutureā€ list and not something that is being worked on for Rhino 8.
-wim

thanks wim. yes but what does future really mean? patch is a very important part of the nurbs paradigm and would solve a lot of barely manageable tasks. i mean there obviously is a reason for xnurbs to exist, just that there is nothing equivalent for mac and that a native tool would be more sustainable, you never know when such plugins are being bought and cease to exist for rhino, like tsplines has.

i would hope that somebody could take on that task at least eventually. not blaming anybody, but there is some reluctance to responding in that manner so i am wondering if it has any priority at all, future could also mean that it never happens, though the request happens frequently.

Iā€™m afraid that ā€œnot being worked on for Rhino 8ā€ is as clear an answer that youā€™ll be able to get. Other than, perhaps, Flair and Constraints, nobody has started thinking about the feature list for Rhino 9.

It has currently no priority at all, no. (Or, at least, it shouldnā€™t).

Thatā€™s correct.
-wim

i thought constraints is something coming to 8 already?

nevermind, but if patch would be taken on a v9 list i would be ok, just that it seems too important to be constantly flushed in my very humble opinion.

I guess itā€™s quite challenging to write a fitting algorithm stable enough to reach G2 to work universal enough. Iā€™m pretty sure you can improve the fitting, as ā€˜XNurbsā€™ and other CAD clearly shows.

But from my modelling experience, there is almost no chance of reaching a good-looking G2 patch if the surrounding surfaces donā€™t support it. Of course, you can reach a technical G2 if you move your points closer to the edge. But then you get no visual improvement over a G1, you rather get the opposite.

So you cannot provide an arbitrary boundary, expecting a perfect blend. On the other hand, if you care about clean modelling, creating proper blends with traditional tools is not super complicated.

Other than that, I think a general rework of the surfacing tools would be a nice thing to see. There is definitely room for improvement, both on an algorithmic and workflow-related level.

2 Likes

i would not expect patch to make people smarter.

it is for me and for the dozens of people coming here every day not being dumb or completely new to the task but still not able to succeed as often as they wished. i work with Rhino for a long time already, but i am thankfully not somebody who has to fiddle with surfaces on a critical level, shapes and forms have more a form finding function for me, the rest is scaled out of sight where nobody would ever notice it. but who does not like laminar flow like transitions.

Working for some years with ICEM Surf (which is a direct modeler), I found it ok to do corner blends manually. Of course, itā€™s not simple, because you need certain knowledge and practice. But itā€™s not rocket science if you have the right set of tools. And you can manually build corner-blends quite fast. The problem is rather that in Rhino you need to do a lot more (not obvious) steps to get a similar output. I see the demand for one-click solutions, but I believe if all surface tools get improved, you get something much more useful. There are standard types of corner blends. I believe if you automate the creation of those it would be better, as having a generic patch command with uncertain results. Because the overall flow of curvature is what matters, not how high the continuity is at the edges.

No, but if something is going to work or not is not always obvious. If you build corner-blends manually, you can quickly see the problems of the surrounding surfaces, allowing you to modify or clean the surroundings based on what you need. E.g. Sometimes you want smoother transitions, so you might give your surrounding surfaces more acceleration. Building a corner-blend is also a process of trial & error. Sometime going a step back. Applying a patch is just a one-directional process.

2 Likes

I second this. XNurbs can make quite good patches IF the surrounding surfaces support it. So I sometimes use XNurbs as a diagnostic tool, it helps to see the ā€˜forcesā€™ that are into play and adjust interactively.
So in that sense,

It could :slight_smile:

1 Like

exactly. that certain knowledge is also not easily if at all reverse engineerable, not everybody has a good tutor or a gault millau filleting chef jesus christ super star at hand to guide one through. pingponging not only your time but a good amount of your nerves without experiencing any significant achievement can be devastatingly unforgiving for ones future modeling mojo.

also patch has so many underrated user cases, which i love to meddle around with, that i even try to avoid subd as much as i can. it is a multitalent of great significance, just lacking in more quality. i unfortunately am not blessed with a computer running windows i would love to abuse xnurbs for some testing. till then i hope some sunny day McNeel will get their head out of the soil and give Rhino the Patch it deserves.

ahaā€¦ so you are cheating. well ok cheating makes a bit smarter toā€¦ :face_with_hand_over_mouth:

As I said, it is not easy but not hard either, if you have the right set of tools. Corner blending in Rhino is harder than it has to be, because many useful tools either donā€™t exist, or are over-complicated designed for this sort of problem. And true, there is also a lack of official and unofficial tutorials about this topic.

But this doesnā€™t change that there are no simple solutions for these advanced modelling problems. Many solutions like ā€˜XNurbsā€™ or ā€˜Sub-Dā€™ are significant trade-offs. They give you alternative approaches, but they are not really solving the issue as expected. Either, they forcefully fit an arbitrary surface into a hole. Or they strongly limit how you can model a shape. But none of these tools yield a proper blending for a very specific shape.

I also like to point out, that Iā€™m not trying to prove to you that itā€™s a bad idea to improve patching. I just want to lower your expectation about whatā€™s possible or not. And that I believe that with improvements in other commands (especially in surface-matching) many use-cases of ā€œpatchā€ would become redundant.

2 Likes

@TomTom improving patch is about improving patch only and not about how it can be misunderstood, which is not the point at all, i mean really, not at all. besides that the user case for patch has two distinct directions if i may say so. and only talking about blends etc is at least for me personally not so interesting.

if you wan to talk about the corner blending facility a better patch may deliver, i would start with something like for instance blend surface which has some amazing quality, if patch could have some of that magic that would make sense. also in this regards Xnurbs does obviously not cut it either which is built on a complete different idea. i mean minimising energy sounds to me like creating minimal surfaces, with some constraints that may lead to some fast and interesting examples but will never be a properly usable blend as many have pointed out already, making a tool like xnurbs targeting in my opinion a complete different user case while the current use of it makes almost no sense at all.

before one even would attempt trying to improve patch one would have decide in which way it actually should improve. i would need something like xnurbs and would say that what you actually want and may need is more like a multiblendā€¦ complete different user case and should maybe also be a complete different command.

Have you tried XNurbs? I have it and love it, but I donā€™t use it as an alternative to Rhino Patch to fill n-sides holes. It actually does quite a good job creating 4-sided surfaces where you can set continuity per edge and you can also set the G0 tolerance.

If the input geometry isnā€™t great, it will create pretty dense surfaces but usually of quite good quality. I work on a lot of imported geometry that has broken/incomplete fillets and blends and I love having it as part of my toolbox.

If you havenā€™t tried it, I would encourage to get a trial and play around with it, you may be surprised how good and quick the result is in many cases.

Could be, but in my experience any occurrence of ā€œvariationalā€ or ā€œfit-inā€ surfaces within a model is usually a strong sign that the person modelling it, was either too lazy, inexperienced or had a very tight deadline to make a proper corner-blend instead. (With some case-by-case exceptionsā€¦)
Note: A ā€œcornerā€ is meant as a location where 3 or more surfaces meet, not necessary a true corner shape.
For me, a patch is rather a plaster/band-aid for closing something open. Great for making a model water-tight on a place where the visual quality is of low relevance. Itā€™s a trade-off.

Btw, minimizing energy for smoothing purpose is one integral part of any fitting algorithm. Also the native patch command does that.

unfortunately not, i would really love to try it but i have not found time and resources to install windows on any of my very old computers and using windows on any newer apple computer will most likely also not happen due to Apples non Windows native SOC. @xnurbs is unfortunately very reluctant if not completely against making a platform independent release so i am not seeing that coming at any point soon.

using patch for these instances is almost a complete waste in my opinion, maybe good to get a bit of an understanding how something could look like, somehow like @Gijs is abusing xnurbs. with some knowledge effort maybe just usable if on a short note as you pointed out.

and that is exactly why i believe that patch is completely underrated, it is mostly used what it obviously was made for, but i am not even sure at this point what it was made for at all to be honest, but i am sure that its properties can be used to create fast and interesting shapes as a formfinding tool as for instance below. maybe not the best example but it exhibits some idea on how patch can be used. this model was basically created entirely with patch.

As for the image you posted, I would say thatā€™s a perfect target for a simple Extrude>QuadRemesh(SubD) workflow:

well yes and noā€¦ i have experimented like that, it is fun and usable in many instances, but your perfect example is in my opinion only then perfect if you take it as a starting point to proceed modelling further in SubD, for whatever purpose needed of course, but not the best method for my ginger bread example in my last post (which still is not a good example).

Patch has a certain peculiarity which helps form more organic structures. when you look at the stomach of my ginger bread boys for instance you notice that it is protruding slightly outwards, generally the entire shape has a more natural width depth relation. with subd you have to manually elevate certain parts which make it look rather sterile right out of the box and even if manually ping ponging the geometry it still might look sterile. again it all depends what you need it for and maybe i am abusing patch in these regards also a bit.

also patch allows you insert points and curves to define parts of the geometry etc. it is a little limited in how far and filigree one can define it unfortunately due to lack of quality but never the less very helpful. last but definitely not least patch also allows you to set tangency with adjacent surfaces, like blends work which is a perfect starting point for some shapes.

I want to join in wishing for more power in Patch. I could see the following dialog:

(1) Choose points and curves to be fitted by location.
(2) Choose edges to be fitted by location and tangent.
(3) Choose edges to be fitted by location, tangent, and curvature.

Then you get the display which allows you to choose UV divisions, stiffness etc.

i think the main issue is that nobody from the staff available has a good idea how to improve the current tool so that it meets the expectations in a qualified manner, so i am assuming that it might require a complete rewrite instead.