讨论 --- 180页_翻译机器版

[复制链接]
游泳的狼 发表于 2009-4-8 17:33:05
11
我是说,如果大家真的要合力翻译的话,LZ就出一个时间表和分工表。不然没法做啊。

今天一下午把原文看完了。。。
关于大陆地区Rhino原厂培训中心
wudi1212 发表于 2009-4-8 17:55:24
12

回复 11楼 游泳的狼 的帖子

楼上的是ABBSer?
原文既然看完了那就来帮易人做下翻译吧
呵呵~
 楼主| 易人 发表于 2009-4-8 18:07:39
13
原帖由 游泳的狼 于 2009-4-8 17:33 发表
我是说,如果大家真的要合力翻译的话,LZ就出一个时间表和分工表。不然没法做啊。

今天一下午把原文看完了。。。

我其实不是楼主,首发的是ana.....还忘了。
反正我们没版主做的有条理。但采用分布式人肉翻译。一样能完成。
好和精先别论。先完成个批判版。
同意就把自己的草稿贴出来。
大家来讨论。
 楼主| 易人 发表于 2009-4-8 18:25:02
14
GH_chapter_h00b.txt

【原文】ALGORITHMIC MODELLING With GRASSHOPPER
【译文】GRASSHOPPER 算法化建模
【原文】Introduction
【译文】介绍
【原文】Have you ever played with LEGO Mindstorms NXT robotic set?
【译文】你玩过 LEGO Mindstorms NXT 机器人组件吗 ?
【原文】Associative modelling is something like  that!
【译文】相关的建模方式与它有点类似!
【原文】While  it  seems  that  everything  tends  to  be  Algorithmic  and  Parametric  why  not architecture?
【译文】似乎每件事情趋向于算法化和参数化,建筑为什么例外 ?
【原文】During  my  Emergent  Technologies  and  Design  (EmTech)  master  course  in  the  Architectural Association (AA),
【译文】在伦敦Architectural Association (AA)上设计技术 (EmTech) 课期间 ,
【原文】I decided to share my experience in realm of Algorithmic design and Associative Modelling  with  Grasshopper  as  I  found  it  a  powerful  platform  for  design  in  this  way.
【译文】当发现这种方法是强劲的设计平台时,我决定分享在使用Grasshopper算法化设计和关联化建模领域中的经验。
【原文】I  did  this because  it  seems  that  the  written,  combined  resources  in  this  field  are  limited  
【译文】我做这些是因为该领域的文章资源很有限。
【原文】(although  on‐line resources are quiet exciting).
【译文】( 虽然在线资源是相当精彩的)。
【原文】This is my first draft and I hope to improve it and I also hope that it would be helpful for you.
【译文】这是我的第一草稿,我希望进一步修订它。希望对你能有所帮助。

Mohamad Khabazi
【原文】This book produced and published digitally for public use.
【译文】本书以数码形式公开发行。
【原文】No part of this book may be reproduced in any manner whatsoever without permission from the author,
【译文】没有作家者的许可,本书的内容不能以任何形式复制。
【原文】except in the context of reviews.
【译文】不包括reviews的内容。
【原文】m.khabazi@gmail.com www.khabazi.com/flux
【译文】
【原文】Contents
【译文】内容
【原文】Chapter_1_Algorithmic Modelling
【译文】Chapter_1_算法化建模  ................................... 1
【原文】Chapter_2_The very Beginning
【译文】Chapter_2_入门   ........................................ 5
【原文】2_1_ Method
【译文】2_1_ 方法     ............................................6
【原文】2_2_The very basics of Grasshopper
【译文】2_2_ Grasshopper初步  ....................................7
【原文】2_2_1_Interface, workplace   
【译文】2_2_1_ 工作界面   ........................................7
【原文】2_2_2_Components
【译文】2_2_2_ 计算组件  ...................................... 8
【原文】2_2_3_Data matching
【译文】2_2_3_ 数据比对   .......................................14
【原文】2_2_4_Component’s Help (Context pop‐up menu)  
【译文】2_2_4_ 计算组件帮助 (下拉菜单内容) ...................16
【原文】2_2_5_Type‐In component searching / adding
【译文】2_2_5_ 键入式计算组件搜索 / 添加 ..............17
【原文】2_2_6_Geometry Preview Method
【译文】2_2_6_几何预示方法  ...........................17
【原文】2_3_Other Resources
【译文】2_3_ 其他资源     ...................................18
【原文】Chapter_3_Data sets and Math
【译文】Chapter_3_数组和数学.............................. 19
【原文】3_1_Numerical Data sets
【译文】3_1_ Numerical 数组...................................20
【原文】3_2_On Points and Point Grids
【译文】3_2_ 点和点网      .................................. 22
【原文】3_3_Other Numerical Sets
【译文】3_3_   其他数组   .................................. 23
【原文】3_4_Functions
【译文】3_4_ 函数  .............................................25
【原文】3_5_Boolean Data types
【译文】3_5_ Boolean 数据类型.................................... 28
【原文】3_6_Cull Patterns  
【译文】3_6_ 采集式样 ........................................30
【原文】3_7_2D Geometrical Patterns
【译文】3_7_2D   几何式样................................35

【原文】Chapter_4_Transformation   
【译文】Chapter_4_变形        ..........................46
【原文】4_1_Vectors and planes
【译文】4_1_点和面    .....................................48
【原文】4_2_On curves and linear geometries
【译文】4_2_ On 曲线和线性几何 ..................49
【原文】4_3_Combined Experiment:
【译文】4_3_ 组合实验:
【原文】Swiss Re
【译文】 瑞士再保险 ?                  .....................57
【原文】4_4_On Attractors  
【译文】4_4_ 关于吸引元素 ..................................68
【原文】Chapter_ 5_Parametric Space
【译文】Chapter_5_  参数空间  ...............................80
【原文】5_1_One Dimensional (1D) Parametric Space
【译文】5_1_ 一维空间的 (1 D) 参数空间   ..............81
【原文】5_2_Two Dimensional (2D) Parametric Space
【译文】5_2_ 二维空间的 (2 D) 参数空间   ..............83
【原文】5_3_Transition between spaces
【译文】5_3_  空间转化  ..........................84
【原文】5_4_Basic Parametric Components  
【译文】5_4_ Basic参数化计算组件  ..........................85
【原文】5_4_1_Curve Evaluation  
【译文】5_4_1_ 曲线评估...................................85
【原文】5_4_2_Surface Evaluation   
【译文】5_4_2_ 曲面评估................................86
【原文】5_5_On Object Proliferation in Parametric Space
【译文】5_5_  参数空间内的物体增殖    ...........88
【原文】Chapter_6_ Deformation and Morphing
【译文】Chapter_6_ 变形和Morphing      .................96

【原文】6_1_Deformation and Morphing
【译文】6_1_ 变形和Morphing    ..........................97
【原文】6_2_On Panelization  
【译文】6_2_  控制板  ..................................99
【原文】6_3_Micro Level Manipulations
【译文】6_3_ Micro 水平处理  .........................102
【原文】6_4_On Responsive Modulation
【译文】6_4_   调节反馈  .............................106

【原文】Chapter 7_NURBS Surface and Meshes
【译文】第 7_ 章  NURBS 曲面和网格 .......................112

【原文】7_1_Parametric NURBS Surfaces
【译文】7_1_  参数化 NURBS 曲面    ........................113
【原文】7_2_Mesh vs. NURBS
【译文】7_2_ Mesh 与 NURBS   ..................................124

【原文】7_2_1_Geometry and Topology  
【译文】7_2_1_ 几何和拓扑.............................124
【原文】7_3_On Particle Systems
【译文】7_3_ 粒子系统..................................126
【原文】7_4_On Colour Analysis
【译文】7_4_ 颜色分析...................................135
【原文】7_5_Manipulating Mesh objects as a way of Design
【译文】7_5_      操控网格物体设计方法..........139
【原文】Chapter_8_Fabrication
【译文】Chapter_8_制造   ....................................141
【原文】8_1_Datasheets
【译文】8_1_ 数据手册...........................................143
【原文】8_2_Laser Cutting and Cutting based Fabrication
【译文】8_2_ 激光切割和制造           .......................... 155
【原文】Chapter_9_Design Strategy  
【译文】Chapter_9_设计策划..............................170
【原文】Bibliography
【译文】叁考书目.............................................174

[ 本帖最后由 易人 于 2009-4-8 18:29 编辑 ]

评分

参与人数 1坛币 +2 收起 理由
Jessesn + 2

查看全部评分

wudi1212 发表于 2009-4-8 18:28:10
15
你这样一点一点的看着好累~
 楼主| 易人 发表于 2009-4-8 18:36:33
16
原帖由 wudi1212 于 2009-4-8 18:28 发表
你这样一点一点的看着好累~

就是让大家看到有些水平很差的傻瓜在干傻事,高手就会出来。抛砖引玉呀。。。。
会完成一个非常正规的pdf文件的。但翻译文字要对版才行。

[ 本帖最后由 易人 于 2009-4-8 18:40 编辑 ]
游泳的狼 发表于 2009-4-8 19:04:17
17
这个。。。说实话。,真要认真的话,先给M.HABAZI@GMAIL.COM发个邮件,人家在PDF最后一页写了,
“No part of this book may be reproduced in any manner whatsoever without written permission from the author. Except in the  context of reviews."
 楼主| 易人 发表于 2009-4-8 20:11:54
18

GH_chapter_h08bt.txt

GH_chapter_h08bt.txt

Chapter_8_Fabrication
142        Fabrication

Chapter_8_Fabrication

Today  there  is  a  vast  growing  interest  on  material  practice  and  fabrication  in  combination  with Computer Aided Manufacturing.
Due to the changes have happened in design processes,
it seems a crucial move and one of the ‘Musts’ in the field of design.
Any design decision in digital area,
should be tested in different scales to show the ability of fabrication and assembly.
Since it is obvious that the new design processes and algorithms do not fit into the traditional building processes,
designers now  try  to  use  the  modern technologies  in  fabrication  to  match  their  design  products.
From the moment  that  CNC  machines  started  to  serve  the  building  industry  up  to  now,  
a  great  relation between digital design and physical fabrication have been made and many different technologies and machineries being invented or adjusted to do these types of tasks.

In order to design building elements and fabricate them,
we need to have a brief understanding of the  fabrication  processes  for  different  types  of  materials  and  know  how  to  prepare  our  design outputs for them.
This is the main purpose of the fabrication issues in our design process.
Based on the object we designed and material we used, assembly logic,
transportation, scale, etc.
we need to provide the suitable data from our design and get the desired output of that to feed machineries.

If traditional way in realization of a project made by Plans, Sections, Details, etc.
today, we need more details or data to transfer them to CNC machines,
to use them as source codes and datasheets for industries and so on.

The point here is that the designer should provide some of the required data,
because it is highly interconnected with design object.
Designer sometimes should use the feedback of the fabrication‐ data‐preparation for the design readjustment.
Sometimes the design object should be changed in order to fit the limitations of the machinery or assembly.

Up to this point we already know different potentials of the Grasshopper to alter the design,
and these design variations could be in the favour of fabrication as well as other criteria.
I just want to open the subject and touch some of the points related to the data‐preparation phase,
to have a look at  different  possibilities  that  we  can  extract  data  from  design  project  in  order  to  fabricate  it  or sometime readjust it to fit the fabrication limitations.

143

8_1_Datasheets

In order to make objects, sometimes we simply need a series of measurements, angels, cordinatesand  generally  numerical  data.
There  are multiple  components  in  Grasshopper  to  compute  the measurements, distances, angels, etc.
the important point is the correct and precise selection of the objects that we need to address for any specific purpose.
We should be aware of any geometrical complexity that exits in the design and choose the desired points for measurement purposes.
The next point is to find the positions that give us the proper data for our fabrication purpose and avoid to  generate  lots  of  tables  of  numerical  data  which  could  be  time  consuming  in  big  projects
but useless at the end. Finally we need to export the data from 3D software to the spreadsheets and datasheets for further use.


Paper_strip_project

The idea  of using  paper  strips attracted me for  some investigations,
although  it had  been  tested before (like in Morpho‐Ecologies by Hensel and Menges, 2008).
To understand the simple assemblies
I started with very simple combinations for first level and I tried to add these simple combinations together as the second level of assembly.
It was interesting in the first tries but soon it became out of order and the result object was not what I assumed.
So I tried to be more precise to get the more delicate geometries at the end.

Fig.8.1. Paper strips, first try.


144        Fabrication

In the next step I tried to make a very simple set up and understand the geometrical logic and use itas the base for digital modelling.
I assumed that by jumping into digital modelling I would not be able to make physical model and I was sure that I need to test the early steps with paper.
My aim was to use three paper strips and connect them,
one in the middle and another two in two sides with longer length,
restricted at their ends to the middle strip.
This could be the basic module.

Fig.8.2.  simple  paper  strip  combination  to  understand  the  connections  and  move  towards  digital modelling.

Digital modelling

Here I wanted to model the paper strip digitally after my basic understanding of the physical one.
From the start point I need a very simple curve in the middle as the base of my design and I can divide it and by culling these division points (true, false) and moving (false ones) perpendicular to the middle curve  and using  all  these  points
(true  ones and  moved ones)  as  the  vertices for  two interpolated curves I can model this paper strips almost the same as what I described.

Fig.8.3.a/b.
First modelling method with interpolated curves as side strips.

145       
Fabrication

But it seemed so simple and straightforward. So I wanted to add a gradual size‐differentiation in connection  points  so  it  would  result  in  a  bit  more  complex  geometry.  Now  let’s  jump  into Grasshopper and continue the discussion with modelling there.
I will try to describe the definition briefly and go to the data parts.

Fig.8.4.
The <curve> component is the middle strip which is a simple curve in Rhino.
I reparameterized it and I want to evaluate it in the decreasing intervals. I used a <range> component and I attached it to a <Graph Mapper> component (Params > Special > Graph Mapper). A <Graph mapper> remaps a set of numbers in many different ways and domains by choosing a particular graph type.
As you see, I evaluated the curve with this <Graph mapper> with parabola graph type and the resultant points on the curve are clear.
You can change the type of graph to change the mapping of numeric range (for further information go to the component help menu).

146       
Fabrication

Fig.8.5.  
After  remapping  the  numerical  data  I  evaluated  the  middle  curve  with  two  different <evaluate> components.
First by simply attach it to the data from <graph mapper> as basic points.
Then I need to find the midpoints.
Here I find the parameters of the curve between each basic point and the next one.
I <shift>ed the data to find the next point and I used <dispatch > to exclude the last item of the list (exclude 1) otherwise I would have one extra point in relation to the <shift>ed points.
The <function>  component  simply  find  the  parameter  in  between  ( f(x)=(x+y)/2  )  and  you  see the resultant parameters being evaluated.


Fig.8.6.  
Now  I  want  to  move  the  midpoints  and  make  the  other  vertices  of  the  side  strips. Displacement of these points must be always perpendicular to the middle curve.
So in order to move the points I need vectors, perpendicular to the middle curve at each point.
I already have the Tangent vector at each point,
by <evaluate> component.
But I need the perpendicular vector.
We now that the  Cross  product  of  two  vectors is  always  a  vector  perpendicular  to  both  of  them  (Fig.8.7).  
For example unit Z vector could be the cross product of the unit X and Y vectors.
Our middle curve is a planer curve so we now that the Z vector at each point of the curve would be always perpendicular to the curve plane.
So if I find the cross product of the Tangent of the vector and Z vector at each point,
the result is a vector perpendicular to the middle curve which is always lay down in the curve’s plane.
So I used Tangent of the point from <evaluate> Component and a <unit Z> vector to find the <XProd> of them which I know that is perpendicular to the curve always.
Another trick!
I used the numbers of the  <Graph  Mapper>  as  the  power  of  these  Z  vectors  to  have  the  increasing  factors  for  the movements of points,
in their displacements as well,
so the longer the distance between points,
the bigger their displacements.

147       
Fabrication

Fig.8.7.
Vector cross product.
Vector A and B are in base plane.
Vector C is the cross product of the A and B and it is perpendicular to the base plane so it is also perpendicular to both vectors A and B.

Fig.8.8.
Now I have both basic points and moved points.
I <merge>d them together and I sorted them based on their (Y) values to generate an <interpolate>d curve which is one of my side paper strip.
(If you manipulate your main curve extremely or rotate it,
you should sort your points by the proper factor).

148       
Fabrication

Fig.8.9.
Using  a  <Mirror  Curve>  component  (XForm  >  Morph  >  Mirror Curve)  I  can  mirror  the <interpolate>d curve by middle <curve> so I have both side paper strips.

Fig.8.10.
Now if I connect middle curve and side curves to an <extrude> component I can see my first paper strip combination with decreasing spaces between connection points.

Fig.8.11.  
I  can  simply  start  to  manipulate  the  middle  strip  and  see  how  Grasshopper  updates  the three paper strips which are connecting to each other in six points.
 楼主| 易人 发表于 2009-4-8 20:13:44
19

GH_chapter_h08bt.txt 02

149       
Fabrication

After I found the configuration that I wanted to make a paper strip model,
I needed to extract the dimensions and measurements to build my model with that data.
Although it is quiet easy to model all these strips on paper sheets and cut them with laser cutter but here I like to make the process more general and get the initial data needed to build the model,
so I am not limited myself to one specific machine and one specific method of manufacturing.
You can use this data for any way of doing  the  model  even  by  hand  !!!!  
as  I  want  to  do  in  this  case  to  make  sure  that  I  am  not overwhelmed by digital!

By doing a simple paper model I know that I need the position of the connection points on the strips and   it   is   obvious   that   these   connection   points   are   in   different   length   in   left_side_strip,
right_side_strip and middle_strip.
So if I get the division lengths from Grasshopper I can mark them on the strips and assemble them.

Since strips are curve,
the <distance > component does not help me to find the measurements.
I need the length of curve between any two points on each strip.
When I evaluate a parameter on a curve,
it gives me its distance from the start point as well.
So I need to find the parameter of the connection points of the strips (curves) and evaluate the position of them for each curve and the <evaluate> component would give me the distance of the points from the start point of curve means positions of connection points.

Fig.8.12.
Although my file became a bit messy I replaced some components position on canvas to bring them together.
As you see I used the first set of points that I called them ‘main curve points’ on the middle strip (initial curve).
These are actually connection points of strips.
The (L) output of the component gives me the distances of connection points from the start points of the middle strip.
I used these points to find their parameter on the side curves as well (<curve cp> component).
So I used these parameters to evaluate the side curve on those specific parameters (connection points) and find their distances from the start point.
I can do the same to find the distance of the connection points on the other side strip (<mirror>ed one) also.
At the end,
I have the position of all connection points in each paper strip.

150       
Fabrication

Make sure that the direction of all curves should be the same otherwise you need to change the direction of the curve or if it affects your project,
you can simply add a minus component to minus this distances from the curve length
which mathematically inverses the distance and gives you the distances of points from the start point instead of end point
(or vice versa).

Exporting Data

Fig.8.13.
Right‐click on the <panel> component and click on the ‘stream contents’.
By this command you would be able to save your data in different formats and use it as a general numeric data.
Here I would save it with simple .
txt format and I want to use it in Microsoft Excel.

151       
Fabrication

Fig.8.14.
On the Excel sheet,
simply click on an empty cell and go to the ‘Data’ tab and under the ‘Get External Data’ select ‘From Text’.
Then  select the saved  txt file  from  the address  you  saved  your stream content and follow the simple instructions of excel.
These steps allow you to manage your different types of data,
how to divide your data in different cells and columns etc.

Fig.8.15.
Now you see that your data placed on the Excel data sheet.
You can do the same for the rest of your strips.

152       
Fabrication

Fig.8.16.
Table of the connection points alongside the strip.

If you have a list of 3D coordinates of points and you want to export them to the Excel,
there are different options than the above example.
If you export 3D coordinates with the above method you will see there are lots of unnecessary brackets and commas that you should delete.
You can also add columns by clicking in the excel import text dialogue box and separate these brackets and commas from the text in different columns and delete them
but again because the size of the numbers are not the same,
you will find the characters in different columns that you could not align separation lines for columns easily.

In such case I simply recommend you to decompose your points to its components and export them separately.
It is not a big deal to export three lists of data instead of one.

Fig.8.17.
Using <decompose> component to get the X, Y and Z coordinates of the points separately to export to a data sheet.

153       
Fabrication

You  can  also  use  the  ‘Format()’  function  to  format  the  output  text,  
directly  from  a  point  list  in desired  string  format.  
You  need  to  define  your  text  in  way  that  you  would  be  able  to  separate different parts of the text by commas in separate columns in datasheet.

Enough for modelling!
I used the data to mark my paper strips and connect them together.
To prove it even to myself,
I did all the process with hand !!!!
to show that fabrication does not necessarily mean  laser  cutting  (HAM,  as  Achim  Menges  once  used  for  Hand  Aided  Manufacturing!!!!).
I  just spent an hour to cut and mark all strips but the assembly process took a bit longer
which should be by hand anyway.

154       
Fabrication

Fig.8.18.a/b/c.
Final paper‐strip project.

155       
Fabrication

8_2_Laser Cutting and Cutting based Fabrication

The  idea  of  laser  cutting  on  sheet  materials  is  very  common  these  days  to  fabricate  complex geometries.  
There  are  different  ways  that  we  can  use  this  possibility  to  fabricate  objects.  
Laser cutter method suits the objects that built with developable surfaces or folded ones.
One can unfold the digital geometry on a plane and simply cut it out of a sheet and fold the material to build it.
It is also suitable to make complex geometries that could be reduced to separate pieces of flat surfaces and one can disassemble the whole model digitally in separate parts,
nest it on flat sheets,
add the overlapping parts for connection purposes (like gluing) and cut it and assemble it physically.
It is also possible  to  fabricate  double‐curve  objects  by  this  method.  
It  is  well  being  experimented  to  find different sections of any ‘Blob’ shaped object,
cut it at least in two directions and assemble these sections together usually with Bridle joints and make rib‐cage shaped models.

Since the laser cutter is a generic tool,
there are other methods also, but all together the important point is to find a way, to reduce the geometry to flat pieces to cut them from a sheet material,
no matter paper or metal,
cardboard or wood and finally assemble them together (if you have Robotic arm and you can cut 3D geometries it is something different!).

Among the different ways discussed here I want to test one of them in Grasshopper and I am sure that you can do the other methods based on this experiment easily.

Free‐form surface fabrication
I decided to fabricate a free‐form surface to have some experiments with preparing the nested partsof a free‐form object to cut and all other issues we need to deal with.


Fig.8.19.  
Here  I  have  a  surface  and  I  introduced  this  surface  to  Grasshopper  as  a  <Geometry> component,  
so  you  can  introduce  any  geometry  that  you  have  designed  or  use  any  Grasshopper object that you have generated.

Sections as ribs

In order to fabricate this generic free‐form surface I want to create sections of this surface,
nest them on sheets and prepare the files to be cut by laser cutter.
If the object that you are working on has a certain thickness then you can cut it but if like this surface you do not have any thickness you need to add a thickness to the cutting parts.

156       
Fabrication

Fig.8.20.
In the first step I used a <Bounding Box> component to find the area that I want to work on.
Then by using an <Explode> component (Surface > Analysis > BRep components) I have access to its edges.
I selected the first and second one (index 0 and 1) which are perpendicular to each other.


Fig.8.21.
In this step I generated multiple perpendicular frames alongside each of selected edges.
The number of frames is actually the number of ribs that I want to cut.


Fig.8.22.
Closer view of frames generated alongside the length and width of the object’s bounding box.
As you see I can start to cut my surface with this frames.

157       
Fabrication

Fig.8.23.
Now if I find the intersections of these frames and the surface (main geometry),
I actually generated  the  ribs  base  structure.  
Here  I  used  a  <BRep  |  Plane>  section  component  (Intersect  > Mathematical > BRep | Plane) to solve this problem.
I used the <Geometry> (my initial surface) as BRep and generated frames,
as planes to feed the section component.


Fig.8.24. Intersections of frames and surface, resulted in series of curves on the surface.
 楼主| 易人 发表于 2009-4-8 20:14:37
20

GH_chapter_h08bt.txt 03

158       
Fabrication

Nesting

The next step is to nest these curve sections on a flat sheet to prepare them for the cutting process.
Here I drew a rectangle in Rhino with my sheet size.
I copied this rectangle to generate multiple sheets overlapping each other and I drew one surface that covers all these rectangles to represent them into Grasshopper.

Fig.8.25.
Paper sheets and an underlying surface to represent them in Grasshopper.

I  am  going  to  use  <Orient>  component  (XForm  >  Euclidian  >  Orient)  to  nest  my  curves  into  the surface which represents the sheets for cutting purpose.
If you look at the <orient> component you see that we need the  objects plane as reference plane and target plane  which should be on  the surface.
Since I used the planes to intersect the initial surface and generate the section curves,
I can use them again as reference planes,
so I need to generate target planes.

Fig.8.26.
I introduced the cutting surface to Grasshopper and I used a <surface Frame> component (Surface > Util > Surface frames) to generate series of frames across the surface.
It actually works like <divide surface> but it generates planes as the output,
so exactly what I need.

159       
Fabrication


Frames

Fig.8.27.
Orientation. I connected the section curves as base geometries,
and the planes that I used to generate  these  sections  as  reference  geometry  to  the  <orient>  component.  
But  still  a  bit  of manipulations is needed for the target planes.
If you look at the <surface frame> component results you see that if you divide U direction even by 1 you will see it would generate 2
columns to divide the surface.
So I have more planes than I need.
So I <split> the list of target planes by the number that comes from the number of reference curves.
So I only use planes as much as curve that I have.
Then I moved  these  planes  1  unit  in  X  direction  to  avoid  overlapping  with  the  sheet’s  edge.  
Now  I  can connect these planes to the <orient> component and you can see that all curves now nested on the cutting sheet.


Fig.8.28. nested curves on the cutting sheet.

160       
Fabrication

Making ribs

Fig.8.29.
After nesting the curves on the cutting sheet,
as I told you, because my object does not have any thickness,
in order to cut it,
we need to add thickness to it.
That’s why I <offset> oriented curves with desired height and I also add <line>s to both ends of these curves and their offset ones
to close the whole drawing so I would have complete ribs to cut.

Joints (Bridle joints)

The next issue is to generate ribs in other direction and make joints to assemble them after being cut.
Although I used the same method of division of the bounding box length to generate planes and then sections,
but I can generate planes manually in any desired position as well.
So in essence if you do not want to divide both directions and generate sections evenly,
you can use other methods of generating planes and even make them manually.

Fig.8.30.
As you see here, instead of previously generated planes,
I used manually defined planes for the  sections  in  the  other  direction  of  the  surface.
One  plane  generated  by  X  value  directly  from <number slider> and another plane comes from the mirrored plane on the other side of the surface (surface length – number slider).
The section of these two planes and surface is being calculated for the next steps.

161       
Fabrication

Now I can orient these new curves on another sheet to cut which is the same as the other one.
So let’s generate joints for the assembly which is the important point of this part.

Fig.8.31.
since we have the curves in two directions we can find the points of intersections.
That’s why I used <CCX> components (Intersect > Physical > Curve | Curve) to find the intersect position of these curves which means the joint positions (The <CCX> component is in cross reference mode).


After finding joint’s positions,
I need a bit of drawing to prepare these joints to be cut.
I am thinkingof preparing bridle joints so I need to cut half of each rib on the joint position to be able to join them at the end.
First I need to find these intersect position on the nested ribs and then draw the lines for cutting.

Fig.8.32.  
If  you  look  at  the  outputs  of  the  <CCX>  component  you  can  see  that  it  gives  us  the parameter  in  wish  each  curve  intersect  with  the  other  one.
So  I  can  <evaluate>  the  nested  or <orient>ed curves with these parameters to find the joint positions on the cutting sheet as well.

162       
Fabrication

Fig.8.33.
Now we have the joint positions,
we need to draw them. First I drew lines with <line SDL> component with the joint positions as start points,
<unit  Y> as direction and I used half of the rib’s height as the height of the line.
So as you see each point on the nested curves now has a tiny line associated with it.

Fig.8.34.
Next step,
draw a line in X direction from the previous line’s end point with the length of the <sheet_thickness> (depends on the material).

163       
Fabrication

Fig.8.35.
This part of the definition is a bit tricky but I don’t have any better solution yet.
Actually if you offset the first joint line you will get the third line but as the base curve line is not straight it would
cross the curve (or not meet it) so the end point of the third line does not positioned on the curve. Here I drew a line from the end point of the second line,
but longer than what it should be,
and I  am  going  to  trim  it  with  the  curve.  
But  because  the  <trim  with  BRep>  component  needs  BRep objects not curves,
I extruded the base curve to make a surface and again I extruded this surface to make a closed BRep.
So if I trim the third line of the join with this BRep,
I would get the exact joint shape that I want.


Fig.8.36.
Using a <join curves> component (Curve > Util > Join curves) now as you can see I have a slot shaped <join curve> that I can use for cutting as bridle join in the ribs.

164       
Fabrication

Left joint slot

Right joint slot

Fig.8.37.
I am applying the same method for the other end of the curve (second joints on the other side of the curve).

Fig.8.38.
Ribs with the joints drawn on their both ends. With the same trick I can trim the tiny part of the base curve inside joint but because it does not affect the result I can leave it.

Labelling
While  working  in  fabrication  phase,  
it  might  be  a  great  disaster  to  cut  hundreds  of  small  parts without any clue or address that how we are going to assemble them together,
what is the order, and  which  one  goes  first.
It  could  be  simply  a  number  or  a  combination  of  text  and  number  to address the part.
If the object comprises of different parts we can name them,
so we can use the names or initials with numbers to address the parts also.
We can use different hierarchies of project assembly logic in order to name the parts as well.

Here I am going to number the parts because my assembly is not so complicated.

165       
Fabrication

Fig.8.39.
As you remember I had a series of planes which I used as the target planes for orientating my section curves on the sheet.
I am going to use the same plane to make the position of the text.
Since this plane is exactly on the corner of the rib I want to displace it first.

Initial planes        Moved planes

Fig.8.40.
I moved the corner planes 1 unit in X direction and 0.5 unit in Y direction (as <sum> of the vectors) and I used these planes as the position of the text tags.
Here I used <text tag 3D> and I generated a series of numbers as much as ribs I have to use them as texts.
The <integer> component that I used here simply converts 12.0 to 12.
As the result,
you can see all parts have a unique number in their left corner.
您需要登录后才可以回帖 登录 | 注册成为会员

本版积分规则