Skip to main content
Ctrl+K
USD BRep - Home USD BRep - Home

USD BRep

  • www
  • github
USD BRep - Home USD BRep - Home

USD BRep

  • www
  • github

Table of Contents

Contents

  • USD BRep Python API
  • Gallery
  • USD BRep C++ API
    • Classes
      • BrepStagingState
      • GenericBrepStagingBuilder
      • NaturalBoundaryBuilder
      • SmSdfPathAttribute
      • SmTArray
      • SmUsdXformAttribute
      • StagedBrepCoedgeBuilder
      • StagedBrepEdgeVertexBuilder
      • StagedBrepExtentBuilder
      • StagedBrepTopologyBuilder
      • StagedBrepTransform
      • StagedBrepUsdWriter
      • StagedFaceTraversalPlanner
    • Macros
    • Enumerations
    • Files
      • SmuAttribute.h
        • Source file
        • SM_AI_BREP_ARRAY
        • SM_AI_MATERIAL_BINDING
        • SM_AI_XFORM_OP
        • SmSdfPathAttribute_TYPE
        • SmUsdXformAttribute_TYPE
      • SmuConfig.h
        • Source file
        • SMU_EXPORT
        • SMU_THREAD_LOCAL
      • SmuConvert.h
        • Source file
        • SMU_TBLOCK_SIZE
        • smu_WriteBuffer
        • smu_sprintf
      • SmuTessellate.h
        • Source file
      • SmuTokens.h
        • Source file
        • SMU_TESS_TOKENS
      • SmuUtilities.h
        • Source file
      • UsdBrepDebugTools.h
        • Source file
        • usdBrep_CreateOutputFiles
        • usdBrep_WriteString
      • UsdBrepSuppressPixarWarningsPop.h
        • Source file
      • UsdBrepSuppressPixarWarningsPush.h
        • Source file
      • BrepCoedgeBuilder.h
        • Source file
      • BrepEdgeVertexBuilder.h
        • Source file
      • BrepExtentBuilder.h
        • Source file
      • BrepFaceTraversalPlanner.h
        • Source file
        • PlanFaceOuterLoop
      • BrepNaturalBoundaryBuilder.h
        • Source file
      • BrepSourceData.h
        • Source file
        • SourceNaturalBoundaryVertexResolver
      • BrepStagingBuilder.h
        • Source file
      • BrepStagingState.h
        • Source file
        • ImpliedBoundaryCase
        • SourceObjectId
        • StagedCurveType
        • StagedOrientType
        • StagedRadialEntryType
        • StagedRegionType
        • StagedShellPointType
        • StagedSurfaceType
        • StagedTrimType
        • StagedVertexType
        • kStagedNoObjectIndex
      • BrepStatus.h
        • Source file
        • BrepStatus
        • IsBrepStatusSuccess
      • BrepTopologyBuilder.h
        • Source file
      • BrepUsdWriter.h
        • Source file
      • StagedBrepTransform.h
        • Source file
      • UsdBrepArrayData.h
        • Source file
        • USDBREP_NO_OBJECT_INDEX
      • UsdBrepBuilder.h
        • Source file
      • UsdBrepConfig.h
        • Source file
        • USDBREP_EXPORT
      • UsdBrepDiagnostics.h
        • Source file
        • USDBREP_CALL_CONTEXT
        • USDBREP_ERROR
        • USDBREP_LOG_PREFIX
        • USDBREP_STATUS
        • USDBREP_WARN
      • UsdBrepHeaders.h
        • Source file
      • UsdBrepRead.h
        • Source file
      • UsdBrepTokens.h
        • Source file
        • USDBREP_CURVE_TOKENS
        • USDBREP_SURFACE_TOKENS
        • USDBREP_TOKENS
      • UsdBrepUtilities.h
        • Source file
      • UsdBrepWrite.h
        • Source file
      • OcctAsciiWriter.h
        • Source file
      • OcctExport.h
        • Source file
      • UsdBrepToOcctModel.h
        • Source file
      • OcctAsciiParser.h
        • Source file
      • OcctBinaryParser.h
        • Source file
      • OcctFileConverter.h
        • Source file
      • OcctFileRecords.h
        • Source file
      • OcctFileSource.h
        • Source file
      • OcctGeometryConvert.h
        • Source file
      • OcctStagingDriver.h
        • Source file
      • SmApiBrep.h
        • Source file
        • SmApiBoolean
        • SmApiBoolean2d
        • SmApiBooleanDifference
        • SmApiBooleanIntersection
        • SmApiBooleanLists
        • SmApiBooleanMerge
        • SmApiBooleanTrees
        • SmApiBooleanUnion
        • SmApiBooleanWithCurves
        • SmApiBooleanWithOptions
        • SmApiCreateCurveSweep
        • SmApiCreateCurveSweepFromEdges
        • SmApiCreateCurveSweepFromFaces
        • SmApiCreateDraftSweep
        • SmApiCreateLinearSweep
        • SmApiCreateLinearSweepWithRepetitions
        • SmApiCreatePipeSweep
        • SmApiCreateRotationalSweep
        • SmApiCreateRotationalSweepWithRepetitions
        • SmApiCreateSilhouetteCurves
        • SmApiCreateSweepAlongPlanarPath
        • SmApiCreateTaperExtrude
        • SmApiCut
        • SmApiFilletEdges
        • SmApiFilletEdgesPerEdge
        • SmApiFilletPreview
        • SmApiMergeBreps
        • SmApiNonManifoldBoolean
        • SmApiNonManifoldRotationalSweep
        • SmApiNonManifoldSweep
        • SmApiOffsetBrepFull
        • SmApiPiecewiseMerge
        • SmApiProjectAndTrim
        • SmApiProjectBrepOntoPlane
        • SmApiProjectCurve
        • SmApiSetBevelCorners
        • SmApiShellBrepFull
        • SmApiSimpleFaceStitch
        • SmApiStitch
        • SmApiStitch
        • SmApiStitchAdvanced
        • SmApiStitchIntoShell
        • SmApiStitchIntoSolid
        • SmApiSurfaceSurfaceFillet
        • SmApiTessellate
        • SmApiTessellateBoundaries
        • SmApiTurnToNurbs
        • SmApiUnifyNormals
        • SmApiVariableRadiusFillet
      • SmApiCurves.h
        • Source file
        • SmApiConvertToLinesAndArcs
        • SmApiCreateArc
        • SmApiCreateCanonicalCurve
        • SmApiCreateCircle
        • SmApiCreateCircle
        • SmApiCreateCurve
        • SmApiCreateCurveApproxPoints
        • SmApiCreateCurveInterpPoints
        • SmApiCreateEllipse
        • SmApiCreateHelix
        • SmApiCreateLine
        • SmApiCreateLineSegment
        • SmApiCreateRectangle
        • SmApiCreateRegularPolygon
        • SmApiDropCurveToSrf
        • SmApiEvaluateContinuity
        • SmApiEvaluateCurve
        • SmApiLiftUVCurveFromSrf
        • SmApiMakeCurvesCompatible
        • SmApiOffsetCurve
        • SmApiOrderCurves
        • SmApiProjectCurve
        • SmApiRemoveCurveKnots
      • SmApiFillets.h
        • Source file
        • SmApiChamferFillet
        • SmApiCircularFillet
        • SmApiRemoveFillet
      • SmApiGeneral.h
        • Source file
        • SmApiCreateContext
        • SmApiDraw
        • SmApiDraw
        • SmApiDraw
        • SmApiDraw
        • SmApiDraw
        • SmApiDraw
        • SmApiDraw
        • SmApiDraw
        • SmApiDraw
        • SmApiGetOrCreateContext
        • SmApiRotate
        • SmApiScale
        • SmApiScaleByPt
        • SmApiTransform
        • SmApiTranslate
      • SmApiHeal.h
        • Source file
        • SmApiHealBrep
      • SmApiImportExport.h
        • Source file
        • SmApiReadBrepFromFile
        • SmApiReadPartFromFile
        • SmApiWriteBrepToFile
      • SmApiIntersectors.h
        • Source file
        • SmApiIntersectBrepWithPlane
        • SmApiIntersectBreps
        • SmApiIntersectCurveBrep
        • SmApiIntersectCurveFace
        • SmApiIntersectCurveSurface
        • SmApiIntersectCurves
        • SmApiIntersectFaces
        • SmApiIntersectSurfaces
      • SmApiPolygons.h
        • Source file
        • SmApiPolyBoolean
        • SmApiPolyBooleanDifference
        • SmApiPolyBooleanIntersection
        • SmApiPolyBooleanMerge
        • SmApiPolyBooleanUnion
        • SmApiPolyBrepComputeMassProperties
        • SmApiPolyBrepComputeVolume
        • SmApiPolyBrepCopy
        • SmApiPolyBrepIsManifoldSolid
      • SmApiPrimitives.h
        • Source file
        • SmApiCreateBlendPrimitive
        • SmApiCreateBox
        • SmApiCreateCone
        • SmApiCreateCone
        • SmApiCreateConeEllipticEnds
        • SmApiCreateCylinder
        • SmApiCreateCylinder
        • SmApiCreateCylindricalBox
        • SmApiCreateOffsetProfile
        • SmApiCreatePartialCone
        • SmApiCreatePartialCylinder
        • SmApiCreatePartialSphere
        • SmApiCreatePartialTorus
        • SmApiCreatePlanarCircle
        • SmApiCreatePlane
        • SmApiCreatePlane
        • SmApiCreatePyramid
        • SmApiCreateSkinFromFaces
        • SmApiCreateSkinPrimitive
        • SmApiCreateSphere
        • SmApiCreateSphereNoPole
        • SmApiCreateSwungPrimitive
        • SmApiCreateTorus
        • SmApiCreateTorus
      • SmApiQueries.h
        • Source file
        • SmApiBrepBoundingBox
        • SmApiBrepClosestPoint
        • SmApiBrepClosestPointAll
        • SmApiBrepComputeArea
        • SmApiBrepComputeMassProperties
        • SmApiBrepComputeVolume
        • SmApiBrepCopy
        • SmApiBrepDistance
        • SmApiBrepIsManifoldSolid
        • SmApiBrepMaterialCensus
        • SmApiBrepRelationship
        • SmApiCurveClosestPoint
        • SmApiCurveClosestPointAll
        • SmApiEdgeBoundingBox
        • SmApiEdgeClassifyParameter
        • SmApiEdgeClosestPoint
        • SmApiEdgeComputeLength
        • SmApiEdgeParameterRange
        • SmApiEdgeTangent
        • SmApiFaceBoundingBox
        • SmApiFaceClassifyUV
        • SmApiFaceClosestPoint
        • SmApiFaceComputeArea
        • SmApiFaceComputeCentroid
        • SmApiFaceGetBoundaryLoops
        • SmApiFaceInternalPoint
        • SmApiFindEdge
        • SmApiFindFaces
        • SmApiGetClosestPoint
        • SmApiGetEdges
        • SmApiGetFaces
        • SmApiSurfaceClosestPoint
        • SmApiVertexGetPoint
      • SmApiSurfaces.h
        • Source file
        • SmApiCreateExtrude
        • SmApiCreateOffsetSurface
        • SmApiCreateRuledSurface
        • SmApiCreateSkin
        • SmApiCreateSurface
        • SmApiCreateSurfaceFromCornerPoints
        • SmApiCreateSurfaceFromOrderedPoints
        • SmApiCreateSurfaceFromRandomPoints
        • SmApiCreateSurfaceRevolution
        • SmApiCreateSweep
        • SmApiEvaluateSurfaceDerivatives
        • SmApiEvaluateSurfaceNormal
        • SmApiEvaluateSurfacePoint
      • SmApiTessellationParams.h
        • Source file
      • SmApiTrimmedSurfaces.h
        • Source file
        • SmApiCreatePlanarFaces
        • SmApiTrimProjectParallel
        • SmApiTrimSurfaceWith3dCurves
      • SmApiTypes.h
        • Source file
        • SMAPI_EXPORT
        • SM_LARGE_TBLOCK_SIZE
        • SM_TBLOCK_SIZE
        • SmApiStatus
        • TCHAR
        • ULONG
        • _T
      • StdAfx.h
        • Source file
      • SmApiUsd.h
        • Source file
        • SmApiUsdAppendBreps
        • SmApiUsdAppendMeshes
        • SmApiUsdEnsurePluginRegistered
        • SmApiUsdExportBrep
        • SmApiUsdExportBreps
        • SmApiUsdExportMesh
        • SmApiUsdExportMeshes
        • SmApiUsdHealFile
        • SmApiUsdImportBrep
        • SmApiUsdImportBreps
        • SmApiUsdImportBreps
        • SmApiUsdImportMesh
        • SmApiUsdImportMeshes
        • SmApiUsdTessellateFile
      • SmApiUsdConfig.h
        • Source file
        • SM_API_USD_EXPORT
      • SmApiUsdGeometryValidate.h
        • Source file
        • SmApiUsdGeometryValidate
      • SmApiUsdHeal.h
        • Source file
        • SmApiUsdFindBrepArraySites
        • SmApiUsdHealBrepArray
        • SmApiUsdWriteHealedBrepArray
      • SmApiUsdTessellate.h
        • Source file
        • SmApiUsdTessellateBrepArray
      • UsdBrepGeometryEval.h
        • Source file
      • UsdBrepIterator.h
        • Source file
      • UsdBrepKnots.h
        • Source file
      • UsdBrepPacking.h
        • Source file
      • UsdBrepStageUtils.h
        • Source file
      • UsdBrepTopologyQueries.h
        • Source file
      • UsdBrepUtilsConfig.h
        • Source file
        • USD_BREP_EXPORT
    • Functions
    • Namespaces
      • SMU_BrepConvert
        • AppendSmBrepData_ToUsdBrepArrayData
        • ApplyUsdXformOp
        • ApplyUsdXformOp
        • ApplyUsdXformOp
        • BrepAppend_SMLibToUsd
        • BrepAppend_SMLibToUsdBrep
        • BrepImportResult
        • BrepMove_OneUsdBrepToSMLib
        • BrepMove_OneUsdBrepToSMLibData
        • BrepMove_UsdToSMLib
        • BrepMove_UsdToSMLibWithResults
        • CreateSmBrep_FromUsdCapsule
        • CreateSmBrep_FromUsdCone
        • CreateSmBrep_FromUsdCube
        • CreateSmBrep_FromUsdCylinder
        • CreateSmBrep_FromUsdSphere
        • CreateSmPolyBrep_FromUsdMesh
        • GetBoundaryData
        • GetMeshData
        • GetTessellatedMeshData
        • PopulateMeshAttr
        • PopulateMeshAttr
        • SmTransformToUsdXform
        • SmTransformToUsdXform
        • TessellatedMeshDeleter
        • TessellatedMeshPtr
        • UsdXformToSmTransform
        • smuGenerateBrepMetadata
        • smuGenerateMeshMetadata
      • SmTessellationDefaults
        • kChordHeightTol
        • kCurveAngleTolDeg
        • kMaxAspectRatio
        • kMaxEdgeLength
        • kSurfaceAngleTolDeg
      • UsdBrep
        • AppendBrepToArray
        • ApproxBoundaryLength
        • BuildFlatKnots
        • CompressFlatKnots
        • ComputeTrimmedDomain
        • DetectSurfacePeriodicity
        • DetectSurfacePoles
        • EvalCircleCurve
        • EvalConeSurface
        • EvalConeSurfaceNormal
        • EvalCylinderSurface
        • EvalCylinderSurfaceNormal
        • EvalEllipseCurve
        • EvalLineCurve
        • EvalNurbsCurve2d
        • EvalNurbsCurve3d
        • EvalNurbsSurface
        • EvalPlaneSurface
        • EvalPlaneSurfaceNormal
        • EvalSphereSurface
        • EvalSphereSurfaceNormal
        • EvalTorusSurface
        • EvalTorusSurfaceNormal
        • EvaluateCurve2d
        • EvaluateCurve3d
        • EvaluateSurface
        • EvaluateSurfaceBoundary
        • EvaluateSurfaceClamped
        • EvaluateSurfaceNormal
        • EvaluateSurfaceNormalNormalized
        • EvaluateSurfaceNormalized
        • FindBrepArrayPrims
        • GetFaceLoopEdgeuseStart
        • GetPCurveRange
        • GetSurfaceDomain
        • GetSurfacePeriodicity
        • HasPCurve
        • InverseProjectCone
        • InverseProjectCylinder
        • InverseProjectPlane
        • InverseProjectSphere
        • InverseProjectSurface
        • InverseProjectSurfaceWithHint
        • InverseProjectTorus
        • IsFaceNormalOutward
        • IsFaceuseOpposite
        • LoadAllBrepArrays
        • LoadBrepArray
        • PeriodicExtraPoles
        • SampleSurfaceBoundary
        • SaveBrepArray
        • SignedArea2D
        • UsdBrepDomainEdge
        • UsdBrepIterator
        • UsdBrepRange
        • UsdBrepSurfaceDomain
        • UsdBrepTopologyQueries
        • UsdBrepView
        • kPoleFraction
        • kPositionCoincidence
      • UsdBrepData
        • AddAppliedSchema
        • AddMultiAppliedSchema
        • AreOmniSolidSchemasKnown
        • BrepReadFromUsdStage
        • BrepWriteToUsdStage
        • Dump_BrepArrayData
        • Dump_BrepArraySpans
        • Dump_PrimProperties
        • Dump_PrimProperties_fromPrimSpecHandle
        • Dump_PrimSpecProperties
        • GetNameSpacePropertyToken
        • GetUsdBrepArray_BrepCount
        • IsOmniSolidResourcesPluginRegistered
        • RegisterOmniSolidResourcesPlugin
        • UsdBrepArrayData
        • UsdBrepArraySpans
        • UsdBrepBuilder
        • setAttributeSpec
        • setMultiAppliedAttributeSpec
      • occt
        • BuildOcctModel
        • ConvertCurve2dToNurb
        • ConvertCurve3d
        • ConvertOcctDataToUsd
        • ConvertOcctFileToUsd
        • ConvertOcctTextToUsd
        • ConvertSurface
        • CurveTypeName
        • EContinuity
        • ECurveType
        • EOrientation
        • EShapeType
        • ESurfaceType
        • EvalCurve3dPoint
        • EvalCurve3dPoint
        • ExportBrepArrayToFile
        • ExportBrepArrayToText
        • IsBinaryOcct
        • OcctFileSource
        • OcctStagingDriver
        • PrepareCurve3d
        • ReadOcct
        • ReadOcctBinary
        • ResolveLocation
        • SCurve2d
        • SCurve3d
        • SCurveRepr
        • SDir2
        • SDir3
        • SEdgeData
        • SFaceData
        • SLocation
        • SLocationTerm
        • SOcctModel
        • SPnt2
        • SPnt3
        • SPointRepr
        • SPolygon3d
        • SPolygonOnTriangulation
        • SPreparedCurve3d
        • SShapeRecord
        • SSubShapeRef
        • SSurface
        • STriangulation
        • SVertexData
        • ShapeTypeName
        • SurfaceTypeName
        • WriteOcct
    • Structs
      • SmApiUsdBrepArrayHealResult
      • SmApiUsdBrepArraySite
      • SmApiUsdBrepImportResult
      • SmApiUsdGeometryFailure
      • SmApiUsdGeometryResult
      • SmApiUsdHealedBrepArray
      • SmApiUsdMeshTessellationResult
      • SmApiUsdTessellatedBrep
      • SmTessellationParams
      • SourceBrepData
      • SourceCoedgeData
      • SourceConnectedComponentTopologyReserveData
      • SourceCurveData
      • SourceEdgeData
      • SourceFaceBoundaryContactData
      • SourceFaceData
      • SourceFaceOuterLoopData
      • SourceLoopBoundaryContactData
      • SourceLoopData
      • SourceNaturalBoundaryData
      • SourceShellData
      • SourceSurfaceData
      • SourceVertexData
      • StagedBrepData
      • StagedCoedgeBuildResult
      • StagedCurveData
      • StagedCurveData2d
      • StagedEdgeData
      • StagedEdgeRadialValues
      • StagedEdgeuseData
      • StagedFaceData
      • StagedFacePlanningResult
      • StagedFaceuseBuildResult
      • StagedFaceuseData
      • StagedLoopData
      • StagedRegionData
      • StagedShellData
      • StagedSurfaceData
      • StagedVertexData
    • Typedefs
    • Variables
  • Gallery

Gallery#

Interactive USD BRep models, converted to meshes for the browser. Drag to rotate, scroll to zoom, right-drag to pan. Hover a face or an edge to inspect it: faces report their surface type and exact area, edges their length.

Built with the Python API#

Each model is the output of the code under it.

CSG: intersect, then subtract#

import usd_brep as sm

box = sm.create_box((-5, -5, -5), 10, 10, 10)
body = sm.boolean_intersection(box, sm.create_sphere((0, 0, 0), 6.5))
# Unequal radii, so the holes never meet tangentially.
for axis, radius in [(None, 3), ((1, 0, 0), 2.5), ((0, 1, 0), 2)]:
    hole = sm.create_cylinder((0, 0, -8), radius, 16)
    if axis:
        sm.rotate(hole, (0, 0, 0), axis, 90)
    body = sm.boolean_difference(body, hole)
model = body

Plate with holes: boolean difference#

import usd_brep as sm

plate = sm.create_box((0, 0, 0), 40, 24, 4)
for x, y in [(5, 5), (35, 5), (5, 19), (35, 19)]:
    hole = sm.create_cylinder((x, y, -1), 1.6, 6)
    plate = sm.boolean_difference(plate, hole)
bore = sm.create_cylinder((20, 12, -1), 6, 6)
model = sm.boolean_difference(plate, bore)

Bracket: union, then fillet the inside edge#

import usd_brep as sm

base = sm.create_box((0, 0, 0), 20, 12, 3)
wall = sm.create_box((0, 0, 0), 3, 12, 16)
bracket = sm.boolean_union(base, wall)

def inside_corner(edge):  # runs along y at x = z = 3
    (x0, _, z0), (x1, _, z1) = edge.bounding_box(tight=True)
    return max(abs(v - 3) for v in (x0, z0, x1, z1)) < 1e-6

edges = [e for e in bracket.edges() if inside_corner(e)]
sm.fillet_edges(bracket, edges, radius=2.0)
model = bracket

Rounded box: fillet every edge#

import usd_brep as sm

model = sm.create_box((0, 0, 0), 20, 12, 8)
sm.circular_fillet(model, 2.0)

Tray: shell a box, removing the top face#

import usd_brep as sm

box = sm.create_box((0, 0, 0), 20, 14, 8)
top = next(f for f in box.faces()
           if f.bounding_box(tight=True)[0][2] == 8)
model = sm.shell_brep(box, -1.0, create_solid=True,
                      faces_to_shell=[top])

Pulley: revolve a closed profile#

import usd_brep as sm

# Closed (radius, height) profile with a V groove, in the xz plane.
rz = [(2, 0), (10, 0), (10, 3), (8.5, 4), (10, 5), (10, 8), (2, 8),
      (2, 0)]
profile = [sm.create_line_segment((r0, 0, z0), (r1, 0, z1))
           for (r0, z0), (r1, z1) in zip(rz, rz[1:])]
model = sm.rotational_sweep(profile, (0, 0, 0), (0, 0, 1), 360,
                            cap_ends=True)

Spring: pipe sweep along a helix#

import usd_brep as sm

helix = sm.create_helix((0, 0, 0), height=10, radius_start=2,
                        radius_end=2, turns=5)
model = sm.pipe_sweep(helix, radius=0.3)

Test parts#

Parts from the repository’s test data, TestFiles/pt_TestFiles.

LShape II

Defeature/LShape_II.smb · 25 faces

Platte

Defeature/Platte.smb · 122 faces

Defillet

Defeature/defillet.smb · 9 faces

Extrusion

Defeature/extrusion.smb · 11 faces

Box diff 3cyls

Fillet/box_diff_3cyls.smb · 13 faces

Box w slot

Fillet/box_w_slot.smb · 27 faces

Cliff 1

Fillet/cliff_1.smb · 43 faces

Crown

Fillet/crown.smb · 13 faces

Cyl on box w tan hole2

Fillet/cyl_on_box_w_tan_hole2.smb · 13 faces

Rollover corner

Fillet/rollover_corner.smb · 8 faces

Boolean trees result

Solids/boolean_trees_result.smb · 15 faces

Extrusion2

Solids/extrusion2.smb · 26 faces

Offset bracket2

Solids/offset_bracket2.smb · 59 faces

Revolution 360

Solids/revolution_360.smb · 29 faces

Revolution mold

Solids/revolution_mold.smb · 33 faces

previous

USD BRep Python API

next

USD BRep C++ API

On this page
  • Built with the Python API
    • CSG: intersect, then subtract
    • Plate with holes: boolean difference
    • Bracket: union, then fillet the inside edge
    • Rounded box: fillet every edge
    • Tray: shell a box, removing the top face
    • Pulley: revolve a closed profile
    • Spring: pipe sweep along a helix
  • Test parts
NVIDIA NVIDIA

Copyright © 2022-2026, NVIDIA Corporation.

Last updated on Oct 21, 2026.