connection-point-prim-structure#

Code

CP.010

Validator

latest+

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 collision

  • Requiring domain and direction on every connection point means a tool can enumerate and classify an asset’s interfaces without loading geometry payloads

  • Prim 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#

  1. Author each connection point as an Xform prim inside the ConnectionPoints scope (CP.001)

  2. Set purpose = "guide" on the prim

  3. Position and orient the Xform at the physical opening

  4. Author simready:connectionPoint:domain and simready:connectionPoint:direction as token properties

  5. Add the remaining base properties (CP.011) and the domain properties for the declared domain (CP.012)

For More Information#