01
Chapter

BIM-IT 융합기술 기본

그래픽 코딩 입문 (Grasshopper & Rhino Inside)

5.1Grasshopper 소개
5.2Rhino Inside 환경 설정
5.3Grasshopper 기본 개념
5.4파라메트릭 디자인 기초
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Visual Programming 입문

텍스트 코딩 없이 컴포넌트(노드)를 연결하여
복잡한 형상 생성과 BIM 자동화를 구현합니다
핵심 개념
Node-Based Programming
Visual Programming의 데이터 흐름
Dataflow Paradigm
Input
데이터 입력
숫자, 점, 커브, Revit 요소 등
>
Process
연산 처리
변환, 분석, 생성 로직
>
Output
결과 출력
지오메트리, BIM 요소
Grasshopper에서 각 컴포넌트는 특정 기능을 수행하며, 입력(Input)과 출력(Output) 포트를 통해 데이터가 좌에서 우로 흐릅니다. 이 데이터 흐름(Dataflow)을 설계하는 것이 Visual Programming의 핵심입니다.
Grasshopper
Visual Programming Environment
Rhino 기반의 노드 편집기로, 복잡한 알고리즘을 시각적으로 구성
Rhino.Inside.Revit
BIM Integration Platform
Grasshopper 알고리즘을 Revit에서 직접 실행하여 BIM 요소 생성
Parametric Design
Data-Driven Modeling
파라미터 변경으로 설계안을 즉시 업데이트하는 유연한 모델링 기법
학습 목표
1.Grasshopper 인터페이스와 컴포넌트 구조 이해
2.Input/Process/Output 데이터 흐름 설계
3.Rhino.Inside를 통한 Revit 요소 생성
4.파라미터 기반의 유연한 BIM 모델링
Dev-X — No Boundaries, Infinite Possibilities|
2
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

BIM-IT 융합기술 기본

강의계획서 - 그래픽 코딩 입문 (Grasshopper & Rhino Inside)

1. 강의 개요

과목명
BIM-IT 융합기술 기본
교육시간
35시간 (이론 10H + 실습 25H)
대상
BIM 실무자 및 자동화에 관심 있는 학습자
선수학습
Chapter 3. BIM-IT 데이터 이해
실습환경
Rhino 8 + Grasshopper, Revit 2025

2. 지도목표

Grasshopper의 Visual Programming 개념을 이해하고, Rhino Inside 환경에서 BIM 자동화의 기초 역량을 습득한다.
1Visual Programming의 개념과 장점 이해
2Rhino Inside 환경 설치 및 설정
3알고리즘적 사고를 통한 문제 분해
4Grasshopper 기본 데이터 구조 이해
5간단한 파라메트릭 모델 생성

3. 사용교재 (자료)

주교재
본 교육자료
참고
Rhino/GH 문서
실습
강사 제공

4. 주요 내용 (학습활동)

5.1Grasshopper 소개이론4H
Visual Coding 개념 / 인터페이스 구성 / 컴포넌트 원리
5.2Rhino Inside 환경 설정이론+실습6H
Rhino Inside 소개 / 설치 및 설정 / 실무 활용 사례
5.3Grasshopper 기본 개념이론+실습15H
알고리즘적 사고 / Domain / Data Tree / Vector 기초
5.4파라메트릭 디자인 기초실습10H
기본 형상 생성 / 패턴 및 배열 / 파사드 패널 시스템
평가 기준
이론평가20%
실습평가80%
파라메트릭 디자인 결과물 중심 평가
Dev-X — No Boundaries, Infinite Possibilities|
3
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Visual Programming이란?

코드 대신 노드를 연결하여 프로그래밍하는 방식입니다.

Visual Programming 개념
데이터 흐름의 핵심 원리
📐
Input
데이터 입력
⚙️
Process
연산 처리
🏗️
Output
결과 출력
노드(Node)를 와이어(Wire)로 연결하여 데이터 흐름을 정의
Dev-X — No Boundaries, Infinite Possibilities|
4
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

텍스트 코딩 vs Visual Coding

두 가지 프로그래밍 방식의 특징을 비교합니다.

구분
텍스트 코딩 (C#)
Visual Coding (Grasshopper)
작성 방식
텍스트 코드 입력
컴포넌트 드래그 & 연결
학습 곡선
문법 학습 필요
직관적, 빠른 학습
데이터 흐름
코드에서 추적
선(Wire)으로 시각화
디버깅
로그, 디버거 사용
실시간 결과 확인
유연성
매우 높음
컴포넌트 제한 있음
반복 작업
루프 코드 작성
데이터 트리 자동 처리
Grasshopper는 누구나 쉽게 접근할 수 있는 비주얼 프로그래밍 도구입니다. 이 도구는 알고리즘 기반의 디자인과 파라메트릭 모델링을 지원합니다. Grasshopper에서는 Input, Function, Output으로 구성된 Component들을 연결하여 결과물을 만들어갑니다. 이 과정은 시각적으로 표현되며, 변경 사항이 즉각적으로 반영되어 사용자가 실시간으로 결과를 확인할 수 있습니다.
Dev-X — No Boundaries, Infinite Possibilities|
5
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Grasshopper의 특장점

파라메트릭 디자인을 위한 강력한 Visual Programming 도구

🎨파라메트릭 디자인
변수 변경으로 디자인 자동 갱신
• 슬라이더로 변수 제어
• 무한한 디자인 변형
• 빠른 옵션 비교
🧮알고리즘 디자인
규칙 정의로 복잡한 형상 생성
• 생성 디자인
• 구조 최적화
• 데이터 기반 설계
🦏Rhino 완벽 통합
Rhino 내장으로 완벽한 연동
• NURBS 완전 지원
• 실시간 뷰포트 표시
• Bake로 객체 변환
🧩플러그인 생태계
플러그인으로 기능 무한 확장
• Ladybug (환경분석)
• Kangaroo (물리 시뮬)
• Karamba3D (구조해석)
왜 많은 산업에서 Grasshopper를 선택하는가?
진입 장벽코딩 없이 복잡한 알고리즘 구현
생산성실시간 피드백으로 빠른 디자인 반복
확장성500개+ 플러그인으로 무한 기능 확장
호환성Revit, AutoCAD 등 BIM 도구 연동
전 세계 산업계 표준 도구
🏛️
건축
Zaha Hadid, Foster+Partners
🚗
제품 디자인
자동차, 가구
🔧
구조 엔지니어링
복잡한 구조 시스템
🏙️
도시 계획
대규모 모델링
🖨️
디지털 패브리케이션
CNC, 3D 프린팅
Dev-X — No Boundaries, Infinite Possibilities|
6
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Rhino Inside Revit 소개

Revit 내에서 Rhino와 Grasshopper를 사용할 수 있는 통합 환경입니다.

🏗️
Revit
BIM 플랫폼
+
Rhino Inside
🦏
Rhino
🦗
Grasshopper
=
🚀
파라메트릭 BIM
무한한 가능성
🔗
통합 환경
Revit 내에서 Rhino/GH 직접 실행
🔄
실시간 연동
Revit 요소 ↔ GH 데이터 변환
🎨
자유 형상
Revit 한계를 넘는 복잡한 형상
⚡
자동화
GH 정의로 반복 작업 제거
실무 활용 사례
🏢
복잡한 파사드
곡면 패널 자동 생성
🔧
구조 최적화
형상 기반 구조 해석
📐
일괄 배치
요소 대량 생성/수정
Dev-X — No Boundaries, Infinite Possibilities|
7
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Rhino Inside 설치 및 환경 설정

Revit에서 Grasshopper를 사용하기 위한 설치 과정입니다.

시스템 요구사항
Rhino 7 또는 8
필수
라이센스 필요
Revit 2019+
필수
2022 이상 권장
Windows 10/11
필수
64bit
RAM 16GB+
권장
32GB 권장
공식 다운로드 페이지
Rhino Inside Revit 공식 웹사이트
rhino3d.com/en/inside/revit/1.0/
다운로드 및 설치
1
웹사이트 접속
rhino3d.com/inside/revit
🌐
2
Download 클릭
최신 버전 다운로드
📥
3
설치 파일 실행
RhinoInside.Revit.msi 실행
⚙️
4
Revit 재시작
Rhinoceros 탭 확인
✅
무료 다운로드 (Rhino 라이센스 필요)
Dev-X — No Boundaries, Infinite Possibilities|
8
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Rhino.Inside.Revit 인터페이스

Rhino.Inside.Revit는 Revit 내부에 임베드 되어서 실행 됩니다. 플러그인을 설치하면 아래와 같은 Tab이 생성됩니다.

Revit 내 Rhino.Inside 탭
Rhinoceros Tab
Rhino : 플러그 인을 실행시킵니다.
Import 3dm : Rhino 3dm 파일을 Revit으로 가져오기
Open Viewport : 독립된 Rhino의 Window를 실행시킵니다.
Toggle Preview : Rhino객체를 보여줍니다.
Grasshopper Tab
Grasshopper : Grasshopper 플러그 인을 실행시킵니다.
Off, Wire, Shaded : Revit내의 Rhino객체의 디스플레이를 지정합니다.
Disable Solver : Grasshopper의 Solver를 비활성화 합니다. 비활성화 상태에서는 Grasshopper가 작동하지 않습니다.
Recompute : 활성화된 Grasshopper를 로직을 강제적으로 다시 계산합니다.
Release Elements : Revit과 Rhino의 객체의 연결을 종료하여 완전한 Revit객체로 변환시킵니다.
Player : 미리 정의된 Grasshopper의 로직을 실행시킵니다.
Dev-X — No Boundaries, Infinite Possibilities|
9

Grasshopper Basic

Visual Programming for Design

B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

알고리즘적 사고

복잡한 문제를 단계별로 분해하고 해결하는 사고 방식입니다.

알고리즘(Algorithm)이란?
문제를 해결하기 위한 명확하고 순서화된 단계의 집합입니다. 컴퓨터 프로그래밍뿐 아니라 일상생활의 모든 문제 해결에 적용할 수 있는 논리적 사고 방식입니다.
Grasshopper에서는 이 알고리즘적 사고를 컴포넌트 연결로 시각화합니다. 복잡한 문제도 작은 단위로 분해하여 순차적으로 해결할 수 있습니다.
🎯
문제 정의
무엇을 해결할 것인가?
🧩
분해
작은 단위로 나누기
🔍
패턴 인식
반복되는 규칙 찾기
💡
추상화
핵심 요소만 추출
📝
알고리즘 설계
단계별 해결 방법
문제 예시
🏢
10층 건물에 창문을 규칙적으로 배치
알고리즘적 해결
분해층별 → 베이별 → 개별 창문
패턴각 층 동일한 간격, 층간 반복
추상화Number Slider로 크기, 간격 파라미터화
알고리즘Series → Grid → Rectangle 컴포넌트 연결
Dev-X — No Boundaries, Infinite Possibilities|
11
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

파라메트릭 디자인이란?

변수(Parameter)를 통해 형태를 정의하고 제어하는 설계 방식입니다.

📐전통적 설계
고정된 치수로 도면 작성
변경 시: 수정 시 전체 재작업
🔧파라메트릭 설계
변수로 형상 정의
변경 시: 변수만 수정하면 자동 갱신
파라메트릭 설계 워크플로우
📝
변수 정의
폭, 높이, 개수 등
🔗
관계 설정
수식과 로직 연결
🏗️
형상 생성
자동으로 형태 생성
🔄
변형 탐색
변수 조절로 대안 탐색
파라메트릭 디자인의 장점
⚡
빠른 수정
변수 변경만으로 갱신
🔍
대안 탐색
다양한 옵션 비교
✅
일관성
규칙 기반 정확성
🤖
자동화
반복 작업 제거
Dev-X — No Boundaries, Infinite Possibilities|
12
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

List(리스트) 이해하기

Grasshopper 데이터의 기본 구조

List란?
여러 개의 데이터를 순서대로 저장하는 구조입니다. 배열(Array)과 유사하며, 각 데이터는 인덱스(Index)를 통해 접근할 수 있습니다.
Grasshopper에서 모든 데이터는 List로 처리됩니다. 단일 값도 1개의 아이템을 가진 List이며, 컴포넌트 간 데이터 전달의 기본 단위입니다.
1️⃣
단일 값
500
하나의 숫자, 점, 선 등
📋
List (리스트)
[0, 100, 200, 300]
여러 값의 순서있는 집합
🌳
Tree (트리)
{0;0} [a,b] {0;1} [c,d]
리스트들의 구조화된 집합

Index (인덱스)

List = [A, B, C, D]
A
[0]
B
[1]
C
[2]
D
[3]
인덱스는 0부터 시작합니다

List 생성 컴포넌트

Number Slider 1개→단일 값: 500
Series (0, 100, 5)→[0, 100, 200, 300, 400]
Range (0 to 10, 3)→[0, 5, 10]
💡

Tip: Panel에 연결하면 List의 모든 항목과 인덱스를 확인할 수 있습니다.

Dev-X — No Boundaries, Infinite Possibilities|
13
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Tree(트리) 구조가 필요한 이유

List만으로는 왜 부족할까?

실제 상황: 여러 곡선에서 점 추출하기
〰️
곡선 A
10개의 점 추출
〰️
곡선 B
10개의 점 추출
〰️
곡선 C
10개의 점 추출
List로 저장하면?
30개의 점이 하나의 리스트에 섞임
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
B0
B1
B2
B3
B4
B5
B6
B7
B8
B9
C0
C1
C2
C3
C4
C5
C6
C7
C8
C9
문제점:
  • 어떤 점이 어느 곡선에서 왔는지 알 수 없음
  • 곡선별로 다른 작업을 할 수 없음
  • 데이터 관계가 완전히 소실됨
Tree로 저장하면?
경로(Path)별로 그룹 유지
{0}
A0, A1, A2, A3, A4, A5, A6, A7, A8, A9
{1}
B0, B1, B2, B3, B4, B5, B6, B7, B8, B9
{2}
C0, C1, C2, C3, C4, C5, C6, C7, C8, C9
장점:
  • 곡선별 점의 그룹이 유지됨
  • 곡선별로 개별 작업 가능
  • 데이터 출처를 항상 추적 가능
〰️
곡선 분할
🔲
면 분해
🏢
층별 요소
📊
그리드 데이터
Tree는 데이터의 관계와 그룹을 유지하면서 저장하는 구조입니다.
Dev-X — No Boundaries, Infinite Possibilities|
14
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

List vs Data Tree 구조

1차원 vs 2차원 데이터 구조 비교

List (1차원)
index543210index →
모든 데이터가 단일 인덱스(0)에 일렬로 나열
Data Tree (2차원)
index54321path →{0}{1}{2}{3}{3}[3]
Path별로 데이터가 그룹화되어 2차원 구조 형성
Path (경로)
Branch의 주소 (X축)
{0}{1}{2}{0;0}
Index (인덱스)
Branch 내 위치 (Y축)
[0][1][2][3]
데이터 접근
Path + Index로 특정
{path}[index]
예: {3}[3] = 특정 데이터
List
index만 존재 (1D)
vs
Data Tree
path × index (2D)
Dev-X — No Boundaries, Infinite Possibilities|
15
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Tree 조작 컴포넌트

Flatten, Graft, Simplify, Flip Matrix

Tree 구조를 변환하는 4가지 핵심 컴포넌트를 익히면 복잡한 데이터도 자유자재로 제어!
Flatten
Tree → List
모든 Branch를 하나로 병합
Before
{0}[A, B]
{1}[C, D]
→
After
{0}[A, B, C, D]
Graft
개별 처리 시
각 item을 개별 Branch로
Before
{0}[A, B, C]
→
After
{0;0}[A]
{0;1}[B]
{0;2}[C]
Simplify
경로 단순화
불필요한 Path 깊이 제거
Before
{0;0;0}[A]
{0;0;1}[B]
→
After
{0}[A]
{1}[B]
Flip Matrix
행↔열 전환
행과 열을 교환
Before
{0}[A1, A2]
{1}[B1, B2]
→
After
{0}[A1, B1]
{1}[A2, B2]
빠른 사용법: 입력 단자 우클릭
입력 단자 우클릭 → Flatten/Graft/Simplify 선택 → 단자 옆 아이콘 표시
▼Flatten
⇅Graft
→Simplify
Flatten
Tree → List
Graft
item → Branch
Simplify
Path 단순화
Flip Matrix
행↔열 교환
Dev-X — No Boundaries, Infinite Possibilities|
16
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Grasshopper 핵심 원리

1 Branch = 1 객체 생성

1 Branch = 1 객체
Grasshopper의 모든 컴포넌트는 Branch(가지) 단위로 작업을 수행합니다
Branch를 "방"으로 이해하기
{0}{1}{2}3개 데이터2개 데이터4개 데이터각 방(Branch)은 독립적인 작업 공간
Branch = 방 (Room)
데이터를 담는 독립적인 공간입니다. 각 방에는 여러 데이터가 들어갈 수 있습니다.
컴포넌트 = 방별로 작업
Polyline, Circle 등의 컴포넌트는 방 단위로 객체를 만듭니다.
3개 방 = 3개 객체
3개의 Branch가 있으면, 컴포넌트는 3번 작업하여 3개의 결과물을 만듭니다.
Branch 개수
N개
=
컴포넌트 실행
N번
=
생성 객체
N개
Dev-X — No Boundaries, Infinite Possibilities|
17
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Flatten이 필요한 상황

여러 방의 데이터를 하나로 모아 1개의 객체 만들기

Flatten이란?
Tree 구조의 모든 Branch를 제거하고 단일 List로 평탄화하는 작업입니다. 여러 방에 분산된 데이터를 하나의 방({0})으로 모읍니다.
여러 Branch의 데이터를 하나로 합쳐서 1개의 객체(Polyline, Surface 등)를 만들어야 할 때 필수적으로 사용합니다.
문제: 3개의 점으로 1개의 폴리라인을 만들고 싶은데...
{0}{1}{2}P1P2P33개 방에 점이 1개씩
→
Polyline
컴포넌트
→
✗폴리라인 생성 실패!각 방에 점이 1개뿐(최소 2개 필요)
해결: Flatten으로 모든 점을 하나의 방으로!
{0}{1}{2}Before
Flatten
→
{0}After
→
Polyline
→
1개의 폴리라인!
Flatten 사용 시점
여러 Branch의 데이터를 하나로 합쳐 1개의 객체를 만들 때
대표적인 예시
여러 곡선의 점들 → 1개의 Polyline/Surface
Dev-X — No Boundaries, Infinite Possibilities|
18
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Graft가 필요한 상황

각 데이터마다 개별 객체를 만들기

Graft란?
각 데이터 항목을 개별 Branch로 분리하는 작업입니다. 하나의 List에 있는 데이터를 각각 독립된 방으로 나눕니다.
각 데이터마다 개별 객체(Circle, Sphere 등)를 만들어야 할 때 필수적으로 사용합니다.
문제: 3개의 점에 각각 원을 그리고 싶은데...
{0}P1P2P31개 방에 점 3개
→
Circle
컴포넌트
→
원이 1개만 생성!(1 Branch = 1 객체)
해결: Graft로 각 점을 개별 방으로 분리!
{0}Before
Graft
→
{0;0}{0;1}{0;2}After
→
Circle
→
3개의 원!
Graft 사용 시점
각 데이터마다 개별 객체를 만들고 싶을 때
대표적인 예시
점 리스트 → 각 점마다 Circle/Sphere
Dev-X — No Boundaries, Infinite Possibilities|
19
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Function(함수) 이해하기

컴포넌트 = 함수, 입력 → 처리 → 출력

Function(함수)이란?
📥
Input
입력값
→
⚙️
Process
처리 로직
→
📤
Output
결과값
🧩
Grasshopper 컴포넌트 = 함수
모든 컴포넌트는 입력(Input)을 받아 처리(Process)하고 출력(Output)을 반환하는 함수입니다.
Addition
Input
• A: 10
• B: 5
Process
A + B
Output
15
Construct Point
Input
• X: 100
• Y: 200
• Z: 0
Process
Point(X,Y,Z)
Output
{100,200,0}
Move
Input
• Geometry
• Vector
Process
G + V
Output
Moved Geo
✅

핵심: 컴포넌트를 연결한다 = 함수의 출력을 다른 함수의 입력으로 전달한다

Dev-X — No Boundaries, Infinite Possibilities|
20
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

List + Function 통합

함수가 리스트를 만나면 어떻게 될까?

함수에 List를 입력하면?
함수는 List의 각 항목에 대해 자동으로 반복 실행됩니다. 이것이 Grasshopper의 강력한 힘입니다!
단일 값 입력
X = 5
→
× 2
→
10
1개 입력 → 1개 출력
List 입력
[1,2,3,4]
→
× 2
→
[2,4,6,8]
N개 입력 → N개 출력 (자동 반복!)
실제 활용: 10개의 점을 한 번에 생성
X 입력
Series(0,100,10)
[0,100,200...900]
+
Y 입력
0 (단일값)
→
Construct Point
Point(X,Y,Z)
→
결과
10개의 점!
📋
List = 데이터 집합
🧩
Component = 함수
🔄
List + 함수 = 자동 반복
Dev-X — No Boundaries, Infinite Possibilities|
21
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Rhino 기하학 객체

차원별 기본 객체 이해

Rhino는 NURBS (Non-Uniform Rational B-Splines) 기반으로 정밀한 형상을 표현합니다
0차원
Point
(x, y, z)
3D 공간의 위치
좌표로 표현
1차원
Curve
선형/곡선 경로
Line, Arc, Polyline
NURBS Curve
2차원
Surface
단일 연속 곡면
단일 NURBS 면
UV 파라미터
3차원
Solid (Brep)
닫힌 볼륨
PolySurface/Brep
닫힌 경계 표현
객체설명예시Grasshopper
Point3D 공간의 위치 (0차원)기준점, 삽입점Pt, Point
Curve선형 또는 곡선 경로 (1차원)Line, Arc, Circle, PolylineCrv, Curve
Surface단일 연속 곡면 (2차원)Plane, Loft, SweepSrf, Surface
Brep경계로 형상을 표현 (Surface + PolySurface)Box, Sphere, 복합 형상Brep, Geo
Dev-X — No Boundaries, Infinite Possibilities|
22
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Surface와 Brep

면 객체의 종류와 관계

Surface
단일 NURBS 면
단일 연속 면
UV 파라미터로 정의
예: Plane, Loft 결과
PolySurface
여러 면이 결합
여러 Surface 결합
Edge로 연결된 면들
예: Box, Boolean 결과
Brep (B-Rep)
BrepFacesEdgesVertices경계 표현 (Boundary Rep)
포괄적 객체 타입
Surface + PolySurface 포함
Grasshopper 기본 타입
Brep 객체의 포함 관계
Brep
PolySurface
Srf
Srf
Srf
Surface
Brep은 Surface와 PolySurface를 모두 포함하는 상위 타입입니다
Extrusion
메모리 효율적인 직선 압출 객체
Curve를 직선으로 밀어서 생성
Brep으로 변환 가능
💡
Grasshopper 팁
Brep 타입으로 받으면 Surface, PolySurface,
Extrusion 모두 처리할 수 있습니다!
Dev-X — No Boundaries, Infinite Possibilities|
23
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

NURBS와 차수(Degree)

곡선/곡면의 부드러움을 결정하는 핵심 개념

NURBS = Non-Uniform Rational B-Splines
제어점(Control Points)과 차수(Degree)로 정의되는 수학적 곡선/곡면
Degree 1 (1차)
직선 연결 (Polyline)
직선 세그먼트
제어점을 직접 통과
꺾임이 있음
Degree 2 (2차)
RArc (호)
원호 세그먼트
반지름 기반 곡선
Arc, Circle 표현
Degree 3 (3차) ⭐
S자 곡선 가능
가장 부드러운 곡선
S자 형태 표현 가능
Rhino 기본값
제어점과 차수의 관계
제어점 수 ≥ Degree + 1
Degree 3 곡선 → 최소 4개의 제어점 필요
• Degree 높음 → 더 부드럽지만 더 많은 제어점 필요
• Degree 낮음 → 날카로운 전환 가능
NURBS의 구성 요소
Control Points: 곡선 형태를 조절하는 점
Degree: 곡선의 부드러움 (1~5)
Weights: 제어점의 영향력 (Rational)
Knots: 곡선 분할 위치 (Non-Uniform)
💡
실무 팁: 대부분의 경우 Degree 3이 최적의 선택입니다. 더 높은 차수는 계산이 복잡해지고, 낮은 차수는 부드러움이 부족합니다.
Dev-X — No Boundaries, Infinite Possibilities|
24
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Mesh vs NURBS

두 가지 표현 방식의 이해

NURBS (수학적 곡면)
수학적 정의로 무한히 부드러움
✓무한 확대해도 부드러운 곡면
✓적은 데이터로 복잡한 형상 표현
✓정밀 제조/가공에 적합
✗렌더링 시 메시로 변환 필요
Mesh (다각형 근사)
삼각형/사각형 면의 조합
✓빠른 렌더링 및 시각화
✓게임/VR/AR에 최적화
✓3D 프린팅 표준 형식 (STL)
✗확대 시 각진 면이 보임
Mesh의 구성 요소
Vertices
정점 (좌표)
+
Edges
변 (연결)
+
Faces
면 (폴리곤)
=
Mesh
완성된 형상
구분
NURBS
Mesh
정밀도
●●●●● 수학적 정밀
●●●○○ 근사값
파일 크기
●●●●○ 작음
●●○○○ 큼 (고밀도 시)
렌더링 속도
●●●○○ 변환 필요
●●●●● 매우 빠름
주 사용처
CAD, 제조, BIM, 건축 설계
게임, VR/AR, 3D 프린팅, 시각화
Dev-X — No Boundaries, Infinite Possibilities|
25
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

벡터(Vector)란?

방향과 크기를 가진 화살표

벡터 = 화살표
벡터는 어디로(방향) + 얼마나(크기) 를 알려주는 화살표입니다!
🌬️
바람
동쪽으로 10m/s
방향: 동쪽
크기: 10m/s
🚶
이동
앞으로 5걸음
방향: 앞쪽
크기: 5걸음
💪
밀기
오른쪽으로 밀기
방향: 오른쪽
크기: 센 힘
💡
기억하세요!
벡터는 "어디로"와 "얼마나"를 한 번에 알려주는 똑똑한 화살표입니다. Grasshopper에서는 이 화살표로 물체를 원하는 방향으로 이동시킬 수 있어요!
Dev-X — No Boundaries, Infinite Possibilities|
26
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

벡터의 구성요소

X, Y, Z 세 가지 숫자로 방향과 크기를 표현

벡터는 X(좌우), Y(앞뒤), Z(위아래) 세 숫자로 표현됩니다
X
좌우 방향
+ 오른쪽으로 이동
- 왼쪽으로 이동
Y
앞뒤 방향
+ 앞쪽으로 이동
- 뒤쪽으로 이동
Z
위아래 방향
+ 위쪽으로 이동
- 아래쪽으로 이동
예시: 벡터 (100, 0, 50)의 의미
X = 100
오른쪽으로 100
Y = 0
앞뒤 이동 없음
Z = 50
위로 50
결과: 물체가 오른쪽 100, 위쪽 50 위치로 이동!
Dev-X — No Boundaries, Infinite Possibilities|
27
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Grasshopper에서 벡터 만들기

Unit Vector와 Vector XYZ 컴포넌트

방법 1
Unit Vector
미리 만들어진 방향
vs
방법 2
Vector XYZ
직접 숫자 입력
Unit Vector (단위 벡터)
크기가 1인 기본 방향 벡터들
X
Unit X
좌우 방향
(1, 0, 0)
Y
Unit Y
앞뒤 방향
(0, 1, 0)
Z
Unit Z
위아래 방향
(0, 0, 1)
Vector XYZ
X, Y, Z 값을 직접 입력해서 만들기
입력값
X
100
Y
0
Z
50
↓
생성된 벡터
(100, 0, 50)
오른쪽 100, 위쪽 50 방향의 벡터
💡
언제 무엇을 쓸까요?
Unit Vector: 정확히 X, Y, Z 방향으로만 이동할 때 (간단!)   |  Vector XYZ: 대각선 등 자유로운 방향으로 이동할 때
Dev-X — No Boundaries, Infinite Possibilities|
28
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

벡터로 물체 이동하기

Move 컴포넌트로 Geometry 이동

Geometry
물체
+
Vector
방향+거리
=
Result
이동된 물체
Move 컴포넌트 사용법
입력
Point
(0, 0, 0)
Vector
(100, 0, 50)
→
Move
이동하기
→
출력
Moved Point
(100, 0, 50)
예시 1: 오른쪽으로 100 이동
시작
→ X +100 →
끝
Vector: (100, 0, 0)
예시 2: 위로 50 이동
시작
↑ Z +50 ↑
끝
Vector: (0, 0, 50)
✨
핵심: Move 컴포넌트에 물체와 벡터를 연결하면, 벡터가 가리키는 방향과 거리만큼 물체가 이동합니다!
Dev-X — No Boundaries, Infinite Possibilities|
29
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

데이터 매칭

Shortest, Longest, Cross Reference

데이터 매칭이란?
두 개 이상의 리스트를 연결할 때 각 항목을 어떻게 짝지을지 결정하는 방식입니다.
변경 방법
컴포넌트 우클릭 → 메뉴에서 Shortest / Longest / Cross Reference 선택
Data Matching Components
Shortest(Trim End)
1
2
3
a
b
짧은 리스트 기준→ 2개
Longest(Repeat Last)
1
2
3
a
b
마지막 값 반복→ 3개
Cross Ref(Holistic)
1
2
3
a
b
모든 조합 생성→ 6개
Dev-X — No Boundaries, Infinite Possibilities|
30
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Grasshopper 시작하기

Point 생성 - 첫 번째 Definition

🎚️Number Slider- 숫자 값을 슬라이더로 조절
📍Construct Point- X, Y, Z 좌표로 점 생성
📋Panel- 데이터 값 확인 및 표시
Grasshopper Point Definition

작업 단계

1
Number Slider 3개 배치 (X, Y, Z용)
2
Construct Point 컴포넌트 배치
3
Slider → Point의 X, Y, Z 입력에 연결
4
Panel로 결과 확인

입력 (Input)

Number Slider로 X, Y, Z 좌표값 입력

처리 (Process)

Construct Point가 3개 좌표를 조합

출력 (Output)

Panel에서 {500, 500, 500} 좌표 확인

💡

Tip: Slider 더블클릭으로 범위 설정. 연결은 왼쪽 출력 → 오른쪽 입력으로 드래그.

Dev-X — No Boundaries, Infinite Possibilities|
31
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Grasshopper 인터페이스 구성

화면 구성 요소와 캔버스 조작법

🦗
Rhino 명령어 입력:
Grasshopper
Grasshopper 전체 화면
1
2
3
1
메뉴바
File, Edit, View, Display, Solution
2
컴포넌트 팔레트
Params, Maths, Sets, Vector, Curve
3
캔버스
컴포넌트 배치 및 연결 작업 공간
캔버스 조작법
우클릭 + 드래그
캔버스 이동
마우스 휠
줌 인/아웃
Dev-X — No Boundaries, Infinite Possibilities|
32
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

컴포넌트 추가하기

두 가지 방법으로 컴포넌트를 캔버스에 배치

방법 1
탭에서 드래그
컴포넌트 팔레트
1
원하는 탭 선택 (Params, Maths 등)
2
컴포넌트를 클릭하거나 드래그
방법 2
더블클릭 검색
추천
더블클릭 검색창
1
캔버스 빈 공간을 더블클릭
2
컴포넌트 이름 입력하여 빠르게 검색
컴포넌트 조작
클릭 + 드래그
이동
Ctrl + C / V
복사/붙여넣기
Alt + 드래그
복제
Delete
삭제
Dev-X — No Boundaries, Infinite Possibilities|
33
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

와이어 연결과 컴포넌트 상태

컴포넌트 연결 방법과 상태별 색상 의미

와이어 연결 방법
와이어 연결 예시
드래그
출력 → 입력 연결
Shift + 드래그
기존 연결 유지 + 추가
Ctrl + 드래그
연결 해제
컴포넌트 상태별 색상
회색
정상 작동
문제 없음!
주황색
입력값 누락
연결 필요!
빨간색
오류 발생
입력값 확인!
필수 단축키
Ctrl + G
그룹 생성
Ctrl + Z
실행 취소
Space
라디얼 메뉴
Ctrl + A
전체 선택
Dev-X — No Boundaries, Infinite Possibilities|
34
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Line 생성하기

두 점을 연결하여 선 만들기

📏
핵심 개념:
Point A + Point B → Line
Line Definition - Rhino와 Grasshopper
1
Slider + Pt
X, Y coordinate → Construct Point
2
Line (Ln)
Point A → A, Point B → B 연결
3
Rhino Preview
(100,100) → (30,30) 선 확인
작업 단계
1
X, Y 슬라이더 배치
→
2
Pt 2개 + Ln 배치
→
3
와이어 연결
→
4
Rhino 미리보기
💡

Tip: Line 컴포넌트는 Curve → Primitive 탭에서 찾을 수 있습니다. 더블클릭 후 "Line" 검색이 더 빠릅니다.

Dev-X — No Boundaries, Infinite Possibilities|
35
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Multi-Line 생성하기

Line 분할을 통한 다중 선 생성

📐
핵심 개념:
Line Divide → Multi-Line 연결
Multi-Line Definition - Divide와 다중 연결
1
Line (Ln)
좌/우 수직선 생성
2
Divide
선을 N등분 분할
3
Count
분할 개수 (10)
4
Line (Ln)
분할점 연결 → 다중 선
작업 흐름
1
좌/우 Line 생성
→
2
Divide (10등분)
→
3
분할점 → Line 연결
→
Result
수평선 10개
💡

Tip: Divide 컴포넌트는 Curve → Division 탭에서 찾을 수 있습니다. 분할점(P)과 파라미터(t)가 리스트로 출력됩니다.

Dev-X — No Boundaries, Infinite Possibilities|
36
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Rhino 객체 레퍼런스

Rhino 객체를 Grasshopper에서 참조하기

🔗
핵심 개념:
Rhino 객체 → Grasshopper 연결
Rhino 객체 레퍼런스 - Crv, Srf, Brep
Crv
Curve
커브, 라인, 폴리라인 참조
Line, Arc, Circle, Polyline
Srf
Surface
단일 서피스 참조
Plane, Loft, Sweep
Brep
Brep
솔리드, 폴리서피스 참조
Box, Sphere, Extrusion
레퍼런스 방법
1
컴포넌트 우클릭
→
2
Set One Curve/Surface/Brep
→
3
Rhino에서 객체 선택
→
완료
참조 연결됨
💡

Tip: 레퍼런스 컴포넌트는 Params → Geometry 탭에서 찾을 수 있습니다. 여러 객체를 선택하려면 Set Multiple을 사용하세요.

Dev-X — No Boundaries, Infinite Possibilities|
37
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

우클릭 메뉴 기능

컴포넌트 우클릭 메뉴의 전체 기능

Grasshopper 컴포넌트 우클릭 메뉴
전체 메뉴 항목
1.Preview미리보기 ON/OFF
2.Enabled컴포넌트 활성화
3.BakeRhino로 내보내기
4.Wire Display와이어 표시 방식
5.Reverse데이터 순서 반전
6.Flatten트리 → 단일 리스트
7.Graft아이템 → 개별 브랜치
8.Simplify불필요 브랜치 제거
9.Reparameterize파라미터 0~1 재설정
10.Set one Curve단일 객체 참조
11.Set Multiple다중 객체 참조
12.Manage collection참조 컬렉션 관리
13.Clear values모든 값 초기화
14.Internalise data데이터 내부 저장
15.Extract parameter파라미터 추출
16.Help도움말 열기
Bake
가상 객체를 실제 Rhino 객체로 변환
Flatten
모든 브랜치를 단일 리스트로 병합
Graft
각 아이템을 개별 브랜치로 분리
Internalise
참조 데이터를 컴포넌트 내부에 저장
💡

Tip: 입력/출력 포트를 우클릭하면 Flatten(⊞), Graft(⊟), Simplify, Reverse 등을 직접 적용할 수 있습니다. 적용된 옵션은 포트 옆에 기호로 표시됩니다.

Dev-X — No Boundaries, Infinite Possibilities|
38
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

라디얼 메뉴 (Pie Menu)

마우스 가운데 버튼으로 빠른 접근

마우스 가운데 버튼
→ 라디얼 메뉴 활성화 → 원하는 방향으로 드래그
Grasshopper 라디얼 메뉴
라디얼 메뉴 아이콘 (시계방향)
⚙️Settings컴포넌트 설정
🔗Cluster클러스터 생성
📦Group그룹 생성
👁️Preview미리보기 토글
✅Enable컴포넌트 활성화
📋Wireframe와이어프레임 뷰
🍳BakeRhino로 내보내기
📌Lock컴포넌트 잠금
▶️Recompute솔루션 재계산
🔍Zoom선택 객체로 확대
🗺️Select연결 컴포넌트 선택
Bake
Grasshopper 객체를 실제 Rhino 객체로 변환
Group
선택한 컴포넌트를 그룹으로 묶기
Cluster
재사용 가능한 컴포넌트로 패키징
Preview
Rhino 뷰포트에 미리보기 ON/OFF
💡

Tip: 라디얼 메뉴는 컴포넌트 선택 여부에 따라 다른 옵션을 표시합니다. 빈 캔버스에서는 일반 메뉴가, 컴포넌트 선택 시에는 해당 컴포넌트 관련 메뉴가 나타납니다.

Dev-X — No Boundaries, Infinite Possibilities|
39

RhinoInside Basic

기본모델 생성

B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

구조 보(Beam) 생성

Grasshopper로 Revit 구조 보를 생성하는 기본 데피니션

Grasshopper 데피니션
S-Beam Grasshopper Definition
데이터 흐름
1Curve → 보의 경로 정의
2Types → 보 타입 선택 (1B1)
3Level → 기준 레벨 선택
4S-Beam → 구조 보 생성
CurveParams
보의 경로가 될 커브 입력
TypesRevit
보 타입(패밀리) 선택
S-BeamStructure
구조 보 생성 컴포넌트
S-Beam 컴포넌트 입력 파라미터
CCurve
보의 중심선 커브
TType
보 타입 (예: 1B1)
RLReference Level
기준 레벨 (지상1층 등)
💡Level 선택: G.L, 지상1층, 지상2층, RF 등 프로젝트에 정의된 레벨 중 선택
Dev-X — No Boundaries, Infinite Possibilities|
41
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

구조 기둥(Column) 생성

닫힌 커브의 중심점에서 Z방향 선을 생성하여 기둥 배치

Grasshopper 데피니션
S-Column Grasshopper Definition
데이터 흐름
1
Curve닫힌 커브 입력
2
Area중심점(Centroid) 추출
3
Z + LineZ방향 선 생성 (길이: 3500)
4
S-Column구조 기둥 생성
Area
닫힌 커브의 면적과 중심점 계산
Z
Z축 단위 벡터 생성
Line
시작점, 방향, 길이로 선 생성
S-Column
구조 기둥 생성
S-Column 컴포넌트 입력 파라미터
CCurve
기둥 중심선 (Line)
TType
기둥 타입 (예: C1)
BLBase Level
하단 레벨 (지상1층)
TLTop Level
상단 레벨 (지상2층)
💡핵심: 닫힌 커브 → Area (중심점) → Z방향 Line → S-Column으로 기둥 위치 자동 배치
Dev-X — No Boundaries, Infinite Possibilities|
42
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

구조 슬라브(Floor) 생성

Rectangle로 경계선을 정의하고 Floor 컴포넌트로 슬라브 생성

Grasshopper 데피니션
Floor Grasshopper Definition
데이터 흐름
1
X/Y Size슬라브 크기 입력 (3000×3000)
2
Rectangle경계선 사각형 생성
3
Types + Level슬라브 타입(S1), 레벨 선택
4
Floor구조 슬라브 생성
Rectangle
원점, X/Y 크기로 사각형 생성
Types
슬라브 타입(패밀리) 선택
Level
슬라브 배치 레벨 선택
Floor
구조 슬라브 생성
Floor 컴포넌트 입력 파라미터
BBoundary
슬라브 경계선 (Rectangle)
TType
슬라브 타입 (예: S1)
LLevel
배치 레벨 (레벨 1)
SStructural
구조 여부 (Toggle: True)
💡Structural 옵션: Toggle을 True로 설정하면 구조 슬라브로 생성됩니다 (구조 해석 가능)
Dev-X — No Boundaries, Infinite Possibilities|
43
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

커튼월/벽(C-Wall) 생성

Curve 경로를 따라 C-Wall 컴포넌트로 벽 생성

Grasshopper 데피니션
C-Wall Grasshopper Definition
데이터 흐름
1
Curve벽 경로 커브 입력
2
Types + Level벽 타입(일반-200mm), 레벨
3
Height + Options높이(3000), Toggle 설정
4
C-Wall벽 생성
Crv
벽 경로 커브 입력
Types
벽 타입(패밀리) 선택
Level
벽 배치 레벨 선택
C-Wall
커튼월/벽 생성
C-Wall 컴포넌트 입력 파라미터
CCurve
벽 경로 커브
TType
벽 타입 (일반-200mm)
LLevel
배치 레벨 (레벨 1)
HHeight
벽 높이 (3000)
FFlip뒤집기 (False)
JJoin결합 (True)
SStructural구조 여부 (True)
Dev-X — No Boundaries, Infinite Possibilities|
44
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

기초 슬라브(S-Foundation) 생성

2개의 커브로 중공(오픈) 기초 슬라브 생성

Grasshopper 데피니션
S-Foundation Grasshopper Definition
데이터 흐름
1
Crv + Distance커브와 오프셋 거리(300) 입력
2
Offset + Boundary내부 커브 생성, 바운더리 변환
3
DeBrep + Join경계 커브 추출 및 조인
4
Types + LevelFS1 타입, 레벨 1 선택
5
S-Foundation구조 기초 생성
Offset
커브 오프셋 생성
Boundary
커브를 바운더리로 변환
DeBrep
Brep 분해 (경계 추출)
Join
커브 조인
S-Foundation
구조 기초 생성
S-Foundation 컴포넌트 입력 파라미터
BBoundary
기초 경계선 (조인된 커브)
TType
기초 타입 (FS1)
LLevel
배치 레벨 (레벨 1)
SStructural
구조 여부 (True)
중공 기초: 외부/내부 2개 커브를 Boundary로 변환하면 가운데가 오픈된 기초 슬라브 생성 가능
Dev-X — No Boundaries, Infinite Possibilities|
45
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

독립 기초(I-Foundation) 생성

Area 컴포넌트로 중심점을 구해 독립 기초 배치

Grasshopper 데피니션
I-Foundation Grasshopper Definition
데이터 흐름
1
Crv기초 위치용 커브 입력
2
Area커브의 중심점(Centroid) 추출
3
Types + Level기초 타입, 레벨 1 선택
4
I-Foundation독립 기초 생성
Curve
Revit 커브 참조
Area
면적/중심점 계산
Types
패밀리 타입 선택
I-Foundation
독립 기초 생성
I-Foundation 컴포넌트 입력 파라미터
LLocation
기초 배치 위치 (Point)
TType
기초 타입 (1800×1200×450mm)
LLevel
배치 레벨 (레벨 1)
핵심: Area 컴포넌트의 Centroid(C) 출력이 독립 기초의 배치 위치(Location)로 사용됨
Dev-X — No Boundaries, Infinite Possibilities|
46
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

천장(Ceiling) 생성

Boundary 커브로 천장 요소 생성

Grasshopper 데피니션
Ceiling Grasshopper Definition
데이터 흐름
1
Crv천장 경계 커브 입력
2
Types + Level천장 타입, 레벨 선택
3
Ceiling천장 생성
Curve
Revit 커브 참조
Types
패밀리 타입 선택
Ceiling
천장 요소 생성
Ceiling 컴포넌트 입력 파라미터
BBoundary
천장 경계선 (Curve)
TType
천장 타입 (600×600mm 그리드)
LLevel
배치 레벨 (레벨 1)
천장 타입: 600×600mm 그리드 타입 사용 시 T-bar 천장 시스템이 자동으로 적용됨
Dev-X — No Boundaries, Infinite Possibilities|
47
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

난간(Railing) 생성

커브 경로를 따라 난간 요소 생성

Grasshopper 데피니션
Railing Grasshopper Definition
데이터 흐름
1
Crv난간 경로 커브 입력
2
Types + Level난간 타입, 레벨 선택
3
ToggleFlip 방향 설정 (False)
4
Railing난간 생성
Curve
Revit 커브 참조
Types
패밀리 타입 선택
Toggle
Boolean 값 토글
Railing
난간 요소 생성
Railing 컴포넌트 입력 파라미터
CCurve
난간 경로 커브
TType
난간 타입 (900mm 배관)
LLevel
배치 레벨 (레벨 1)
HHeight
난간 높이
FFlip
방향 뒤집기 (False)
Flip: Toggle 컴포넌트로 난간의 좌/우 방향을 제어 (True: 반대 방향)
Dev-X — No Boundaries, Infinite Possibilities|
48
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

지붕(Roof) 생성

Boundary 커브로 지붕 요소 생성

Grasshopper 데피니션
Roof Grasshopper Definition
데이터 흐름
1
Crv지붕 경계 커브 입력
2
Types + Level지붕 타입, 레벨 선택
3
Roof지붕 생성
Curve
Revit 커브 참조
Types
패밀리 타입 선택
Roof
지붕 요소 생성
Roof 컴포넌트 입력 파라미터
BBoundary
지붕 경계선 (Curve)
TType
지붕 타입 (일반 - 400mm)
LLevel
배치 레벨
지붕 타입: 일반 - 400mm 타입 사용 시 평지붕이 생성됨. 경사 지붕은 별도 타입 선택 필요
Dev-X — No Boundaries, Infinite Possibilities|
49
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

DirectShape(G-Shape) 생성

Brep 지오메트리와 재질로 DirectShape 요소 생성

Grasshopper 데피니션
G-Shape Grasshopper Definition
데이터 흐름
1
Name이름 입력 (다이렉트쉐입)
2
Categories카테고리 선택 (일반모델)
3
Brep + Materials지오메트리와 재질 설정
4
G-ShapeDirectShape 생성
Categories
Revit 카테고리 선택
Brep
Grasshopper Brep 참조
Materials
재질 선택/생성
G-Shape
DirectShape 요소 생성
G-Shape 컴포넌트 입력 파라미터
NName
요소 이름 (다이렉트쉐입)
CCategory
카테고리 (일반 모델)
GGeometry
Brep 지오메트리
MMaterial
재질 (기본 벽 등)
DirectShape: Revit 패밀리 없이 Grasshopper Brep을 직접 Revit 요소로 변환. 복잡한 형상 표현에 유용
Dev-X — No Boundaries, Infinite Possibilities|
50

RhinoInside Basic

객체 필터링

B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

카테고리/타입 필터로 요소 수집

CatFltr, TypeFltr로 원하는 요소만 필터링하여 수집

Grasshopper 데피니션
Object Filtering Grasshopper Definition
데이터 흐름
1
Categories카테고리 선택 (wall/window)
2
CatFltr / TypeFltr필터 컴포넌트 연결
3
Elements필터된 요소 수집
Categories
Revit 카테고리 선택
CatFltr
카테고리로 요소 필터링
TypeFltr
타입으로 요소 필터링
Elements
필터된 요소 수집
필터 컴포넌트 주요 파라미터
CCategory
필터할 카테고리 (CatFltr)
TType
필터할 타입 (TypeFltr)
FFilter
요소 필터 (Elements 입력)
EElements
필터된 요소들 (출력)
필터링 방식: CatFltr는 카테고리(벽, 창 등) 전체를, TypeFltr는 특정 타입(고정됨 0406x1220mm 등)만 수집
Dev-X — No Boundaries, Infinite Possibilities|
52
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

그래픽 요소 필터링 및 선별

Graphical Element와 Cull로 뷰포트 요소 필터링

Grasshopper 데피니션
Graphical Element Filtering
데이터 흐름
1
Graphical Element뷰포트 그래픽 요소
2
CatFltr → FiltElem필터 적용 후 요소 수집
3
Cull조건에 맞는 요소만 선별
Graphical Element
뷰포트의 그래픽 요소
FiltElem
필터로 요소 수집
Cull
패턴으로 요소 선별
CatFltr
카테고리 필터
주요 파라미터
EElements
FiltElem 입력 요소
FFilter
FiltElem 필터 조건
LList
Cull 입력 리스트
PPattern
Cull 선별 패턴
Cull: FiltElem으로 필터링 후 Cull Pattern으로 최종 선별. Graphical Element는 현재 뷰의 요소만 대상
Dev-X — No Boundaries, Infinite Possibilities|
53
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

복합 필터 조합 (AND/OR)

AndFltr, OrFltr로 여러 필터 조건 조합

Grasshopper 데피니션
Complex Filter Combination
데이터 흐름
1
CatFltr + LevelFltr개별 필터 생성
2
AndFltr / OrFltr필터 조합 (AND/OR)
3
FiltElem → Cull필터 적용 후 선별
LevelFltr
레벨로 필터링
AndFltr
AND 필터 조합
OrFltr
OR 필터 조합
FiltElem
필터로 요소 수집
주요 파라미터
LLevel
LevelFltr 레벨 입력
A/BFilter A/B
AndFltr, OrFltr 입력
FFilter
조합된 필터 출력
PPattern
Cull 선별 패턴
AND vs OR: AndFltr는 모든 조건 만족, OrFltr는 하나라도 만족하면 통과. 복잡한 조건은 중첩 가능
Dev-X — No Boundaries, Infinite Possibilities|
54
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

파라미터 기반 필터링

Parameters와 ParaFltr로 속성값 기반 요소 필터링

Grasshopper 데피니션
Parameter Based Filtering
데이터 흐름
1
ParametersBuilt-In 파라미터 선택 (레벨)
2
Equals값 비교 조건 설정
3
ParaFltr → Elements파라미터 필터 적용
Parameters
Revit 파라미터 선택
Equals
값 비교 (같음)
ParaFltr
파라미터로 필터링
Elements
필터된 요소 수집
주요 파라미터
PParameter
Built-In 파라미터
VValue
비교할 값 (Equals)
RRule
필터 규칙 (ParaFltr)
EElements
필터된 요소들
ParaFltr: Built-In Parameter(레벨 등)로 요소 필터링. Equals 외에도 Contains, Greater 등 다양한 비교 규칙 사용 가능
Dev-X — No Boundaries, Infinite Possibilities|
55

RhinoInside Basic

알고리즘 기획/구현

B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

기둥 타입 결정 - 가장 가까운 텍스트 찾기

기둥 중심점에서 가장 가까운 텍스트를 찾아 타입 정보 매칭

Grasshopper 데피니션
Column Type Matching Grasshopper Definition
알고리즘 흐름
1
Curve 중심점기둥 Curve의 중심점 추출
2
Find Text텍스트 위치/내용 수집
3
Closest Point가장 가까운 텍스트 매칭
Curve
Revit 기둥의 중심선
Evaluate
Curve 중심점(t=0.5) 추출
Find Text
텍스트 위치/내용 수집 (C#)
Closest Pt
가장 가까운 점 찾기
핵심 데이터 구조
CCurve
기둥의 중심선 커브
PPoint
기둥 중심점 (t=0.5)
TText Pts
텍스트 위치 포인트들
SStrings
텍스트 내용 (타입명)
Find Text 컴포넌트: C#으로 제작된 커스텀 컴포넌트로, 뷰에서 텍스트의 위치(Point)와 내용(String)을 추출하여 기둥-텍스트 매칭에 활용
Dev-X — No Boundaries, Infinite Possibilities|
57
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

사각 기둥 가로세로 크기 추출

기둥 Curve 길이를 분석하여 가로/세로 치수 산출

Grasshopper 데피니션
Column Size Extraction Grasshopper Definition
알고리즘 흐름
1
Explode기둥 Curve를 개별 선분으로 분해
2
Length각 선분의 길이 측정
3
Sort / Cull정렬 후 가로/세로 분리
Explode
Curve를 선분으로 분해
Length
선분/커브 길이 측정
Sort List
값 기준으로 정렬
Cull Index
인덱스로 항목 제거
핵심 데이터 구조
CCurve
기둥 외곽 폴리커브
SSegments
분해된 4개 선분
LLengths
각 선분 길이 값
W/HWidth/Height
가로/세로 치수
사각 기둥 가정: 4개 선분 중 동일한 길이끼리 짝지어 가로/세로로 분류. 정렬 후 짝수/홀수 인덱스로 분리하면 Width와 Height 추출 가능
Dev-X — No Boundaries, Infinite Possibilities|
58
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

타입 복제하기

기존 Revit 타입을 복제하여 새로운 타입 생성

Grasshopper Definition
Type Duplication Grasshopper Definition
알고리즘 흐름
1
Type 선택복제할 기존 타입 선택
2
Duplicate타입 복제 실행
3
Rename새 타입 이름 지정
Element Type
복제할 원본 타입 입력
Duplicate Type
Revit 타입 복제 컴포넌트
Text / Panel
새 타입 이름 입력
New Type
생성된 새 타입 출력
핵심 데이터 구조
TType
원본 Element Type
NName
새 타입 이름
DDuplicate
복제된 타입
RResult
적용된 Element
타입 복제 활용: 기존 타입의 속성을 유지하면서 새로운 이름과 파라미터 값을 가진 타입 생성. 파라메트릭 설계에서 다양한 사이즈 변형 시 필수 기법
Dev-X — No Boundaries, Infinite Possibilities|
59
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

내부 사각형 찾기

큰 사각형 내부에 포함된 작은 사각형 필터링

Grasshopper Definition
Find Inner Rectangle Grasshopper Definition
알고리즘 흐름
1
Centroid작은 사각형의 중심점 추출
2
Point In Curve중심점이 큰 사각형 내부인지 판별
3
Cull Pattern내부에 있는 사각형만 필터링
Area
커브의 면적과 중심점(Centroid) 계산
Point In Curve
점이 닫힌 커브 내부에 있는지 판별
Cull Pattern
Boolean 패턴으로 항목 필터링
Dispatch
Boolean 값으로 리스트 분리
핵심 데이터 구조
BBig Curve
큰 사각형 (경계)
SSmall Curves
작은 사각형들
CCentroids
각 사각형 중심점
RResult
내부 사각형만
Point In Curve: 중심점 기준 판별. 결과값 0=외부, 1=일치, 2=내부. Coincident(1)와 Inside(2)를 True로 처리하여 경계선 위 객체도 포함
Dev-X — No Boundaries, Infinite Possibilities|
60
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

면 분할하기

Surface를 U/V 방향으로 균등 분할

Grasshopper Definition
Surface Split Grasshopper Definition
알고리즘 흐름
1
DomainSurface의 U/V 도메인 추출
2
Divide도메인을 지정 개수로 분할
3
Isotrim분할된 서브서피스 추출
Surface Domain
Surface의 U/V 파라미터 범위 추출
Divide Domain²
2D 도메인을 U/V 개수로 분할
Isotrim
도메인 영역의 서브서피스 추출
Deconstruct Domain²
2D 도메인을 U/V 구간으로 분해
핵심 데이터 구조
SSurface
원본 서피스
UU Count
U 방향 분할 수
VV Count
V 방향 분할 수
RResult
분할된 서피스들
Isotrim (SubSrf): 원본 서피스의 일부 영역을 추출. Domain²로 정의된 U/V 범위에 해당하는 서브서피스를 잘라냄. 패널 시스템, 파사드 분할에 필수
Dev-X — No Boundaries, Infinite Possibilities|
61
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Domain(도메인)이란?

Grasshopper의 핵심 개념을 쉽게 이해하기

💡한 문장 정의
Domain = 객체를 비율 기반으로 제어하기 위한 좌표계
숫자의 범위(시작~끝)로 표현 → 0~1 사이 값으로 커브/서피스의 위치를 지정
📏 비유: 30cm 자
• 자의 시작점 = 0
• 자의 끝점 = 30
• 이 자의 Domain = 0 to 30
• 15cm 위치 = Domain의 중간점
🦗 Grasshopper에서
• 커브의 시작점 = 0
• 커브의 끝점 = 1
• 기본 Domain = 0 to 1
• 0.5 위치 = 커브의 정중앙
왜 0부터 1까지인가요?
0
시작 (0%)
0.25
1/4 (25%)
0.5
중간 (50%)
1
끝 (100%)
정규화(Normalize): 어떤 길이의 커브든 0~1 사이로 표현하면 "비율"로 다룰 수 있어 편리합니다.
실제 활용 예시: 커브 위에 점 배치하기
Step 1
커브를 준비합니다
(Domain: 0 to 1)
Step 2
원하는 위치 지정
(예: 0.3 = 30% 지점)
Step 3
Evaluate Curve로
해당 위치의 점 추출
Dev-X — No Boundaries, Infinite Possibilities|
62
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

2D Domain(Domain²) 이해하기

Surface를 다루는 핵심: U방향과 V방향

1DDomain (커브)
한 방향만 있음
시작(0) → 끝(1)
2DDomain² (서피스)
U ↔ / V ↕
두 방향이 있음
U방향(가로) + V방향(세로)
U방향과 V방향이란?
4×3 분할된 Surface
U 방향 (가로) →
Surface의 "가로" 방향. Domain: 0(왼쪽) ~ 1(오른쪽)
V 방향 (세로) ↓
Surface의 "세로" 방향. Domain: 0(아래) ~ 1(위)
Surface 분할 과정 (3단계)
1Surface Domain
Surface의 U/V 범위 추출
→ Domain²(0~1, 0~1)
2Divide Domain²
U=4, V=3으로 분할
→ 12개의 작은 Domain²
3Isotrim
각 Domain² 영역의
서브서피스 추출
핵심 포인트: Domain²는 "어디서 어디까지"를 정의합니다. U(0.25~0.5), V(0.33~0.66)이면 Surface의 특정 영역을 지정하는 것입니다.
Dev-X — No Boundaries, Infinite Possibilities|
63
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

커브 교점 추출하기

여러 커브의 교차점을 찾아 활용하기

Grasshopper Definition
Curve Intersection Grasshopper Definition
알고리즘 흐름
1
Curves교차 대상 커브들 준비
2
CCX/MCX커브 간 교점 찾기
3
Points교차점 좌표 추출
Curve | Curve (CCX)
두 커브의 교차점/교차구간 찾기
Multiple Curves (MCX)
여러 커브 간 모든 교점 찾기
핵심 데이터 구조
ACurve A
첫 번째 커브
BCurve B
두 번째 커브
PPoints
교차점 좌표
tParameter
교차 위치 파라미터
CCX vs MCX: CCX는 두 커브 간 교점, MCX는 여러 커브 간 모든 교점을 찾습니다. 그리드 패턴이나 복잡한 커브 네트워크에서 MCX가 효율적입니다.
Dev-X — No Boundaries, Infinite Possibilities|
64
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

교점으로 커브 자르기

교차점을 찾아 커브를 분할하는 알고리즘

Grasshopper Definition
Curve Shatter Grasshopper Definition
알고리즘 흐름
1
CCX/MCX커브 교차점 찾기
2
Parameter교차 위치 파라미터 추출
3
Shatter파라미터 위치에서 커브 분할
Curve | Curve (CCX)
두 커브의 교차점과 파라미터 추출
Multiple Curves (MCX)
여러 커브 간 모든 교점 찾기
Shatter
파라미터 위치에서 커브 분할
핵심 데이터 구조
CCurves
분할할 커브들
tParameters
분할 위치 (0~1)
SSegments
분할된 커브 조각들
Shatter: CCX/MCX에서 출력되는 tA, tB 파라미터를 Shatter의 t 입력에 연결하면 교차점에서 커브가 분할됩니다. 분할된 세그먼트는 Tree 구조로 출력됩니다.
Dev-X — No Boundaries, Infinite Possibilities|
65
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

커브로 서피스 자르기

커브를 이용한 서피스 분할 알고리즘

Grasshopper Definition
Surface Split Grasshopper Definition
알고리즘 흐름
1
Surface분할할 서피스 준비
2
Curve분할 기준 커브 배치
3
Split커브로 서피스 분할
Surface Split
커브로 서피스를 여러 조각으로 분할
Brep | Curve
Brep과 커브의 교차점/교차선 찾기
핵심 데이터 구조
SSurface
분할할 서피스
CCurves
분할 기준 커브들
FFragments
분할된 서피스 조각들
Surface Split: 커브가 서피스 위에 있어야 분할이 가능합니다. 커브를 서피스에 Project 하거나, Pull to Surface로 서피스 위에 배치한 후 사용하세요.
Dev-X — No Boundaries, Infinite Possibilities|
66
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Contour로 등고선 생성

형상에서 일정 간격의 단면선(등고선)을 추출하는 알고리즘

Grasshopper Definition
Contour Grasshopper Definition
알고리즘 흐름
1
ShapeBrep/Surface 준비
2
Direction단면 방향과 간격 설정
3
Contour등고선(단면선) 생성
Contour
형상을 일정 간격으로 잘라 단면선 생성
Unit Z
Z축 방향 단위벡터 (수직 방향)
핵심 데이터 구조
SShape
단면을 생성할 형상
PPoint
시작점 (기준점)
NNormal
단면 방향 벡터
DDistance
단면 간격
Contour: Distance 값으로 등고선 간격을 조절합니다. 지형 분석, 3D 프린팅 슬라이싱, 단면도 생성 등에 활용됩니다.
Dev-X — No Boundaries, Infinite Possibilities|
67
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Solid Boolean 연산

교집합, 합집합, 차집합을 이용한 형상 조작

Grasshopper Definition
Solid Boolean Grasshopper Definition
알고리즘 흐름
1
Brep A, B연산할 두 형상 준비
2
Boolean연산 유형 선택
3
Result결과 형상 출력
Solid Difference
A에서 B를 뺀 차집합 (A - B)
Solid Union
A와 B를 합친 합집합 (A + B)
Solid Intersection
A와 B의 겹치는 교집합 (A ∩ B)
핵심 데이터 구조
ABrep A
첫 번째 형상
BBrep B
두 번째 형상
RResult
연산 결과 형상
Boolean 연산: 두 형상이 서로 교차해야 연산이 가능합니다. 닫힌 Brep(Solid)에서만 작동하며, 열린 Surface는 Cap Holes로 닫아주세요.
Dev-X — No Boundaries, Infinite Possibilities|
68

RhinoInside Basic

리스트

B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

리스트 검색 및 삽입

리스트에서 값 찾기와 항목 삽입 알고리즘

Grasshopper Definition
List Search Insert Grasshopper Definition
알고리즘 흐름
1
List원본 리스트 준비
2
Search/Insert값 검색 또는 삽입 위치 지정
3
Result인덱스 또는 수정된 리스트
Member Index
리스트에서 특정 값의 인덱스 찾기
Insert Items
지정 위치에 새 항목 삽입
핵심 데이터 구조
SSearch List
검색 대상 리스트
MMember
찾을 값
IIndex
삽입/검색 위치
LList
결과 리스트
Member Index: 값이 여러 개 있으면 모든 인덱스를 반환합니다. Insert Items의 W(Wrap) 옵션으로 삽입 방식을 제어할 수 있습니다.
Dev-X — No Boundaries, Infinite Possibilities|
70
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

리스트 분할 및 추출

Series, Item, Partition을 활용한 리스트 조작

Grasshopper Definition
List Partition Grasshopper Definition
알고리즘 흐름
1
Series숫자 시리즈 생성
2
Item특정 인덱스 항목 추출
3
Partition리스트를 그룹으로 분할
Series
시작값, 간격, 개수로 숫자 시리즈 생성
List Item
인덱스로 리스트에서 항목 추출
Partition List
지정 크기로 리스트를 그룹 분할
핵심 데이터 구조
SStart
시리즈 시작값
NStep
증가 간격
CCount
항목 개수
iIndex
추출할 위치
Partition: Size로 그룹 크기를 지정합니다. 10개 리스트를 Size=2로 분할하면 5개 그룹이 됩니다. Tree 구조로 출력됩니다.
Dev-X — No Boundaries, Infinite Possibilities|
71
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

리스트 길이 및 항목 교체

List Length와 Replace Items를 활용한 리스트 조작

Grasshopper Definition
List Replace Grasshopper Definition
알고리즘 흐름
1
List원본 리스트 준비
2
Length리스트 길이 확인
3
Replace특정 인덱스 항목 교체
List Length
리스트의 항목 개수 반환
Replace Items
지정 인덱스의 항목을 새 값으로 교체
핵심 데이터 구조
LList
입력 리스트
LngLength
리스트 길이
IItem
교체할 새 값
iIndex
교체 위치
Replace: W(Wrap) 옵션이 True면 인덱스가 리스트 범위를 넘어도 순환하여 교체합니다. False면 범위를 벗어난 인덱스는 무시됩니다.
Dev-X — No Boundaries, Infinite Possibilities|
72
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

리스트 분리 및 정렬

Split, Sort, Dispatch를 활용한 리스트 조작

Grasshopper Definition
List Split Sort Grasshopper Definition
알고리즘 흐름
1
List원본 리스트 준비
2
Split/Sort분할 또는 정렬 수행
3
Dispatch패턴 기반 분리
Split List
인덱스 기준으로 리스트를 두 부분으로 분할
Sort List
키 값 기준으로 리스트 정렬
Dispatch
Boolean 패턴으로 리스트를 A/B로 분리
핵심 데이터 구조
LList
입력 리스트
iIndex
분할 위치
KKeys
정렬 기준 값
PPattern
Boolean 분리 패턴
Split vs Dispatch: Split은 인덱스로 분할, Dispatch는 True/False 패턴으로 분리합니다. Sort는 Keys 값의 오름차순으로 정렬합니다.
Dev-X — No Boundaries, Infinite Possibilities|
73

RhinoInside Basic

데이터 추출

B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Brep/Surface 분해

DeBrep를 활용한 지오메트리 데이터 추출

Grasshopper Definition
DeBrep Grasshopper Definition
데이터 추출 흐름
1
Brep/Srf입력 지오메트리 준비
2
DeBrepBrep 분해 수행
3
F/E/VFace, Edge, Vertex 추출
Brep
Brep 지오메트리 입력 (Boundary Representation)
Surface
Surface 지오메트리 입력
Deconstruct Brep
Brep를 Face, Edge, Vertex로 분해
핵심 데이터 구조
BBrep
입력 Brep 지오메트리
FFaces
분해된 면 리스트
EEdges
분해된 모서리 리스트
VVertices
분해된 꼭짓점 리스트
DeBrep: Brep를 구성하는 Face(면), Edge(모서리), Vertex(꼭짓점)를 개별 리스트로 추출합니다. Surface도 Brep로 변환 후 분해됩니다.
Dev-X — No Boundaries, Infinite Possibilities|
74
B+CD+P
BIM-IT 융합 과정
Chapter 5: BIM-IT 융합기술 기본

Curve 점 추출

Mid Point, End Points, Explode를 활용한 점 데이터 추출

Grasshopper Definition
Curve Point Extraction Grasshopper Definition
데이터 추출 흐름
1
Curve입력 커브 준비
2
Analysis점 추출 컴포넌트 적용
3
Points중점/끝점/정점 추출
Mid Point
커브의 중간점 반환
End Points
커브의 시작점과 끝점 반환
Explode
폴리커브를 선분과 꼭짓점으로 분해
Evaluate Curve
파라미터 위치의 점 반환
핵심 데이터 구조
CCurve
입력 커브
MMid
중간점
S/EStart/End
시작점/끝점
VVertices
꼭짓점 리스트
Evaluate Curve: t=0은 시작점, t=0.5는 중간점, t=1은 끝점입니다. Mid Point는 t=0.5와 동일한 결과를 반환합니다.
Dev-X — No Boundaries, Infinite Possibilities|
75
02
Chapter

BIM-IT 융합기술 모델링

파라메트릭 모델링 및 데이터 전송

6.1.5모델링 및 데이터 전송
6.1.6기본 파라메트릭 모델링
6.1.7커스터마이징 및 자동화
6.1.8복잡한 데이터 처리
6.1.9프로젝트 기반 학습
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

BIM-IT 융합기술 모델링

35시간

강의계획서 - 파라메트릭 모델링 및 데이터 전송

1. 강의 개요

과목명
BIM-IT 융합기술 모델링
교육시간
35시간 (이론 5H + 실습 30H)
대상
BIM-IT 융합기술 기본 이수자
선수학습
Chapter 5. BIM-IT 융합기술 기본
실습환경
Rhino 8 + Grasshopper, Revit 2025

2. 지도목표

Grasshopper를 활용한 파라메트릭 모델링과 Rhino-Revit 간 데이터 전송 역량을 습득한다.
1Rhino-Revit 간 모델 데이터 전송
2Grasshopper 기반 파라메트릭 모델링
3커스텀 도구 및 스크립트 작성
4복잡한 데이터 변환 및 처리
5실제 프로젝트 기반 문제 해결

3. 사용교재 (자료)

주교재
본 교육자료
참고
RhinoInside 문서
실습
강사 제공

4. 주요 내용 (학습활동)

6.1.5모델링 및 데이터 전송실습5H
Rhino 모델 가져오기 / Revit 모델 내보내기
6.1.6기본 파라메트릭 모델링실습8H
Grasshopper 기반 모델링 / 기본 파라메트릭 요소 생성
6.1.7커스터마이징 및 자동화이론+실습8H
사용자 정의 도구 및 스크립트 / API 활용 커스터마이징
6.1.8복잡한 데이터 처리실습7H
데이터 변환 및 처리 / 고급 파라메트릭 디자인 및 분석
6.1.9프로젝트 기반 학습실습7H
실제 프로젝트 사례 분석 / 문제 해결 방법
평가 기준
이론평가10%
실습평가90%
파라메트릭 모델링 결과물 중심 평가
Dev-X — No Boundaries, Infinite Possibilities|
76

Shape File to Site

국토정보지리원 Shape 파일로 대지 및 주변 맵 생성

B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

Shapefile 소개

국토정보플랫폼을 통한 GIS 데이터 활용

국토정보플랫폼 (map.ngii.go.kr)
국토정보플랫폼 홈페이지
제공 서비스
1
수치지도지형/지물 벡터 데이터
2
항공사진고해상도 항공 이미지
3
국가기준점측량 기준점 정보
4
국토위성영상위성 촬영 이미지
Shapefile이란?
Shapefile은 ESRI에서 개발한 GIS(지리정보시스템) 벡터 데이터 포맷입니다. 점(Point), 선(Line), 면(Polygon) 형태의 공간 데이터와 속성 정보를 함께 저장하며, 건설/토목 분야에서 대지 경계, 도로, 건물 등의 지형 정보를 표현하는 데 널리 사용됩니다.
.SHP
도형 정보 (점, 선, 면)
.DBF
속성 데이터 (테이블)
.SHX
도형 인덱스 파일
.PRJ
좌표계 정보
BIM-IT 융합에서의 활용
대지 경계 생성
Shapefile의 필지 데이터를 Grasshopper로 가져와 Revit 대지 경계 자동 생성
주변 환경 모델링
도로, 하천, 인접 건물 정보를 활용한 컨텍스트 모델 생성
지형 분석
등고선, 표고점 데이터로 지형 서피스 및 토공량 분석
Dev-X — No Boundaries, Infinite Possibilities|
78
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

Shapefile 다운로드

국토정보플랫폼에서 GIS 데이터 다운로드 방법

영역 선택 및 다운로드 화면
Shapefile 다운로드 화면
다운로드 절차
1
회원가입 및 로그인
국토정보플랫폼 회원가입 후 로그인
2
수치지도 선택
국토정보맵 > 수치지도 메뉴 접속
3
영역 선택
다운로드할 지역을 지도에서 드래그하여 선택
4
데이터 다운로드
Shapefile 포맷 선택 후 다운로드
연속수치지형도
전국 지형/지물 데이터
SHP
수치지형도 2.0
고정밀 지형도 데이터
SHP
지적도
필지 경계 및 지번 정보
SHP
DEM
수치표고모델 (지형 높이)
GeoTIFF
Dev-X — No Boundaries, Infinite Possibilities|
79
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

Shapefile 활용 가이드

좌표계 이해와 Grasshopper 연동 방법

국내 GIS 좌표계 (Korea 2000)
EPSG:5186
Korea 2000 중부원점
서울, 경기 등 중부지역
EPSG:5185
Korea 2000 서부원점
전라, 충남 서부지역
EPSG:5187
Korea 2000 동부원점
강원, 경북 동부지역
EPSG:5188
Korea 2000 동해원점
울릉도, 독도 지역
@it
GIS 데이터 가져오기 및 지형 생성
Shapefile 읽기OSM 데이터지형 메쉬
Elk
OpenStreetMap 기반 도시 데이터
OSM 건물도로 네트워크지형 등고선
Shapefile 활용 팁
1영역 선택
프로젝트 대지 주변 500m~1km 범위 선택 권장
2좌표 변환
Grasshopper에서 좌표 원점 조정 필요 (대규모 좌표값)
3레이어 분리
건물, 도로, 필지 등 레이어별 별도 다운로드
4파일 관리
SHP, DBF, SHX, PRJ 4개 파일을 같은 폴더에 보관
국토정보플랫폼→Shapefile 다운로드→Grasshopper (@it/Elk)→Revit 대지 생성
Dev-X — No Boundaries, Infinite Possibilities|
80
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

Shapefile to Site 워크플로우

GIS 데이터를 활용한 사이트 모델링 전체 과정

Grasshopper Definition 전체 구조
Shapefile to Site Grasshopper Definition
입력 데이터 및 생성 결과
수치지형도
등고선, 표고점
↓지형 서피스
지적도
필지 경계, 지번
↓대지 경계
건물 레이어
건물 폴리곤
↓주변 건물
도로 레이어
도로 중심선
↓도로 면
Dev-X — No Boundaries, Infinite Possibilities|
81
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

@it 애드인 설치

Food for Rhino에서 다운로드 및 Grasshopper 설치 방법

1Food for Rhino 접속
→
2파일 다운로드
→
3컴포넌트 폴더에 설치
1
Food for Rhino 접속
•food4rhino.com 웹사이트 접속
•검색창에 "@it" 입력하여 검색
•@it (by elcinertugrul) 플러그인 선택
2
파일 다운로드
•Rhino 버전에 맞는 파일 선택 (Rhino 7/8)
•Download 버튼 클릭
•ZIP 파일 다운로드 완료
3
컴포넌트 폴더에 설치
•Grasshopper 실행 → File → Special Folders
•Components Folder 클릭하여 폴더 열기
•ZIP 파일 압축 해제 후 폴더에 붙여넣기
•Rhino 재시작
@it 주요 컴포넌트
Input
Import SHP
Shapefile 가져오기
Input
Import DEM
DEM 지형 데이터
Geometry
Create Terrain
지형 서피스 생성
Geometry
Building Mass
건물 매스 생성
Geometry
Road Surface
도로 면 생성
Utility
Coord Transform
좌표계 변환
Dev-X — No Boundaries, Infinite Possibilities|
82
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

수치지도 불러오기 및 좌표 변환

@it 애드인을 활용한 Shapefile Import 워크플로우

Path
SHP 파일 경로 지정
→
Imp@it
Shapefile 불러오기 (WGS84)
→
DataVis@it
지형 데이터 추출
→
Orient
원점(0,0,0)으로 이동
→
Scale
m → mm 변환 (×1000)
Grasshopper Definition
수치지도 불러오기 Grasshopper Definition
좌표계 변환
WGS84 → 프로젝트 좌표계
원점 이동
Orient 컴포넌트로 (0,0,0) 배치
단위 변환
Factor 1000 (m → mm)
Dev-X — No Boundaries, Infinite Possibilities|
83
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

지형(Toposolid) 생성

포인트 그리드 기반 Revit 지형 모델링 워크플로우

Divide
커브를 포인트로 분할
→
CullPt
중복 포인트 제거
→
InCurve
경계 내부 포인트 추출
→
Dispatch
데이터 분리
→
Toposolid
Revit 지형 생성
Grasshopper Definition
지형 생성 Grasshopper Definition
포인트 그리드 생성
Divide로 커브를 N등분하여 포인트 생성
경계 필터링
InCurve로 경계 내부 포인트만 추출
Revit 지형 생성
Toposolid로 Revit 지형 요소 생성
Dev-X — No Boundaries, Infinite Possibilities|
84
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

균일한 포인트 그리드로 지형 생성

Delaunay 메쉬 기반 균일한 포인트 추출 워크플로우

Del
Delaunay 메쉬 생성
→
Boundary
경계 서피스 추출
→
SDivide
균일한 UV 분할
→
MeshRay
높이값 추출
→
Toposolid
Revit 지형 생성
Grasshopper Definition
균일한 포인트 그리드 지형 생성 Grasshopper Definition
Delaunay 메쉬
불규칙 포인트를 삼각형 메쉬로 변환
균일한 그리드
SDivide로 U×V (30×30) 균일 분할
높이값 추출
MeshRay로 메쉬 표면 Z값 획득
Dev-X — No Boundaries, Infinite Possibilities|
85
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

건물 매스 생성 (층수 기반)

풋프린트 층수 속성을 활용한 건물 높이 자동 생성

Imp@it
건물 SHP 불러오기
→
DataVis@it
층수 속성 추출
→
A×B
층수 × 3000mm
→
Extr
건물 높이 생성
Grasshopper Definition
건물 매스 생성 Grasshopper Definition
층수 속성 추출
DataVis@it의 GetValofFeat으로 층수 추출
높이 계산
층수 × 3000mm (1층당 3m)
건물 매스 생성
Extrude로 Z방향 돌출
Dev-X — No Boundaries, Infinite Possibilities|
86
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

경계 내 건물 매스 필터링

특정 영역 내부의 건물만 선택적으로 매스 생성

Area
풋프린트 중심점
→
InCurve
경계 내부 판별
→
Dispatch
건물/층수 필터
→
A×B
층수 × 3m
→
Extr
건물 매스 생성
Grasshopper Definition
경계 내 건물 매스 필터링 Grasshopper Definition
중심점 기반 필터링
Area로 풋프린트 중심점(C) 추출
경계 내부 판별
InCurve로 경계 커브 내부 여부 확인
동기화 필터링
Dispatch로 건물과 층수 동시 필터
Dev-X — No Boundaries, Infinite Possibilities|
87
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

지형 위 건물 매스 배치

지형 표면 높이에 맞춰 건물을 배치하고 3D 형상 생성

MeshRay
지형 높이 측정
→
Dist
이동 거리 계산
→
Move
지표면으로 이동
→
Extr
건물 높이 돌출
→
Cap
닫힌 형상 생성
Grasshopper Definition
지형 위 건물 매스 배치 Grasshopper Definition
지형 높이 측정
MeshRay로 건물 위치의 지형 높이 측정
수직 이동
Dist + Move로 지표면까지 이동
닫힌 형상 생성
Cap으로 Brep 상하단 닫기
Dev-X — No Boundaries, Infinite Possibilities|
88
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

주변 건물 DirectShape 생성

건물 매스를 Revit DirectShape로 배치하여 주변 환경 구성

Categories
일반 모델 선택
→
Extr
건물 형상 돌출
→
Cap
닫힌 형상 생성
→
G-Shape
DirectShape 생성
Grasshopper Definition
주변 건물 DirectShape 생성 Grasshopper Definition
카테고리 선택
Categories에서 "일반 모델" 선택
3D 형상 생성
Extrude + Cap으로 닫힌 Brep 생성
DirectShape 배치
G-Shape로 Revit에 주변건물 배치
Dev-X — No Boundaries, Infinite Possibilities|
89
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

도로 종단면 생성

도로 선형을 따라 지형 높이를 추출하여 종단면 프로파일 생성

DivLength
도로 선형 분할
→
MeshRay
지형 높이 추출
→
pDecon
XYZ 분해
→
Move
높이 적용
→
IntCrv
종단면 생성
Grasshopper Definition
도로 종단면 생성 Grasshopper Definition
도로 선형 분할
DivLength로 일정 간격(10m)으로 분할
높이값 추출
MeshRay + pDecon으로 지형 Z값 추출
종단면 커브 생성
IntCrv로 원지반 높이라인 생성
Dev-X — No Boundaries, Infinite Possibilities|
90
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

계획 선형 적용

계획된 도로 선형을 원지반에 적용하여 계획 종단면 생성

DivLength
계획 선형 분할
→
pDecon
Y값 추출
→
A-B
높이 차이 계산
→
Move
계획선형 적용
→
IntCrv
계획 종단면 생성
Grasshopper Definition
계획 선형 적용 Grasshopper Definition
기준점 Y값 추출
pDecon으로 종단 기준점 높이 추출
높이 차이 계산
A-B로 계획 높이와 원지반 높이 차이
계획 선형 생성
Move + IntCrv로 계획 종단면 생성
Dev-X — No Boundaries, Infinite Possibilities|
91
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

도로면 생성

종단면 커브를 기반으로 도로면(Surface) 생성

IntCrv
종단면 커브
→
PFrames
수직면 생성
→
Line
X축 라인 생성
→
Loft
도로면 생성
Grasshopper Definition
도로면 생성 Grasshopper Definition
수직 프레임 생성
PFrames로 커브 따라 수직면 생성
도로 폭 라인 생성
X축 기준 ±9m 라인 생성
도로면 서피스 생성
Loft로 라인들을 연결하여 면 생성
Dev-X — No Boundaries, Infinite Possibilities|
92
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

지형 서브디비전 생성

Toposolid 지형을 커브로 분할하여 서브디비전 생성

Crv
경계 커브
→
Toposolid
지형 생성
→
Crv
분할 커브
→
T-Subdivision
서브디비전 생성
Grasshopper Definition
지형 서브디비전 생성 Grasshopper Definition
Toposolid 지형
균일한 포인트로 Revit 지형 생성
분할 커브
서브디비전 경계를 위한 커브 입력
서브디비전 생성
T-Subdivision으로 지형 분할
Dev-X — No Boundaries, Infinite Possibilities|
93
PRACTICE

연습문제

배운 내용을 바탕으로 실습 문제를 풀어봅니다

Grasshopper
RhinoInside
Revit
Site Modeling
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

연습문제

Shapefile to Site 실습 종합 문제

01
도로 및 인도 모델링
1.Shapefile에서 도로/인도 레이어 검색 및 폴리라인 추출
2.기존 Toposolid 지형에 폴리라인 연결
3.T-Subdivision으로 도로/인도 영역 분할 생성
Hint: @it Shapefile, T-Subdivision
02
지하층 구성 (B4F)
1.주변 매스 1개 삭제 후 지하 4층 터파기 영역 생성
2.CIP(Cast-In-Place Pile) 흙막이 벽체 모델링
3.오픈컷 공법 적용 시 법면 경사(1:0.5) 표현
Hint: Extrusion, Boolean Difference
03
수인한도 분석
1.20층 규모(층고 3.5m, 총 70m) 건물 Mass 생성
2.SunVector Analysis 컴포넌트 연결 및 설정
3.동지(12/22) 기준 인접 대지 일영 영향 분석
Hint: Date, Time, Location 설정
04
3D 주상도 작성
1.제공된 시추공 위치 포인트 데이터 불러오기
2.지층별 깊이/토질 정보로 색상 구분 Cylinder 생성
3.주상도 라벨 및 범례 추가
Hint: Cylinder, Series, Color
제출:Grasshopper Definition (.gh) + Revit Project (.rvt) + 결과 캡처
3시간
Dev-X — No Boundaries, Infinite Possibilities|
95

SpaceFrame 생성

Surface를 이용한 SpaceFrame 생성 알고리즘

B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

SpaceFrame 생성

Surface 분할 기반 입체 트러스 구조 생성 알고리즘

Divide
서피스 분할
→
SubSrf
면 추출
→
EvalSrf
Normal 추출
→
DeBrep
절점 연결
→
Line SDL
프레임 높이
SpaceFrame Grasshopper Definition
서피스 면 분할
U/V Count로 서피스를 균등 분할하여 그리드 포인트 생성
Normal 방향 추출
Area 중심점에서 EvalSrf로 법선 벡터 획득
프레임 부재 생성
DeBrep으로 절점 연결 후 Line SDL로 높이 지정
Dev-X — No Boundaries, Infinite Possibilities|
97
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

중복선 선분 제거

중복포인트를 활용해서 중복선을 제거하는 알고리즘

Crv
상부프레임 커브
→
Flatten
리스트 평탄화
→
CullPt
중복점 제거
→
Item
선분 추출
Grasshopper Definition
중복선 선분 제거 Grasshopper Definition
Flatten 평탄화
데이터 트리를 단일 리스트로 변환하여 중복 검사 준비
CullPt 중복 제거
Tolerance(0.5) 내 중복 포인트를 하나만 남기고 제거
Item 선분 추출
중복 제거된 인덱스로 해당하는 선분만 추출
Dev-X — No Boundaries, Infinite Possibilities|
98
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

하단 부재 작성

가로분할 갯수만큼 파티션으로 나누고 폴리라인 생성

End
끝점 추출
→
Partition
리스트 분할
→
Flip
배열 순서 변경
→
PLine
폴리라인 생성
Grasshopper Definition
하단 부재 작성 Grasshopper Definition
End Points 추출
서페이스 높이 지정선에서 끝점(S/E)을 추출
Partition 분할
가로분할 갯수만큼 리스트를 그룹으로 분할하여 정리
Flip + Polyline
배열 순서를 변경(Matrix 전치)하고 폴리라인으로 연결
Dev-X — No Boundaries, Infinite Possibilities|
99
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

SpaceFrame 보 생성

폴리라인을 단일선분으로 분해하여 구조 보 생성

Crv
중복 제거된 선분
→
Explode
단일선분 분해
→
Types
타입 선택
→
S-Beam
구조 보 생성
Grasshopper Definition
SpaceFrame 보 생성 Grasshopper Definition
Explode 분해
폴리라인을 보 생성을 위해 단일선분으로 분해
Types 타입 선택
원형강관 등 구조 보 패밀리 타입 선택
S-Beam 보 생성
선분과 레벨 정보로 Revit 구조 보 생성
Dev-X — No Boundaries, Infinite Possibilities|
100

램프 생성

Grasshopper를 이용한 램프 생성 알고리즘

B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

원형램프 기준면

Arc와 Offset으로 기준곡선을 만들고 Sweep2로 기준면 생성

Arc
내측 기준곡선
→
Offset
외측 기준곡선
→
Geodesic
기준선 생성
→
Swp2
기준면 생성
Grasshopper Definition
원형램프 기준면 Grasshopper Definition
Arc + Offset 곡선
램프 반경과 폭으로 내측/외측 기준곡선 생성
Geodesic 기준선
Extrude 면에서 엣지를 추출하여 램프 경사 기준선 생성
Sweep2 기준면
두 레일(내/외측 곡선)과 단면으로 램프 기준면 생성
Dev-X — No Boundaries, Infinite Possibilities|
102
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

연석 및 마감면 생성

Offset과 SrfSplit으로 연석 및 마감면 분할 생성

Offset
연석 기준선
→
Extr
절단면 생성
→
BBX
절단 커브 추출
→
SrfSplit
연석/마감면 분할
Grasshopper Definition
연석 및 마감면 생성 Grasshopper Definition
Offset 기준선
내/외측 기준선에서 연석 폭(300)만큼 오프셋하여 연석 작성 기준선 생성
BBX 절단 커브
Extrude 면의 Bounding Box에서 절단용 커브 추출
SrfSplit 면 분할
램프 기준면을 절단 커브로 분할하여 내측연석, 마감면, 외측연석 생성
Dev-X — No Boundaries, Infinite Possibilities|
103
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

램프 Solid 생성

기준면에서 Solid 생성 후 G-Shape로 Revit DirectShape 변환

Move
면 이동
→
Extr
두께 돌출
→
Cap
Solid 생성
→
G-Shape
DirectShape
Grasshopper Definition
램프 Solid 생성 Grasshopper Definition
Move + Extrude
기준면을 Z방향으로 이동 후 두께만큼 돌출하여 3D 형상 생성
Cap Holes
열린 Brep의 구멍을 막아 닫힌 Solid(Closed Brep)로 변환
G-Shape 변환
램프골조, 마감면, 연석을 Revit DirectShape 요소로 생성
Dev-X — No Boundaries, Infinite Possibilities|
104
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

램프 경사도 추출

램프 길이와 높이를 측정하여 경사도(%) 계산

Len
램프길이 추출
→
Line
기준선 생성
→
A/B
높이/길이 비율
→
A×B
경사도(%) 계산
Grasshopper Definition
램프 경사도 추출 Grasshopper Definition
BBX + Length
Bounding Box에서 램프 기준선을 추출하고 Length로 길이 측정
전개 기준선 생성
Line + End + Move로 램프 높이를 측정할 수직 기준선 생성
경사도(%) 계산
(램프높이 ÷ 램프길이) × 100 으로 경사도 백분율 계산
Dev-X — No Boundaries, Infinite Possibilities|
105
/
PRACTICE

램프 연습문제

직선 램프 생성과 곡선+직선 램프 결합 실습

직선 램프
곡선 램프
Solid 생성
경사도 검증
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

곡선+직선 램프 결합

복합 경로의 연속적인 램프 구조 설계 실습

01
복합 경로 설계
1.Arc로 곡선 구간 (반지름 6500mm, 90도) 생성
2.Line으로 직선 구간 (길이 12000mm) 생성
3.Join Curves로 곡선+직선 연결 (G1 연속성)
Hint: Arc, Line, Join
02
기준면 연속 생성
1.Offset으로 램프 폭(6000mm) 양쪽 생성
2.Geodesic으로 곡선 구간 측지선 연결
3.Loft/Sweep2로 전체 기준면 생성
Hint: Offset, Geodesic, Sweep2
03
결합부 처리
1.곡선/직선 각각 Solid 생성
2.G-Shape로 Revit DirectShape 변환
Hint: Extrude, Cap, G-Shape
04
전체 경사도 검증
1.곡선 구간: 호 길이 기준 경사도 계산
2.직선 구간: 수평 길이 기준 경사도 계산
3.전체 평균 경사도 및 최대 경사도 검증
Hint: Length, Arc Length, A/B × 100
제출:Grasshopper Definition (.gh) + Revit Project (.rvt) + 경사도 검증 결과
2시간
Dev-X — No Boundaries, Infinite Possibilities|
107
⚙
TYPE GENERATOR

Revit 유형 자동 생성기

구조부재 유형 자동생성 알고리즘

Family Type
Parameter
Beam
Column
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

커브 정렬 및 사이즈 분할

Type Generator

폴리라인을 분해하고 길이별로 정렬하여 가로/세로 치수 추출

Explode
폴리라인 분해
→
Len
길이 측정
→
Sort
길이순 정렬
→
Split
리스트 분할
Grasshopper Definition
커브 정렬 및 분할 알고리즘
커브 분해 + 길이 측정
Explode로 폴리라인을 개별 선분으로 분해하고 Length로 각 선분의 길이를 측정
길이순 정렬
Sort List로 길이 기준 정렬하여 짧은 것(가로)과 긴 것(세로)을 구분
가로/세로 사이즈 분할
Split List로 Index 기준 분할하여 기둥의 가로(Width)와 세로(Depth) 사이즈 추출
Dev-X — No Boundaries, Infinite Possibilities|
109
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

타입 복제 및 파라미터 적용

Type Generator

기존 타입을 복제하고 치수 파라미터(b, h)에 값을 적용

Types
타입 선택
→
Duplicate
타입 복제
→
Inspect
파라미터 확인
→
Set Param
값 적용
Grasshopper Definition
타입 복제 및 파라미터 적용 알고리즘
타입 복제
Types로 기존 Family Type(BasicColumn) 선택 후 Duplicate로 새 이름의 타입 생성
파라미터 확인
Inspect로 복제된 타입의 파라미터 목록 확인 (Dimensions: b, h 등)
치수 값 적용
Number로 가로/세로 사이즈 입력 후 Set Parameter로 b, h 파라미터에 값 적용
Dev-X — No Boundaries, Infinite Possibilities|
110
↔
GRASSHOPPER + REVIT

디멘젼 생성하기

Grasshopper를 활용한 Revit 치수 자동 생성
Grasshopper
Dimension
Revit API
Automation
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

디멘젼 생성 기본

Dimension

벽체 2개를 선택하여 Linear Dimension 생성

Element
벽체 선택
→
Reference
참조 추출
→
Move
위치 이동
→
L-Dim
치수 생성
Grasshopper Definition
디멘젼 생성 기본 정의
요소 선택
Graphical Element로 뷰에서 벽체 2개 선택 후 Location으로 위치 커브 추출
참조 추출
E-References로 참조점 추출 후 List Item으로 Index 3, 5 선택 (벽체 양쪽 면)
치수 생성
Unit Y × 1500으로 치수선 오프셋 후 L-Dim으로 Linear Dimension 생성
Dev-X — No Boundaries, Infinite Possibilities|
111
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

디멘젼 생성 알고리즘

Dimension

Revit 요소의 참조점을 추출하여 Linear Dimension 자동 생성

Element
요소 선택
→
Reference
참조 추출
→
Location
위치 분석
→
LDim
치수 생성
Grasshopper Definition
디멘젼 생성 알고리즘
요소 참조 추출
Graphical Element로 Revit 요소 선택 후 E-Reference로 치수 기준점 참조 추출
위치 분석
Location과 Geometry로 요소 위치 추출, Surface 분석으로 치수선 배치 위치 계산
Linear Dimension 생성
Move로 치수선 위치 조정 후 LDim 컴포넌트로 Revit 치수 자동 생성
Dev-X — No Boundaries, Infinite Possibilities|
112
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

디멘젼 생성 상세 구현

Dimension

핵심 컴포넌트와 데이터 흐름 분석

핵심 컴포넌트
Graphical ElementRhinoInside
Revit 뷰에서 그래픽 요소 선택
E-ReferenceRhinoInside
요소의 치수 참조점 추출
LocationRhinoInside
요소의 위치 커브/포인트 추출
LDimRhinoInside
Linear Dimension 치수 생성
파라미터 설정
Amplitude: 치수선 오프셋 거리 (예: 1500mm)
Angle: 치수선 배치 각도 조절
데이터 흐름
1
요소 선택
Graphical Element로 벽/기둥 등 선택
2
참조 추출
E-Reference로 치수 기준점 참조 획득
3
위치 분석
Location → End로 끝점 추출, Srf CP로 표면 분석
4
위치 조정
Amplitude 값으로 치수선 오프셋 거리 설정
5
치수 생성
LDim으로 참조점 기반 Linear Dimension 생성
출력 결과
Revit 뷰에 Linear Dimension이 자동 생성되며, 요소 간 거리가 정확하게 표기됩니다.
Dev-X — No Boundaries, Infinite Possibilities|
113
▦
GRASSHOPPER + REVIT

외벽마감(돌마감) 생성하기

Grasshopper를 활용한 외벽 돌마감 패널 자동 생성
Grasshopper
Wall Finish
Stone Panel
Automation
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

외벽마감(돌마감) 생성 알고리즘

Wall Finish

페이스 선택으로 프로필 벽체 자동 생성

Face
면 선택
→
DeBrep
엣지 분해
→
DivLength
길이 분할
→
SrfSplit
면 분할
→
P-Wall
벽 생성
Grasshopper Definition
외벽마감 생성 정의
면 선택 및 분해
Face로 Revit 요소의 면 선택 후 DeBrep으로 엣지 추출, Offset(85mm)으로 내부 영역 설정
분할선 생성
DivLength(1200, 600)로 패널 분할점 생성, Vec2Pt + Unit Z로 수직 분할선(8000mm) 생성
벽체 생성
SrfSplit으로 면 분할 후 Join+Offset(5mm)으로 프로필 생성, P-Wall로 돌마감 벽체 생성
Dev-X — No Boundaries, Infinite Possibilities|
114
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

외벽마감(돌마감) 상세 구현

Wall Finish

핵심 컴포넌트와 데이터 흐름 분석

핵심 컴포넌트
FaceRhinoInside
Revit 요소에서 면(Face) 선택
DeBrepGrasshopper
Brep을 Face/Edge/Vertex로 분해
OffsetGrasshopper
커브를 지정 거리만큼 오프셋
DivLengthGrasshopper
커브를 지정 길이로 분할
FlipGrasshopper
커브 방향 뒤집기
SrfSplitGrasshopper
커브로 서피스 분할
P-WallRhinoInside
프로필 기반 벽체 생성
파라미터 설정
Offset: 85mm (테두리), 5mm (프로필)
DivLength: 가로 1200mm, 세로 600mm
Line: 수직 분할선 8000mm
데이터 흐름
1
면 선택
Face로 Revit 요소의 외벽 면 선택
2
엣지 추출
DeBrep으로 면의 엣지 커브 추출
3
내부 오프셋
Offset(85mm)으로 마감 영역 설정
4
분할점 생성
DivLength로 가로(1200), 세로(600) 분할
5
분할선 생성
Vec2Pt + Line으로 수직 분할선(8000mm)
6
면 분할
SrfSplit으로 패널 단위로 면 분할
7
프로필 생성
Join + Offset(5mm)으로 벽 프로필
8
벽체 생성
P-Wall + Types(돌마감)로 벽체 생성
출력 결과
Revit에 Profile Wall(돌마감 타입)이 자동 생성되며, 패널 분할 패턴이 적용됩니다.
Dev-X — No Boundaries, Infinite Possibilities|
115
▤
GRASSHOPPER + REVIT

보 일람표 생성하기

Grasshopper를 활용한 보 일람표 자동 생성
Grasshopper
Schedule
Beam
Automation
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

보 일람표 생성하기

알고리즘 개요 및 데이터 흐름

1
일람표 참조
텍스트 추출
2
데이터 분리
Dispatch
3
좌표 파싱
pDecon
4
타입 필터
Types
5
타입 생성
Duplicate
Grasshopper Definition
보 일람표 생성 Grasshopper 정의
입력 데이터
1Revit 보 일람표 뷰
2텍스트 위치(Point) + 내용
3보 타입 크기 문자열 (400x800mm)
처리 과정
1Point Name으로 텍스트 추출
2Dispatch로 행/열 데이터 분리
3Sort + Item으로 데이터 정렬/추출
출력 결과
1기존 보 타입 복제
2새 보 타입 자동 생성
3파라미터 값 확인 (Inspect)
Dev-X — No Boundaries, Infinite Possibilities|
116
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

데이터 추출 및 분리

일람표 텍스트 추출과 행/열 데이터 분리

핵심 컴포넌트
Boolean ToggleParams
실행 여부 True/False 토글
StartCustom
워크플로우 실행 트리거
Point NameRhinoInside
일람표 텍스트 위치/내용 추출
InCurveGrasshopper
커브 내 포인트 관계 판별
DispatchGrasshopper
패턴으로 데이터 분리
실행 순서
Toggle → Start → Point Name → InCurve → Dispatch
데이터 흐름
1
실행 트리거
Toggle(True) → Start 컴포넌트
2
텍스트 추출
Point Name으로 일람표 셀 데이터
3
영역 판별
InCurve로 행/열 구분
4
데이터 분리
Dispatch로 A(True)/B(False) 분리
5
좌표 분해
pDecon으로 X, Y, Z 추출
6
정렬
Sort로 X/Y 기준 데이터 정렬
중간 결과
X/Y 좌표로 정렬된 일람표 셀 데이터 리스트
Dev-X — No Boundaries, Infinite Possibilities|
117
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

타입 필터링 및 생성

보 타입 선택과 새 타입 자동 생성

핵심 컴포넌트
ItemGrasshopper
인덱스로 리스트 항목 추출
PanelGrasshopper
데이터 시각화 (400x800mm)
TypesRhinoInside
보 타입 필터링 및 선택
DuplicateRhinoInside
기존 타입 복제하여 새 타입 생성
InspectRhinoInside
요소 파라미터 검사
ParamRhinoInside
파라미터 값 출력
데이터 흐름
1
항목 추출
Item으로 보 크기(W, H) 값 추출
2
크기 문자열
Panel에 "400 x 800mm" 형식 조합
3
타입 필터
Types로 구조 보 타입 필터링
4
타입 복제
Duplicate로 새 타입명으로 복제
5
파라미터 확인
Inspect로 생성된 타입 검증
최종 출력
Revit에 새로운 보 타입이 생성됩니다. Inspect 컴포넌트로 Dimensions, Identity Data, IFC Parameters 등의 파라미터 값을 확인할 수 있습니다.
주요 파라미터
Dimensions: b, hIdentity Data: 설명Structural: 단면 모양IFC Parameters
Dev-X — No Boundaries, Infinite Possibilities|
118
◈
GRASSHOPPER + REVIT

Adaptive Component

Grasshopper를 활용한 적응형 컴포넌트 생성
Adaptive
Component
Parametric
Family
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

Adaptive Component 배치

8포인트 적응형 컴포넌트 자동 배치

1
Surface 분할
Divide
2
Box 생성
SBox
3
형상 분해
DeBrep
4
조건 필터
Dispatch
5
포인트 추출
Points
6
AC 배치
A-Component
Grasshopper Definition
Adaptive Component Grasshopper 정의
입력 데이터
1Revit Surface (Srf)
2U/V Count (분할 수)
3Height, Size (크기 파라미터)
처리 과정
1Divide로 Surface U/V 분할
2SBox로 각 셀에 Box 생성
3DeBrep로 8개 꼭지점 추출
출력 결과
1Types로 Adaptive 8points 선택
2A-Component로 자동 배치
3패널 형태 자동 생성 완료
Dev-X — No Boundaries, Infinite Possibilities|
119
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

Surface 분할 및 Box 생성

Divide와 SBox를 이용한 격자 셀 생성

핵심 컴포넌트
SrfParams
Surface 데이터 컨테이너
DivideSurface
U/V 방향 Surface 분할
SBoxSurface
Surface 도메인에서 Box 생성
FlattenSets
트리 구조 평탄화
LngSets
리스트 길이(개수) 반환
입력 파라미터
U Count: 10 / V Count: 15 / Height: 100
데이터 흐름
1
Surface 입력
Revit에서 곡면 Surface 선택
2
U/V 분할
U Count(10), V Count(15)로 격자 분할
3
Height 설정
Height(100)로 Box 높이 지정
4
Box 생성
SBox로 각 셀에 3D Box 생성
5
데이터 평탄화
Flatten으로 리스트 구조 정리
6
개수 확인
Lng로 생성된 Box 개수 확인
중간 결과
150개 (10 x 15) Box 형상 리스트 생성
Dev-X — No Boundaries, Infinite Possibilities|
120
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

포인트 추출 및 AC 배치

8개 꼭지점으로 Adaptive Component 생성

핵심 컴포넌트
DeBrepSurface
Brep을 Face/Edge/Vertex 분해
SmallerMath
A < B 비교 연산자
DispatchSets
패턴 기반 데이터 분리
ItemSets
인덱스로 리스트 항목 추출
TypesRhinoInside
Revit 타입 필터링
A-ComponentRhinoInside
Adaptive Component 배치
데이터 흐름
1
형상 분해
DeBrep으로 Box의 꼭지점 추출
2
길이 비교
Lng + Smaller로 조건 필터링
3
데이터 분리
Dispatch로 유효한 Brep 선택
4
포인트 추출
DeBrep → Item으로 8개 꼭지점
5
타입 선택
Types로 Adaptive 8points 선택
최종 출력
A-Component로 Revit에 Adaptive Component가 자동 배치됩니다. 8개 포인트가 각 Box 꼭지점에 정확히 일치하여 패널이 생성됩니다.
핵심 포인트
P: 8개 포인트 리스트T: Adaptive 8points 타입Size: 54 (크기 파라미터)C: 생성된 Component
Dev-X — No Boundaries, Infinite Possibilities|
121
☰
GRASSHOPPER + REVIT

Compound Structure

Grasshopper를 활용한 복합 구조 레이어 생성
Compound
Structure
Layer
Wall Type
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

Compound Structure 생성

벽 타입의 복합 구조 레이어 자동 정의

1
타입 선택
Types
2
타입 복제
Duplicate
3
레이어 정의
CStructLayer
4
구조 조합
CStruct
5
구조 적용
CompStruct
Grasshopper Definition
Compound Structure Grasshopper 정의
입력 데이터
1Types (기존 벽 타입)
2Type Name (새 타입 이름)
3Thickness (레이어 두께)
처리 과정
1Duplicate로 기존 타입 복제
2CStructLayer로 레이어 정의
3CStruct로 구조 조합
출력 결과
1CompStruct로 구조 적용
2새 벽 타입 자동 생성
3복합 구조 레이어 완료
Dev-X — No Boundaries, Infinite Possibilities|
122
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

레이어 정의 및 조합

CStructLayer와 CStruct로 복합 구조 생성

핵심 컴포넌트
TypesRevit > Input
Revit 패밀리 타입 선택
DuplicateRhinoInside
기존 타입을 복제하여 새 타입 생성
CStructLayerRhinoInside
복합 구조 레이어 정의
CStructRhinoInside
Exterior/Core/Interior 레이어 조합
CompStructRhinoInside
타입에 복합 구조 적용
입력 파라미터
기존 타입: 일반 - 200mm / 새 이름: 123 / 두께: 30mm × 4
데이터 흐름
1
타입 선택
기존 벽 타입 "일반 - 200mm" 선택
2
타입 복제
Type Name(123)으로 새 타입 복제
3
두께 설정
Thickness(30mm) × 4개 레이어
4
레이어 생성
CStructLayer로 F/M/T/W 설정
5
구조 조합
CStruct로 EL/CL/IL 조합
CStructLayer 입력
F: Function (기능)M: Material (재질)T: Thickness (두께)W: Wrap (래핑)
CStruct 입력
EL: Exterior LayerCL: Core LayerIL: Interior Layer
Dev-X — No Boundaries, Infinite Possibilities|
123
B+CD+P
BIM-IT 융합 과정
Chapter 6: BIM-IT 융합기술 모델링

복합 구조 적용 및 결과

CompStruct로 새 벽 타입에 구조 적용

복합 구조 레이어
Exterior Layer
기능: 외부 마감
예: 외장재, 단열재
Core Layer
기능: 구조층
예: 콘크리트, 벽돌
Interior Layer
기능: 내부 마감
예: 석고보드, 도장
CompStruct 입력
T: 복제된 타입 (Duplicate 출력) | S: 복합 구조 (CStruct 출력)
자동화 효과
자동화
수동 작업 없이 복합 구조 자동 생성
일관성
표준화된 레이어 구성 보장
유연성
파라미터 조절로 다양한 구성 가능
재사용
생성된 타입을 다른 프로젝트에 적용
최종 출력
CompStruct를 통해 새 벽 타입에 복합 구조가 적용됩니다. Revit에서 해당 타입을 선택하면 정의된 레이어 구조로 벽이 생성됩니다.
활용 팁
여러 레이어 두께를 리스트로 전달하면 다양한 복합 구조를 한 번에 생성할 수 있습니다.
Dev-X — No Boundaries, Infinite Possibilities|
124