> For the complete documentation index, see [llms.txt](https://docs.openbrim.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.openbrim.org/developers/paramml-developer-guide/what-are-object-and-parameter/objects.md).

# Objects

As discussed in the introduction, in ParamML, objects are represented by "O" tags. These tags contain attributes that describe or provide additional information about the object. The attributes within the "O" tags provide information such as the object's name, type, and any parameters that are associated with the object. The attributes vary depending on the type of object defined.

**Example**

```xml
<O N="Object Example" T="Project">
 <!-- created by ParamML Examples on 25.01.2023 -->
 <P N="length" V="50" />
 <P N="width" V="1" />
 <P N="Depth" V="1" />
</O>
```

![](https://openbrim.atlassian.net/wiki/download/attachments/2155347973/image-20230125-143335.png?api=v2)

In ParamML, objects are divided into two categories: Core Objects and User-Defined Objects. Core Objects are the basic building blocks that are useful to the user, and are predefined in the system. User-Defined Objects, on the other hand, are created by the user using the core objects, allowing them to create more complex and useful objects as needed.

The attributes included in the "O" statements provide additional information and description for the object. These attributes can include things such as the object's name, type, and any parameters that are associated with the object. The attributes may vary depending on the type of object defined.

## Attributes of Objects

| 1 | **Symbol** | **Label** | **Description**                      | **Mandatory** | **Default Unit**  | **Example** |
| - | ---------- | --------- | ------------------------------------ | ------------- | ----------------- | ----------- |
| 2 | T          | Type      | Specifies the **type** of the object | Yes           | Category: Default |             |

Type: None | T="Project" | | 3 | N | Name | Specifies the **name** of the object | No | Category: Default

Type: None | N="Project 1" | | 4 | Extends | Extends | **Extends** or **inherits** the definitions of a previously defined object | No | Category: Default

Type: None | Extends="Surface 1" | | 5 | X | X-axis translation | **Translates** or **moves** the object along the X-axis

Default: X="0"

Can be an integer or a float

Can be an expression | No | Category: Coordinate

Type: Length | X="1"

X="h/2"\
\| 6 | Y | Y-axis translation | **Translates** or **moves** the object along the Y-axis

Default: Y="0"

Can be an integer or a float

Can be an expression | No | Category: Coordinate

Type: Length | Y="2.5"

Y="w/2"\
\| 7 | Z | Z-axis translation | **Translates** or **moves** the object along the Z-axis

Default: Z="0"

Can be an integer or a float

Can be an expression | No | Category: Coordinate

Type: Length | Z="5.75"

Z="t/2"\
\| 8 | RX | X-axis rotation | **Rotates** the object about the X-axis

Default: RX="0"

Can be an integer or a float

Can be an expression | No | Category: Coordinate

Type: Angle | RX="3.1416"

RX="PI"\
\| 9 | RY | Y-axis rotation | **Rotates** the object about the Y-axis

Default: RY="0"

Can be an integer or a float

Can be an expression | No | Category: Coordinate

Type: Angle | RY="4"

RY="2\*PI"\
\| 10 | RZ | Z-axis rotation | **Rotates** the object about the Z-axis

Default: RZ="0"

Can be an integer or a float

Can be an expression | No | Category: Coordinate

Type: Angle | RZ="10.25"

RZ="3\*PI/2" | 11 | AX | X-axis rotation origin | Specifies the **location** of the rotation origin in the X-axis

Default: AX="0"

Can be an integer or a float

Can be an expression | No | Category: Coordinate

Type: Length | AX="3"

AX="w/3"\
\| 12 | AY | Y-axis rotation origin | Specifies the **location** of the rotation origin in the Y-axis

Default: AY="0"

Can be an integer or a float

Can be an expression | No | Category: Coordinate

Type: Length | AY="5.5"

AY="h/4"\
\| 13 | AZ | Z-axis rotation origin | Specifies the **location** of the rotation origin in the Z-axis

Default: AZ="0"

Can be an integer or a float

Can be an expression | No | Category: Coordinate

Type: Length | AZ="10"

AZ="2\*t"


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.openbrim.org/developers/paramml-developer-guide/what-are-object-and-parameter/objects.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
