Voronoi on a surface does not work

Thanks again Pfotiad0
I was busy with preparing the space layouts.

I tried the Lila’s method and actually it’s a good approach to my problem. but also It doesn’t work on my ‘5km thing’ since it doesn’t represent a single surface. I tried deconstructing Brep and applying it to the surfaces but it only creates separate surfaces with different projections with different attributes.

All the problem is with this surface I have, I’ll see whether I can recreate the same surface (or ap near same surface) with a different approach or try relaxing the existing one as you suggested. Mesh relaxing one is something I’m not familiar with, but I’ll do some research and see. If there is already developed definition or plugin somewhere, could you please mention the link here?

Well … the best thing for GH on that matter is Kangaroo2 done by Daniel but it takes time to fathom the potential available.

Anyway get the update that Lila did next. There’s a new “no gap/non flat” option added … but is so slow that makes a tortoise look like e Ferrari: AVOID at any cost using it.

Morph_VoronoiPolylinesAndThicken_V1A.gh (93.8 KB)
Morph_VoronoiPolylinesAndThicken_V1A.3dm (144.9 KB)

Yikes: there’s a new build that fixes some oops in V1A (recycle that ASAP) and adds a 3rd option (in results) that alows you to see the skin deep nurbs Breps (in plain English: BrepFaces straight from the Morph that are NOT solids) in real-time.

Def is left on that latest option.

Morph_VoronoiPolylinesAndThicken_V1B.gh (91.3 KB)
.
NOTE: The Morph requires a Surface (NOT a BrepFace or a PolySurface) as the target. If you input a BrepFace it uses the Underlying Surface. If you input a PolySurface … well … better avoid doing that.There’s no Rhino Morph method that works with PolySurfaces “as a whole” … meaning that your 5km long (and a bit faulty) thing is rather useless for that type of game.

And this … er … is an intro to K2 and planar matters (Planarity in real-life is a chimera, but that’s another story). Note: the more rational is the Mesh … the easier and faster K2 does the job. As a general guideline AVOID at any cost doing business with K2 (or any Physics Engine) when you have stupid/ugly meshes. Stupid goals add to the pleasure as well.

Ugly news: Mesh Machine fails to deal with your 5km thingy > blame Murphy

YAZ_kinda_demo_V2A.3dm (153.3 KB)
YAZ_kinda_demo_V2A.gh (140.7 KB)

And this (I can’t post the C# for that since it flirts with reality (of some sort)) … is what K2 can do in 50 milliseconds (max):

  1. Arrange your spaces in space. Then create some sort of flat region that engulfs the footprint (any region, any N of holes etc etc). Then do some flat mesh via the MeshMachine (take care of the size of edges since it would be a critical factor later):

  1. Then mastermind an anchor points policy (many to choose: from every naked vertex to randomly selected ones either naked or clothed … OR interactively pick mesh vertices [requires code] ). Then relax the flat mesh via K2 into some sort of vault trying to engulf (by varying the K2 Goal(s) parameter values) the spaces available:

  1. Using things the likes of WB PictureFrame you can turn the mesh into some conceptual LBS system (then you’ll need to thicken that mimicking some steel members - or far better do a W truss out of the mesh [that’s the rational - by a huge margin - engineering solution for that type of things ]):

So … if your attempts with the Voronoi concept on Polysurfaces come into a halt … and your nerves are broken (for good reason) and you are running out of time (and/or espresso) … just change root and spend just a few milliseconds for any solution.

Of course planarity is not an issue … since we are dealing with triads. Why people spend so much effort and time (and lot’s of dollars) to achive higher order planarity is beyond my imagination: maybe blame that YAS Hotel.

To the trained eye things like these have a very strong reason of existence … since in some “inverse” way they are tensile membrane structures. And this virtue is what makes any AEC thingy capable to last over time.

Why not just use a Sub-D modeler, pretty sure that project was made in maya or max, also the image you refer to does not seem like a voronoi to me, and it is for sure not planar.
Here is a 5 minute test with Maya:

4 Likes

I think I can use this third option perfectly. But it seems only work with a single surface, then deconstructing Brep and feeding the faces but no luck with that either.


I didn’t try this triangulation since I’ve mentioned about voronoi in my design report and i better not change this at this final moment.

All this could have been solved if there is a way to convert those brep blobs to a single surface, I did some research but I couldn’t find any.

This is better Michael_Pryor, but I’m not familiar with Maya but know the basics of 3D Max.

Is it possible to create something like this on existing mesh (preferably exported from Rhino) Could you be little specific about this? If there is any link to a tutorial that’d be helpful too.

Sure the basic workflow for that quick test was to have a mesh (either make it or import it). Delete some mesh edges to create some ngon pattern of faces. Chamfer the face vertices to get an even more ngon look. Then move some vertices around randomly along the mesh to create a bit of randomness to the pattern. Then do a series of scaling and inward extruding operations on the faces by the face normals. Delete some faces for the holes (or glass). Lastly, smooth and deform the overall shape till you like how it looks. (you can probably achieve the same workflow with T-Splines, haven’t used T-Splines in years)

Well … as i said many times the Morth this to that works ONLY if that is a single surface (you can use a BrepFace as well: the Morth uses the underlying Surface and then you must ask questions about if something (say: the polyline center) is inside the BrepFace).

To be honest with you this task of yours (Blob > planar Vor polylines) is - more or less - achievable but I estimate that requires at least 3-4 days full work (AND some/several C# that are classified) … meaning that posting a full solution related with that it’s out of question.

That said … well … planarizing higher order polylines is a fine balance between several Goals (In Kangaroo a Goal is something that you want to achieve):

  1. Planarity Strength,
  2. Node min/max Angles,
  3. Edge min/max Lengths,
  4. Pull to something Strength (the blob or a mesh),
  5. Diagonal min/max Lengths and some other stuff…

Mess with the “optimum” values on the above Goals … and get a terrible/freaky result. It’s all about Physics Engine matters you know. Mess with the OEM Mesh as input to K2 … and get bananas as well. Kinda powersliding a proper sports car: is all about balance.

I have C# stuff that does that … but is strictly internal. Why ? Well … because of the way that an optimum balance between a lot of factors is recursively approximated. Think of it as some sort of “learning machine” thingy (well … add some “” more, he he).

That said planarity for a glass panel and planarity for some sort of roof panel ARE not the same kind of animals. Remind me to erase the YAS Hotel from existence … meaning erasing other things as well.

Ugly news: Even if you had the FacetDome solution for a blob on hand (I can’t promise any ETA for that NOR that I could post it IF sensitive portions of code would probably being used) … without planarization it could be 100% useless - even within an Academic way of evaluating design proposals.

Warning: This design of yours violates 2 critical things: Form follows function and Less is More.

The first that could do that > Nobel/Pulitzer/EMI/Oscar/Whatever

BTW: A Surface is like a piece of paper. A BrepFace is a Surface against a Magnum 45. A Brep is several (or one) BrepFaces “stichted” together. Brep means Boundary Representation.Any Brep is a mini database holding info about what is connected to what (Vertices, Edges, Faces, cats and dogs) - kinda a Mesh.

I found a definition and it seems to work, It isn’t perfect but will do the work. But the problem here is I can’t find a way to loft the faces or create picture frame or offset them to create structure.

voronoi z.3dm (4.0 MB)
voronoi z.gh (29.8 KB)

Yikes! That’s my stuff from the old dinosaur/prehistoric era.

The thing does ExoW kind of result (in less than 6666666666666 milliseconds). ExoW is 1M miles away from what you want to do. No wait: is 1B miles actually.

But … if your goal is to get a line graph like this contained into your file (lot’s of dublicates but this is not an issue):

and do a mesh out of it … well … I have (I think not internal) stuff to do it. Works with classic graph connectivity (vertex to vertex) and does a mesh.

But how you got that graph:? Out of a TSpline blob VS MeshMachine? If so why the reverse engineering?

Moral: you are more and more into the rabbit hole. That’s a thing with many entries and not a single exit, I mean since you have the C# (I’m talking about the Voronoi3d_V1C posted several posts above) that does the Voronoi Surfaces why bother trying things with ExoW?

WAIT A MINUTE: You mean that you want to run V1C against a blob (option: Surfaces meaning in fact BrepFaces) … then make polylines using the outer BrepFaces Loops (easy) … and then … well … actually what? Since the polylines would NEVER be planar … what’s the purpose of all that? Or you want to make quad and/or tri meshes out of them? If yes … why not use MeshMachine > compromise into triads (the rational and clever way to go) and forget all that mess?

You know it’s way better to claim that the Voronoi word used was a typo.

Well I’m not thinking about going with ExoW, I like the line segment pattern. And I have no other options. I’m really running out of time, only one week to do everything.
I just want to create panels on these line boundaries (surfaces would be non planer but by further triangulation, flip edges will be where the surfaces will fold). Generated result is just a set of lines. I don’t know how to prepare them to create picture frames or to extrude them.

Lol I would prefer prefer saying it is a typo now, but thing is I added several photos too…

Thanks!
I’m not sure I can do that in this limited time,It’s a whole new software to me. I searched but I couldn’t find any video result that can be related to. ( maybe I’m not using the correct keywords)

Well, you won’t really get results like the image without sub-D. Look up Delete Edge, Chamfer Vertices, Extrude, Scale, Smooth Mesh Faces. These are the tools name and what you will need. Also, why wait until one week left to solve a very complex thing :smiley:

Imagine V1C against a blob (closed). It does stuff like in the image below (shown with keepPercentage = some value != 1). Then the little C# in the red group does polylines out of the decomposed BrepFaces Loops (i.e. 3d curves) sampling all points from curves AtStart. Like this:

Now if you are happy with these out of this world polylines I could add a few lines more and create a mesh window thingy out of these (out of this world) polylines … making an envelope out (out (out of this world))).

This is kinda tuning a Harley Davidson: dollars spend for no reason … but … well …

Of course with the right dose of the wrong Karma you’ll arrive into rabbit holes like this one:

Solution: seppuku

2 Likes

I could create a mesh from the lines using Weaverbird

I’m not going to use this ExoW thing. I can create a structure using WB’s pitureframe and meshthicken components, but it’s basic. Any suggetions on how I could apply a structural profile and possibley create chamfered corners and stuff (tools or plugins)?

It’s kinda ugly but better than the seppuku :grimacing:

voronoi z V2.3dm (3.9 MB)
voronoi z V2.gh (28.3 KB)

I like the option, but no time to learn maya and go with it. Next time for sure…
I’ve been experimenting and wasting about 2 months with tutorials and stuff, came for help from the forum at last when all that didn’t work :smile:

Be a real man > do the honorable thing (scope of life is die gloriously and for a purpose).

Good news: This is even uglier (Why Frank? Why?):