Extrude surface to one line in different shapes



Hi all !
How extrude surface to one line and get solid?
In this .gh - simple.
but surface can be of different very shapes ,the shape changes many times. One of the edges of the form is always raised, as in this minimal example.
.gh and screen attached
extrude.gh (11.1 KB)


Something like this?

extrude_re.gh (13.6 KB)


You might be on to something there @HS_Kim, but I think your model may be too specific to this example and doesn’t handle the more general case of an arbitrary surface. The problem could be presented as more of a “black box”, like this, where the shape of the surface is “unknown”:

extrude_to_line.gh (2.3 KB)


@Joseph_Oster @HS_Kim
In attach - real .gh and real task…
Shape changes, very different.need a universal solution.
maybe I did not correctly formulate the question. It is necessary to make a solid over the surface and along several lines above it.
fasade_extrude_hard.gh (31.0 KB)
fasade.3dm (39.6 KB)


several lines above it” is indeed a very different problem! I understood that the surface may have more than three vertices, but “several lines” makes it a whole new ball game!! I played with the code in your first post and am not convinced there is a “universal solution” to this.

These don’t help at all.



So you want a “universal solution” that handles both of these examples?

extrude_to_line.gh (2.3 KB)

extrude_to_line2.gh (2.8 KB)

I don’t see this happening…


line above the surface not intersect - this necessarily. and line above the surface sort to “x” coord about surface plane. thanks for reply, perhaps universal answer don’t exist.


The geometry in extrude_to_line2.gh is extracted directly from your fasade_extrude_hard.gh model. Those lines “above” the surface don’t intersect.

Here is something that demonstrates the ambiguity of your goal:

extrude_to_line3.gh (5.8 KB)

And this:


for each plane you need to configure separately - if you change surface. “lines project to surface don’t intersect” - this write.


@Joseph_Oster thanks . this case maybe help me.
Maybe I’ve used the wrong approach to solving this problem.
i will think…