Dieses Repository enthält eine Sammlung spezialisierter DelphiScript/Pascal-Skripte für Altium Designer, die zur Automatisierung des Layoutdesigns, der Geometrieoptimierung und der Synthese von Hochfrequenz- (HF/Mikrowellen-) Übergängen entwickelt wurden.
Der Schwerpunkt dieser Version liegt auf der automatisierten Zusammenführung diskreter geometrischer Segmente (Fills, Tracks) und der Synthese von impedanzangepassten Mikrostreifenleitungsübergängen (stufenförmige und stufenlose lineare Taper) in monolithische Kupfer-Polygone des Typs Solid Region (IPCB_Region) unter Beibehaltung der Netz- (Nets) und Lageneigenschaften (Layers).
├── .gitignore
├── LICENSE
├── README.de.md
├── README.en.md
├── README.md
├── docs/
│ └── images/
│ ├── rf_taper_discrete_slices_selected.png # Ausgewählte diskrete Segmente im PCBDoc
│ ├── rf_taper_stepped_solid_region.png # Ergebnis der exakten stufenförmigen Zusammenführung (1:1)
│ ├── rf_taper_smooth_solid_region.png # Ergebnis des kontinuierlichen linearen Tapers
│ └── rf_taper_pcb_full_view.png # Gesamtansicht des Leiterplattenlayouts mit Übergang
└── scripts/
└── rf_transitions/
├── merge_slices_to_exact_region.pas # Zusammenführung in stufenförmige Solid Region
└── merge_slices_to_smooth_region.pas # Synthese eines kontinuierlichen linearen Tapers
Beim Entwurf von Mikrowellenschaltungen werden stufenförmige und kontinuierliche Impedanzübergänge häufig in Berechnungsprogrammen (Mathcad, MATLAB) oder 3D-EM-Feldsimulatoren (CST Studio Suite, HFSS) berechnet und als Arrays diskreter Streifen in das PCB-CAD importiert. Das manuelle Zusammenfügen und Bearbeiten dieser Elemente in Altium Designer ist zeitaufwendig und anfällig für DRC-Fehler.
Die Skripte im Modul rf_transitions automatisieren diesen Ablauf über das Altium-Designer-Objektmodell (PCBServer).
Dieses Skript führt die ausgewählten Primitive (eFillObject, eTrackObject) zu einem monolithischen Polygon zusammen, wobei alle Zwischenabmessungen und stufenförmigen Kanten exakt 1:1 erhalten bleiben.
-
Ablauf:
- Iteration über alle ausgewählten Primitiven mittels
IPCB_BoardIteratorund Extraktion der Grenzkordinaten$[X_1, X_2, Y_1, Y_2]$ (unter Berücksichtigung der Leiterbahnbreite beieTrackObject). - Monotone Sortierung der Segmente entlang der longitudinalen Ausbreitungsachse (
$X$ -Achse). - Konstruktion einer geschlossenen mathematischen Kontur
IPCB_Contourüber die FactoryPCBServer.PCBContourFactory:- Festlegung der linken Kante
$(X_{1,0}, Y_{1,0}) \rightarrow (X_{1,0}, Y_{2,0})$ . - Erzeugung des oberen Stufenprofils mit Einfügen von Eckpunkten bei Breitenänderungen.
- Festlegung der rechten Kante
$(X_{2,N}, Y_{1,N})$ . - Erzeugung des unteren Stufenprofils in umgekehrter Richtung.
- Festlegung der linken Kante
- Instanziierung eines
IPCB_Region-Objekts (eRegionObject), Zuweisung der Netz- (TargetNet) und Lageneigenschaften (TargetLayer), Löschen der Ausgangselemente und Neuzeichnen der Ansicht.
- Iteration über alle ausgewählten Primitiven mittels
Dieses Skript transformiert eine diskrete Stufenapproximation in einen kontinuierlichen linearen Taper-Transformator, wodurch parasitäre reaktive Diskontinuitäten an orthogonalen Stufenkanten vermieden werden.
-
Ablauf:
- Extraktion und Sortierung der Ausgangssegmente entlang der
$X$ -Achse. - Konstruktion einer geglätteten Kontur ohne orthogonale Absätze: Diagonale Linien verbinden die Eckpunkte benachbarter Segmente direkt.
- Beibehaltung orthogonaler Abschlusskanten an Ein- und Ausgang zur planaren Anbindung an Zuleitungen.
- Generierung des
eRegionObject, Übernahme der Netzdaten und Bereinigung der Ausgangsobjekte.
- Extraktion und Sortierung der Ausgangssegmente entlang der
- Klonen Sie das Repository lokal:
git clone https://github.com/AiuRat/altium-designer-scripts.git
- Öffnen Sie die Zieldatei (
*.PcbDoc) in Altium Designer.
- Wählen Sie im PCB-Editor die zusammenzuführenden Objekte (
FillsoderTracks) aus: - Öffnen Sie über das Hauptmenü File
$\rightarrow$ Run Script... (oderAlt + F11/ DXP-Menü). - Klicken Sie auf Browse... und wählen Sie die gewünschte Skriptdatei (
merge_slices_to_exact_region.pasodermerge_slices_to_smooth_region.pas). - Wählen Sie die entsprechende Prozedur:
-
MergeSelectedSlicesToRegion— für die exakte stufenförmige Kontur. -
MergeSelectedSlicesToSmoothRegion— für den geglätteten linearen Übergang.
-
- Bestätigen Sie mit OK. Das Skript erstellt die zusammenhängende Solid Region und aktualisiert die Ansicht.
Copyright (c) 2026 Airat Yalaletdinov
Diese Quelle beschreibt Open Hardware (offene Hardware) und ist unter der CERN-OHL-P v2 lizenziert. Sie dürfen diese Quelle unter den Bedingungen der CERN-OHL-P v2 (https://cern.ch/cern-ohl) weiterverbreiten, modifizieren und Produkte auf deren Grundlage herstellen.
Diese Quelle wird OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG vertrieben, EINSCHLIESSLICH DER GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, ZUFRIEDENSTELLENDEN QUALITÄT ODER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Die geltenden Bedingungen entnehmen Sie bitte der CERN-OHL-P v2.



