Exporting Segment as OBJ through Python

To get help on how to use a method, use help method in the Python interactor:

>>> help(slicer.vtkSlicerSegmentationsModuleLogic.ExportSegmentsClosedSurfaceRepresentationToFiles)
Help on method_descriptor:

ExportSegmentsClosedSurfaceRepresentationToFiles(...)
    V.ExportSegmentsClosedSurfaceRepresentationToFiles(string,
        vtkMRMLSegmentationNode, vtkStringArray, string, bool, float,
        bool) -> bool
    C++: static bool ExportSegmentsClosedSurfaceRepresentationToFiles(
        std::string destinationFolder,
        vtkMRMLSegmentationNode *segmentationNode,
        vtkStringArray *segmentIds=nullptr,
        std::string fileFormat="STL", bool lps=true,
        double sizeScale=1.0, bool merge=false)
    
    Export closed surface representation of multiple segments to
    files. Typically used for writing 3D printable model files.

As you can see, a vtkStringArray object is expected, while you provided a Python list of strings. If you want to export all segments, you can use None, if you want to export specific segments, create a vtk.vtkStringArray object and add the segment IDs that you would like to export.

1 Like