Learn how to build custom windows and tools inside Eplan Electric P8 with practical, commented C# scripting examples. Whether you want a quick input form, a progress window, a data grid, or a ribbon button for your own project utilities, each example is small enough to read in one sitting and ready to copy and adapt.
Contributions, ideas, and example requests are welcome. If there is a GUI pattern you would like to see, open an issue and describe what you need.
⚠️ Unofficial community project. This repository is not affiliated with, endorsed by, or supported by EPLAN. "EPLAN" is a trademark of its owner. All code here is original and uses only the scripting API that ships with Eplan. No Eplan source code, proprietary documentation, training content, or other copyrighted material is included.
Eplan is a powerful platform, and scripting is one more way to shape it around how you work. Many people can automate a repetitive task with a script, and then wonder how to give it a window of its own. These examples show common GUI patterns in small, focused pieces. Each one is designed to be copied, modified, and used as a starting point for your own tools.
- Eplan engineers and designers learning scripting
- Electrical designers automating repetitive tasks
- Application engineers building internal productivity tools
- Teams moving from simple scripts to scripts with their own windows
Beginner examples explain the basic C# they use. Later examples cover data grids, saved settings, and ribbon buttons.
| # | Example | What you can do with it | Level | Status |
|---|---|---|---|---|
| 01 | Reusable input dialog | Ask the user for text, confirm an action, show a message | Beginner | Available |
| 02 | Progress bar | Show progress during a long task, with Cancel | Beginner | Available |
| 03 | Window placement | Open dialogs centered on Eplan, on a visible monitor | Intermediate | Available |
| 04 | Light and dark theme | A "Dark mode" check box that restyles your window, plus matching Eplan's own color scheme | Intermediate | Available |
| 05 | Ribbon tab, group and buttons | Add your own tab, group and buttons (with icons) that run your scripts | Beginner | Available |
| 06 | Remember size and position | Reopen windows where the user left them | Intermediate | Available |
| 07 | Themed message window | Messages and questions that fit dark mode | Beginner | Available |
| 08 | Settings dialog | Save and restore user preferences | Beginner | Available |
| 09 | Page list | Search, sort and export pages to CSV | Advanced | Available |
| 10 | Property viewer | See every property of the project or your selection | Advanced | Available |
| 11 | Parts viewer | Search the parts database as you type | Intermediate | Available |
| 12 | Please-wait window | Keep a moving window up while Eplan is busy | Advanced | Available |
| 13 | Dark-mode-safe controls | Date field, drop-down, check box and progress bar for dark mode | Intermediate | Available |
| 14 | Selection explorer | Write the properties of your selection to a text file | Intermediate | Available, partly tested |
| 15 | Hand a value between scripts | Pass a short-lived value from one script to another | Advanced | Available |
| 16 | Modern folder picker | The Explorer-style "choose a folder" window | Advanced | Available |
| 17 | Export launcher | PDF export with a file name pattern | Intermediate | Available |
| 18 | Device list export | CSV, XML or text, opened in Excel | Intermediate | Available |
| 19 | Renumber helper | A safe front end for the renumber action | Intermediate | Available |
| 20 | Timestamped backup | A backup with the date and time in its name | Intermediate | Available |
| 21 | Favorites launcher | A searchable list of your scripts and actions | Intermediate | Available |
| 22 | Results window | One report window instead of many message boxes | Intermediate | Available |
| 23 | Bulk edit pages | Preview, then change many pages at once | Advanced | Available |
| 24 | CSV preview and import | Check a CSV file before importing it | Advanced | Available |
| 25 | Settings finder | Search Eplan's settings (read-only) | Intermediate | Available |
| 26 | Back up first, then run | A safety net in front of risky work | Intermediate | Available |
Every example has been run in Eplan 2026 (Update 5), and examples 06 to 26 on a copy of a demo project; each example's README says exactly what was checked. Example 14 is only partly confirmed (see its README), and some options inside the other examples have not been tried yet; docs/test-status.md lists them all. Try them on a copy of a project and tell us what you find. More ideas are in IDEAS.md. Request one by opening an issue.
- Read docs/getting-started.md.
- Open an example folder under examples/.
- In Eplan, choose File > Extras > Interfaces > Run and select the
.csfile. See How to run a script.
Compile-checked against Eplan Electric P8 2026 (2026.0.3). Each example's README states whether it has also been run inside Eplan.
- The code is MIT licensed: use it, change it, and share it, including in your own work.
- Try each script on a copy of a project first. Scripts run inside Eplan and can change project data.
- The code is provided as is, without warranty. Read a script before you run it.
- Getting started
- How to run a script (with a Quick Access toolbar tip)
- Reaching Eplan's data model (for examples that read project data)
- C# basics used in these examples
- How Eplan loads scripts
- Troubleshooting
- Test status (what has been run in Eplan, and what is still open)
Questions and ideas go in Discussions and Issues. Pull requests are welcome too, with one rule: only submit your own original work. See CONTRIBUTING.md.
MIT.
Maintained by Justin Walz, Walz Engineering. Need a custom Eplan interface built for your team? Get in touch.