Omniverse Hoops Converter [omni.kit.converter.hoops_core]#
This extension provides interfaces to convert 3D formats to USD and also supports to convert USD to those assets.
Overview#
omni.kit.converter.hoops_core uses the HOOPS Exchange SDK to convert a variety of CAD data formats to USD.
When this extension loads, it will register itself with the CAD Converter service (omni.services.convert.cad) if it is available.
Note
As of version 201.1.0, omni.kit.converter.cad_core has been deprecated. Its functionality has been divided between two extensions: omni.kit.converter.hoops (UI extension) and omni.kit.converter.hoops_core (headless extension).
CAD CONVERTER CONFIG FILE INPUTS:#
Documentation Changes:#
This section lists changes to this extension’s documentation for this release (202.0.0).
What Was Added#
Rhino .3dm support.
bConvertMetadata - If true, then metadata, including PMI, are imported as USD Attributes
iUpAxis - override the up-axis of the converted USD’s stage to Y-up, Z-up, or default to the converter’s up-axis setting.
dMetersPerUnit - 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.
sOptimizeConfig - (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.
Instructions on how to run core extensions via CLI:
Please refer to omni.services.convert.cad for more information.
Conversion options are configured by supplying a JSON file. Below are the available configuration options.
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 OmniPBR 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: Use Current Stage#
Description: If true use currently opened USD.
Default Value: true Value Ranges: true, false Data Format: bool
"bUseCurrentStage" : false
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" : "optimize_sample_config.json"
Full sample_config.json:#
{
"bInstancing" : true,
"bGlobalXforms" : false,
"bConvertHidden" : true,
"bOptimize" : true,
"bDedup" : true,
"iTessLOD" : 2,
"bAccurateSurfaceCurvatures" : true,
"bUseNormals" : true,
"bUseMaterials" : true,
"bReportProgress" : true,
"bUseCurrentStage" : false,
"bConvertCurves" : false,
"bConvertMetadata" : false,
"iUpAxis": 0,
"dMetersPerUnit": 1.0,
"sOptimizeConfig": "optimize_sample_config.json"
}
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.
