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.
- Either clone the entire set of add-ons on your computer (if you're accustomed to Git),
- 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
|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
|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)
|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
|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
|Library name & download link||Library description|
|Libs_CAndreatta||set of individual schematic symbols and footprints Cyril Andreatta. Plain SchLib and PcbLib files.
|Libs_NetTieLib||set of components for joining and splitting signals on PCB.
|Libs_RRutledge||General Library by Ryan Rutledge. Plain SchLib and PcbLib files.
|Template name & download link||Template description|
|AltiumPCBProjectTemplate||Sample project template for 2 and 4 layer board design in Altium Designer.