# IFC Axis2 Local Placement Parent Chain Transform Resolver

> IFC Axis2 Local Placement Parent Chain Transform Resolver is a paid API for AI agents from detect.halowerk.com, paid per call via x402, $0.003/call, status unknown (last checked 2026-11-04).

Resolves a chain of nested IFC IfcAxis2Placement3D local placements into a single complete world-space transform by composing all parent transformations.

## Facts

- Endpoint: POST https://detect.halowerk.com/v1/F-TD2000-GEO-INDUSTRY-B002/ifc-axis2-local-placement-parent-chain-transform?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-04
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ifc-axis2-local-placement-parent-chain-transform-resolver-e7453dcd
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_2bUbyxIaF6k7hhnvy5yLD

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability ifc-axis2-local-placement-parent-chain-transform-resolver-e7453dcd -d '<json body>'
```

Example prompt: I have a chain of up to 5 nested IFC local placements — each with a location, axis, and reference direction, and some with parent indices — can you resolve the full parent chain and give me the final world-space transform?

## When to prefer this

Use this endpoint when you need to resolve IFC IfcAxis2Placement3D or IfcLocalPlacement hierarchies into absolute world-space transforms in a BIM/IFC workflow. It is purpose-built for the IFC placement chain composition problem and handles up to 32 placements in a single call, making it ideal for pre-processing BIM data for clash detection, GIS export, or visualization pipelines.

## Known failure modes

- Circular parent references in the placement chain cause infinite loop or error
- Parent index out of range (exceeds 31 or references non-existent placement) returns validation error
- Malformed axis or reference vectors (not unit vectors or not 3-element arrays) may cause computation errors
- Too many placements (over 32) rejected by schema validation
- Invalid claim object causes authentication/authorization failure
- Coordinate values outside [-1000000, 1000000] range rejected

## How this service works

Resolve nested BIM product placements into complete world transforms.

## Output

Returns the fully composed world-space transform for each placement in the input chain, resolving all parent references so that each element's absolute position and orientation in world coordinates is available as a combined transformation matrix or equivalent representation.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "artifact": {
   "type": "object",
   "required": [
    "ifcPlacement"
   ],
   "properties": {
    "ifcPlacement": {
     "type": "object",
     "required": [
      "data",
      "claim"
     ],
     "properties": {
      "data": {
       "type": "object",
       "required": [
        "placements"
       ],
       "properties": {
        "placements": {
         "type": "array",
         "items": {
          "type": "object",
          "required": [
           "parent",
           "location",
           "axis",
           "reference"
          ],
          "properties": {
           "axis": {
            "type": "array",
            "items": {
             "type": "number",
             "maximum": 1000000,
             "minimum": -1000000
            },
            "maxItems": 3,
            "minItems": 3
           },
           "parent": {
            "anyOf": [
             {
              "type": "null"
             },
             {
              "type": "integer",
              "maximum": 31,
              "minimum": 0
             }
            ]
           },
           "location": {
            "type": "array",
            "items": {
             "type": "number",
             "maximum": 1000000,
             "minimum": -1000000
            },
            "maxItems": 3,
            "minItems": 3
           },
           "reference": {
            "type": "array",
            "items": {
             "type": "number",
             "maximum": 1000000,
             "minimum": -1000000
            },
            "maxItems": 3,
            "minItems": 3
           }
          },
          "additionalProperties": false
         },
         "maxItems": 32,
         "minItems": 1
        }
       },
       "additionalProperties": false
      },
      "claim": {}
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ifc-axis2-local-placement-parent-chain-transform-resolver-e7453dcd/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from detect.halowerk.com](https://www.zero.xyz/host/detect.halowerk.com/llms.txt)
