ObjectsByMaterialIndex

Returns the identifiers of objects based on the objects' material index. An object's material index can be obtained using ObjectMaterialIndex.

Syntax

Rhino.ObjectsByMaterialIndex (intMaterialIndex [, blnSelect [, intType]])

Parameters

intMaterialIndex

Required.  Number.  The zero-based material index to query.

blnSelect

Optional.  Boolean.  Select the objects.  If omitted, the objects are not selected (False).

intType

Optional.  Number.  The type(s) of geometry objects (points, curves, surfaces, meshes, etc.) that can be returned.  Object types can be added together to filter several different kinds of geometry.

Value

Hex

Description

 (Default) 0

&h0

All objects (Default)

1

&h1

Point

2

&h2

Point cloud

4

&h4

Curve

8

&h8

Surface (single-face Brep or Extrusion)

16

&h10

Polysurface (multiple-face Brep or Extrusion)

32

&h20

Mesh

256

&h100

Light

512

&h200

Annotation

4096

&h1000

Instance (Block) reference

8192

&h2000

Text dot

16384

&h4000

Grip

32768

&h8000

Detail

65536

&h10000

Hatch

131072

&h20000

Morph control

134217728

&h8000000

Cage

268435456

&h10000000

Phantom

536870912

&h20000000

Clipping plane

1073741824

&h40000000

Extrusion

Returns

Array

An array of strings identifying the objects if successful.

Null

If not successful, or on error.

Example

Const RhSurface = &h8

const RhPolysurface = &h10

const RhMesh = &h20

const RhInstanceReference = &h1000

const RhExtrusion = &h40000000

Dim arrObjects, strObject, intMaterialIndex, intType

intType = RhSurface + RhPolysurface + RhMesh + RhInstanceReference + RhExtrusion

strObject = Rhino.GetObject("Select a renderable object", intType)

If Not IsNull(strObject) Then

  intMaterialIndex = Rhino.ObjectMaterialIndex(strObject)

  If (intMaterialIndex >= 0) Then

    arrObjects = Rhino.ObjectsByMaterialIndex(intMaterialIndex, True)

  End If

End If

Also See

ObjectsByMaterialSource

ObjectMaterialIndex