Created
November 18, 2013 11:28
-
-
Save smakhtin/7526330 to your computer and use it in GitHub Desktop.
Export mesh from Rhino layer by layer
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Option Explicit | |
| Sub ExportLayerObjects | |
| ' Declare local variables | |
| Dim strPath, strFile | |
| Dim arrLayers, strLayer | |
| Dim arrSelected | |
| ' Get the path to and name of the current document. | |
| ' Surround with double-quotes in case path includes spaces. | |
| strPath = Chr(34) & Rhino.DocumentPath & Rhino.DocumentName & Chr(34) | |
| ' Get names of all layers | |
| arrLayers = Rhino.LayerNames | |
| ' Disable redrawing | |
| Rhino.EnableRedraw False | |
| ' Process each layer | |
| For Each strLayer In arrLayers | |
| ' Unselect all | |
| Rhino.Command "_-SelNone", 0 | |
| ' Select all objects on layer. Surround layer name | |
| ' with double-quotes in case it includes spaces. | |
| Rhino.Command "_-SelLayer " & Chr(34) & strLayer & Chr(34), 0 | |
| ' Make sure some objects were selected | |
| arrSelected = Rhino.SelectedObjects | |
| If IsArray(arrSelected) Then | |
| ' Generate a modified path string | |
| ' that includes the layer name | |
| strFile = strPath | |
| strFile = Replace(strFile, ".3dm", "_" & strLayer & ".3dm") | |
| ' Export the selected objects | |
| Rhino.Command "_-Export " & strFile, 0 | |
| End If | |
| Next | |
| ' Unselect all | |
| Rhino.Command "_-SelNone", 0 | |
| ' Enable redrawing | |
| Rhino.EnableRedraw True | |
| End Sub |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment