Grasshopper

algorithmic modeling for Rhino

Hello, 

I want to make a definition that can provide a tile count for me from varying large tile designs (each using the same x6 key tiles). I would like to be able to select the entire cad drawing and be able to toggle each reference tile shape/color and get a quantity for that shape and color. 

I understand that sorting with color and other "non-quantified" characteristics. 

Is there a way to start the definition so that it can sort any cad drawing of a selected tile pattern and give me a the tile count for the x6 tile shapes? 

Apologies for not having a definition started. I just wanted to know if there were some thoughts on how to get that started. 

Any ideas are most welcome.

Attached is Rhino file of an example design and tile units... 

Views: 866

Attachments:

Replies to This Discussion

how about something like this since you're using layers effectively? with a bit of refinement this could proxy a calculated number.

Attachments:
i was thinking that this is probably a good basis to start from and you can add extra layers of validation if you find that discrepancies arise. (i.e. a colour checker, a whole shape checker, sub shape checkers, proximity checkers etc.) it all depends what level of automation you want and how much human error there could be on the drafting side and misassigned geometry to layers. if you already have a good system in place with good CAD standards, take advantage of it.

In the starting example ive given, the calculation assumes only the final graphic is on the layer you have selected and full tiles are displayed. You would need to round down to get an approximate for removing partial tiles and minus 1 to remove the definition tile thats on the same layer. i would suggest you create a definition layer for each tile in the 3dm/CAD sedd template so you dont need to minus 1 in grasshopper. This would also make the gh definition universal to any 3dm/CAD file you create with the seed.

food for thought, hope this helps

this is a great start. Thanks! 

no problem, Whilst having a play with the import component, i noticed the filter can also accept the name of blocks/groups. this could be a way of defining the tile that isnt in the pattern.

The identity of a triangle could be quite straight forward usings sets and similar members. i.e a triangles identity can be defined by its three angles, ctr point, and area, along with its sub triangles ctr pts and areas. theres a mathemtical trick to get all this information into on unique number which doesnt care about rotation and location. then it would only be a case of searching a set for this identity number.

when im at a computer with grasshopper installed i'll post what i mean.
the mathematical trick goes like this.... its similar to averaging but scaled up.

(angle1 + angle2 + angle3)/number of angles

normal averaging identifies a triangle when the result = 60 but this is too general and only confirms something is a triangle or not.

whereas

(angle1 * angle2 * angle3)^(1/number of angles) gives a number which is slightly more specific to the three angles that disregards the order they appear

going one further you could also include area in the equation
(area*(angle1 * angle2 * angle3 )^(1/number of angles))^1/2) which gives a fairly unique description of a triangle and its scale when comparing it to other triangles that has been described with the same method.

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service