> For the complete documentation index, see [llms.txt](https://help.auxalia.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.auxalia.com/plant-tools/plantexpresstools/how-to-use/assemblies/stacked-assemblies-with-acquisitions.md).

# Stacked Assemblies with Acquisitions

This chapter explains in detail how you setup stacked Assemblies (Assemblies within Assemblies) with the use of acquisition rules.

Stacked Assemblies are Assemblies which have a relationship. The following picture illustrates three level of Assemblies where L1 is the most outer Assembly and L3 is the most inner Assembly. Also, Assemblies must not overlap but be located within each other.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-3fbba4ec7511f29da7fb60edb2ef006ef13c6d4b%2FPET-Assemblies-81.png?alt=media)

We start fresh by clicking on the Assembly button.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-48e8bc0e6c2f7ff3d69489399e731923008ff41d%2FPET-Assemblies-82.png?alt=media)

Click OK to create the classes.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-bfab9f7a0d726ef0f01a993e006962af17a26bd5%2FPET-Assemblies-83.png?alt=media)

Again, we have the default symbol.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-6c2f5537f77daf76edce214079d8fd748eeb452c%2FPET-Assemblies-84.png?alt=media)

But this time we don't need the default symbol for the Assemblies class. In order to delete the symbol we first must set the GraphicalStyleName to blank and click on Apply.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-a5a12e4540eda77eeee70ef0474c611ac8eb8914%2FPET-Assemblies-85.png?alt=media)

After that, you again must set GraphicalStyleName to blank before you can click on "Remove Symbol...".

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-64d13378cac9f8ddc911c2ffeabb9842a0910363%2FPET-Assemblies-86.png?alt=media)

You will be ask if you really want to delete the symbol.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-1c0ec172d0df872f189a674956bf648f59d81b21%2FPET-Assemblies-87.png?alt=media)

Now we need to create three classes under the Assemblies class.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-4eb4b7b5eec0a52e602405898e53e45fe323ce14%2FPET-Assemblies-88.png?alt=media)

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-59880185fbf041dc55da12a4fc79f9325622bd04%2FPET-Assemblies-89.png?alt=media)

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-6d7e4e88f3414a8fca8c2bb0e5c53b75cba489f6%2FPET-Assemblies-90.png?alt=media)

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-7bc092fbdd63ff24e019e2e28f23a4105e91e5a6%2FPET-Assemblies-91.png?alt=media)

Now we add the default symbol to each of the three classes.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-efc14a0f12f9c922bfbd4a36e24d19ab82cb2493%2FPET-Assemblies-92.png?alt=media)

We select the Assembly\_Symbol\_Block which is the block we previously had for the Assemblies class.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-b7fa750c67ca7cf639896e1f1e92271335060b92%2FPET-Assemblies-93.png?alt=media)

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-aedddab5390313bdf6858be729f229272393dbd8%2FPET-Assemblies-94.png?alt=media)

We set the Symbol properties. In this example we use red for Level 1, yellow for Level 2 and green for Level 3.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-475f5c8f33dd317271a54cd467b7f996b288bd5a%2FPET-Assemblies-95.png?alt=media)

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-8d1b9a798a9891c0d397a1cf92747f314a4c6e1f%2FPET-Assemblies-96.png?alt=media)

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-8e5903ba7afca1c3654aea9aac328a23ee1cb801%2FPET-Assemblies-97.png?alt=media)

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-c273869fe618778865fd870356fd5bf80d7b9df5%2FPET-Assemblies-98.png?alt=media)

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-e3ef0da92f2bf1740a4e54718f37fc8fc877dbc7%2FPET-Assemblies-99.png?alt=media)

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-eb4211e5546d4ee2d06f66b50810f5b4a93629d6%2FPET-Assemblies-100.png?alt=media)

For the EngineeringItems class we add 7 properties. Assembly1/2/3 Type/Number will later contain the Type and Number information of the Assemblies a line or symbol is in.

Flexible\_Tag will later be calculated and holds the combined Assembly Tags a line or symbol is in.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-972f4c341d3ff49a0ea939b3fc0a0dbec7aedea7%2FPET-Assemblies-121.png?alt=media)

For the Assemblies class we create the properties we need to create the Tag and also the Tag property itself.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-c4f01a5667f2601f17f2025c3b27d6f47eb92d94%2FPET-Assemblies-101.png?alt=media)

You may want to set a Default Value for Type if this makes sense to you. This way it is already filled out when you insert an Assembly or convert a Polyline into one.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-0a519b2a88601323da427ae597e40663c9b931e0%2FPET-Assemblies-102.png?alt=media)

For the Tag Format for Level 1 Assembly we use Type and Number.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-3e4fb1fac1422b87b78daed7a8a86f300502d6f8%2FPET-Assemblies-132.png?alt=media)

Make sure the new Tag is set in TagFormatName.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-7464faf465e91b78ef033c42b520432c31edd634%2FPET-Assemblies-133.png?alt=media)

Level 2

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-a97ef7aa5ea2f3c9f11c0ec253e161fd26fd4cd2%2FPET-Assemblies-103.png?alt=media)

Here the Tag Format consists of three properties leading with the Flexible\_Tag.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-d50e851ce1ea326a3bdfa882d9cd2b351d515928%2FPET-Assemblies-134.png?alt=media)

Again make sure the new Tag is set.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-329aea04f37b0d3994e72c8034c194b1226e34e0%2FPET-Assemblies-135.png?alt=media)

Level 3 is like Level 2

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-4e086f7a98905a1829ad1f1ccf756b053ec0b098%2FPET-Assemblies-104.png?alt=media)

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-0a98d4e0867a173bc8675428e780aaf8855c4b30%2FPET-Assemblies-136.png?alt=media)

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-52a69cbda1f5471b5b3dbfb3235192d833ef6791%2FPET-Assemblies-137.png?alt=media)

Now that we have defined all Properties we can create the Acquisition Rules for the EngineeringItems class. It is recommend to make the properties read-only so the user doesn't edit the acquired values later on. However, if you keep them read-writable you are more flexible in case there is an except to the (Acquisition) Rule and you want to override it.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-28d875ea57771460a1b747ef879581338ede68e7%2FPET-Assemblies-105.png?alt=media)

For the Equipment we also create a new Tag Format with the Flexible\_Tag as the "Prefix".

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-b0dc322a7cd40b11d5bf8b455cf8207aa46b9a6c%2FPET-Assemblies-106.png?alt=media)

Make sure it is set.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-f09c5356a8055095e605f28d381c8115c864a0fc%2FPET-Assemblies-124.png?alt=media)

The same for the HandValves class.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-46255adc80d28a8e01c5e3fc94c9bf7b9ac7103d%2FPET-Assemblies-125.png?alt=media)

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-d22f7687759cf3acd3882d7512e2c88db7427fb3%2FPET-Assemblies-126.png?alt=media)

You would need to do this for all classes which have a Tag, but for this example Equipment and HandValves should suffice.

Now we convert the outer Polyline to a Level 1 Assembly. Of course you can also use the tool palette or the PlantExpressTools' SymbolsPalette.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-85cbd9b79f56480bcbb2d9b390239e6bf32d943f%2FPET-Assemblies-122.png?alt=media)

Use Convert.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-6ddd5e22d9502adbce71d1d512c66e4e9e542a65%2FPET-Assemblies-107.png?alt=media)

Select Level 1.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-3102b0c553f427859b6363eeeca99319cc685755%2FPET-Assemblies-108.png?alt=media)

Repeat this for all Polylines. The end result looks like this:

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-f4b0103c2330187bd55ee109a82f9a0df10a9cef%2FPET-Assemblies-109.png?alt=media)

Now we need to create a calculation to calculate the Flexible\_Tag property. For this, you click on the "Edit Calculation" button.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-c1a8109d9f4659864689518ae5e620cc75ab106a%2FPET-Assemblies-110.png?alt=media)

Click on "New\..." to create a new calculation.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-5a077af189150efd4fa1fe708ce8efbabaed99aa%2FPET-Assemblies-111.png?alt=media)

Select Engineering Items class the the Flexible\_Tag Property.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-6766d939519beecd621a555c68137ec4ced10423%2FPET-Assemblies-112.png?alt=media)

Next you click on Edit.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-1833ebdf469dd49095348c5581179926b9cb6caa%2FPET-Assemblies-113.png?alt=media)

We need the following expression. You can also copy it from the description below the next image.

For details on the Calculation function and the Expression Editor have a look [here](/plant-tools/plantexpresstools/how-to-use/calculations.md).

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-43d29937a6aee4f48a8b0c50764482e93f551e7c%2FPET-Assemblies-114.png?alt=media)

IIF(ISNULLOREMPTY(\[Assembly1\_Type]) And ISNULLOREMPTY(\[Assembly1\_Number]),

'',

IIF(ISNULLOREMPTY(\[Assembly2\_Type]) And ISNULLOREMPTY(\[Assembly2\_Number]),

\[Assembly1\_Type]+\[Assembly1\_Number],

IIF(ISNULLOREMPTY(\[Assembly3\_Type]) And ISNULLOREMPTY(\[Assembly3\_Number]),

\[Assembly1\_Type]+\[Assembly1\_Number]+\[Assembly2\_Type]+\[Assembly2\_Number],

\[Assembly1\_Type]+\[Assembly1\_Number]+\[Assembly2\_Type]+\[Assembly2\_Number]+\[Assembly3\_Type]+\[Assembly3\_Number]

)

)

)

After you click on OK you see the expression in the dialog where you click on OK again.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-0b242037516c03e8e0a51a82b4a6e754ada86383%2FPET-Assemblies-115.png?alt=media)

If everything is OK the text color is blue and the Status is active.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-6291eb97d5508c4ca2178675736269e330faf5d5%2FPET-Assemblies-116.png?alt=media)

We recommend to enable the following check boxes so all relevant functions will be updated when the drawing will be saved. Otherwise you may need to click on various update buttons in the ribbon.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-ce77374c7262e6204baf04fe66f336ddf2de7125%2FPET-Assemblies-117.png?alt=media)

After saving the drawing we click on the Level 1 Assembly and see that the Tag is A1 made out of A and 1. Flexible\_Tag is empty, because the Level 1 Assembly is the most outer object. Everything else is in this Assembly.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-0921d40b350311142122c74b9be935db2204d9f9%2FPET-Assemblies-118.png?alt=media)

If you use Assign Tag the dialog looks like this:

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-b42a8575dddf22715c402e3bc50c9ddb80f6f22b%2FPET-Assemblies-138.png?alt=media)

If we click on the lower Level 2 Assembly, we see that Assembly1\_Type and \_Number are acquired from the Level 1 Assemblies' Type and Number. The Flexible\_Tag is calculated from Assembly1\_Type and \_Number

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-f47a7d1a8eca75970efdf9027996f4637e598926%2FPET-Assemblies-119.png?alt=media)

Editing the Tag shows the Flexible\_Tag as a sort of prefix.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-bb33842c14ad8beb8cada3aeabbf7e2e7b8adf6a%2FPET-Assemblies-139.png?alt=media)

The upper Level 2 Assembly uses 2 instead of 1, because both Level 2 Assemblies belong to the Level 1 Assembly and therefor the tag must still be unique.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-b70efbd4d21773aa8dfe0c53ebb123e33782b23c%2FPET-Assemblies-120.png?alt=media)

Selecting one of the Level 3 Assemblies shows this. Here the Flexible\_Tag is made out of Level 1 and level 2.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-77bd99e6808db416c1c2368cc482636e63d90418%2FPET-Assemblies-123.png?alt=media)

The Assign Tag is showing this.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-474684d302afcc56d1fb790e091614611081a2bc%2FPET-Assemblies-140.png?alt=media)

If we select one of the Tanks we see that the Flexible\_Tag is A1, because the Tank is not within the confines of Level 2.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-7031dd642508c6bda7a91040145c11889ac721dc%2FPET-Assemblies-127.png?alt=media)

Assigning the Tag shows the Flexible\_Tag again.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-fa27ae346aba765e5f42d702eb92a0da9874afeb%2FPET-Assemblies-128.png?alt=media)

The valve is within Level 2.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-2bbda29db4cefd454f37e3acf308bd4ed928bc75%2FPET-Assemblies-129.png?alt=media)+

The check valve is in Level 3.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-fe0a03149f5906368f6d0b20be6c15fc65fc7a98%2FPET-Assemblies-130.png?alt=media)

The Pump as well.

![](https://2994090777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZH2AGHzvPfBW7YdaaGc0%2Fuploads%2Fgit-blob-7c51b2e50d1bc906930fff9b5143dd63ecd897cd%2FPET-Assemblies-131.png?alt=media)
