Goliath20 Posted November 11, 2017 Share Posted November 11, 2017 (edited) Can anyone figure out why I can't polyfill these corner holes? The points are fused but double clicking one outer edge of the oval results in the entire outer edge of the oval being selected even though it SHOULD stop at 1 of the 4 fused points where the oval meets the rectangle. Can anyone explain to me what's causing the degenerate geo? Thanks manifold_geo.hip Edited November 11, 2017 by Goliath20 Quote Link to comment Share on other sites More sharing options...
old school Posted November 13, 2017 Share Posted November 13, 2017 A real tough condition for procedural tools to fill those holes. I used a curve SOP then mirrored a couple times to fill in the holes. And those four holes will create a polygon that is concave. Not a very good primitive to render with many engines, or to pass on to a game engine as triangulating that face may cause overlaps. Polyfill sees the input as degenerate which means there are one or more cases where things are ambiguous. Consider that there are six open conditions that it considers to fill. The four holes, the perimeter of the frame and the perimeter of the exuded oval. Instead I reworked your file to be more procedural. Where the original grid and circle are properly configured, skinned and then three methods to create the extrusion: your existing polyextrude SOPs (fussy approach), using a single poly extrude and it's ramp lookup for the extrusion, sweep SOP to sweep a profile curve to create the profile. You can change the window outline, the padding of the circle to the perimeter and anything else you want to drive procedurally. What's also nice is that the topology is rock solid and you can create an infinite number of variations. Begging to be turned in to an HDA. manifold_geo_window_frame.hip 2 1 Quote Link to comment Share on other sites More sharing options...
Noobini Posted November 14, 2017 Share Posted November 14, 2017 (edited) Dear Sir, I believe the Polyfill SOP is fundamentally wrong. By definition, it should fill in HOLES. So here's my extremely simple illustration. As you can see, yes, there are 2 borders, one inside and one outside...but there is only ONE hole. The problem is Polyfill is filling in both borders instead of just as it says in the helpcard..."Fills holes with polygonal patches." So you see in my illustration, the problem can be seen clearly, yes I exaggerated the effect with the Surface Offset...but even if you use Quad settings instead of Triangle...you may see flat surfaces...but don't be fooled into thinking it's done it right, it's filling in both front/back on top of each other. Attached is my file for closer examination. And a jolly good day to you sir. (ps: I can see you taking my grid with a hole and extrude/morph its topology into a tube and argue that...well it does have 2 holes...but I'm not a Rhodes Scholar...more like Roads Kill Scholar...anyway...too much postulating already...) polyfill.hipnc Edited November 14, 2017 by Noobini 1 Quote Link to comment Share on other sites More sharing options...
McNistor Posted November 24, 2017 Share Posted November 24, 2017 (edited) @old school That is cool stuff for the academically inclined, but for those that are not or when you have a model to deliver by the end of the work day, it all becomes info noise in a modeler's eyes and ears. I hope that by know the devs in charge of these modeling tools have taken notice regarding the need of a interactive poly create tool and they've started the work on a shiny new "polyknit" tool. Or extend the current polyfill's capabilities to be usable as such. And then add even more, like for example the ability to draw polys on "screen space" and even creating polys as new separate objects by invoking the tool with nothing selected. I use the "polyknit" equivalent in Softimage for all these things and it's an invaluable tool for quick object sketching to act as a starting point for more detailed work. @Noobini How do you mean it's fundamentally wrong, as in buggy or badly written or the wrong tool for this case? If you specify the group of edges to be applied to (select the edges before calling teh polyfill) it works flawlessly. This probably goes to show that even this node doesn't stand the test of proceduralism, so to speak, even though that was probably its intended usage. Edited November 24, 2017 by McNistor 1 Quote Link to comment Share on other sites More sharing options...
Noobini Posted November 24, 2017 Share Posted November 24, 2017 because it states that its job is to fill hole(s)....so looking at my flat grid with ONE hole in it...fill THAT hole...but what it's doing is filling BORDERS...not holes like it says... take it further, say my flat grid has 'many' holes...yes, fill all the holes inside it....but don't do the border outside...it's ludicrous.. (yes I know if you use Quad grid, and still depending on geo, it might match up nicely, but use Triangle fan and you'll see it's wrong) Quote Link to comment Share on other sites More sharing options...
Guest tar Posted November 24, 2017 Share Posted November 24, 2017 auto just doesn't work on planar style models in my testing Quote Link to comment Share on other sites More sharing options...
McNistor Posted November 24, 2017 Share Posted November 24, 2017 (edited) The algorithm doesn't know - I'm not making a case for whether it should or not - what is a "hole". Topology wise, there's no difference between what we humans perceive as a hole and other types of borders. One can easily imagine wrapping a grid with a hole in the middle around a sphere in which case you'll end up with a sphere with two holes. Should polyfill deal with both or only with "the border" and which is which? My point is, topologically everything is a hole, even the outside border. In the case of a grid and other "regular" (as in, mostly quads) meshes, the outer border will have the most # of edges, so maybe the algorithm should evaluate these "holes" by counting their edges (or points if Houdini doesn't think in terms of edges) and discard the most numerous "hole" or rather the user should do that with a toggle. Edited November 24, 2017 by McNistor Quote Link to comment Share on other sites More sharing options...
Noobini Posted November 24, 2017 Share Posted November 24, 2017 i ALREADY said this about the 2 hole 'morph'....go back and read my post... Quote Link to comment Share on other sites More sharing options...
McNistor Posted November 24, 2017 Share Posted November 24, 2017 (edited) OK, then we can both agree that it's not fundamentally wrong, it just needs one or a few improvements, right? We should probably file a RFE rather than debate semantics. Will you do it or shall I? Edited November 24, 2017 by McNistor Quote Link to comment Share on other sites More sharing options...
Noobini Posted November 24, 2017 Share Posted November 24, 2017 mmm...by the tone of my post...i was just having a bit of fun with old school Jeff there...like i mean...who starts off with Dear Sir nowadays....who even uses 'jolly good' anymore... Anyway, my workaround, for flat geo, is if you select unshared points, there's the option of Create Group...so if you label it as Border...it would create Border for ALL unshared points...then Border__0 for the Outside one then Border__1, 2, n....for inside ones...Then promote * to edges Then in polyfill, use !Border__0 (the outside one)....Jeff....i mean Bob's me uncle... Quote Link to comment Share on other sites More sharing options...
Werner Posted November 24, 2017 Share Posted November 24, 2017 Noobini, must it be procedural? If not, I usually slap down a Topobuild and just manually drag out the edges....takes a couple of seconds to fix the geo in your link. Quote Link to comment Share on other sites More sharing options...
Noobini Posted November 24, 2017 Share Posted November 24, 2017 (edited) dunno nothing about Topobuild tbh, but my example is EXTREMELY basic...with one hole...so yeah 2 secs for you but I guess you wouldn't want to manually fix something that's way more complexed...like hundreds of holes on a panel... come to think of it....imagine a curvy side panel on the side of a plane....it's perforated with bullet holes...now you want to patch up all the holes...sooooooo....my geo is NOT a plain flat geo...so the argument that, well......polyfill works just fine for non-flat geo is incorrect in this case (and yes if you use Quad algo to fill the holes..it works fine...but still dependent on the 'niceness' of the geo I think, it may not match up for more 'organic' geo) polyfill_workaround.hipnc Edited November 24, 2017 by Noobini Quote Link to comment Share on other sites More sharing options...
Noobini Posted November 24, 2017 Share Posted November 24, 2017 hmm...so I tried a more 'organic' geo....all tris....turns out the Outside is not necessarily Border__0 all the time...it was Border__1 polyfill_workaround2.hipnc Quote Link to comment Share on other sites More sharing options...
MENOZ Posted November 25, 2017 Share Posted November 25, 2017 Hello, here is my reasoning. Maybe you should think if you want to get an open shape or watertight. If you want watertight polyfill should just fill all borders as it does by default. if you want to get an open shape and close only what we humans perceive as holes, maybe you can do it thinking in terms of area. So in your example you might want to exclude the larger area. Perimeter is not valid in my opinion because you can have a very complex hole with a huge perimeter, enclosed by a square. Area makes intuitively more sense to me. The way I did is polyfill all, isolate the new polygons, find the larger chunk of polygons and remove it, merge it with original shape. I'd like to see better ways to do this, I feel I used too many nodes to find what I needed. polyfill_Menoz.hipnc 1 Quote Link to comment Share on other sites More sharing options...
Noobini Posted November 25, 2017 Share Posted November 25, 2017 (edited) I won't claim this will fix everything...coz the polyexpand2d is a bit temperamental... polyfill_workaround3.hipnc Edited November 25, 2017 by Noobini 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.