connection-point-prim-structure#
Code |
CP.010 |
|---|---|
Validator |
|
Compatibility |
other |
Tags |
❓ |
Summary#
Connection points must be Xform prims under the ConnectionPoints scope with purpose = "guide", each carrying at least simready:connectionPoint:domain and simready:connectionPoint:direction.
Description#
In v0.2.0 a connection point is a coordinate frame, not a surface. The Xform records where the interface sits and which way it faces; everything about what the interface is comes from properties in the simready:connectionPoint: namespace.
This replaces the v0.1.0 approach, where a connection point was a Plane or Disk mesh (CP.002) and its meaning was recovered by parsing the prim name (CP.004). Under v0.2.0 prim names are free-form and carry no meaning for tools.
domain and direction are the floor. A connection point with neither cannot be identified by a consuming tool at all, so it is not a connection point. The remaining base properties are covered by CP.011 and the domain-specific properties by CP.012.
One domain per prim#
Each connection point carries exactly one domain. Properties from a second domain namespace on the same prim are an error.
Real equipment does have places where several services arrive together, such as a blind-mate interface carrying power and liquid at once. That is modelled as co-located separate prims, one per domain, sharing a transform. Each keeps a single domain value, its own direction, and its own complete domain namespace, so a thermal tool and an electrical tool each find exactly the connection they understand at the same physical location.
Why is it required?#
An Xform places and orients the connection without implying a renderable surface, which a plane or disk does
purpose = "guide"keeps connection points out of render and out of physics collisionRequiring
domainanddirectionon every connection point means a tool can enumerate and classify an asset’s interfaces without loading geometry payloadsPrim names stop being load-bearing, so assets can be renamed or regenerated by CAD export without breaking consumers
Examples#
def Scope "ConnectionPoints"
{
def Xform "fws_supply_main"
{
uniform token purpose = "guide"
double3 xformOp:translate = (0.0, 0.85, -0.42)
uniform token[] xformOpOrder = ["xformOp:translate"]
token simready:connectionPoint:domain = "thermal"
token simready:connectionPoint:direction = "supply"
}
}
The Xform’s rotation describes which way the physical opening faces. The direction property describes the connection’s logical role in its system. These are independent: two pipes may point the same way in space while one is supply and the other return.
How to comply#
Author each connection point as an
Xformprim inside theConnectionPointsscope (CP.001)Set
purpose = "guide"on the primPosition and orient the Xform at the physical opening
Author
simready:connectionPoint:domainandsimready:connectionPoint:directionastokenpropertiesAdd the remaining base properties (CP.011) and the domain properties for the declared domain (CP.012)