2013/02/27

[Cluster] Remove Duplicated Lines 移除重疊線





















之前的版本有使用上的限制,
所以改良了以後釋出新的版本,
選擇性也提高了,感謝郭芳的提醒. :)

The previous version has some limitations,
so I improved the def and release the new version of it,
there are more options to choose now,
and thanks to 郭芳 for the reminder. :)


Previous version 之前的版本


Definition /














Download 抓我 ლ(◉◞౪◟◉ )ლ


[Cluster] Glue 膠水



















當你病厭厭的時候腦子想得東西果然都很奇怪...

Glue這工具就是把兩個模型分解成以三角面構成,
然後再透過點座標的分類,在把A模型炸開的情況下重組成B模型.

When you're sick, the thing you're thinking often is weird...

Glue this cluster is base on deconstruct two model into triangulate meshes,
then by sorting the point coordinates, it can explode model A and reconstruct into model B.




















































Definition /













Download 抓我 ლ(◉◞౪◟◉ )ლ

2013/02/26

[Cluster] Shield 包膜
































我們常見一些設計手法是在將空間排好之後,
將它們加以包裹起來,而Shield就是為了這種事情所設計的.
你只需輸入要包裹的東西即會生產出一個膜.

基本上幾何形,尤其是方體表現最佳,
相對的如果是流線形(如曲面,圓體,曲線等等)則需要靠參數去找出較佳解.

We often see some design that arrange the spaces first,
then the designer wrap it up with a skin,
and that's what Shield try to achieve here,
all you need is input geometries then it'll generates a shield that contains the geometries.

Basically, polygon will have better result, especially for cubes,
in the other hand, if it's fluid shape(such as free form surface, sphere, curve, etc.),
then we need to adjust the parameters to find a better result.


Definition /





















Download 抓我 ლ(◉◞౪◟◉ )ლ


2013/02/25

Shield 包膜 WIP


























這種先做出內部空間再把所有空間包起來的設計應該是屢見不鮮了,
只是以前可是要慢慢把面一個個封起來的,
希望透過這個小工具能把整個製程縮短,
其實概念非常簡單,但相對的還有一些bug看能不能解決(目前貌似無解). :(

2013/02/24

[Cluster] Rotation 自轉
































導入任何量體便可對其進行任何角度的旋轉

Import any geometry then you can rotate it any dimension you want.


Definition /















Download 抓我 ლ(◉◞౪◟◉ )ლ



2013/02/22

[Cluster] PixelBot 點陣機器人
































關於如何簡化一個模型成像素化,
其實網上已經有許多相關的案例了,
我只是試圖以自己的思維來嘗試這件事.

When it comes to how to simplify a model into pixels,
actually there are many related article already,
I'm just trying to achieve the same thing with my own logic.

P&A Lab Pixel_eyes_fish_sharks(grasshopper + T-spline)


Definition / 



Download 抓我 ლ(◉◞౪◟◉ )ლ

[Cluster] Pipe+ 路徑成管升級版




























Pipe+是根據GH內建的Pipe做改進,
也就是可以隨意給予路徑成管的剖面形狀.

Pipe+ is based on improving the GH built-in Pipe function,
which is allow user to use any kind of section curves.


Definition /













Download 抓我 ლ(◉◞౪◟◉ )ლ

[Cluster] Scaling by area or surface 面與體的縮放

















有時候我們會先做平面或三維的設計,
再根據實際的面積或空間量要求去做調整.

這兩個小工具就是讓你做完設計後,
再給予期望的面積或空間量去進行縮放,
其實都只是網上查得到的簡單數學計算而已. :)

Sometimes we'll finish the 2D or 3D design first,
then adjust them by the area or volume that the client request.
This two gadget is to let you scaling you design base on the target area or volume,
it's all just very simple calculation that you can google online. :)


Definition /















Download 抓我 ლ(◉◞౪◟◉ )ლ



[Cluster] Vertebral 脊椎

































Vertebral的作用是將一量體進行切片後找出其內部的支撐,
你可以根據組構的需要來選擇支撐.
支撐基本分為四大類,

1.  貫穿整個量體的支撐
2.  由頂部開始但只到中間即斷的支撐
3.  只存在量體中間的支撐
4.  由底頂部開始但只到中間即斷的支撐

另外還需要設定支撐的橫切面與切片的厚度.

Vertebral is a cluster that slice the model and find the support in it,
you can choose the support type base on your needs.
The support can be categorized in to four types,

1.  The support that penetrates through the whole model
2.  The support that starts from top and stops in the model
3.  The support that exists in the model
4.  The support that starts from bottom and stops in the model

You have to set the section of the support and the slice thickness.






















Definition / 
























Download 抓我 ლ(◉◞౪◟◉ )ლ

2013/02/21

Growth WIP

 
















基本上就是透過點與點之間的向量關係來理出路徑來

Basically is about the vector relationship betweeen points,
then sort out the path afterwards.


[Cluster] Slicer 切片






































Slicer是根據XYZ其中兩向度對量體進行切片的小工具,
輸入量體後,指定兩向度各切幾刀,
隨後即可生產出帶有卡榫的切片.

Slicer is a gadget that slice the model in two dimension,
after import the model, and decide how many slice for each dimension,
then it will generate the slices with tenon.


Defintion /










Download 抓我 ლ(◉◞౪◟◉ )ლ


2013/02/20

[Cluster] Round Table 圓桌

 















圓桌是個簡單的CAM小工具,
你只要畫一個剖面(封閉線或面)輸入給它後,
它即可生成後續的卡榫系統並攤平以利雷射切割.
當然板材的個數與厚度也都是可以調整的.

Round Table is a simple CAM tool,
you only have to import a simple section(either a closed curve or a surface) to it,
then it can generate tenons for the components and then flatten for laser cutting. 
The amount of components and thier thickness can also be adjust.


Definition /

















Download 抓我 ლ(◉◞౪◟◉ )ლ


2013/02/19

Lint 毛球 WIP























































給予向量之後透過一定的擾動讓點向外挪移,
並同時紀錄其行進路徑.

By giving a certain vector and add some interference to let the point move along with it,
and record the moving path at the same time.


2013/02/18

[Cluster] Skyline























這是一個簡單對區域做量體配置的小功能,
基本上需要預設的值有四,

基地範圍 (planar surface)
基地內建築的投影形態 (planar surface)
基地內建築數量
基地內總樓地板面積

其他只是參數的調整,
包括旋轉建築面向,單層樓高,天際線的設定等等,
希望之後還能增加一些功能讓選擇更彈性.

This is a simple gadget for rough region planning,
there are four basic settings,

Site area (planar surface)
Building types in the site (planar surface)
Building numbers in the site
Total floor area

Other parameters are like rotate buildings orientation,
each floor's height, the skyline and etc.,
hope more parameter can be added to make this gadget more flexible to use.



Definition /


 













Download 抓我 ლ(◉◞౪◟◉ )ლ



2013/02/17

Romanesco Broccoli 羅馬花椰菜

 








 





 
只是單純照Vicente Soler的definition去拉(需要灌MeshEdit),
很容易把犀牛搞當機噢,請小心玩弄. :)
 
Just simply follow Vicente Soler's definition(MeshEdit tool required),
it's really easy to crash Rhino, so be careful(or not). :)
 
Vicente Soler's Mandelbulb discussion thread
 


Definition /







 

Download 抓我 ლ(◉◞౪◟◉ )ლ
 
 

2013/02/16

Skyline WIP












上次工作營有業界的人問到類似初步區域規劃的問題,
條件很簡單,就是要有基地範圍,總樓地板面積,建築數量和高度限制,
那時候沒什麼時間只能拉個大概而且回家想想問題還滿多的,
所以現在嘗試把它做成一顆電池,這樣大家直接用也很好,
不用知道why,只要知道how就好了.
現在還剩建築會相撞跟高度限制的問題還沒解決,
數字的相對關係真的是很煩人啊... :vI


2013/02/15

[Cluster] Peep 視野分析

有時在較複雜的空間配置下我們比較難去想像身處其中某處時的對外視野,
因此Peep這個小工具就是讓我們在設定三項參數後,
可以分析出有視野的方向與其角度.

三項參數分別為,
地點:        輸入為單點
遮蔽物:    輸入為封閉聚合線或面
標的物:    輸入為線或曲線

Sometimes when we face a more complex space arrangements,
it's hard to imagine the external view we'll have,
therefore, after setting three parameters,
Peep this gadget will analyze the view direction and its angle.

The three parameters were,
Location:           input single point
Surrounding:     input either closed polylines or surfaces
View Target:     input lines or curves


/


































在此我們以藤本壯介的兒童精神療養中心為例,
紅色是所處的地點,藍色是周圍的空間,綠色是希望看到的視野.

假如所處的地點變成藍色,
則代表可能是該點無法看到我們所希望看到的視野,
或是視野並無被任何空間所遮蔽.

Here we'll use Sou Fujimoto's Children’s Center for Psychiatric Rehabilitation as example,
RED is the standing location,
BLUE is the spaces consider might block the view,
and GREEN is the view we expected to see.

If the location turns BLUE,
it means either that spot can't see any view we're expecting,
or the view ain't blocked at all.






















Definition /

















Download 抓我 ლ(◉◞౪◟◉ )ლ





2013/02/13

BZ Reaction BZ震盪反應

將Alasdair Turner用Processing寫的BZ震盪反應程式碼移植到Grasshopper上,
基本上3D就是將2D的結果疊加起來而已.

Migrate Alasdair Turner's BZ reaction code to Grasshopper,
the 3D version is from stacking the 2D results.

Alasdair Turner BZ reaction code



2D BZ reaction





3D BZ reaction





Definition /











Download 抓我 ლ(◉◞౪◟◉ )ლ



2013/02/12

Noisy Flower
















新年快樂~~~!
Happy Chinese New Year~~~!

自之前從Processing移植BZ震盪反應到GH後,
便繼續從OpenProcessing去找可以移植的案例來練習,
而Noisy Flower便是以Algirdas Rascius在Processing對noise的應用為基礎移植過來的範例,
這def需要用到4D Noise外掛.

Since I migrate the BZ reaction from Processing to Grasshopper,
I continue to find codes that also can be migrate to GH at OpenProcessing.com as practice,
and Noisy Flower is a Processing to GH migration base on Algirdas Rascius noise effect code,
this GH definition requires 4D Noise plugin.

Algirdas Rascius's Processing code

4D Noise plugin download




Definition /








Download 抓我 ლ(◉◞౪◟◉ )ლ



[Cluster] Points Round Sorting 環狀排列點





 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
有時候點的排列順序會因為經過一些運算後失去秩序,
所以GH有內建的Sort Points,但它是依每個點的x,y,z值依序去重整,
因此當我們若要點以還狀排列時則無法達成需求,
而Points Round Sorting則可以解決此問題.
 
Sometimes point index will lose its order through some caculation,
and Grasshopper has a built-in function called Sort Points to rebuilt the order,
however, it sort the points by their X value as priority, then Y and Z.
But what if the point index is arranged in circle?
Then sort points can't help, and that's when Points Round Sorting comes in.
 
Points Round Sorting這功能很簡單,
只要輸入需要排列的點跟相對點,
相對點位置的設定會影響點的排列,如下.
 
The cluster is very simple,
you only have to input the points need to be sorted and a reference point,
the reference point position will affect the points arrangement, see below.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
以上.
 
 

 

2013/02/03

Rubbing test 01

將網面上的控制點與隨機另一點與方體內的點以三點構成向量平面,
再給予控制點360度旋轉的週期,就可以做出浮動的效果.
也許當各點的旋轉向度是有規則時,
我們就可以生產出類似Michael Hansmeyer的柱子.

Use mesh face control point with another random point and a point in the box to form a plane,
then rotate the point with 360 degrees cycle and it will show a fluid effect.
Maybe when each point's rotation vector is bounded with rules,
then we can generate columns similar to Michael Hansmeyer ones.



Snake + Eisenman style
















透過Hoopsnake去模糊類似以前Nokia手機的經典遊戲 - Snake,
線會在固定範圍內移動增長,
並在最後給予剖面使其延著路徑形成類似Eisenman的住宅設計風格.

Using hoopsnake plugin to simulate the classic NOKIA cell phone game - Snake,
the polyline(snake) is running in the boundary,
then assign section curve to follow the path  

in order to create final result like Eisenman's housing design style.




2013/02/02

[Cluster] Tracing Boundary 尋找邊界成面

 
 
/
 
 
 
首先我們可以用Michael Hansmeyer的柱子當例子,
當他把3D切剖面的時候,其實裡面的線是交錯重疊的而無法送進雷射切割,
但他用了half edge演算法去找出最外邊的線而解決了此問題.
這也是我嘗試在Grasshopper裡做到的事情(當然比寫程式來的簡單許多...).

First, we can use the amazing columns made by Michael Hansmeyer as an example,
when he slice the column for sections,
it's actually ovelapped with many lines,
so it can't be send into the laser cutter or else it would be a mess.
However, he use the half edge algorithm to solve the problem,
and this is what I'm trying to achieve in Grasshopper(which is a lot easier without coding...).

基本上你可以隨便給任何直線或曲線,甚至兩者都有的情況,
尋找邊界會自動幫你算出最大可成面的邊界,
當然有時可構成的面並不相連,
所以你可以透過設定決定是否只顯示最大面積的面,
亦或是輸出所有可被構成的面.

Basically the cluster accepts lines or curves, even having both at the same time,
the cluster will automatically find the biggest surface by tracing the boundary,
but sometimes the surfaces aren't linked together,
so you can decide whether to generate the surface with biggest area
or output all the surfaces that can be formed.



一開始總共有5條或直或曲的線
Starts with 5 lines (polyline and curve)

















送去尋找邊界找出所有可成形的面
Send them in the cluster and generate all the surface

















只找出最大面積的面的情況
Find biggest surface

















Definition /

 







Download 抓我 ლ(◉◞౪◟◉ )ლ