Curriculum
Learning path for solar automation
A guided curriculum for solar engineers who want to automate AutoCAD drafting with Python, C#, or both. Start with the foundation, pick a track, ship a script.
Step 1
Foundation
Install the tools. Two posts. Plan for an afternoon. Every track below assumes you finished one of these.
Python for AutoCAD: A 45-Minute Setup for Solar Engineers
Solar engineers new to Python: install, set up VS Code, run a script reading panel coordinates from an AutoCAD CSV export. Every install gotcha pre-warned.
Visual Studio for AutoCAD: A 60-Minute C# Plugin Setup
AutoCAD engineers new to C#: install Visual Studio, set up a plugin project, load a Hello World command via NETLOAD. Every install gotcha pre-warned.
Step 2
Pick a track
Three parallel paths through the curriculum. Take the one that fits the work in front of you. They share the same foundation and crosslink where it makes sense.
Python
From your first script to a production PDF parser and 200-line stringer. For solar engineers who already know AutoLISP.
Python Functions, Classes, and Dataclasses for AutoLISP Programmers
How Python's def, class, and @dataclass map to AutoLISP defun and list-based data — translated for solar engineers who think in LISP and need to read modern Python code for AutoCAD work.
Read SolarEdge PDFs in Python: A pdfplumber Guide
Install pdfplumber, open a SolarEdge Designer PDF, extract text and tables for AutoCAD import. A friendly intro before the production pitfalls.
Shipping Python Solar Scripts: 3 Deployment Paths
Run a Python solar script outside VS Code, package it for a coworker without Python installed, and schedule overnight runs. Three deployment paths.
Deep dives
Parsing SolarEdge Designer PDFs for AutoCAD with Python and pdfplumber
How to extract panel positions, string assignments, and inverter mappings from a SolarEdge Designer report PDF for AutoCAD import using Python — and the four pitfalls that will bite you.
Solar Stringing in Python: A 200-Line Solver You Can Run
A working Python solver for solar stringing in AutoCAD — what it does, what it misses, and why production tools stack four algorithms instead of one.
K-Means for AutoCAD Solar Homerun Routing: When It Works, When It Fails, and What to Use Instead
Why k-means is the wrong tool for grouping solar homeruns in AutoCAD the moment your roof has obstructions, plus the upgrade path that actually handles capacity constraints.
C#
From a Hello World plugin to a real AutoCAD solar drafting plugin with auto-load. The .NET path for AutoLISP veterans.
Deep dives
How to Write a Custom AutoCAD Solar Plugin in C# with Claude as Your Pair Programmer
A working guide for solar engineers who want to build their own AutoCAD plugin in C# — the setup that compiles, the Transaction trap, the selection-set wall, and where Claude actually helps versus where it hallucinates LISP from 2005.
Why Your Solar AutoLISP Routines Break on AutoCAD 2024+ (And How to Migrate to .NET)
AutoCAD 2024 quietly broke selection set calls that worked since 2003. Here's what changed, why (command) is 66x slower than entmake, and the migration path solar engineers actually need.
Concepts
The algorithms that power every solar stringing plugin, explained without the code. Read these before the deep-dives.
What is an Auto-Stringer? The Solar Algorithm Explained
A plain-English look at what auto-stringers do under the hood — why solar stringing is computationally hard, and how production tools solve it.
K-Means Clustering Explained for Solar Engineers: How It Groups Panels (and Where It Fails)
A no-math explanation of how k-means clusters solar panels into groups for AutoCAD homerun routing — and why it produces wrong answers on real rooftops with obstructions.
Or skip the curriculum entirely
Branch is the finished plugin. Drafting automation that runs inside AutoCAD without you writing a line of Python or C#. We do the drafting. You do the engineering.
See how Branch works