# Parametric Diagram

![Parametric Diagram](/files/-MIIe4ZIRpi8UmFVk992)

## Create Block Definition Diagram

To create a Parametric Diagram:

1. Select first a Constraint Block where a new Parametric Diagram to be contained as a child.
2. Select **Model | Add Diagram | Parametric Diagram** in Menu Bar or select **Add Diagram | Parametric Diagram** in Context Menu.

## Constraint Property

To create a Constraint Property:

1. Select **Constraint Property** in **Toolbox**.
2. Drag on the diagram as the size you want.

To create a Constraint Property (model element only) by Menu:

1. Select a Constraint Block where a new Constraint Property to be contained.
2. Select **Model | Add | Constraint Property** in Menu Bar or **Add | Constraint Property** in Context Menu.

You can use **QuickEdit** for Constraint Property by double-click or press `Enter` on a selected Constraint Property.

* **Name Expression** : Edit name expression.

  *Syntax of Name Expression*

  ```
  expression ::= [ '<<' stereotype `>>` ] [ visibility ] name
  stereotype ::= (identifier)
  visibility ::= '+' | '#' | '-' | '~'
  name ::= (identifier)
  ```
* **Visibility** : Change visibility property.
* **Add Note** : Add a linked note.
* **Add Constraint** : Add a constraint.
* **Select Constraint Block** : Select a Constraint Block and assign it to type property.
* **Create Constraint Block** : Create a Constraint Block and assign it to type property.
* **Add Constraint Parameter** : Add a constraint parameter.

## Constraint Parameter

To create a Constraint Parameter:

1. Select **Constraint Parameter** in **Toolbox**.
2. Click on the element (e.g. Constraint Property or Parametric Diagram Frame) where Constraint Parameter to be contained.

You can use **QuickEdit** for Constraint Parameter by double-click or press `Enter` on a selected Constraint Parameter.

* **Name Expression** : Edit name expression.

  *Syntax of Name Expression*

  ```
  expression ::= [ '<<' stereotype `>>` ] [ visibility ] name
  stereotype ::= (identifier)
  visibility ::= '+' | '#' | '-' | '~'
  name ::= (identifier)
  ```
* **Visibility** : Change visibility property.
* **Add Note** : Add a linked note.
* **Add Constraint** : Add a constraint.
* **Select Block** : Select a Block and assign it to type property.
* **Create Block** : Create a Block and assign it to type property.


---

# Agent Instructions: 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:

```
GET https://docs.staruml.io/working-with-sysml-diagrams/parametric-diagram.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
