Jump to content

Overlapping holes [SOLVED]


Recommended Posts

Hi there,

could I pick your brain about what would be the best approach, or even a working approach to achieve this:

I need to punch a bunch of holes (square shaped) into a box (red square in the picture). A large box 250meter side and 2 meters height,
I mention the size of it because I tried to use vdbs to achieve this, but since I need accurate results, the vdb approach is just not working with such a difference in the dimensions (250x250x2) (or could it?).

Also, the holes are overlapping (see picture attached)OD_overlapp.jpg


In other 3d applications, I would work it on a curve level and then extrude it, but I just can't find a way to do that in Houdini :/ At least not procedurally.
I need it procedural, as the holes are placed on points via a copySOP, and they will eventually change.

I'm attaching a hip file to better expose my goal.

Thanks in advance ;)




Edited by 6ril
Link to comment
Share on other sites

You might be able to combine the overlapping holes using something like 2d triangulate, then the hole sop could generate some better results.

you could also do a 2D signed distance field trick yourself:

-bricker the base mesh, for each point calculate the distance to the hole shapes (and make that distance negative if its inside one of the hole shapes)

-then displace the points in y according to this distance value.

-use a clip sop (below plane) to clip away all the negative values.

-reset the points' y position

-clean up mesh :P

Link to comment
Share on other sites

Thanks guys for your input.

I should have mentioned that the accuracy I need is precisely at the edges of the holes. I need sharp 90 degree corners. The reason is that those holes are filled with fracturable geo and I need the connection to be perfect to avoid visibility at render time.

  • So jon3de, as I said in my intitial question, I tried the vdb way, and it's not adapted.
  • acey195, well... err... I'll see if I can decipher what you are kinda describing.
  • Matt, thanks for this method, I will have to try it, but I fear that the corners will always have a little bevel, due to the rasterization of the rendering, but maybe with the proper resolution it might just be fine.
    May I ask why you did it at such a small scale ? (to optimize the ortho render?)

I though it would be something easy, but no : /


Anybody know if this would be possible :

instead of working with boxes, to work with rectangle curves. Copy one rectangle over all the points, and then, somehow only keep the silhouet, the outer edge only, like a boolean add on curves? That would solve it all.


Link to comment
Share on other sites

3 minutes ago, mestela said:

The trace sop takes the image you give it, and traces it within a 1x1 square. that's all. :)

Again, it handles corners and fine detail much better than I expected, you might be surprised.

thanks, I'll give it a go and see if the bevels can be avoided ;)


Any idea about the curve approach ?? I'm sure I'll need it sometime, and I just can see how to do it. Seems to me that the curve features are really week in H :/

Link to comment
Share on other sites

2 minutes ago, mestela said:

search for curvesect and surfsect.


Oh yeah forgot about that, if you use NURBS for your base plane and use project with your cutting curves and then use a trim, I think it should be quite stable if you then convert it back to polygon with a high accuracy;)

Link to comment
Share on other sites

Petz, thanks a lot ! Far above my vex knowledge but I'll do my best to learn from it.

3 methods :)  I'll call them left middle and right.

  1. left isn't working cause the node "removesharededges1" tells me "this node is using an incomplete asset definition...."
  2. middle is just perfect! I think I'll use that one.
  3. right is well over my head, but can be really useful elsewhere.

thanks again Petz ! awesome answer.


Edited by 6ril
Link to comment
Share on other sites

36 minutes ago, 6ril said:

left isn't working cause the node "removesharededges1" tells me "this node is using an incomplete asset definition...."

ah, yes, sorry, forgot to embed the asset but you can use "remove shared edges" in a divide-sop instead.




  • Like 1
Link to comment
Share on other sites

Problem solved !

this forum is such a tremendous help, I can't imagine learning H without it.

thank you all !


oh and jon3de, thanks as your suggestion did help in a way, made me realize how clumpsy I was when I tried the vdb way ;) Instead of doing it in a smart way as you suggested, I tried it by converting everything in to vdb, then vdb combine... heavy as hell.
it's still not the way to go for my goal, but I learnt something ;)


Link to comment
Share on other sites

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.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...