Skip to content
Set of add-ons for Altium Designer, brought to us by the community
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
#Libraries Repository reorganization attempt 3 Jul 21, 2015
#Templates/AltiumPCBProjectTemplate Repository reorganization attempt 3 Jul 21, 2015
AddDatumPointToArcs fixed layer info in AddDatumPointToArcs script Feb 21, 2012
AddWireStubsSch AddWireStubsSch-Form.pas: Fixed crash in AD18.0.7 Nov 10, 2017
AdjustDesignators2 Added Stroke Fonts option Feb 27, 2019
Arc8 added Arc8 Sep 14, 2012
AutoHotkey Enhancement Script AutoHotkey Enhancement Script bug fixes Jan 11, 2013
AutoRouter_Interface AutoRouter_Interface - fixed issue with rounded and octagonal long pa… Mar 21, 2012
AutoSTEPplacer cmall bugfix in auto step placer Feb 17, 2012
BetterRevertVCS Fixed typo in the README Jul 26, 2017
BoardAutoSizer No commit message Dec 19, 2013
CalculatePolyArea CalculateCopperArea - added units switch and copy to clipboard Mar 19, 2012
ComponentPlacement Added: Dec 9, 2011
ConnectionLinesOnSelection test. Dec 6, 2011
CopyAngleToComponent EagleToAD and CopyAngleToComponent scripts added Mar 17, 2011
CopyDesignatorsToMechLayerPair Added option to CopyDesignatorsToMechLayerPair to copy all prims from… Dec 6, 2011
CopyTracesRadial Initial Commit Jan 22, 2017
CreateTableOfContents Added CreateTableOfContents script Nov 28, 2011
CurrentCalculator fixed small bug in Currentcalculator May 29, 2012
DeleteAllSelectedItemsInPCBLib Added DeleteAllSelectedItemsInPCBLib script by ColbY Siemer Aug 9, 2011
DeleteInvalidPCBObjects Added DrcOnOff and DeleteInvalidPCBObjects scripts from Juan Martinez Sep 19, 2011
DeleteSelectedSplit forgot to destroy iterators in DeleteSelectedSplit script Aug 12, 2011
DesignReuse Small fix in DesignReuse that makes it usable with flat design Nov 15, 2011
Distribute Fixed the source of the donwload link Oct 3, 2018
DrcOnOff More libraries added. Feb 14, 2013
EagleToAD Modified script set for Eagle to Altium files conversion. Apr 12, 2011
Fillet Fixed Fillet.pas function declaration Nov 12, 2018
FilletWithRadius fixed layer issue with arcs Sep 14, 2012
FilterObjects No commit message Nov 9, 2011
FixConnections Added Fix Connections v1.0 created by Randy Clemmons. Nov 3, 2013
FixOverlaps Additional buxFixes and enhancements to FixOverlaps Aug 23, 2012
FlipComponents minor change in the way FlipComponents works Sep 14, 2011
FormatPaintBrush added icon to FormatPaintBrush, fixed couple of bugs in Adjust Design… Sep 27, 2011
GetPinData Added getPinData. Jul 18, 2018
HideParametersSch New script for show/hide function of component user parameter in the … Sep 29, 2015
Hyperlynx Exporter minor update in HyperlynxExporter - added hour glass to mouse cursor … Oct 21, 2011
IBIS Editor Added Headers with explanations to all my scripts: Aug 9, 2011
IncrementDesignator added ability to assign next available project or document designator… Jun 5, 2012
IsPadCenterConnected Fixed IsPadCenterConnected script Jan 5, 2012
LRJustify LR_Justify v2 Sep 14, 2015
LayerStackExporter Added LayerStackExporter script Jun 26, 2012
LayersAndObjects Modification of LayersAndObjects panel to v2.6 which is able to work … Feb 26, 2014
LayersPanel LayersPanel - fixed small issue with linkedToSheet mech layers Jan 4, 2012
LengthTuningHelper small bugfix in LengthTuningHelper Jul 30, 2012
LockMultiPartComponents Added LockMultiPartComponents Script Sep 16, 2011
LockNetRouting Added LockNetRouting script which locks or unlocks routing tracks, vi… Oct 31, 2011
ManualToAutoDesignator Added ManualToAutoDesignator and upadted MoveAPdesignators scripts by… Dec 14, 2011
MechLayerNames Update of MechLayerNames to be supported in AD 14 and newer by Frank … Jun 29, 2015
Menu_SVN Rename README.txt to Sep 20, 2018
MoveAPdesignators Fixed bug with mirrored designators moving farther away instead of cl… Jun 4, 2013
MoveToLayer move2Layer script - fixed bug with multiple tracks selected, and mult… Jan 5, 2012
MultiPCBProject Updated MultiPCBProject script to allow automated pin swapping betwee… Dec 1, 2011
OpenComponentPCBLib OpenComponentPCBLib script - opens the component footprint library of… May 7, 2014
OpenLib Added new OpenLib Script v1.0 Apr 18, 2016
OpenSchDocs Added OpenSchDocs script Aug 7, 2012
PCBScale Added PCB Scale - script that can be used to scale PCB objects Feb 17, 2012
ParamToPCB ParamsToPCB - fixed small bug with mech layers when board had no laye… Jan 4, 2012
PlaceRectangle Added PlaceRectangle_v0.97 and ZoomAndCenter Scripts Apr 19, 2012
PlanarTXv0.7 No commit message Aug 23, 2012
PnPcustom Custom Pick&Place report script added - this script extracts necessar… May 31, 2011
PrintAllVariants Added new script - MultiPCBProject - script that makes MultiPCB Proje… Nov 21, 2011
RadialComponentPlacement Remove close on submit Apr 12, 2018
ReAnnotateSelection Added ReAnnotateSelection - Script for positional reanotation on the PCB May 18, 2012
RenumberPads RenumberPads script added - this script helps with changing order of … Jun 13, 2011
RoomFromPoly Added Headers with explanations to all my scripts: Aug 9, 2011
RotationStep ZIP file of RotationStep script moved into downloads folder. Feb 20, 2013
Run_exe Added Run_exe script, that can start some PCB Toolkits from Altium Sep 25, 2012
SCH - SelectTouchingRectangle fixed a bug in SCH - SelectTouchingRectangle Oct 21, 2011
SCH - Selection Filter Added Headers with explanations to all my scripts: Aug 9, 2011
SPI_Footprint_and_Vault_Scripts update_comps_to_cmplib_file.php v0.11.0. Dec 4, 2013
SelectBadConnections fixed the way script detects objects - better work with tolerance, an… Feb 24, 2012
SelectConnectedOnLayer fixed SelectConnectedOnLayer to make objects appear in inspector panel Feb 17, 2012
SelectConnectedTrack Select Connected Track skript Dec 22, 2010
SelectViaAntennas SelectViaAntennas updated by Randy Clemmons to v1.1 because of change… Dec 18, 2013
SheetParameters added SheetParameters script - script that modifies document paramete… Sep 12, 2011
ShowHideDesignators Easy to use converter from metric values to imperial and vice versa. Jul 4, 2013
ShowHideLayers added color to upper 16 mech layers Dec 16, 2011
SingleLayerWithConnectionLines Added SingleLayerWithConnectionLines script - script that can be used… Oct 21, 2011
SinglePinNets housekeeping in SinglePinNets - deleted some comment Sep 29, 2011
SpiralTrackVer0[1].8 Added Spiral Generator and Planar Transformer scripts by Darren Moore Aug 22, 2011
StitchingVias stitchingvias - added missed part Jan 9, 2012
Tenting_Vias Update Tenting_Vias Version 1.1 Dec 13, 2013
TestpointMaker Fix undo issues in TestPointMaker Oct 3, 2018
ThievingPads ThievingPads modified to work on AD14 by Vincent Himpe Oct 13, 2014
TortoiseSVN Syntax error fixed Jul 19, 2017
TrimExtend Added ConnectionLinesOnSelection script to show/hide connection lines… Oct 18, 2011
UpdateFootprintHeightFrom3dModelHeight Added UpdateFootprintHeightFrom3dModelHeight - script that updates Fo… Jun 8, 2012
UpdateNetOnClick Fixed Bug with poly in UpdateNetOnClick script Aug 2, 2012
VariantFilter Choose a variant from the form to select all fitted, fitted original,… Nov 18, 2015
VariousADMenuCustomization Examples of AD menu customization Jul 21, 2015
VendorTools Fixed TestPointMaker to check for existing testpoints Jun 8, 2012
ViaSoldermaskBarrelRelief Added Via Soldermask Barrel Relief script - the script searches for v… Sep 30, 2013
WheelSelector Added WheelSelector - AutoHotKey script that enables selection using … Feb 21, 2012
XIA_Release_Manager v1.12.0 XIA_Release_Manager: Feb 4, 2012
ZoomAndCenter Added PlaceRectangle_v0.97 and ZoomAndCenter Scripts Apr 19, 2012
ZoomComponent Fixed a bug in path in ZoomComponent script Feb 2, 2012
mil-mm-conv Update README.txt Jun 26, 2017
.gitignore Ignore more files and folders for committing. Dec 10, 2018
.gitmodules VBScript libraries added Nov 4, 2015 Added direct links to the wiki pages Sep 20, 2018

Altium Designer addons

What is it

This is a set of addons for Altium Designer, a CAD software for Electronic designers. This project contains some scripts, examples and other content which is developed to provide extended features for Altium Designer.
No real consistency exists between each script because they have been developed separately by individual developers. You can use only one script out of the full set if you want.

How to use

Step 1: download the add-on you want.

  1. Either clone the entire set of add-ons on your computer (if you're accustomed to Git),
  2. Or download only the add-on you want by clicking its download link from the list below.

Step 2: integrate the script into Altium Designer and execute it.
If you are a newcomer to Altium scripts, please read the "how to" wiki page. Some developers may also have provided some screen captures or examples of use.

Please be advised: Some scripts may not work out-of-the-box. Some may be old, unmaintained. Others may be provided as a demonstration, or should be integrated in an other script to fully work.

License(s) to use/share

Unless otherwise specified this project don't follow any particular license such as GPL, MIT or BSD. In any case everything is distributed "as is" with no warranty.
However some authors may have specified a license for their script(s). In this case you are supposed to follow the rules implied by this license for the concerned scripts.

How to contribute

If you want to add your contribution to our project feel free to fork the repository, commit your changes and submit a pull-request.
You are encouraged to read the GitHub fork guide.

List of available scripts

Add-on name & download link Script description
AddDatumPointToArcs This script will add tracks to selected arcs. This tracks end in arc center, so after that you can easily move objects to arc center.
AddWireStubsSch it search for unconected pins of components in schematic sheet and draw small segment of a wire on it equipped by net label according to the name or designator of the pin
AdjustDesignators it will center the designator in top and bottom overlay
AdjustDesignators2 This script modifies designator position. It is based on AdjustDesignator script from Mattias Ericson, only user gets the form in which he can enable/disable and modify certain options, like layers, height etc.
Arc8 script that connects arc tangent and via/Pad, or places tangent to connect two arcs
AutoHotkey Enhancement Script script provides several enhancements to Altium Designer, such as limited autocomplete for filter expressions, improved mouse wheel support, and various tweaks to save time on frequently-used tasks
About AutoHotkey
AutoRouter_Interface This script creates an interface to auto routers. It fixes some problems with rte importer and dsn exporter, and gives user the ability to import ses file.
AutoSTEPplacer This script will place STEP files on a footprint in a library if they have same name. STEP file must be in the same directory as library, or it's subfolder.
BetterRevertVCS script reverts active document from repository and reopens working copy to be sure user is working with reverted data
BoardAutoSizer Redefine Board Shape based on Embedded Board Arrays
CalculatePolyArea This script calculates area of selected poly or region
ComponentPlacement This script allows user to equalize relative component placement between two groups of components
ConnectionLinesOnSelection script that enables user to show/hide connection lines on selected objects
CopyAngleToComponent script for copying angle of track to a component
CopyDesignatorsToMechLayerPair No description yet
CopyTracesRadial No description yet
CreateTableOfContents Script that can be used to create Table Of Contents on newly created top level sheet in PCB Project
CurrentCalculator PCB script that gives the user a dialog box with current (Amperes) handling calculations for a selected track. The script determines if the track is on an internal or external layer, and provides current calculations for 1, 5, and 10°C rise above ambient
DeleteAllSelectedItemsInPCBLib This script can be used to delete selected objects in PCB Library. Currently you can only delete selected objects that are part of currently visible footprint, but this script deletes selected objects that are in other footprints
DeleteInvalidPCBObjects Cleans a PCB documents of some current invalid objects. Checks for invalid regions or polygons and deletes them
DeleteSelectedSplit Script that can be used to delete selected split plane. It actually creates region based on selected split plane, with holes inside, so no copper will appear on that place
DesignReuse Script that simplifies true design reuse - route circuit once and reuse same routing in your next design. This automated design reuse is using Device Sheets or SCH snippets in SCH, and PCB Snippets in PCB. For more info read "How to use this script.odt" document (in OpenOffice or M$ Word) form the zip file
Distribute script that distributes distance between selected lines
DrcOnOff This script toggles Online DRC check box in DXP->Preferences->PCB editor->General what enables/disables online DRC checks.
EagleToAD package of scripts for conversion of PCB project from Cadsoft Eagle to Altium Designer (manual available only in Czech)
Fillet Script that places arcs to corners of selected tracks (Fillet command)
FilletWithRadius script that rounds connection on horizontaland vertical lines by fixed radius value
FilterObjects Script that filters objects based on type, layer and parent
FixConnections Fix Connections is a modified version of Fix Overlaps v2.2 created by Petar Perisin, there are some features and UI improvements for better usability.
FixOverlaps script that will clean nets in chosen net class of overlaps
FlipComponents Script flips selected components. If there are no selected objects it asks user to click on components that will be flipped. It uses smart mechanism for flipping, which tries to keep pads position.
FormatPaintBrush This script is used to copy formattings from one object to the others. Currently it works on dimensions, coordinate, String and poly in PCB and all sch objects
GetPinData script which selects a schematic component and copies its pin information as a csv into the clipboard.
HideParametersSch Script for show/hide function of component user parameter in the project. Script is fixed to search only parameters with "=CURRENTFOOTPRINT" string in the value. Could by modified to specific purposes (condition is on line #44).
Hyperlynx Exporter Script for PCB export to hyp file. It adds fills, regions, polygons and split planes in hyp file
IBIS Editor Script that overrides [Model Selector] and [Submodel] keywords in IBIS File
IncrementDesignator Script that enables user to set designators with mouse. Works on Components (in SchDoc and PCBDoc), pins (SCHLIB) and pads (PCBLIB). Designators can be swapped too. When working with pins it can also move pin names
IsPadCenterConnected This script checks weather pads have track in their center. if not, pad is selected
LRJustify Script that switches selected text between left and right justification on a sch
LayerStackExporter script that exports layer stack to a CSV file
LayersAndObjects This script creates a form similar to a panel, from which you can control layer and object display. Originated from LayersPanel script.
LayersPanel This script creates a form similar to a panel, from which you can control layer display. Originated from ShowHideLayers script.
LengthTuningHelper script that helps in length tuning of DDR3-FPGA interfaces, where you need to include length of lines inside FPGA. This one also helps in length tuning when you need to include via stack size to length of a net.
LockMultiPartComponents This script can be used to lock parts in multi-part components. It searches for "Group" parameter in all components and assigns a value in it, based on current component designator
LockNetRouting Script which locks or unlocks routing tracks, vias and components (possible to exclude components) on selected net. That aims to prevent some unwanted changes on PCB during routing
ManualToAutoDesignator This script will change manual designators to auto-positioned. Will operate on all or selected components.
MechLayerNames Script that saves mech layer names to txt file. This names can then be imported it to another PCB Document
Menu_SVN A custom menu item dedicated to SVN actions
Wiki page
MoveAPdesignators This script allows user to modify distance between auto-positioned designators and component
MoveToLayer This script moves selected copper tracks to selected signal layer, while maintaining connectivity with Vias that are automatically placed.
MultiPCBProject This Script enables Project to be used with multiple PCB documents, so that project is split among multiple PCB Documents. It is workaround solution that uses blankets to point which PCB document gets the circuit under it.
OpenComponentPCBLib opens the component footprint library of a selected component on PCB
OpenLib No description yet
OpenSchDocs script will open all sch documents in current PCB project
PCBScale This script allows you to scale selected objects on a PCB by amount.
ParamToPCB This script allows user to transfer component parameters to the PCB
PlaceRectangle This script places a rectangle on the PCB
PlanarTXv0.7 Script to create planar transformer made by Darren Moore
PnPcustom No description yet
PrintAllvariants This Script saves variant information to CSV file, which can then be easily opened in excel
RadialComponentPlacement No description yet
ReAnnotateSelection This can be used to re-annotate selected components on PCB
RenumberPads Script helps with changing order of pads mainly in Altium PCBLIBs. You just start script, select start index and increment and you create new designators of pads by clicking on them in the new order
RoomFromPoly Script to create room from selected objects or from selected polygon
RotationStep easier way to modify PCB editor rotation step settings (when Spacebar is used to rotate an object)
Run_exe script that can open exe file from Altium. Currently supports PCB Toolkit, TraceSim and TX-Line
SCH - SelectTouchingRectangle Script made because some people wanted select touching rectangle feature in Sch
SCH - Selection Filter Script that uses select Touching trectangle, but user can choose object types that will be selected
SelectBadConnections This script checks weather Tracks and arcs on signal connect totaly on some other object. Center-to-center check is done. If not, it is selected. Tolerance (and zero tolerance) is supported
SelectConnectedOnLayer This script is similar to SelectConnectedTracks, only it works with arcs, it's faster and objects do not have to have common point
SelectConnectedTrack script for selection of connected NoNet track on Mech layers
SelectViaAntennas This script selects unnecessary vias on PCB (vias connected only on one layer)
SheetParameters script that modifies document parameters in all SCH documents of focused project.
ShowHideDesignators script allows easily show or hide Designators and Comments in PcbDoc file
ShowHideLayers This script allows very easy turning layers on/off
SingleLayerWithConnectionLines This script enables user to see all connection lines in a display similar to single layer mode
SinglePinNets No description yet
SpiralTrackVer01.8 Spiral Generator script made by Darren Moore
StitchingVias Script that generates stitching vias on a PCB. Vias are added to graphical component for easier use
Tenting_Vias No description yet
TestpointMaker This script creates test points for a net class
ThievingPads Script that adds thieving pads to a PCB Document. Pads are added in a dummy component, that allows easier manipulation
TortoiseSVN script is using TortoiseSVN client to process SVN operations what brings standard TortoiseSVN dialogs into AD to have more features while working with SVN
TrimExtend Script that trims or extends tracks up to a point where first selected track is. This function is available in all 3D tools
UpdateFootprintHeightFrom3dModelHeight script that updates Footprint height based on height of it's 3D model (in PCB library)
UpdateNetOnClick script will update net of all selected objects to a net user chooses with a mouse click
VariantFilter Script to apply a filter on the PCB in order to highlight the "fitted / unfitted" components of a chosen variant
VariousADMenuCustomization No description yet
VendorTools Script that can be used to exchange info between different FPGA vendors and AD. Currently supports Altera
ViaSoldermaskBarrelRelief the script searches for vias on board with higher then defined hole size and opens soldermask for the vias by given value from the edge of hole to prevent possible mask damage.
WheelSelector This script allows selection and scrolling through insight form using wheel.
XIA_Release_Manager This is the script in use at XIA LLC to do all Altium output generation, packaging (zipping), and release-tag. Everything is done within Subversion (SVN)
Wiki page
ZoomAndCenter This script invokes zoom and centers view on zoomed area. similar how PCAD worked with zoom
ZoomComponent PCB function similar to Altium's Jump Component, but it also zoom, mask and/or select component
"mil-mm-conv", unit conversion calculator script allows easily convert entered value to all other units interpretations
Wiki page
Custom Pick&Place report (deleted) script for generating user defined P&P for SMD components only
XIA_Update_From_Database (deleted) This is the script in use by XIA LCC to update schematic designs with respect to the company components database. This includes synchronization of user parameters (MFGNAME, Description, etc.), synchronization of footprints, and setting the Comment parameter

Other shared content

Component libraries

Library name & download link Library description
Libs_CAndreatta set of individual schematic symbols and footprints Cyril Andreatta. Plain SchLib and PcbLib files.
Wiki page
Libs_NetTieLib set of components for joining and splitting signals on PCB.
Wiki page
Libs_RRutledge General Library by Ryan Rutledge. Plain SchLib and PcbLib files.
Wiki page

Document templates

Template name & download link Template description
AltiumPCBProjectTemplate Sample project template for 2 and 4 layer board design in Altium Designer.
Wiki page
You can’t perform that action at this time.