Project curve points (vertex) onto mesh C#

Blasphemy

Anyway: forget origami, be brave and Google: “tensegrity truss images”

Indeed (add a Cobra 427 and an Ariel Atom for IKEA shopping)

It seems like the Lord of Darkness is having some fun

@PeterFotiadis you are too late! I have already created something similar in my final year architecture! my beautiful “baby” here it is Deployable Structures: Collapsible Column on Vimeo . Of course, I haven’t done it in C# !!! Even thinking about it, it’s giving me a headache and it is too advanced at the moment. Please, I want to start from something simple … let’s say we have a concrete folded roof very simple and straight forward but these folded plates form a vault or a curved surface like the file attached is in R5 so you won’t complain … How can we create a C# component that creates this kind of pleated creases - so it can be applied to any surface? The pleats have to be continues like the photos and files. Can you tell me how we start?

Folds.3dm (44.3 KB) Folds.gh (6.6 KB)

Rather too early I guess. This is what I had in mind (shown a double tetra TT variant) - the abstract layout of it to be exact:

In your stuff the nodes are almost bigger than the struts … meaning back to basic aesthetic rules (and implicitly to 250 GTO topology evaluation matters) … meaning that this was an effort for a tensegrity truss (1M miles off target). This brings us back to bottom to top design mentality (NEVER do anything prior mastering the nuts and bolts of that). For instance and in case that you opt for an EFTE solution on the above tensegrity thingy you should FULLY know the enemy (look at the 2nd image, meaning that the single (white) “up” cables shown are in fact a quad combo):

That said solving a tensegrity truss via C# highlights the basic stuff that you’ll need for doing modular AEC things: defining nested Instances on the fly (and using them), managing multi dimentional Trees, doing things on Lists (shifting indices, LINQ, etc) and other ominous things. But the biggest message of the day would be that one: you can’t design (in real-life) a thing like this in R/GH (with regard nodes). A very valuable lesson for your future as a pro.

The pleated thing is so ugly that I can barely imagine finding the guts to do a C# for that. If it was a garage this is the car to park inside:

Screen%20Shot%20012

which thing ? the picture it is just a reference to show you the continues pleats made with concrete…it doesn’t have to be that shape I am interested in the solid pleats…how can I make this in any given form? haha its ok if you don’t want to make it but can you give me some directions on how to make it though, I mean the steps you take to make it? I love pleated structures … I guess you dislike the Yokohama Ferry terminal by Foreign Office Architects? Thats too bad…

Regarding my column, you mean the connections of the sciccors structures (struts) are bigger? This is a column that takes load (if you connect the cables at the top and bottom )and the (3D printed) hinges basically couldn’t be smaller …!!!

The essence of elegant engineering (in real-life) is to minimize everything (including cost, environmental impact, water footprint blah, blah). That’s the reason that a Lotus Elise is the best affortable sports car that money can buy. Anyway stay focused to engineering and never care about aesthetics since designers are born and not made. Meaning that either you do good looking things “by nature” or not. Meaning that someone either is Massimo Tamburini (aka Maestro) or not - BTW: Maestro did the Ducati 916 and the MV Agusta F4 (enough said).

Creating smaller and smaller assemblies (in this case of yours: the “hinges”) is a very challenging task and involves FEA on the candidate solids (done via Feature Driven Modelling), kinematic analysis (freedom of movement(s)), cost estimation, specs and many other things . That said is way better to design (and validate) a “virtual” mini hinge in CATIA than 3d printing a far bigger one in “real-life”.

But all that stuff are impossible without teamwork and a bottom to top design approach geared to a variety of Software apps (none of them is cheap or easy to master). This means that if you can’t have the bullets … don’t go to war.

PS: I’ll see what I can think on pleated surfaces (not much mind).

Moral:

Screen%20Shot%20001

But I DO - my design its been always pretty sorry- I AM PRETTY BY NATURE AHAHA !!! In the column project, I was doing; I literally had the minimum supervision from my rubbish tutor … I had no directions, I had to write my technical dissertation, i sent him a draft and I never got a reply no feedback nothing . He was the worst careless tutor I ever had! I had to write a very nasty feedback about him plus complain to the head of the school! I was going ALL by myself and considering that I did pretty well :slight_smile: SO please give me some credit and also considering the complexity of the subject …this is a PhD subject not for someone who is in his 5 year.
I was just trying :pleading_face:

Don’t cry: my comments (a bit edgy but what do you expect from a pro?) were related with things that you can’t have (killer team, top firmware, years of ruthless training, all or nothing attitude, obsession with GTO 250 matters (as a metaphor) etc etc). This means that in fact are not related with you BUT are related with your future goals as a pro. Other that that since in our trade everything is war … better suffer in the training period than get killed in the combat.

Back to business: write a piece of C# that divides a BrepFace into a Tree of points (use null if a given point is not contained in the BrepFace: i.e. define the Tree as nullable > DataTree<Point3d?> divTree = new … blah, blah).

Post it here and wel’ll see what’s next.

1 Like

@PeterFotiadis I made C# component for the pleats. I hope I didn’t do very bad…

pleats01.gh (4.3 KB)

Well … the good news are that hope dies last (should die first, mind).

SurfaceOrBrepFace_Divide_V1.3dm (1.5 MB) SurfaceOrBrepFace_Divide_V1A.gh (141.5 KB)

SurfaceOrBrepFace_Divide_Simple_V1.3dm (157.2 KB)
SurfaceOrBrepFace_Divide_Simple_V1.gh (6.7 KB)

PS: in the weekly meeting with my top dogs, the top (of the top(of the top)) said for this case:

Screen%20Shot%20033

3 Likes

@PeterFotiadis Oh… Dear …!!!:pleading_face:

Indeed.

PS: Assigned that pleats task to Lila (The Merciless). She did some stuff and she said that “soon” would provide V2 (i.e. smooth solids, closed in U/V support and some other things). No idea what her take on “soon” is.

SurfaceOrBrepFace_DivideAndDoPleats_Simple_V1.gh (52.9 KB) SurfaceOrBrepFace_DivideAndDoPleats_Simple_V1A.3dm (268.9 KB)

Moral: Ducatium Amamus Dum Spiramus

1 Like

@PeterFotiadis meaning ? you are giving up on me? me too :frowning: I am hopeless :pleading_face: I never struggled so bad in my whole life … I can’t get this C# at all … I am very sad…

This means that tomorrow is Sunday: Ducati time ( Avē , Imperātor, moritūrī tē salūtant).

PS: Insofar you’ve seen about 0.00001% of what C# is about. Meaning that the future is full of pain (and tears).

@PeterFotiadis

I know there are a lot of tears and enormous pain - I can tell!

I tried to make some simple C# codes …I ve been looking all day today and try to fix them but I am
not sure how :frowning: can you have a look at them?

samples 01.gh (17.5 KB)

Thank you so much in advance…

Assigned your case (in general) to my top dog C# guru (he’s a good character from a safe distance [~1 mile] and never eats people in public).

EntryLevel_01.gh (270.6 KB)

@PeterFotiadis Thank you … I have some questions though …
Regarding the planarity component what is tol and how it works ? also what is the diagonals tree? Are you trying to create triangles because triangles are always planar?

Regarding surface curvature, i don’t understand how this component works to be honest … according to the vector we assigned we check ? forgive me if i ask silly questions for you (maybe)…:pleading_face:

A quad planarity check (with regard tolerance [tol]) is the measurement of the min distance between the diagonals (There’s a Method available for that). If minD < tol then is planar. So the red diagonals are just a visual indication of non planar quads. If you decrease tol is obvious that more and more quads are declared non-planar. If tol ~ 0 you should apply at NASA.

Surface curvature is related with 2 vectors (in U/V) and values depending on what curvature you are after. Used the normal since the others are rather unsuitable for viz purposes … thus we remap the values and use colors kinda like this:


For the “real” surface curvature vectors see attached.

Surface_Curvatures_EntryLevel_V1.3dm (222.4 KB) Surface_Curvatures_EntryLevel_V1.gh (261.0 KB)

For osculating circles see this:


1 Like

I can’t find it anywhere in Rhino Common or SDK as you call it can you please show me the references of how you solved the algorithm? I don’t know where to check? I checked on the facelist methods where is it ? I can see [
ConvertNonPlanarQuadsToTriangles] - Splits non-planar quads into two triangles based on given params. but it has nothing to do on what you are doing.

[quote=“PeterFotiadis, post:59, topic:92679”]
If you decrease tol is obvious that more and more quads are declared non-planar
[/quote] why is that ?

Thank you for helping me so much! … I feel so damp :pleading_face: