Site Tools


블록 인스턴스를 분해하는 방법

RhinoScript

Summary: 블록 인스턴스를 분해하는 방법을 소개합니다.

RhinoScripts 의 ExplodeBlockInstance 메서드로 블록의 인스턴스를 지오메트리 구성요소로 분해할 수 있습니다. 그러나, 블록에 또 다른 블록이 들어있는 경우, 이러한 “하위 블록”을 중첩된 블록이라고 합니다. ExplodeBlockInstance 메서드로는 중첩된 블록을 분해할 수 없으나, 재귀 반복을 사용하여 중첩된 블록을 분해하는 스크립트를 쓸 수 있습니다.

다음의 샘플 스크립트를 실행하면 모든 눈에 보이는 블록 인스턴스를 지오메트리 구성요소로 분해합니다. 이 스크립트는 블록이 중첩된 블록에 실행됩니다 .

 Sub SuperExplodeBlock
   Const rhInstanceObject = 4096
   Dim arrBlocks, strBlock
   arrBlocks = Rhino.ObjectsByType(rhInstanceObject)
   If IsArray(arrBlocks) Then
     For Each strBlock In arrBlocks
       If Rhino.IsObjectSelectable(strBlock) Then
         DoInstanceExplosion strBlock
       End If
     Next
   End If
 End Sub
 
 Sub DoBlockExplosion(strBlock)
   Dim arrObjects, strObject
   If Rhino.IsBlockInstance(strBlock) Then
     arrObjects = Rhino.ExplodeBlockInstance(strBlock)
     If IsArray(arrObjects) Then
       For Each strObject In arrObjects
         DoBlockExplosion strObject '*RECURSE*
       Next
     End If
   End If
 End Sub
ko/developer/scriptsamples/superexplodeblock.txt · Last modified: 2015/09/14 (external edit)