Rhino
AddToGroup
skyground21
2025. 3. 20. 10:09
반응형
Rhino에서 Group(그룹) 에 객체를 추가하는 방법은 여러 가지가 있습니다.
기본적으로 명령어, Python 스크립트, Grasshopper를 이용해 추가할 수 있습니다.
1. AddToGroup 명령어 사용 (기본 방법)
사용 방법
- Rhino 명령창에 AddToGroup 입력 후 Enter.
- 기존 그룹을 선택하거나 새로운 그룹을 지정.
- 그룹에 추가할 객체를 선택하고 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 플러그인이 필요합니다.
- Human 플러그인 설치
- Group 컴포넌트를 사용하여 여러 개의 객체를 그룹화
- Bake하여 Rhino에서 그룹을 적용
5. 그룹에서 객체 제거 (RemoveFromGroup)
그룹에서 특정 객체를 제거하려면 다음 방법을 사용합니다.
방법 1: RemoveFromGroup 명령어 사용
- Rhino 명령창에 RemoveFromGroup 입력 후 Enter.
- 그룹에서 제거할 객체 선택 후 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 사용 |
반응형