Cant do solid diiference

unhandled

(Nirreubens1) #1

i have a shape that i have put polygons on

and i would like to do a solid difference with an extrusion of those polygons, i have did an extrusion, cap and then sold difference and the result look li this. please help my fix that and understand what i did wrong.
thank you. FinalCode.gh (49.7 KB)


#2

Hi.
Check Attachment…

FinalCode_re.gh (92.9 KB)


#3

I added the purple group to a distilled copy of your code, after throwing away all the extrude stuff. This uses Pull and SrfSplit to cut holes in the surface, which is not quite the same as extrude and solid difference, but can be adequate?


srfHoles_2018Feb16a.gh (48.4 KB)


srfHoles_2018Feb16b.gh (54.7 KB)


(Nirreubens1) #4

thank u very much


(Nirreubens1) #5

thanks joseph


#6

These two versions create a solid (“Closed Brep”) from the original surface before using Extr and SDiff to cut holes through it. Version ‘c’ uses the moved surface from your code, which doesn’t work well between the lower tips of the two surfaces. Results are poor:


srfHoles_2018Feb16c.gh (50.1 KB)

Much better SDiff results using Offset surface in the white group to create the solid from the initial surface (to “thicken” it):


srfHoles_2018Feb16d.gh (50.2 KB)


(Nirreubens1) #7

thanks Joseph. just for clarification, the solid difference did not work before because the shape was a surface and not a solid?


#8

It’s easier to do it right than to analyze differences in words… A key issue that was apparent is the extrusions did not consistently intersect the surface as expected. To fix that, I added a Move with an expression on its ‘T’ input: “-x/2”. In other words, it moves the capped extrusion in the opposite direction from the vector used to extrude it, by half the distance, ensuring a clean solid intersection:

Oh, and yes, using a surface instead of a solid as input to SDiff does make a difference in the outcome. What you want there would be BBX and SrfSplit. This code returns only one of the results…


srfHoles_2018Feb16e.gh (47.9 KB)


#9

The difference between Pull curve to surface (yellow) vs. extrude and BBX (blue):


srfHoles_2018Feb16f.gh (49.3 KB)


#10

This is version ‘d’ with the cyan group added to avoid holes that cut across the surface edges:


srfHoles_2018Feb16g.gh (47.8 KB)

And the same Cull feature (cyan group) added to version ‘e’ (SrfSplit instead of SDiff):


srfHoles_2018Feb16h.gh (47.8 KB)