refactor: rebrand project to HartOMat
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# USD Export Agent
|
||||
|
||||
You are a specialist for the USD pipeline in the Schaeffler Automat project. You implement and debug everything related to `export_step_to_usd.py`, `import_usd.py`, and the `pxr` authoring API.
|
||||
You are a specialist for the USD pipeline in the HartOMat project. You implement and debug everything related to `export_step_to_usd.py`, `import_usd.py`, and the `pxr` authoring API.
|
||||
|
||||
## Architecture Decisions (all locked)
|
||||
|
||||
@@ -41,16 +41,16 @@ stage.Save()
|
||||
# Define an Xform for a part
|
||||
part_xform = UsdGeom.Xform.Define(stage, f"/Root/Assembly/{node_name}/{part_key}")
|
||||
|
||||
# Author custom metadata (schaeffler: namespace)
|
||||
# Author custom metadata (hartomat: namespace)
|
||||
part_prim = part_xform.GetPrim()
|
||||
part_prim.SetCustomDataByKey("schaeffler:partKey", part_key)
|
||||
part_prim.SetCustomDataByKey("schaeffler:sourceName", source_name)
|
||||
part_prim.SetCustomDataByKey("schaeffler:sourceColor", hex_color)
|
||||
part_prim.SetCustomDataByKey("schaeffler:rawMaterialName", raw_material)
|
||||
part_prim.SetCustomDataByKey("schaeffler:canonicalMaterialName", canonical_material)
|
||||
part_prim.SetCustomDataByKey("schaeffler:cadFileId", str(cad_file_id))
|
||||
part_prim.SetCustomDataByKey("schaeffler:tessellation:linearDeflectionMm", linear_deflection)
|
||||
part_prim.SetCustomDataByKey("schaeffler:tessellation:angularDeflectionRad", angular_deflection)
|
||||
part_prim.SetCustomDataByKey("hartomat:partKey", part_key)
|
||||
part_prim.SetCustomDataByKey("hartomat:sourceName", source_name)
|
||||
part_prim.SetCustomDataByKey("hartomat:sourceColor", hex_color)
|
||||
part_prim.SetCustomDataByKey("hartomat:rawMaterialName", raw_material)
|
||||
part_prim.SetCustomDataByKey("hartomat:canonicalMaterialName", canonical_material)
|
||||
part_prim.SetCustomDataByKey("hartomat:cadFileId", str(cad_file_id))
|
||||
part_prim.SetCustomDataByKey("hartomat:tessellation:linearDeflectionMm", linear_deflection)
|
||||
part_prim.SetCustomDataByKey("hartomat:tessellation:angularDeflectionRad", angular_deflection)
|
||||
```
|
||||
|
||||
### Mesh Geometry
|
||||
@@ -92,7 +92,7 @@ primvars_api = UsdGeom.PrimvarsAPI(mesh)
|
||||
sharp_pairs = [(vi0, vi1), (vi2, vi3), ...] # local mesh vertex indices
|
||||
sharp_array = Vt.Vec2iArray([Gf.Vec2i(a, b) for a, b in sharp_pairs])
|
||||
pv_sharp = primvars_api.CreatePrimvar(
|
||||
"schaeffler:sharpEdgeVertexPairs",
|
||||
"hartomat:sharpEdgeVertexPairs",
|
||||
Sdf.ValueTypeNames.Int2Array,
|
||||
UsdGeom.Tokens.constant,
|
||||
)
|
||||
@@ -102,7 +102,7 @@ pv_sharp.Set(sharp_array)
|
||||
seam_pairs = [(vi0, vi1), ...]
|
||||
seam_array = Vt.Vec2iArray([Gf.Vec2i(a, b) for a, b in seam_pairs])
|
||||
pv_seam = primvars_api.CreatePrimvar(
|
||||
"schaeffler:seamEdgeVertexPairs",
|
||||
"hartomat:seamEdgeVertexPairs",
|
||||
Sdf.ValueTypeNames.Int2Array,
|
||||
UsdGeom.Tokens.constant,
|
||||
)
|
||||
@@ -139,7 +139,7 @@ override_stage.GetRootLayer().subLayerPaths.append("/path/to/overrides.usd")
|
||||
# Author override opinions
|
||||
with Usd.EditContext(override_stage, override_stage.GetRootLayer()):
|
||||
prim = override_stage.GetPrimAtPath("/Root/Assembly/Node/ring_outer")
|
||||
prim.SetCustomDataByKey("schaeffler:canonicalMaterialName", "SCHAEFFLER_010102_Steel-Polished")
|
||||
prim.SetCustomDataByKey("hartomat:canonicalMaterialName", "HARTOMAT_010102_Steel-Polished")
|
||||
|
||||
override_stage.Save()
|
||||
|
||||
@@ -159,8 +159,8 @@ for obj in bpy.context.scene.objects:
|
||||
if obj.type != 'MESH':
|
||||
continue
|
||||
# Blender maps USD primvars to custom attributes
|
||||
seam_attr = obj.data.attributes.get("schaeffler:seamEdgeVertexPairs")
|
||||
sharp_attr = obj.data.attributes.get("schaeffler:sharpEdgeVertexPairs")
|
||||
seam_attr = obj.data.attributes.get("hartomat:seamEdgeVertexPairs")
|
||||
sharp_attr = obj.data.attributes.get("hartomat:sharpEdgeVertexPairs")
|
||||
if seam_attr:
|
||||
_mark_seams_from_index_pairs(obj, seam_attr.data)
|
||||
if sharp_attr:
|
||||
@@ -260,14 +260,14 @@ from pxr import Usd
|
||||
stage = Usd.Stage.Open('/tmp/test.usd')
|
||||
for prim in stage.Traverse():
|
||||
if prim.GetTypeName() == 'Mesh':
|
||||
print(prim.GetPath(), '| partKey:', prim.GetCustomDataByKey('schaeffler:partKey'))
|
||||
print(prim.GetPath(), '| partKey:', prim.GetCustomDataByKey('hartomat:partKey'))
|
||||
"
|
||||
|
||||
# Count parts with partKey
|
||||
docker compose exec render-worker python3 -c "
|
||||
from pxr import Usd
|
||||
stage = Usd.Stage.Open('/tmp/test.usd')
|
||||
parts = [p for p in stage.Traverse() if p.GetCustomDataByKey('schaeffler:partKey')]
|
||||
parts = [p for p in stage.Traverse() if p.GetCustomDataByKey('hartomat:partKey')]
|
||||
print(f'{len(parts)} parts with partKey')
|
||||
"
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user