Grasshopper

algorithmic modeling for Rhino

Hi all,

Attached is a gh def.

I have been trying to generate a simple U frame for a small footbridge with a number of parametric variables

My workflow (plan) was as follows:

  • Generate a simple U frame footbridge
  • Utilise a simple linear array to generate a number of segments (bays)
  • Use a data tree approach to generate the longitudinal lines from a selection of points (so far so good)

This is where the wheel falls off the wheel barrow!

  • Using the same approach with the data trees, capture the lines of each U frame as lists
  • Manipulate the lists defining the U frames

Once I have isolated the geometry the plan was to generate some physical members using extrude along a curve 

I have hit a bit of a wall as to how to get at the data of the U frames.

All help appreciated particularly in managing the data trees and best access methods.

All help greatly appreciated

regards

Kenyon

Views: 598

Attachments:

Replies to This Discussion

Ouch..
Not exactly sure what you're trying to do..
But check out the 2 purple groups, they respectively replace the right side of our definition (or at least what I think you're trying to do there.)

Familiarize yourself with [Trim Tree] instead of using [Split Tree], and [Flip Matrix] instead of [Path Mapper]. Also Simplify gets rid of superfluous 0's which can trip up some of these components.
And I don't think you understand how [List Item] works here (they currently do nothing)

Quick primer:
It's helpful to think of Data Trees as a list of lists (simplifying things here)
[List Item] only interacts with the smallest list, of which there is only {n=1} items in your example so nothing happens.
[Trim Tree] eradicates the smallest tree and groups stuff up so you can handle them more easily
[Flip Matrix] switches say 3 groups of 5 items in to 5 groups of 3 items, but can't handle say 2 groups of 3 groups of 4 items.
Also, messing around with [Explode Tree]'s output parameters can help to understand what each (or just one) branch of a tree contains if you get confused.

And just in case you aren't aware, some components [Explode Tree] and [List Item] specifically, have variable output parameters if you zoom in.

Hope this helps.
(also, may have messed around with sliders while trying to figure stuff out, not sure if that matters)

Attachments:

Thanks Vongsawat,

Explode and list output parameters tip was gold...I did not know about that.

When I viewed your definition the visibility of definition in grasshopper was only displayed when I selected a component. Say your multiple item U frame geometries, did you initiate a visibility option say enable preview for example.

thanks again

Kenyon

Oops, yea. Top right of the gh window, under the tabs and everything, there's a bunch of cylinders that control visibility options. Click the green one to toggle between Preview All and Preview Selected Only.

I would say you really need to go through the basics.. but tbh UI things like these are things you'll pick up in time while randomly clicking buttons eventually :P

Hi Kenyon,

Have a look at this alternative method.

I am not really sure if that is the way you want things sorted but, at least it simplifies things a little bit.

Cheers,

Nikos

Ps. Study about data trees!!!! You will keep facing problems in your definitions until you get a good grasp on trees!

Attachments:

Nikos, thanks for the response, apologies for my lateness, I missed your reply.

Yes it is a different approach, its really interesting how people think about problem solving differently. Use of the arrays is great for consistency. Yes my data tree knowledge is improving.

It was a small footbridge, what I was trying to do was get access to to all of the items which would allow me to vary the types and size of sections. The handrail had concealed lighting being able to vary the height helped with the lighting design.

thanks

Kenyon

Hmm ... maybe a (long) Skype session is rather required (trees and the likes).

Other than that and in addition to defs posted already:

1. NEVER EVER rotate the profile since in plane to plane transformations we use a STANDARD thingy (Plane.WorldXY) VS any other plane (that's what the Orient does). This applies for blocks/cats/dogs/anything: meaning that if anyone in the present or the future uses such a "component" he knows the origin (especially if other CAD apps are used in parallel).

2. NEVER EVER make a thing (i.e. the profile) to be oriented "off center" (in the occasion domain start/end values for x/y). If you want to do that treat the destination plane accordingly. That way you build up a mentality were the "source" is standard - so to speak.

3. RHS (but HEB/HEA/IPN/IPE blah, blah) fillets are related with thickness (in real-life) ... therefore when you offset (always inwards: meaning neg values for counter clock wise closed curves) ... take into consideration that simple fact.

And this ... well ... it could be your WIP salvation (IF you were familiar with things that you are not, he he).

As it is (a 5 minute cut and paste job from other defs of mine: no slider values checks etc etc) could serve only as a "visual" indication with regard planes, extrusion vectors, profiles, translating planes according profile dimensions, cats, dogs and other freaky stuff.

BTW: doing things using the secondary axis Tree and if the rail is curve  (and if many RHS profiles are on duty)... well ... that's why this is just an indication.

best

Attachments:

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service