<markdown> # Digital Fabrication Workshop ## 첫째날: 디지털 패브리케이션과 만들기

2015년 1월 6일, 세종과학고

이재경

# 강사소개 및 워크숍 정보

- 이재경: 비정형 건축물의 가상 시공을 비롯하여, 가구, 건축물의 디자인 등을 하고 있다. 건축을 기반으로 디지털 제작 기술을 연구하고 있으며 현재 증강 현실을 이용한 건설 시공 방법을 개발 중이다. http://ljkstudio.com/ - 장소/일정: 세종과학고, 2015년 1월 - 참가: 세종과학교 1학년 20여명. - 목표: 디지털 패브리케이션 과정 경험. - 진행 방법: 과정을 디테일 하게 알려주는 것보다. 스스로 찾아가면서 코칭하는 형태로 진행

![](http://i.imgur.com/r0sMN3C.jpg)

#워크숍 시간표/교안

[교안링크](https://docs.google.com/document/d/1MZyqsL1Wx51pChnxoxdzX_oFsVA-qxvPm6nyyg6ViF0/edit)

![inline](https://i.imgur.com/JhPVSzT.png)

— # 첫째날

목표: 디지털 페브리케이션에 대해 이해하고, 자신이 만들고 싶은 것을 공유한다.

1. 디지털 페브케이션 소개 2. 기존의 제작기술 3. 만들고 싶은것 공유 4. 캐드의 기본 아이디어 소개

# 디지털 패브리케이션 소개

디지털 패브리케이션은 무엇인가요? : 컴퓨터로 제어되는 기계를 이용하여, 물건을 제작하는 프로세스. 예를 들면 CNC나, 3D 프린터, 레이저커팅기를 이용하여 물건 가공하는 과정을 말한다.

— # 디지털 데이터와 디지털 제작 도구

컴퓨터로 기계를 제어하기 위해서는 생산할려고 하는 물건의 디지털 데이터와 데이터를 이용하여 기계를 제어하는 프로그램이 필요하다.

1. Digital Data: 물건 제작을 위한 정보(모양, 재질, 움직임) 2. Digital Fabrication Tool: 디지털 데이터를 만들거나 데이터를 이용하여 기계를 제작할 수 있는 도구. 예: 캐드, 캠, 3D프린터, CNC 등..

실습 - 구글에서 Digital Fabrication 을 검색.

# Digital Fabrication을 이용하기

탈것, 가구 - 합판을 이용하여 만든 전기오토바이: http://vimeo.com/30497616 - 아이들을 위한 합판 자전거: http://goo.gl/z7Domf - 디자인 데이터가 공개된 책상: http://opendesk.cc

건축 - [Frank Gary](http://en.wikipedia.org/wiki/Frank_Gehry) - [Dame Zaha Hadid](http://en.wikipedia.org/wiki/Zaha_Hadid)

— # Digital Fabrication 알아보기

실습 - 우리 주변에 Digital Fabrication을 이용한 건축을 본적 있나? 주변친구와 이야기 나눠보자. - 내 주변의 물건중에 Digital Fabrication을 이용한 물건이 있나? 이물건은 어떤 과정으로 만들어 졌나?

![](http://designfestival.co.kr/wp-content/uploads/2013/12/25.-DDP-exterior.jpg)

# 기존의 제작기술

3D 프린터 이전에는 뭐가 있었나? 이미 수백년동안 물건 제작 방법에 발전이 있었다.

- 플라스틱 사출. 금형 - Vacume Forming (카본 파이버 자동차 소개: https://www.youtube.com/watch?v=504I_hJDFck) - 밀링, 머시닝 센터 - 그외 … 많음 (기존의 제작기술을 구글에서 찾아보자!)

![](http://upload.wikimedia.org/wikipedia/commons/1/16/Makino-S33-MachiningCenter-example.jpg)

# 기존의 제작기술 2

![inline](http://cache3.asset-cache.net/gc/143595397-potter-making-bowl-gettyimages.jpg?v=1&c=IWSAsset&k=2&d=RSRI0rszAvJ6iJsq0Hja6TKnh6e755xhIh1ov3mPUHoWMSdxrHQZKIO7qSzaRCgaza8O3LX0a%2FsqzSEkqzEeXw%3D%3D)![inline](http://goo.gl/xqAuoF)![inline](http://www.build-stuff.com/static/images/images-book/001_vacuum_forming/Vacuum_Forming_Process_pg6.gif)

재료 알기 제작을 하기 위해서는 가공할 재료를 이해하는것이 중요하다. 3D 프린터로 뽑는 쓰는데 쓰는 재료는 극히 제한적이기 때문에, 다양한 재료를 다루기 위해서는 기존의 Fabrication 방법에 대해서 알아야 한다.

# 만들고 싶은것 공유하기

이번 워크숍 동안 라이노를 이용하여 설계하여 제작하고 싶은 내용을 공유

``` 미러큐브, 읽어버린 소리기사는 휴대폰 케이스. 에어백 케이스, 동그란 큐브, 권총, 모델 기차, 복잡한 패턴 필요, MP3 케이스. 골전도 스피커, 뿔달린 프라모델, 조종할 수 있는 팽이, 드론 쿼드콥터 → 움직이는 알람시계, 눈과 입에서 빛이 나는 두들럼프, 미니언. (코멘트: 3d프린터 제질 말고 다른 제질), 선물용 샤프, 던지면 바뀌는 요술공 , 인형, 머리에 꽂을 수 있는, 비녀, 가스가 세면, 이산화 탄소를 측정. 개복치 가스 경보기, 슈팅 바쿠간, 쓰레기통(던지면 받는), 목걸이, 트리하우스, 푹신한 전기카트 ```

# 캐드에 대한 기초적인 생각

컴퓨터는 공간을 모른다. 제약적인 컴퓨터에게 3d공간을 알 수 있도록 기준이 필요하다.

그럼 무슨 기준이 필요하나? 컴퓨터는 모든 공간을 표현하기에는 제약적(공간적+계산적)이 기 때문에 원점이 필요하다. 사람이 컴퓨터에게 공간을 알려주기 위해서는 원점(0,0)을 정의해야하고 방향(x,y,z)를 정의하여야 한다.

원점, 방향, 모니터, 카메라, 마우스, 스냅, 정보 저장.

— # 캐드: 원점과 방향

1. 원점: origin point 0,0,0 2. 방향: 축 axis (예: x,y,z축)

![inline](http://www.we-r-here.com/cad_08/tutorials/level_3/images/ucs_03.gif)

— # 캐드: 모니터, 카메라

3. 모니터, 그리고 카메라 모니터는 작기 때문에 확대, 축소가 필요. 모니터는 2차원이지만 3차원 처럼 보이도록 카메라 연산을 한다 (원근) 투영.

![inline](http://wiki.blender.org/uploads/thumb/1/16/Manual-Part-XX-Manual-Extensions-Python-Console-Default-Scene.png/600px-Manual-Part-XX-Manual-Extensions-Python-Console-Default-Scene.png)

# 캐드: 마우스와 스냅

4. 마우스 모니터상의 물체를 지정할때 사용. 마우스가 2차원인데, 3차원을 어떻게 그리나? 스냅 필요!

5. 스냅 마이스의 클릭의 기준은 픽셀인데, 모니터에 투영된 크기에 따라서 마우스 클릭은 몇 미리가 될수도 있고, 몇 미터가 될 수 도 있다. 정확하게 필셀을 통해서 오브젝트를 선택할 수 없기 때문에 클릭한 픽셀 주변의 오브젝트를 자동으로 집어 주도록 하는 스냅 기능이 필요하다.

# 캐드: 데이터 표현

6. 정보 저장 화면에 그려진 정보를 저장하는 방법. 캐드마다 정보를 저장하는 방식이 다른다. 저장방법에 따라 데이터의 해상도/정밀도가 달라진다. 그 한계를 잘 아는게 중요. 안되는 연산이 있다.

* 라이노가 라인을 그리고 저장하는 방법 Line(A→B) * 라이노가 커브를 그리고 저장하는 방법 Curbe(A,B,C,D,E) * Curve는 점을 저장하고 있고, 표현할때는 점을 근사하는 커브를 그리는 방정식을 통해서 화면에 표시한다.

# 캐드 소개

캐드(CAD)는 컴퓨터를 이용한 디자인(Computer Aided Design)으로 만들고, 분석하고, 수정하는 등의 물건 디자인과정에서 컴퓨터를 이용하는 것을 말한다.

캐드에는 평면을 디자인할 수 있는 2D캐드와 입체를 디자인할 수 있는 3D캐드로 구분된다.

이번 워크숍에서 배우는 라이노는 3D 캐드이다.

![](http://upload.wikimedia.org/wikipedia/commons/thumb/8/89/Schneckengetriebe.png/640px-Schneckengetriebe.png) ![](http://www.creativetools.se/image/cache/data/McNeel/Rhino/add_img/rhino_screen_01-1280x720.jpg)

— # 라이노 캐드

- NURBS 연산을 기본으로 하는 캐드 - 곡선, 곡면 표현이 다른 캐드엔진에 비해 유리 - 다양한 3D 포멧 지원 - 타 캐드엔진에 비해 가격이 저렴

# 라이노 캐드 스스로 공부하기

1. 기초적인 UI 소개 2. 모든 아이콘 커내기 3. 스스로 공부하는법 소개 모든 아이콘을 꺼내고, 아이콘의 도움말을 읽어면서 따라한다. 그리고 실제 자기가 만들어 보고 싶은것을 만들어보면서 필요할때마다 도움말을 읽는다. 어려움이 있을때는 유트브에서 라이노 강좌를 검색하여 본다.

# 라이노 캐드의 사용 예

단순히 모델링 보다 조형과 제어가 프로그래밍적인 것을 할때 사용

![](https://www.youtube.com/watch?v=vRfNbhyPPKs)

Advances in Architectural Geometry - MIT https://www.youtube.com/watch?v=vRfNbhyPPKs

# 첫날 과제

- 모든 아이콘 한번씩 눌러보고 라이노 도움말 읽어보기. - 지금 낸 아이디어의 구체적인 크기와 형태.

# Digital Fabrication Workshop ## 둘째날: 라이노 3D

2015년 1월 8일, 세종과학고

이재경

# 둘째날

목표: 라이노의 도움말을 읽고, 기본 개념을 이해하고, (자신의) 모델링 작업에 그 개념을 이용할 수 있다.

1. 라이노 3D 개념 소개 2. 모델링 시연(종이컵, 미니언) 3. 각자 개인 작업(만들고 싶은것 모델링)

— # 라이노 3D 개념 소개

- 라이노의 기본 객체: 점(Point), 선(Curve), 면(Surface), 덩어리(Solid) - 부울연산: 객체가 서로 만났나, 속하나, 연산하나 참과 거짓으로 판별하는 연산. - 필터: 공간에 점. 선. 면이 겹쳐 있는경우, 필터를 이용하여 쉽게 선택할 수 있다. - NURBS (NON-Unifom Rational B-Spline) 커브를 표현하는 수학적 방법. 커브의 기준 점을 통해서 커브를 연결하는 방식

# 라이노 3D 개념 2 (연산)

- 필렛: 같은 평면에 있는 두 개의 커브를 접하는 반지름 R의 원으로 연결하는 것 - Boolean: 솔리드 연산을 위해 사용되는 부울 연산. 솔리드의 교집합, 합집합, 차집합 연산을 할 수 있다. - Join: 라이노의 객체를 결합하는 연산 - Loft: 두개의 선을 이용하여 면을 만드는 연산 - Cap: 커브가 닫혀있지않고 열려 있을때, 열려있는 커브를 덩어리 모양이 되도록 닫혀 주는명령

# 라이노 3D 개념 3 (연산) - Section: 덩어리의 단면 추출 - explode: 합쳐진 면과 선의 집합(객체)를 부숴주는 명령 - extrude: 특정 방향으로 돌출 시켜주는 명령. 높이를 만들대 유용. - Sweep 1 Rail: 곡선 레일을 기준으로 곡면을 만들 수 있는 명령.

— # 라이노 3D 개념 4

- 면을 만드는 방법

  1. 라이노 전용 서페이스. 메쉬와 다른 라이노 서페이스.
  2. 메쉬: 면들의 집합. 면안에 점이 있고 면. 그물망처럼 보이기 때문에 메쉬라고 이름을 지음. 용량을 줄이거나, 다른 프로그램과 호환을 하기 위해서 메쉬로 변환.

- 커브 투영: 커브를 특정 축으로 그림자를 낸것 - 뷰 포트: 보는 틀 (위, 정면, 측면, 카메라 뷰)

# 라이노로 모델링 시연

실제 종이컵의 치수를 제어가며 라이노에서 모델을 만드는 방법을 소개

![](https://lh6.googleusercontent.com/-wj6RBqu8-j4/VK4TqnMTQaI/AAAAAAAANfM/TH2SqTy8gK4/w941-h706-no/IMG_20150108_142034.jpg)

# 종이컵 만들기

모델링 작업 순서에 답은 없지만, 작업하기 편리한 순서는 있다.

1. 원점을 기준으로 Ellipse를 그린다. 2. 이미 그린 Ellipse를 Scale 명령으로 크게한다. 3. Offset 명령으로 큰 Ellipse를 z축으로 이동한다. 4. 원 두개를 선택하고 Lofe 명령을 실행 5. 위에 원을 선택하여 원형 테두리를 만든다. 6. 아랫면 받침을 만든다.

![](http://i.imgur.com/gR5Kl1b.png)

# 미니언 모델링 시연

팁: 모델링 하기 전에 어떤 순서로 모델링할지 계획한다.

![inline](https://lh6.googleusercontent.com/-uiZCwNVKo1Q/VK4cqYXG9yI/AAAAAAAANg4/A01Q6QfDwSA/s800/IMG_20150108_145855.jpg)

# 설계하기

만들고 싶은것을 실제 치수를 정하면서 스케치한다.

![inline](https://lh5.googleusercontent.com/-xKeh-2VZdFw/VK4np8aXrGI/AAAAAAAANjQ/DGLbYDdm6Gg/w941-h706-no/IMG_20150108_154526.jpg) ![inline](https://lh3.googleusercontent.com/-VRKNr5h9uXk/VK4nsLRMprI/AAAAAAAANjc/0rXh2GM322g/w941-h706-no/IMG_20150108_154535.jpg)![inline](https://lh6.googleusercontent.com/-1KsnXRG4qDY/VK4nt0lGqKI/AAAAAAAANjo/O2mBso5jfKk/w941-h706-no/IMG_20150108_154544.jpg)

# 모델링 실습

![inline](https://lh6.googleusercontent.com/-IalezwfA864/VK4nn0jOg_I/AAAAAAAANjE/SVphX5-djpo/w941-h706-no/IMG_20150108_154515.jpg)![inline](https://lh5.googleusercontent.com/-aGK6twozyyg/VK4nxymFc-I/AAAAAAAANkA/TOW3NBeDomw/w941-h706-no/IMG_20150108_154605.jpg)

# 모델링 실습 2

![inline](https://lh6.googleusercontent.com/-pSSw6dJOgpk/VK4T2FvhfRI/AAAAAAAANfk/vEzDUJViv-s/w941-h706-no/IMG_20150108_142049.jpg)![inline](https://lh4.googleusercontent.com/-ZGr5suWDhzg/VK4nZKcRxmI/AAAAAAAANhw/ZcVTbprnmRM/w941-h706-no/IMG_20150108_154428.jpg)

# 스피커 설계/ 모델링

제작방법: 3D 프린터

![inline](https://lh4.googleusercontent.com/-1KsnXRG4qDY/VK4nt0lGqKI/AAAAAAAANjo/O2mBso5jfKk/s640/IMG_20150108_154544.jpg)

![](https://lh3.googleusercontent.com/-pfkNJW28Ek4/VK4nSQ854pI/AAAAAAAANhY/1_T9Gf4AHT8/w941-h706-no/IMG_20150108_154410.jpg)

# 둘째날 과제

설계를 바탕으로 실제 제작할 물건의 크기와 구조를 생각해서, 라이노로 실측 모델링한다.

# 과제: 자전거 카트 설계/모델링

제작방법: 파이프 용접

![inline, Default-aligned image](http://i.imgur.com/t9fcOF4.png)![inline](http://i.imgur.com/DZIncP8.png)

# Digital Fabrication Workshop ## 셋째날: 제작방법

2015년 1월 13일, 세종과학고

이재경

# 셋째날

목표: 다양한 제작방법을 이해하고, 제작 방법에 맞추어 3D모델의 디테일을 살려서 설계할 수 있다.

1. 제작방법 소개: CNC, 3D 프린터, 전개도 기법 2. 제작방법에 맞추어 모델링 수정하기 3. 3D 프린터로 모형 뽑기

# CNC 소개

Computer Numerical Control: 컴퓨터를 이용한 재료 가공 기법(평면 또는 공간의 위치제어를 컴퓨터를 이용하여 제어하고, 재료의 라인 또는 면을 레이저 또는 엔드밀로 절삭하여 가공한다.)

— # CNC로 제작하는 CNC

![](https://www.youtube.com/watch?v=tpuVl_jS368)

https://www.youtube.com/watch?v=tpuVl_jS368

# CNC로 이용하여 만든 작업

Fab Lab House: http://www.fablabhouse.com

![inline](http://www.fablabhouse.com/beta/wp-content/uploads/2010/06/EXPLOTADA-449x430.jpg)![inline](http://www.fablabhouse.com/beta/wp-content/uploads/2010/06/Picture-3-220x200.png)![inline](http://www.fablabhouse.com/beta/wp-content/uploads/2010/07/N7X9713-220x200.jpg)

— # Fab Lab House

![](https://www.youtube.com/watch?v=bO-Dvm5OTuU)

https://www.youtube.com/watch?v=bO-Dvm5OTuU

— # CNC를 이용한 작업: Opendesk

https://www.opendesk.cc/

캐드를 통해서 합판으로 책상을 만드는 데이터 공유.

각자 주변의 CNC를 이용하여 합판으로 책상 제작

![](https://dx9tugmqgt0l9.cloudfront.net/gfx/designs/desk/d3bed8fbf6cd9d04eca89f9b671125c0404a3f8a-00_desk.1.strap.jpg)

# 3D 프린터 소개

물질을 뿌리거나 적층하여 3차원 물체를 만드는 제조 기술

![](https://www.youtube.com/watch?v=8aghzpO_UZE#t=152)

https://www.youtube.com/watch?v=8aghzpO_UZE#t=152

— # 3D 프린터 데이터 공유

http://www.thingiverse.com/

![](http://thingiverse-production.s3.amazonaws.com/renders/91/b0/88/51/a8/Tray_3_preview_featured.jpg) ![](http://thingiverse-production.s3.amazonaws.com/renders/c6/de/67/0f/91/IMG_1577_preview_featured.JPG)

# 3D 프린터를 위한 모델링

지난 과제로 만든 모델링 데이터를 참가자들이 선택한 제작 방법에 따라서 수정한다.

펜 - 제작 방법: 3D 프린터, 재료. - 볼펜심 0.3m - 스케일 수정 필요.

코멘트 - 3D 프린터에서 해상도 낮아 볼펜심을 제대로 뽑기 어렵다. - 곡률이 깨짐.

# 3D 프린터를 위한 모델링 시연

![inline](https://lh6.googleusercontent.com/-ENri3KONL0I/VLSiOVM42CI/AAAAAAAANp8/91bHV3eMBKc/s1152/IMG_20150113_134218.jpg)

- 펜을 기반으로 3D 프린팅 가능하게 모델을 수정. - 스케일, 펜의 곡률 수정, 펜심 두께 수정 - 좌표 평명 옮기기

모델이 평면에 닿는면이 넓게해야 서포터가 필요없다.

# 3D 프린터를 위한 모델링 파일 출력

- 3D 프린터에서 지원하는 포멧: STL, OBL등의 메쉬타입 포멧. - STL(Standard Tessellation Language): 3D모델을 삼각형의 면으로 쪼개어 저장하는 파일형식. - 라이노에서 STL출력: 모델을 선택하고, File>Export 메뉴를 통해서 STL 포멧으로 출력.

주의점: 3D모델의 면이 터진곳 없이 면으로 모두 막혀 있어야 3D프린팅을 할 수 있다.

# CNC를 이용하여 제작한 Burning plate 제작과정 (이재경)

![inline](http://www.designersfinger.com/main/wp-content/uploads/2012/02/burn07.png)![inline](http://www.designersfinger.com/main/wp-content/uploads/2012/02/burn02.jpg)

![inline](http://www.designersfinger.com/main/wp-content/uploads/2012/02/burn03.jpg)![inline](http://www.designersfinger.com/main/wp-content/uploads/2012/02/burn011.jpg)

# 전개도 작업을 위한 모델링

![inline](http://cfile219.uf.daum.net/image/144378014C76489D5D5EF4)

한국의 전통목구조(한옥)의 결부방식을 표현하는 현치도를 라이노를 이용하여 그려보자.

# 현치도 그리기

1 솔리드로 box와 5면체를 그리고 두개를 접합하여 집을 그린다.

2 골조 세우기

2-1 폴리 서피스의 와이어 커브 추출을 하여, 커브로 구성된 기본 골조를 만든다.

2-2 커브를 explode하고, 지붕사선면에 수직하는 구성평면을 만들어 지붕사선면과 평행하는 직육면체를 만든다.

# 현치도 그리기 2

2-3 땅으로 부터 올라오는 집의 기둥을 지붕사선면의 골조처럼, 직육면체를 이용하여 부피를 준다.

2-4 돼지발 만들기 지붕사선의 골조와 땅으로 부터 올라오는 골조를 만나는 면을 정리한다. 정리하는 방법은 두개 골조가 만나는 면에서 튀어나오는 부분을 평면으로 자른다.(자를 평면 만들때는 구성평면을 이용하여 축이동을 하면 편리하다.) 그러면 돼지발 모양이 된다.

2-5 돼지발 처럼된 골조를 전개도를 만들고, 이 전개도는 골조를 만들때 이용한다.

# 현치도 그리기 3

3 전개도 만들기

3-1 전개도 펴기: Orient3pt 명령을 이용하여 골조의 면을 평면에 붙여 넣기 한다.

3-2 전개도 출력: 전개도의 자르는선과 접는선 출력하기: 평면에 만들어진 전개도를 explode하여 서페이스로 깨트린다.깨트린 서페이스의 edge로부터 테두리 작성을 이용하여, 닫힌 커브를 만든다. 이 닫힌 커브를 선택하여 종이에 출력하고, 전개도를 재단하고 조립하여 3D를 표현할 수 있다.

# Pepakura 소개

페파쿠라: 모델링 데이터로 부터 종이로 입체를 만들 수 있도록 전개도를 펴주는 프로그램

http://www.tamasoft.co.jp/pepakura-en/

# 집 전개도 만들기

참가자가 만들려고 하는 집모델을 수정하여 전개도를 만드는 방법을 시연 및 질답.

![](https://lh3.googleusercontent.com/-TUxLnQehS0s/VLdwOq3F27I/AAAAAAAANvA/HZiG2-spavU/s912/IMG_20150115_164551.jpg) ![](https://lh5.googleusercontent.com/-CK-RdTGF3GE/VLdoQLRtmXI/AAAAAAAANtg/UlSRw5WpgcI/s912/IMG_20150115_161151.jpg)

# 전개도 조립하기: 집모델의 전개도를 프린트하여 전개도로 조립

![inline](https://lh4.googleusercontent.com/-I9LIKbYg-dE/VLTXP5zy7hI/AAAAAAAANqk/lg0iXQ62o4Y/w941-h706-no/IMG_20150113_172838.jpg)![inline](https://lh6.googleusercontent.com/-8k4IKP6HAEw/VLTjDGrp-4I/AAAAAAAANrc/4ZIxqAWjTyQ/w941-h706-no/IMG_20150113_173624.jpg)![inline](https://lh3.googleusercontent.com/-vsxY0pjXqjY/VLTmG9V56RI/AAAAAAAANsU/p0OQj41K_Gk/w942-h1256-no/IMG_20150113_182645.jpg)

# 완성된 종이 집

![inline](https://lh5.googleusercontent.com/-ZA2htufbb74/VLTmKyyXiII/AAAAAAAANss/hi9M9rlkSF8/w941-h706-no/IMG_20150113_182900.jpg)

# Digital Fabrication Workshop ## 넷째날: 랜더링과 나사만들기

2015년 1월 20일, 세종과학고

이재경

# 넷째날

목표: 렌더링에 대해 이해하고 나사산을 모델링 할 수 있다. 또 라이노의 에러를 이해하고 대응할 수 있다.

1. 렌더링 2. 나사산 만들기 실습 3. 개인 모델링 작업

# 지난 과제 질문 - 개체의 색은 어떻게 바꿀 수 있는가요? 레이어 색을 수정. - 모델 데이터를 빛과 재질을 주는 방법(예쁘게)?

# 랜더링

- 랜더링: 모델을 빛과 주변 환경에 맞춰서 자연스럽게 다시 그려주는것.

  1. 랜더링도 어마어마한 분야.
  2. 환경맵 사용. 하늘로 설정
  3. 조명 넣기
    1. 사각형 조명 만들기
  4. 렌더링 걸기

# 나사 만들기

오늘은 3D 프린터를 한번 해봅시다. 예제로 나사를 만들어 봅시다.

나사 높이 30m. 나사 산 피치: 2m

<!– 1. rectangle 만들기 –> <!– 1. TOP 뷰에서 polyline으로 (0,0,0), (0,30,0), (10, 30, 0) (10,0,0)을 그린다. –> <!– 2. 폴리라인으로 (10,30,0) (30, 30, 0) 라인을 그린다. –> <!– 3. 2번 폴리라인을 피치 2m로 오프셋 라인 -y방향으로 만든다. –>

1 나사 몸통: 원통 만들어서 extrude 2 나사산: 원통 밖으로 헬릭스(나선)을 그려서 나사산 자취 만들기 3 헬릭스를 기반으로 반타원 레일을 그려서, 나사산 튀어 나오도록 만들기

# 나사 만들기 cont

4 나사 머리를 그려서 나사 몸통과 붙이기 5 나사 볼트 만들기. 나사 몸통을 덥는 메스를 적당히 배치한다음에 나사와 메스의 부울연산 6 메스를 적당히 다듬어서 볼트 모양으로 만들기

— # 나사산 만들기 튜토리얼 영상

- Modeling screw threads 1 https://www.youtube.com/watch?v=XuNBYjSQaO0 - Modeling screw threads 2 https://www.youtube.com/watch?v=2xv0Nhmoryw

# 부울 연산 질문

- 나사산 만들기에서 부울연산에 걸리는 시간이 길다. 왜?

  1. > 헬릭스, 레일 모델은 수학식으로 만들어져 있다(라이노 캐드엔진). 원통에서 레일(나사산)을 빼는 연산을 하면, 두 모델의 겹치는 면을 계산하여 빠진 모형을 비슷하게 만들려고 한다.

솔리드 연산을 지원하는 캐드는 부울 연산을 쉽게 한다.

- 빼는 연산이 안될때 라이노는 어떻게 해야 하나?

  1. > 부울 연산보다는 처음 부터 최종 결과물을 모델링 한다.

# 나사 모델

![inline](http://i.imgur.com/U58Oxgs.png)

# 3D 프린터로 뽑기

수업중 작업한 모델 데이터를 3D 프린터를 이용하여 뽑아 보았다.

![](https://lh4.googleusercontent.com/-lm0f6rLeR2g/VLdp5WsjnzI/AAAAAAAANus/86fyORxxRdI/s800/IMG_20150115_161415.jpg)

![](https://lh5.googleusercontent.com/-aIMTY7ZNuFQ/VLdyyj6L6NI/AAAAAAAANv0/drSf3oLS_No/s800/IMG_20150115_165647.jpg)

![inline](https://lh5.googleusercontent.com/-JFJbQRhXPlM/VLdp02TKLJI/AAAAAAAANuU/_vGFIiYGSvs/s912/IMG_20150115_161345.jpg)

# Digital Fabrication Workshop ## 다섯번째날: 도면 그리기

2015년 1월 20일, 세종과학고

이재경

# 다섯번째날

목표: 도면에 대한 이해를 하고, 라이노를 이용하여 도면을 그릴 수 있다.

1. 도면 그리기 2. 단면 만들기 3. 비정형 물체 전개도 펴기

# 2D 도면 그리기

도면: 다른 사람이 이해할 수 있도록 전달하는 정도 표현. 각 분야마다 도면 표현 방법이 다른다.

![inline](http://i307.photobucket.com/albums/nn294/BrianRupnow/CONTINUATION%20OF%20MAIN%20ALBUM1/DRIVENPULLEY_zps3d616983.jpg)

# 2D 도면 그리기 Cont

도면에 들어가는 정보

- 치수> 2d도면 그리기를 이용하여 단면, 평면, 입면의 그림을 그리고, 치수를 넣는다. 치수글자 크기는 옵션 주석메뉴에서 바꾼다. - 참고: 라이노 도움말 http://docs.mcneel.com/rhino/5/help/ko-kr/commands/make2d.htm

![](http://i.imgur.com/xsY5wqO.png)

# 2D 도면 만들 모델

![inline](http://i.imgur.com/zlRHHL1.png)

# 단면 만들기

3D 물체의 경우는 평면, 입면 파악하기 어려워서 2D도면을 만들때, 3D물체에 중간 중간 단면을 만들어 이해를 돕는다.

단면만들기: - 단면 만들기: Cplace을 이용하여 자를 면의 단면을 만들다. - 3D물체를 단면으로 자른다.(split) - 3D물체의 자른 한면과 단면의 Dup(겹치는)을 실행하여, 단면 커브를 만든다.

또다른 단면 만들기 방법: 단면과 면이 만나는 라인을 바닦에 orient한다. (section으로 단면커브를 만들고, 단면커브를 선택하고 2D도면그리기(_Make2D)로 Top뷰에 단면을 만든다.

# 2D 도면

![inline](http://i.imgur.com/QOR5ZsN.png)

# 질문: 비정형 물체 전개도 펴기

UnrollSrf 명령 이용.

Q. 물결치는 스플라인면을 제작할려면 어떻게 해야하나?

각각의 면을 곡률에따라 패널로 조각을 낸다음에 붙인다. 이런 물결치는 스플라인 면을 제작하기 위해서는 제작을 위해서는 도면이 필요한데, 전개도 피는 방법으로 비정형 물체의 도면을 만들 수 있다.

— # 비정형 물체 전개도 제작하기

![inline](http://i.imgur.com/sOL7W2p.png)

- 물결치는 스플라인면을 전개도로 피고, 곡률에따라 패널을 제작. - 건축에서 비정형 도면화 - 참고: 프리폼 http://www.freeform.kr/port_atypical/

# 모델링 실습

![inline](https://lh3.googleusercontent.com/-7xJHt5n1kYQ/VL3u_pY7phI/AAAAAAAAN3E/BRYRkqyGfuw/s912/IMG_20150120_150001.jpg)![inline](https://lh4.googleusercontent.com/-ZJIyLmJvMvk/VL3u2P3Su4I/AAAAAAAAN2U/eJXLjWsneDk/s912/IMG_20150120_145931.jpg)

# 모델링 실습 2 ![inline](https://lh6.googleusercontent.com/-2VgSq__cebQ/VL3u0NEItXI/AAAAAAAAN2I/oSrhVCSHBSU/s912/IMG_20150120_145922.jpg)![inline](https://lh4.googleusercontent.com/-E8p3LP4NY1Y/VL3u9GyeQeI/AAAAAAAAN24/b2OpSp-_kS0/s912/IMG_20150120_145947.jpg)

# 모델링 실습 3

![inline](https://lh6.googleusercontent.com/-LLWC4mHJfww/VL3u4a7vUhI/AAAAAAAAN2g/cIuyng0vPgc/s912/IMG_20150120_145938.jpg)

# Digital Fabrication Workshop ## 여섯번째날: 그래스호퍼

2015년 1월 22일, 세종과학고

이재경

# 여섯번째날

목표: 그래스호퍼를 이용하고 그래스 호퍼를 이용하여 기초적인 모델링 할 수 있다.

1. 그래스호퍼 소개 - 인터페이스 소개 - 그래스호퍼로 수정가능한 서페이스 만들기

2. 그래스호퍼 실습 - Airfoil Generator

3. 3D 프린팅 실습


# 그래스호퍼

생성알고리즘으로 생성되는 모양 모델링을 위한 라이노 프로그래밍 환경

왜?

Q. 모델을 만들고 변경하고 싶을때 어떻게 할 수 있나? → 그래스호포를 사용하여 설계하면, 모델이 생성된 후에도 변경할 수 있다.

튜토리얼: http://www.grasshopper3d.com/page/tutorials-1

# 그래스호퍼를 사용한 프로젝트 소개

그래스호퍼 Kuka | Prc: 그래스호퍼를 이용하여 라이노의 모델링 데이터을 가공하도록 7축 로봇암을 제어

![inline](http://www.robotsinarchitecture.org/wp-content/uploads/2012/04/robarch_tutorial.jpg)

참고: - http://vimeo.com/30874737 - http://www.robotsinarchitecture.org/

— # 그래스호퍼 Kuka | Prc CNC제어

![](https://www.youtube.com/watch?v=yxmVwmFbu4I)

https://www.youtube.com/watch?v=yxmVwmFbu4I

# 그래스호퍼 설치

다운로드: http://www.grasshopper3d.com/page/download-1 실행: 설치 후 라이노 명령어창에서 Grasshopper 명령을 입력

![inline](http://i.imgur.com/m74hruY.png)

# 그래스호퍼로 수정 가능한 서페이스 만들기

![inline](http://i.imgur.com/rBQx0RU.png)

![](https://lh6.googleusercontent.com/-LEqLlZiINNA/VMB9iUYgV1I/AAAAAAAAN4I/jUPgdW3Wnco/s912/IMG_20150122_133300.jpg)

# 그래스 호퍼를 이용한 모델 생성: Airfoil Generator

날개 윤곽 포인트 생성: NACA 4 digit airfoil generator http://goo.gl/8qPqzB

날개 생성 스크립트 https://www.dropbox.com/s/udvx9aatn8wq5r9/F.gh?dl=0

![inline](http://i.imgur.com/slz0oVl.png)

# Airfoil Generator 실습

![inline](https://lh5.googleusercontent.com/-bjdvoo-_i-s/VMCrZBTgafI/AAAAAAAAN6A/-wsqyCeNH3U/s800/IMG_20150122_164841.jpg)

# 그래스 호퍼에서 Pyhthon 스크립트 이용하여, 날개 생성

![inline](http://i.imgur.com/oCgZx1Y.png)

# Airfoil Generator Python Code

```python import rhinoscriptsyntax as rs import re from HTMLParser import HTMLParser from urllib2 import Request, urlopen, URLError naca4digit=“http://goo.gl/8qPqzB” req = Request(naca4digit) response = urlopen(req) class NACA4DIGIT_PRE_STRIP(HTMLParser):

  def __init__(self):
      self.reset()
      self.fed = []
      self.handle_on = False
  def handle_data(self, d):
      if self.handle_on:
          self.fed.append(d)
  def handle_starttag(self, tag, attrs):
      if tag == 'pre':
          self.handle_on = True
  def handle_endtag(self, tag):
      if tag == 'pre':
          self.handle_on = False
  def get_data(self):
      return ''.join(self.fed)

```

# Airfoil Generator Python Code Cont

```python a = response.read() parser = NACA4DIGIT_PRE_STRIP() parser.feed(a) raw_naca4digit=parser.get_data().split('\n')[2:]

naca4digit = [d for d in raw_naca4digit if d is not ] half_naca4digit = naca4digit[:int(len(naca4digit)/2)] naca4digit = [] for p in half_naca4digit: xyz = [float(d) for d in p.strip().split(' ') if d is not ]

  xyz.append(0.0)
  naca4digit.append(xyz)

naca4digit.append([0,0,0])

halfcrv = rs.AddCurve(naca4digit) otherhalfcrv = rs.MirrorObject(halfcrv, (0,0,0), (1,0,0), True)

crv =rs.JoinCurves([otherhalfcrv,halfcrv]) upper_crv = rs.ScaleObject(crv, [0,0,0], [y,y,0],True) bottom_crv = rs.ScaleObject(crv, [0,0,0], [y,x*y,0],True) rs.MoveObject(upper_crv, [0,0,u])

a = rs.JoinCurves([bottom_crv,upper_crv]) ```

# MP3 플레이어 케이스 3D 프린팅

![inline](https://lh6.googleusercontent.com/-X2yHeCiXgvQ/VMClsVecDeI/AAAAAAAAN50/pTY69kDO0vo/s1152/IMG_20150122_162421.jpg) ![inline](https://lh5.googleusercontent.com/-rSYV_DPLcf8/VMClu40RJhI/AAAAAAAAN5E/GITwXDqmosI/s1152/IMG_20150122_162427.jpg)

— # MP3 플레이어 케이스 3D 프린팅 2

![inline](https://lh5.googleusercontent.com/-iAtzJDOrZiY/VMCl2I647fI/AAAAAAAAN5c/jigHIzi0Xtg/s1152/IMG_20150122_162447.jpg)![inline](https://lh6.googleusercontent.com/-VXINj7_TtNc/VMCmClIrGFI/AAAAAAAAN5o/tYvVgcuuFoo/s1152/IMG_20150122_162453.jpg)

</markdown>