Rhino에서 Group(그룹) 에 객체를 추가하는 방법은 여러 가지가 있습니다.
기본적으로 명령어, Python 스크립트, Grasshopper를 이용해 추가할 수 있습니다.
✅ 기존 그룹이 없으면 먼저 Group 명령을 사용하여 그룹을 만들어야 함.
Rhino의 rhinoscriptsyntax를 사용하면 자동으로 객체를 그룹에 추가할 수 있습니다.
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과 다르게 그룹은 단순히 객체를 묶는 기능이라 객체 개별 편집이 가능.
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")
✅ 그룹이 없으면 생성하고, 객체를 추가하는 기능 포함.
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"])
✅ 하나의 객체를 여러 그룹에 추가할 수 있음.
Grasshopper에서 그룹을 만들려면 Human 플러그인이 필요합니다.
그룹에서 특정 객체를 제거하려면 다음 방법을 사용합니다.
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 사용 |
포스트텐션 정착부 모델링 방법 (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 |