FileObjWriteOptions

References
public class FileObjWriteOptions

Constructors

FileObjWriteOptions

#Since v6.0
public FileObjWriteOptions(FileWriteOptions writeOptions)
writeOptions (FileWriteOptions)

Fields

AngleTolRadians

#
public readonly double AngleTolRadians
If trim is TL_OBJ_FILE_TRIM_POLYLINE, angle_tol (in radians) controls the level of linearization on parameter space trimming curves.

WriteOptions

#
public FileWriteOptions WriteOptions

Properties

ActualFilePathOnMac

#Since v6.3
public string ActualFilePathOnMac { get; set; }
Remarks: The path passed to FileExportPlugIn::WriteFile on the Mac is a temporary path. The calling function takes care of moving the temp (.obj) file to it's appropriate location. We can't use that to write that path to construct the .mat file because the calling function doesn't know anything about it. ActualFilePathOnMac is the path of the obj file's ultimate destination. It's only meaningful on the Mac platform.

CreateNgons

#Since v6.0
public bool CreateNgons { get; set; }
obsoleteUse NgonMode.
Setting to enable/disable the creation of ngons for the output

CullUnnecessaryVertexesInNgons

#Since v6.0
public bool CullUnnecessaryVertexesInNgons { get; set; }
Setting to determine whether interior collinear vertexes are part of the ngon.
Remarks: Imagine a plane that has been split and then rejoined. If IncludeUnweldedEdgesInNgons is set to true then you would get an ngon with 6 vertexes, the corners and one on each edge that was split. Setting this to true would remove those 2 vertexes from the interior of the edge. TODO This is not hooked up yet, Dale hasn't made this available yet. See RH-30673.

EolType

#Since v6.0
public FileObjWriteOptions.AsciiEol EolType { get; set; }
Remarks: Alias/Wavefront OBJ files are ASCII files. Generally they should have a LF (UNIX) as the end-of-line marker.

ExportAsTriangles

#Since v7.4
public bool ExportAsTriangles { get; set; }
Enable/disable export of faces as triangles.

ExportGroupNameLayerNames

#Since v6.0
public FileObjWriteOptions.ObjGroupNames ExportGroupNameLayerNames { get; set; }
Setting to determine whether object, group or layer names will become "g"s in the OBJ output file

ExportMaterialDefinitions

#Since v6.0
public bool ExportMaterialDefinitions { get; set; }
Setting to write an .mtl file and "usemtl"s in the obj file

ExportNormals

#Since v6.0
public bool ExportNormals { get; set; }
Enable/disable export of vertex normals, if they exist.

ExportObjectNames

#Since v6.0
public FileObjWriteOptions.ObjObjectNames ExportObjectNames { get; set; }
Setting to determine what object names in Rhino will become in the OBJ output file

ExportOpenMeshes

#Since v6.0
public bool ExportOpenMeshes { get; set; }
Enable/Disable bailing when an open mesh is encountered.

ExportTcs

#Since v6.0
public bool ExportTcs { get; set; }
Enable/disable export of texture coordinates, if they exist.

ExportVcs

#Since v6.0
public bool ExportVcs { get; set; }
Enable/disable export of vertex colors, if they exist.

IncludeUnweldedEdgesInNgons

#Since v6.0
public bool IncludeUnweldedEdgesInNgons { get; set; }
Setting to determine whether unwelded edges are ignored in the creation of an ngon.
Remarks: Imagine a plane that has been split and then rejoined. This setting determines if you will get one or two ngons in the output. TODO This is not hooked up yet, Dale hasn't made this available yet. See RH-30673.

MapZtoY

#Since v6.0
public bool MapZtoY { get; set; }
Setting to transform Rhino's Z axis to OBJ's Y axis

MergeNestedGroupingNames

#Since v6.7
public bool MergeNestedGroupingNames { get; set; }
Setting to merge nested layer or group names into a single OBJ group name
Remarks: Setting this to true will take a layer setup like this in Rhino Grandparent Parent Child and make a group name of Grandparent__Parent__Child in obj. If false it will be 3 separate group names in obj and will look like this in the file. g Grandparent Parent Child

MeshParameters

#Since v6.0
public MeshingParameters MeshParameters { get; set; }
Mesh parameters to use when meshing geometry that is not already a mesh.

MeshType

#Since v6.0
public FileObjWriteOptions.VertexWelding MeshType { get; set; }

MinNgonFaceCount

#Since v6.0
public int MinNgonFaceCount { get; set; }
Minimum number of faces to consider creation of ngon

NgonMode

#Since v7.0
public FileObjWriteOptions.NGons NgonMode { get; set; }

ObjectType

#Since v6.0
public FileObjWriteOptions.GeometryType ObjectType { get; set; }

PolylineType

#Since v8.0
public FileObjWriteOptions.PolylineExportType PolylineType { get; set; }

SignificantDigits

#Since v6.0
public int SignificantDigits { get; set; }
Number of significant digits to write out for floating point numbers

SortObjGroups

#Since v6.0
public bool SortObjGroups { get; set; }
Setting to enable/disable sorting of OBJ groups
Remarks: This is mainly for the sake of making an obj file more human readable, however, it is important that it happens when a user has opted to write Rhino groups as OBJ "g"s since it is not necessary for every object in Rhino to be part of a group.

SubDMeshType

#Since v7.0
public FileObjWriteOptions.SubDMeshing SubDMeshType { get; set; }

SubDSurfaceMeshingDensity

#Since v7.0
public int SubDSurfaceMeshingDensity { get; set; }
Determines how coarse the mesh output will be when surface meshing subd objects See comments for ON_SubDDisplayParameters in opennurbs_mesh.h for details regarding numbers used.

TrimCurveType

#Since v6.0
public FileObjWriteOptions.CurveType TrimCurveType { get; set; }
trimming curve option

UnderbarMaterialNames

#Since v6.0
public bool UnderbarMaterialNames { get; set; }
Enable/disable replacing white space with under-bars in material names.

UseDisplayColorForMaterial

#Since v7.0
public bool UseDisplayColorForMaterial { get; set; }
Setting to display color as material when material index for object is -1.

UseRelativeIndexing

#Since v6.0
public bool UseRelativeIndexing { get; set; }
Determines whether to use relative indexing. TRUE = use relative (negative) indexing FALSE = use absolute (positive) indexing
Remarks: This only has an impact on non-mesh output. There is also no interface in the OBJ export plug-in so code executed when set to true has not been thoroughly tested. It has been there forever and migrated with each successive revision of OBJ export code.

UseRenderMeshes

#Since v7.0
public bool UseRenderMeshes { get; set; }
Use existing or generate render meshes instead of calling RhinoObject.MeshObjects.

UseSimpleDialog

#Since v6.0
public bool UseSimpleDialog { get; set; }
Determines whether to use the simple or detailed meshing dialog.

VcsFormat

#Since v8.0
public int VcsFormat { get; set; }
Export vertex colors as 0 == floats (0.0-1.0) or 1 == ints (0-255)

WrapLongLines

#Since v6.0
public bool WrapLongLines { get; set; }
Setting to enable/disable line wrapping with "\"s

Methods

GetTransform

#Since v6.0
public Transform GetTransform()
Calculates the transform combination of ZToY and any the translation that might occur in a SavewithOrigin.