> 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/symbolspalette/usage/create-custom-class.md).

# Create Custom Class

This chapter describes how you can create custom classes.

**Custom Classes** are classes define by the user. You can then later **Custom Objects** like HyperLinks (see [Add Hyperlink](/plant-tools/plantexpresstools/how-to-use/symbolspalette/usage/add-hyperlink.md)) or AutoCAD/AutoLISP commands (see [Add AutoCAD/AutoLISP command](/plant-tools/plantexpresstools/how-to-use/symbolspalette/usage/add-autocadautolisp-command.md)) to the right side of the **SymbolsPalette**.

**Custom Classes** are considered in chapters [Categories](/plant-tools/plantexpresstools/how-to-use/symbolspalette/usage/categories.md) and [Hide/Show Classes & Custom Classes](/plant-tools/plantexpresstools/how-to-use/symbolspalette/usage/hideshow-pidcustom-classes-and-folder-links.md).

<details>

<summary>Create Custom Classes</summary>

Enable **Edit Mode** first (see [Edit Mode)](/plant-tools/plantexpresstools/how-to-use/symbolspalette/usage/edit-mode.md).

To create a **Custom Class** as a root class (at the very top level) you make a right-click below the tree and select **Add**.

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

This will create a new **Custom Class** with the default name starting with **New Custom Class**.

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

If you click on the class you can rename it in-place.

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

Or you use **Edit** from the context menu.

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

Now you can type in the new name.

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

After hitting the **Return** key the **Custom Class** will be alphabetically ordered within the existing class structure.

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

You can also create **Custom Classes** below a custom class by making a right-click on the existing custom class and use **Add**.

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

You see the new **Custom Class** now below the existing one with the default name.

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

You can again rename the new class.

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

Lets add another class.

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

Again, it is added below the existing class.

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

And we rename it again.

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

You can add **Custom Classes** under P\&ID classes as well. Again, you just make a right-click on the P\&ID class and use **Add**.

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

Now the new **Custom Class** is created below the P\&ID class.

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

And you can rename it again. And it will be ordered too within the other classes.

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

At the end of the process disable the **Edit Mode** again (see [Edit Mode)](/plant-tools/plantexpresstools/how-to-use/symbolspalette/usage/edit-mode.md).

</details>

<details>

<summary>Move Custom Classes</summary>

Enable **Edit Mode** first (see [Edit Mode)](/plant-tools/plantexpresstools/how-to-use/symbolspalette/usage/edit-mode.md).

As mentioned before, **Custom Classes** will be alphabetically ordered in the same class level of the tree. This means, that you cannot move **Dynamic Blocks** between **Blowers** and **Compressors**.

However, you can move **Custom Classes** to another level in the tree (up or down). Just use Drag & Drop the class to the class under which the **Custom Class** should appear. In the image below the **Dynamic Blocks** class (which is under **Equipment**) should now be under **Engineering Items**.

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

And now the **Dynamic Blocks** appear under **Engineering Items**.

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

If you move a **Custom Class** which has sub classes...

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

...the **Custom Class** and its sub classes will be moved.

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

At the end of the process disable the **Edit Mode** again (see [Edit Mode)](/plant-tools/plantexpresstools/how-to-use/symbolspalette/usage/edit-mode.md).

</details>

<details>

<summary>Delete Custom Classes</summary>

Enable **Edit Mode** first (see [Edit Mode)](/plant-tools/plantexpresstools/how-to-use/symbolspalette/usage/edit-mode.md).

If you want to delete a **Custom Class** you use **Delete** from the context menu of the class.

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

Now the deleted class was deleted.

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

If you delete a **Custom Class** with sub classes...

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

...the **Custom Class** and its sub classes will be deleted.

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

If there are **Custom Objects** or **Hyperlinks** added for a **Custom Class**, then a dialog will appear.

In this example the **Engineering** class is empty.

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

But there is a **Hyperlink** for the **PlantTools Help** class.

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

Now we delete the **Documents** class.

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

Since at least one **Custom Class** has a **Custom Object** or **Hyperlink** the following dialog asks you, if you want to **Delete Custom Class** which will delete the class and all its sub classes no matter if there are customer objects or hyperlinks. With **Delete only empty Custom Classes** will only delete a custom class if there are no custom objects or hyperlinks for the class. **Cancel Deletion of Custom Class** will just do nothing.

We use **Delete only empty Custom Classes**.

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

The result is, that only the **Engineering** class was deleted, but the **Documents** and **PlantTools Help** class is still there.

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

Now we delete again.

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

But this time we use **Delete Custom Class**.

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

Now the **Documents** class is gone as well.

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

At the end of the process disable the **Edit Mode** again (see [Edit Mode)](/plant-tools/plantexpresstools/how-to-use/symbolspalette/usage/edit-mode.md).

</details>
