Overview#
omni.kit.converter.hoops_core
converts CAD files to USD using the HOOPS Exchange SDK. This is a core extension without a GUI that provides the fundamental CAD conversion functionality. It can be used directly through its Python API, or accessed through the GUI extension omni.kit.converter.hoops
which provides a user interface for the conversion process.
Upon loading, it registers with the CAD Converter service (omni.services.convert.cad
) if available, allowing other extensions to utilize its conversion capabilities.
CAD CONVERTER CONFIG FILE INPUTS:#
JSON Converter Settings:#
Format: “setting name” : default value
Converter Option: Instancing#
Description: If true the USD model uses instancing by creating USD References. If false, then there is no instancing at all.
Default Value: true Value Ranges: true, false Data Format: bool
Config File Example:
"bInstancing" : true
Converter Option: Global Xforms#
Description: When bInstancing is set to false, this flag controls whether globalXforms are composited. If false local transforms are applied.
Default Value: false Value Ranges: true, false Data Format: bool
"bGlobalXforms" : false
Converter Option: Tessellation Level of Detail (LOD)#
Description: Tessellation levels of detail presets provide values to define ChordHeightRatio and AngleToleranceDeg; 0 is the lowest level (ExtraLow) while 4 is the highest level (ExtraHigh).
Default Value: 2 Value Ranges: [0, 4]
0:
iTessLOD0
= ExtraLow, ChordHeightRatio=50, AngleToleranceDeg=40,1:
iTessLOD1
= Low, ChordHeightRatio=600, AngleToleranceDeg=40,2:
iTessLOD2
= Medium, ChordHeightRatio=2000, AngleToleranceDeg=40,3:
iTessLOD3
= High, ChordHeightRatio=5000, AngleToleranceDeg=30,4:
iTessLOD4
= ExtraHigh, ChordHeightRatio=10000, AngleToleranceDeg=20. Data Format: integer
"iTessLOD" : 2
Converter Option: Accurate Surface Curvatures#
Description: If true, respect surface curvature to control triangles elongation directions.
Default Value: true Value Ranges: true, false Data Format: bool
"bAccurateSurfaceCurvatures" : true
Converter Option: Generate UVs#
Description: If true, calls Scene Optimizer Service Kit extension to generate UVs if missing in source data.
See Scene Optimizer Service documentation for details.
Default Value: true Value Ranges: true, false Data Format: bool
Config File Example:
"bOptimize" : true
Converter Option: Dedup Mesh Vertices#
Description: If true, weld mesh elements in appropriate groups.
Default Value: true Value Ranges: true, false Data Format: bool
Config File Example:
"bDedup" : true
Converter Option: Use Materials#
Description: If true converter creates materials with the color set as an attribute. If false converter will convert colors to USD displayColor
primvars.
Default Value: true Value Ranges: true, false Data Format: bool
Config File Example:
"bUseMaterials" : true
Converter Option: Use Normals#
Description: If true then we pass normals to USD. if false, then we do not.
Default Value: true Value Ranges: true, false Data Format: bool
Config File Example:
"bUseNormals" : true
Converter Option: Report Progress#
Description: If true then we report import/export progress.
Default Value: true Value Ranges: true, false Data Format: bool
Config File Example:
"bReportProgress" : true
Converter Option: Convert Curves#
Description: If true, convert curve elements into USD Basis Curves; else, ignore these elements.
Default Value: false Value Ranges: true, false Data Format: bool
"bConvertCurves" : false
Converter Option: Convert Metadata#
Description: If true then metadata, including PMI, are imported as USD Attributes; else, metadata are ignored.
Default Value: false Value Ranges: true, false Data Format: bool
"bConvertMetadata" : false
Converter Option: Override Up-Axis#
Description: Override the up-axis of the converted USD’s stage to Y-up, Z-up, or default to the converter’s up-axis setting.
Default Value: 0 Value Ranges: [0, 2]
0 to default to converter’s up-axis
1 to override to Y-up
2 to override to Z-up Data Format: integer
Config File Example:
"iUpAxis" : 0
Converter Option: Meters Per Unit#
Description: Set the meters per unit converted USD’s stage metric. If set to 0.0, the converted USD will retain the meters per unit from conversion.
Default Value: 1.0 Value Ranges: Positive numbers Data Format: double
Config File Example:
"dMetersPerUnit" : 1.0
Converter Option: Scene Optimizer Config#
Description: (Experimental feature) Provide a path to a saved Scene Optimizer JSON configuration file or a JSON formatted string for executing a predefined optimization process stack.
See Scene Optimizer Service documentation for details.
Default Value: “” Data Format: string
Config File Example:
"sOptimizeConfig" : "converter_config_example.json"
Full converter_config_example.json
:#
{
"bAccurateSurfaceCurvatures": true,
"bConvertCurves": false,
"bConvertHidden": false,
"bConvertMetadata": false,
"bDedup": true,
"bGlobalXforms": false,
"bInstancing": true,
"bOptimize": true,
"bReportProgress": true,
"bReportProgressFreq": 4,
"bUseCurrentStage": false,
"bUseMaterials": true,
"bUseNormals": true,
"iTessLOD": 2,
"sOptimizeConfig": "",
"iUpAxis": 0,
"dMetersPerUnit": 0.0
}
Known Issues#
Please refer to Known Issues for more information.
Licensing Terms of Use and Third-Party Notices#
The omni.kit.converter.hoops_core
and related CAD converter Extensions are Omniverse Core Extensions.
Do not redistribute or sublicense without express permission or agreement.
Please read the Omniverse License Agreements and the Third_Party_Notices.md for detailed license information.