Friday, October 17, 2014

Altium Designer addons

Altium Designer addons

This project contains set of scripts, examples and other content which is developed to provide extended features for Altium Designer unified design environment for electronics development.
The project is in Czech and English language. Updates are listed here.
Distributed "as is" with no warranty. In case of difficulties please contact leaders of this project (contacts are at the left sidebar <=) or create a record in Issues part of this page.
Altium Script Gallery was moved to Altium Wiki. You can find it and download on Examples and Reference Designs page.

Contributors (sorted chronologically): Petr Tosovsky, Petar Perisin, John Go-Soco, Mattias Ericson, Darren Moore, Colby Meyer, Juan Martinez, Rob Sterling, Jeff Collins, Ran Shahar, Tony Chilco, Ryan Rutledge, Erick Albach, Matija Markovic, Cyril Andreatta, Randy Clemmons, Miklós Zsikla

Google Code service is not supporting sharing files via Downloads section. This section was removed in this project and it is replaced by shared Google Drive folder as easiest solution of the situation. All content of Altium Designer Addons can be found there or you can use checkout via Subversion/SVN client (details on Source tab).


If you are interested to be committer, please send an email to retry.var (a) It is needed to have Google account (gmail) to access Google Code where Altium Addons is hosted.
You can read more about commiting your content here AltiumAddonsCommitersRecomendation

Altium Designer LIBRARIES available at Addons page:

  • Libs_NetTieLib - set of components for joining and splitting signals on PCB. Details here NetTieLib
  • Libs_CAndreatta - set of individual schematic symbols and footprints Cyril Andreatta. Plain SchLib and PcbLib files. Details here Libs_CAndreatta
  • Libs_RRutledge - General Library by Ryan Rutledge. Plain SchLib and PcbLib files. Details here Libs_RRutledge

Thank you Ryan for this kick off in the Libraries section.

Altium Designer templates available at Addons page:

  • AltiumPCBProjectTemplate - Sample project template for 2 and 4 layer board design in Altium Designer. Details can be found here AltiumPCBProjectTemplate

Scripts available at our Addons page:

  • OpenComponentPCBLib script - opens the component footprint library of a selected component on PCB
  • BoardAutoSizer script - Redefine Board Shape based on Embedded Board Arrays
  • Fix Connections script - 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.
  • Via Soldermask Barrel Relief script - 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.
  • Calculator for converting units mil_mm_conv script - script allows easily convert entered value to all other units interpretations
  • ShowHideDesignators script - script allows easily show or hide Designators and Comments in PcbDoc file
  • RotationStep-Toggle-Modify script - easier way to modify PCB editor rotation step settings (when Spacebar is used to rotate an object)
  • 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
  • Distribute script - script that distributes distance between selected lines.
  • Run_exe script - script that can open exe file from Altium. Currently supports PCB Toolkit, TraceSim and TX-Line.
  • FilletWithRadius script - script that rounds connection on horizontaland vertical lines by fixed radius value.
  • Arc8 script - script that connects arc tangent and via/Pad, or places tangent to connect two arcs.
  • FixOverlaps script - script that will clean nets in chosen net class of overlaps.
  • OpenSchDocs script - script will open all sch documents in current PCB project.
  • UpdateNetOnclick script - script will update net of all selected objects to a net user chooses with a mouse click.
  • LengthTuningHelper script - 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.
  • LayerStackExporter script - script that exports layer stack to a CSV file.
  • UpdateFootprintHeightFrom3dModelHeight script - script that updates Footprint height based on height of it's 3D model (in PCB library).
  • SelectViaAntennas script - This script selects unnecessary vias on PCB (vias connected only on one layer).
  • ReAnnotateSelection script - This can be used to re-annotate selected components on PCB.
  • ZoomAndCenter script - This script invokes zoom and centers view on zoomed area. similar how PCAD worked with zoom.
  • PlaceRectangle script - This script places a rectangle on the PCB.
  • AutoRouter_Interface script - 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.
  • CalculateCopperArea script - This script calculates area of selected poly or region.
  • LayersAndObjects script - This script creates a form similar to a panel, from which you can control layer and object display. Originated from LayersPanel script.
  • SelectBadConnections script - 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.
  • WheelSelector script - This script allows selection and scrolling through insight form using wheel.
  • AddDatumPointsToArcs script - 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.
  • AutoSTEPplacer script - 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.
  • PCBScale script - This script allows you to scale selected objects on a PCB by amount.
  • LayersPanel script - This script creates a form similar to a panel, from which you can control layer display. Originated from ShowHideLayers script.
  • Man2APDesignators script - This script will change manual designators to auto-positioned. Will operate on all or selected components.
  • ShowHideLayers script - This script allows very easy turning layers on/off.
  • SelectConnectedOnLayer script - This script is similar to SelectConnectedTracks, only it works with arcs, it's faster and objects do not have to have common point.
  • ComponentPlacement script - This script allows user to equalize relative component placement between two groups of components.
  • MoveAPdesignators script - This script allows user to modify distance between auto-positioned designators and component.
  • ParamsToPCB script - This script allows user to transfer component parameters to the PCB.
  • CreateTableOfContents script - Script that can be used to create Table Of Contents on newly created top level sheet in PCB Project.
  • MultiPCBProject script - 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.
  • XIA_Update_From_Database script - 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.
  • XIA_Release_Manager script - 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).
  • FilterObjects script - Script that filters objects based on type, layer and parent.
  • LockNetRouting script - 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.
  • SingleLayerModeWithConnectionLines script - This script enables user to see all connection lines in a display similar to single layer mode.
  • VendorTools script - Script that can be used to exchange info between different FPGA vendors and AD. Currently supports Altera
  • ConnectionLinesOnSelection script - script that enables user to show/hide connection lines on selected objects
  • TrimExtend script - Script that trims or extends tracks up to a point where first selected track is. This function is available in all 3D tools
  • TestpointMaker script - This script creates test points for a net class.
  • StitchingVias script - Script that generates stitching vias on a PCB. Vias are added to graphical component for easier use.
  • ThievingPads script - Script that adds thieving pads to a PCB Document. Pads are added in a dummy component, that allows easier manipulation
  • LR_Justify script - Script that switches selected text between left and right justification on a sch.
  • AddWireStubsSch script - 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
  • Adjust Designators 2 script - 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...
  • MechLayerNames script - Script that saves mech layer names to txt file. This names can then be imported it to another PCB Document.
  • DeleteInvalidPCBObjects script - Cleans a PCB documents of some current invalid objects. Checks for invalid regions or polygons and deletes them.
  • DrcOnOff script - This script toggles Online DRC check box in DXP->Preferences->PCB editor->General what enables/disables online DRC checks.
  • LockMultiPartComponents script - 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.
  • PrintAllvariants script - This Script saves variant information to CSV file, which can then be easily opened in excel.
  • SheetParameters script - script that modifies document parameters in all SCH documents of focused project.
  • FlipComponents script - 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.
  • MoveToLayer script - This script moves selected copper tracks to selected signal layer, while maintaining connectivity with Vias that are automatically placed.
  • IsPadCenterConnected script - This script checks weather pads have track in their center. if not, pad is selected.
  • DesignReuse_v3.0 script - 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
  • SpiralTrackVer01.8 script - Spiral Generator script made by Darren Moore.
  • PlanarTXv0.7 script - Script to create planar transformer made by Darren Moore.
  • Fillet script - Script that places arcs to corners of selected tracks (Fillet command).
  • DeleteSelectedSplit script - 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.
  • DeleteAllSelectedItemsInPCBLIB script - 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.
  • FormatPaintBrush script - 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.
  • Current Calculator script - 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.
  • Hyperlynx Exporter script - Script for PCB export to hyp file. It adds fills, regions, polygons and split planes in hyp file.
  • RenumberPads script - 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 - Script to create room from selected objects or from selected polygon.
  • AdjustDesignators script - it will center the designator in top and bottom overlay.
  • ZoomComponent script - PCB function similar to Altium's Jump Component, but it also zoom, mask and/or select component.
  • SCHSelectionFilter script - Script that uses select Touching trectangle, but user can choose object types that will be selected.
  • SCH-SelectTouchingRectangle script - Script made because some people wanted select touching rectangle feature in Sch.
  • IncrementingDesignators script - 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.
  • IBIS Editor script - Script that overrides Selector and Submodel keywords in IBIS File.
  • EagleToAD conversion package - package of scripts for conversion of PCB project from Cadsoft Eagle to Altium Designer (manual available only in Czech)
  • CopyAngleToComponent script - script for copying angle of track to a component
  • SelectConnectedTrack script - script for selection of connected NoNet track on Mech layers
  • Custom Pick&Place report script - script for generating user defined P&P for SMD components only

SelectConnectedTrack script result screenshot


Wednesday, October 15, 2014

Altium announces Altium Designer 15 to ease high speed PCB design woes

Sydney, Australia – 8 October 2014 -  Altium Limited, a global leader in Electronic Design Automation, native 3D PCB design systems (Altium Designer) and embedded software development toolkits (TASKING), today announced the upcoming release of its professional printed circuit board (PCB) and electronic system level design software, Altium Designer 15.

"Altium's R&D engagement with customers is reflected in this software release. We're very happy with the clear feedback and technical advice about high speed PCB design offered by our dedicated beta users over the last 12 months," says Altium's CTO, Jason Hingston. "The PCB industry has also made it clear that fabricators need to move beyond 30+ year old file formats for design to fab hand-off. With IPC-2581 and Gerber X2 support, Altium Designer is ready for users who work with leading-edge fabricators who build complex PCB structures."

Altium Designer 15 demonstrates the continuing commitment by Altium to produce software and solutions that increase productivity and reduce user stress during challenging electronics design projects. It reflects Altium's commitment to supporting customer success by delivering products that customers both want and need. In keeping with these objectives, Altium Designer 15 includes powerful new enhancements for designing the next generation of high-speed printed circuit boards, and keeping up with the leading trends in industry with support for new fabrication output standards.

High Speed Signal Pin Pairs

Modern designs require signal propagation at rates up to 100 gigabits per second. Designing to these specifications in previous generation design software is challenging. This process traditionally required manual rework and careful signal planning outside of the design tool, typically in a spreadsheet program - causing additional steps and introducing lots of room for errors. With Altium Designer 15 a new Pin Pairs feature has been added to:

● Enable accurate length and phase tuning across termination components. 
● Enable length, phase and delay tuning traversing an entire signal path.

Designers will no longer require external software or have to maintain complex lists of signals and nets, but instead will be able to plan and route groups of high speed nets with much greater efficiency and accuracy.

IPC-2581 and Gerber X2 Support

As a Computer Aided Manufacturing format, traditional Gerber has its origins in standard RS-274D published almost 35 years ago; many consider "standard Gerber" to be out of date. Ucamco have recently updated RS-274X to Gerber X2 to incorporate critical fabrication data previously missing, and the International Printed Circuit association has developed an entirely new standard, IPC-2581. Both resolve issues of ambiguous or missing data encountered when using older formats such as Gerber RS-274X to hand off design to fabrication, completely describing a PCB according to its design:

● Copper layer images.

● Plated and unplated holes, slots, routes, grooves and microvias.

PCB design outline and cutout regions.

● Complex layer stack regions.

● Rigid and flexible board areas.

● Material specifications.

● Fabrication notes, tolerances, and other critical standards-compliance information.

Altium Designer 15 introduces support for both IPC-2581 and Gerber X2, keeping designers up to date while giving them a choice that broadens their selection of PCB fabrication partners.

Along with additional new features and ongoing maintenance based on solid customer feedback, Altium Designer 15 will enhance electronics engineering workflow and reduce communication bottlenecks between designers and manufacturers.


Altium Designer 15 will be released to Altium Subscription Customers later this quarter at no additional cost. For further questions, please contact


Friday, October 3, 2014

Announcement: Altium Designer 14.3.15 update available (02 October 2014)

Hi All

A new update has been released for 14.3 - 14.3.15 (build 35511).

Fixes in this update:
#3550    The BomDoc now correctly includes all of the defined solutions.
#3656    Users without Admin permissions can now log into a Vault when there is no TC2 configuration defined.
#3730    Multi-selection in the Variant Management dialog followed by an editing action no longer causes occasional exceptions.
#3496    The PCB Hole Size Editor now correctly includes blind and buried layer pairs in the list of holes to be drilled.
#3503    Vault login now supports including a protocol prefix, such as http.
#3555    Updating a PCB footprint from a library now correctly retains all objects and only updates modified objects.
#3589    Comments can now be added to a newly created managed project via the Comments panel.
#3599    If a managed project had a space character in the name, it could not be opened on a remote PC. This fix allows new projects to be created and opened with spaces in their names, it does not support opening an existing space-in-name project.
#3718    Opening a large CmpLib via file-less editing no longer causes an overflow error.
#3731    OpenBus Ports can now be correctly linked to in an OpenBus document (BC:4669).
#3372    When a multi-part component is varied, each part in the component now retains the same part in the new component.
#3426    The designer can now decide if parameter values come the database components, or the variant management dialog.
#3714    Generating a Pick and Place file from a variant no longer results in the duplication of Alternate Parts.
#3756    Setting a component to Fitted via the right-click menu in the Variant Management dialog now functions correctly.
#3855    Generating ODB++ after running Remove Unused Pads on a design with blind vias, no longer causes the application to crash.

Release notes