CAD&BIM

AddToGroup

2025. 3. 20. 10:09
반응형

Rhino에서 Group(그룹) 에 객체를 추가하는 방법은 여러 가지가 있습니다.
기본적으로 명령어, Python 스크립트, Grasshopper를 이용해 추가할 수 있습니다.


1. AddToGroup 명령어 사용 (기본 방법)

사용 방법

  1. Rhino 명령창에 AddToGroup 입력 후 Enter.
  2. 기존 그룹을 선택하거나 새로운 그룹을 지정.
  3. 그룹에 추가할 객체를 선택하고 Enter를 누르면 추가됨.

✅ 기존 그룹이 없으면 먼저 Group 명령을 사용하여 그룹을 만들어야 함.


2. Python 스크립트로 객체를 그룹에 추가하기

Rhino의 rhinoscriptsyntax를 사용하면 자동으로 객체를 그룹에 추가할 수 있습니다.

방법 1: rs.AddObjectsToGroup 사용 (기존 그룹에 추가)

import rhinoscriptsyntax as rs

def add_objects_to_group(group_name):
    objs = rs.GetObjects("추가할 객체를 선택하세요", preselect=True)
    if not objs:
        print("선택된 객체가 없습니다.")
        return
    
    # 그룹이 존재하는지 확인
    if rs.IsGroup(group_name):
        rs.AddObjectsToGroup(objs, group_name)
        print(f"{group_name} 그룹에 객체가 추가되었습니다.")
    else:
        print(f"그룹 '{group_name}'이(가) 존재하지 않습니다.")

# 예제: "MyGroup" 그룹에 객체 추가
add_objects_to_group("MyGroup")

Block과 다르게 그룹은 단순히 객체를 묶는 기능이라 객체 개별 편집이 가능.


방법 2: rs.AddGroup을 사용하여 새 그룹 생성 후 객체 추가

import rhinoscriptsyntax as rs

def create_group_and_add_objects(group_name):
    objs = rs.GetObjects("그룹에 추가할 객체를 선택하세요", preselect=True)
    if not objs:
        print("선택된 객체가 없습니다.")
        return
    
    # 그룹이 없으면 새로 생성
    if not rs.IsGroup(group_name):
        rs.AddGroup(group_name)

    rs.AddObjectsToGroup(objs, group_name)
    print(f"새 그룹 '{group_name}'이(가) 생성되고 객체가 추가되었습니다.")

# 예제: "NewGroup"을 만들고 객체 추가
create_group_and_add_objects("NewGroup")​

그룹이 없으면 생성하고, 객체를 추가하는 기능 포함.


3. 여러 개의 그룹에 객체를 추가하기

import rhinoscriptsyntax as rs

def add_to_multiple_groups(obj, group_names):
    for group in group_names:
        if not rs.IsGroup(group):
            rs.AddGroup(group)  # 그룹이 없으면 생성
        rs.AddObjectsToGroup(obj, group)
    print(f"객체가 그룹 {group_names}에 추가되었습니다.")

# 예제: 선택한 객체를 "Group1"과 "Group2"에 추가
obj = rs.GetObject("그룹에 추가할 객체 선택")
if obj:
    add_to_multiple_groups(obj, ["Group1", "Group2"])
 

하나의 객체를 여러 그룹에 추가할 수 있음.


4. Grasshopper에서 그룹 추가하기

Grasshopper에서 그룹을 만들려면 Human 플러그인이 필요합니다.

  1. Human 플러그인 설치
  2. Group 컴포넌트를 사용하여 여러 개의 객체를 그룹화
  3. Bake하여 Rhino에서 그룹을 적용

5. 그룹에서 객체 제거 (RemoveFromGroup)

그룹에서 특정 객체를 제거하려면 다음 방법을 사용합니다.

방법 1: RemoveFromGroup 명령어 사용

  1. Rhino 명령창에 RemoveFromGroup 입력 후 Enter.
  2. 그룹에서 제거할 객체 선택 후 Enter.

방법 2: Python 스크립트 사용

import rhinoscriptsyntax as rs

def remove_object_from_group(group_name):
    obj = rs.GetObject("그룹에서 제거할 객체 선택", preselect=True)
    if obj and rs.IsGroup(group_name):
        rs.RemoveObjectsFromGroup(obj, group_name)
        print(f"객체가 '{group_name}'에서 제거되었습니다.")

# 예제: "MyGroup"에서 객체 제거
remove_object_from_group("MyGroup")
 
 

그룹은 삭제되지 않고, 객체만 제거됨.


정리

방법설명
AddToGroup 명령어 기존 그룹에 객체 추가
rs.AddObjectsToGroup (Python) 스크립트를 사용해 객체를 그룹에 추가
rs.AddGroup (Python) 그룹이 없을 경우 새로 만들고 객체 추가
여러 그룹에 추가 객체를 동시에 여러 그룹에 포함
그룹에서 제거 RemoveFromGroup 명령어 또는 rs.RemoveObjectsFromGroup 사용
반응형

'Rhino' 카테고리의 다른 글

포스트텐션 정착부 모델링 방법  (0) 2025.04.03
볼트 그리기  (0) 2025.03.28
display color  (0) 2025.03.12
3D warehouse  (0) 2025.03.04
rhino7 layout  (0) 2025.02.14

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band