Direct Layout & Routing on a 3D Substrate in Altium Designer

Created: January 31, 2022 | Updated: July 1, 2022

Introduction (Altium Designer 22.6)

Structural electronics is an exciting new area of electronic product development. 

Various processes are available to print conductive patterns directly onto a substrate - an approach known generally as printed electronics, which is already supported in Altium Designer in its 2D PCB design environment.

An alternative to printing the electrical layout is to use a laser to etch the circuit pattern directly onto the surface of a 3D substrate, which then undergoes a standard metalization treatment to build up that pattern into conductive pathways. This process, known as Laser Direct Structuring (LDS), enables the circuit to be integrated into the structure of the final product. This page documents support for Laser Direct Structuring.

Designing circuit pathways over the surface of a 3D structure brings unique challenges. The editing space must support the placement of components and the connections between them that define the unique circuit. This editor must also be able to import the 3D substrate that the electronic circuit is going to be created on - it must be a true, 3-dimensional electronic design editor.

The designer must be able to position the components onto any surface of the imported 3D substrate. Then the designer must be able to define the connective pathways between the component pins, a process commonly referred to as routing the connections. Again, those routes must be able to travel over the surface of the substrate, regardless of the current orientation of the substrate surface at any point along the route path.

And finally, the designer must be able to generate the manufacturing data in the format required by the Laser Direct Structuring (LDS) process.

The new 3D Layout tool brings this functionality for the first time to Altium Designer.

Notes

  • System Requirements (in addition to standard Altium Designer requirements)
    • Minimum: Graphics card (supporting DirectX 11 or better) such as GeForce 400 series/Radeon HD 5000 series/Intel HD 4600
    • Recommended: High-performance graphics card (supporting DirectX 11 or better), such as GeForce GTX 1060/Radeon RX 470
  • This software is under development and contains bugs. Please save your work regularly.
  • The PCB-related tools and functions that are available within the software are generally described in this document. Any tools not described are not only non-functional, but may lead to an error or crash.
  • If you're new to PCB design and Altium Designer, you might like to complete the introductory tutorial for 2D PCB design. It will take you from a blank schematic page to a completed PCB; explaining how to create a project, find the components, capture the schematic, define the connectivity, define the routing widths, and much more - A Complete Design Walkthrough with Altium Designer
  • Altium appreciates the time and effort you put in to testing the new 3D structural layout and routing capabilities. You can share your questions, thoughts and ideas about how to improve it by posting in the 3D Layout and Routing Beta forum, or contact the development team directly by emailing 3d-layout@altium.com

Installation

The 3D layout functionality is included in the beta version of Altium Designer 22, accessed by installing both the Beta User Program extension and the 3D Layout extension.

Designers participating in the beta program can download the beta version of Altium Designer 22 from altium.com/products/downloads. Note that you must be signed in to the Altium website to access beta builds.

  1. Click here to register for Altium's beta program.
  2. Access to the 3D Layout extension must be requested by emailing 3d-layout@altium.com. Once you have access, download and run the installer.
  3. Select the option to create a new installation. If you have an existing installation of Altium Designer you will be able to install this version as a separate installation, which is recommended for Beta software.
  4. You will be prompted to enter your Altium account details.
  5. Once the beta version of Altium Designer has been installed, start it and sign in using your Beta credentials.
  6. Click the Current User icon at the top right of the software (), and select the Extensions and Updates command to open the Extensions and Updates page, as shown below.
  7. On the Purchased tab, locate and install the Beta User Program and the 3D Layout extensions.

The Beta User Program and 3D Layout extensions will appear in the Purchased tab once you have been granted access.The Beta User Program and 3D Layout extensions will appear in the Purchased tab once you have been granted access.

  1. The last step is to enable the PCB3D.Enable advanced option, in the Advanced Settings dialog. The dialog is accessed via the System - General page of the Preferences dialog, click the  button to open the dialog. First enable the Allow Beta features checkbox at the top of the dialog, the PCB3D.Enable advanced option will then be available in the list. After changing any Advanced Setting, Altium Designer must be restarted.

Creating a 3D PCB

In the same way as a standard PCB document (PcbDoc), a 3D PCB (PcbDoc3D) can be either created within a project, or as a free document.

  • To create a new 3D PCB from within a project, right click on the project name in Projects panel, then select Add New to Project » PCB3D.

  • To create a 3D PCB as a free document, select File » New » PCB3D from the menus.

As part of the creation process, a dialog box will appear prompting you to select a file to form the substrate of the 3D PCB. The file selected must either be in STEP or IGES format. The advantage of the IGES format is that it can include embedded sketches.

Note - only single-part STEP or IGES files are accepted - selecting an assembly file may result in a fatal error.

Once selected, the substrate file will be displayed in the 3D PCB editing window. If you cancel the substrate selection window a default cube shape will be displayed.

Working in the 3D PCB Editor

The same three view modes that can be switched between in a traditional PCB (Board Planning Mode, 2D Layout Mode, and 3D Layout Mode) are also available in a 3D PCB, but they do not provide the same behaviors as the 2D PCB editor. The table below summarises the difference between the three view modes. Use the View menu to change modes, or the 1, 2 and 3 shortcuts respectively. Select the mode that best suits the task, for example, switch to 3D Layout mode to hide the components during routing.

Mode Name Component bodies display Routing possible
Board Planning Mode Visible No
2D Layout Mode Visible Yes
3D Layout Mode Hidden Yes

The camera controls are as follows:

  • To pan, drag with the right mouse button
  • To zoom, use the scroll wheel
  • To rotate, hold shift and drag with the right mouse button. Rotation is around the location where you right-click.

Working with Components

  • If the 3D PCB is part of a project, components can be synced to it from schematic sheets using the standard commands (Design » Update PCB from the schematic editor, Design » Import Changes from xxx.PrjPcb from the PCB editor). In this case, the schematic pin net assignments will also be transferred to the 3D PCB component pads.
  • Once synchronized to the PCB, the components will initially appear floating in 3D space next to the substrate body, and can be dragged one-by-one onto the surface of the substrate. When dragging a component onto the substrate, the initial orientation of the component on the substrate surface will depend on the route taken with the mouse when dragging.

  • Alternatively, components can be dragged straight onto the substrate from the Components panel. In this case, all the component’s pads will be designated as No Net.
  • Pads are the only copper within a component footprint that will be successfully placed. Fills and regions will be ignored.
  • When a component is selected, the Spacebar rotates it in 90 degree increments.
  • When a component is dragged over the surface of the substrate, the shape of its pads will be created by projecting their shape from the plane of the 2D footprint onto the substrate surface. If this surface is not planar, the resulting shape of the pads will be distorted. There are limits to the level of distortion that can be tolerated. Once this limit is reached, the pad will not be created.
  • To access the properties of a component, left-click the component body. A wireframe box will appear around the component. Its properties can then be accessed via the Properties panel. Once a component has been selected, a pad can be selected by a further left-click directly on the pad.
  • The pad’s properties can then be edited via the Properties panel. Some functions within the Properties panel for components and pads do not work (and some may have unpredictable and undesirable effects, such as modifying the location X and Y coordinates). The officially supported functions are the modification of Net, Rotation, Shape and X/Y Size.
  • If the pad's properties are not available for editing, it means the global Protect Locked Primitives in Component option is enable in the PCB Editor - General page of the Preferences dialog (show image). To override this locally and edit the pad of this component, select the component rather than the pad (the wireframe box will appear), then click the Primitives lock button (show image) to unlock that component's primitives. Remember to re-lock the component primitives when you have finished editing the pad properties.
  • Modifying some properties that are applicable only to a 2D PCB (for example, the X and Y coordinates) may have unexpected and undesirable effects.

Note that due to the lighting/shading effects in the graphics window, when a pad is selected, it can take on the same color as the substrate, and may seem to disappear. If this happens, try rotating the camera to view the PCB from a different angle.

Alignment Tools

  • There are two tools available to enable the display of sketch entities on the surface of the substrate. You can: import a sketch from MCAD; or use the Sketch Grid Generation feature in the 3D Layout editor. Once displayed, the sketch entities can be used to aid the placement of components and traces.
  • When dragging a component, the mouse pointer will snap to the center of the footprint.  The component center can then be placed visually relative to the sketch elements. 
  • When routing, the trace start and endpoints will snap to any intersections formed by sketch elements.  If the mouse pointer is not near any intersections, it will snap to the sketch lines.  If, during routing, the mouse pointer is moved along a sketch line (including curved lines) the trace will follow that line.
  • The two tools described below can be used independently at the same time on the same PCB.

Sketch Import

  • When designing the substrate in MCAD, 3D curves can be placed on the surface of the part and included in the exported IGES file. 
  • In Solidworks, for example, a 2D sketch can be placed onto the 3D surface using the Project Curve command.

  • These “curves” can then be included in the IGES export using the Export 3D Curve features option.

  • When the IGES file is imported into AD to form the substrate for a 3D PCB, these elements can be displayed by selecting the View » Show Sketches command.

Sketch Grid Generation

  • From within the 3D PCB document, it is possible to generate a grid on one of the three datum planes (XY, XZ, YZ - inherited from the STEP/IGES model imported to form the substrate) using the Sketches Grid section of the Properties panel when there are no objects selected in the 3D workspace.  This grid is then projected from the specified plane onto the surfaces of the part.

  • The plane, size, offset (from substrate center) and rotation can be controlled by the user.

Routing

Routing is the process of defining copper pathways between the connected component pins. You route the design by replacing each net connection line with track objects on a copper layer.

Displaying the Connection Lines

  • As an aid to routing, it is possible to display the net connection lines (View » Connections » Show All). Connection lines are displayed between unconnected copper areas of the same net, reflecting the connectivity defined in the project schematic documents. For each net, the default approach is for the algorithm to calculate the configuration of lines which minimizes their total length.

For the connection lines to be visible, the component pads must be on the substrate.

  • If you find that the connection lines do not appear initially, or do not refresh as you move a component, you can force the software to recalculate their location by running the Design » Netlist » Clean All Nets command (shortcut, press each of the following keys in turn: D, N, A).
  • Alternatively, you can disable the PCB.Optimizations.CommitChanges option in the Advanced Settings dialog to get the connection lines to automatically update after each component move. The dialog is accessed via the System - General page of the Preferences dialog, click the  button to open the dialog. Note that disabling this setting removes some of the recent optimizations added for routing a standard 2D PCB.

Color-Coding the Connection Lines

  • The set of connection lines that make up each net can be color-coded, as shown below:

  • To apply a color to a specific net, first select a pad belonging to that net (click once to select the component, pause, then click a second time to select the pad), then click the Net hyperlink in the Properties panel:

  • Click the color icon, and choose a new color for that net's connection lines in the palette that appears:

  • Alternatively, use the PCB panel.
    • Use the selector at the top of the panel to set it to Nets mode,
    • locate the net in the list and right-click on the name to display the context menu,
    • select the Change Net Color command to open the Choose Color dialog.

Preparing for Routing

  • Once a connection is routed between two pads, the associated connection line disappears. This allows the connection lines to be used as a visual check to ensure all nets are fully routed - for a fully routed design, no connection lines will remain. If required, the connection lines can be hidden using the command View » Connections » Hide All.
  • Only manual interactive routing is supported (automatic routing is not supported, and neither is placing copper using the Line tool).
  • There are two interactive routing modes available:
    • Ignore Obstacles - connection to copper of a different net must be avoided manually, it is possible to create short circuits. This mode is the most stable and the fastest.
    • Walkaround Obstacles - the routing algorithm prevents short circuits by maintaining a clearance between the route and copper objects in a different net. This is a calculation-intensive process so there may be a lag before the software detects the collision and wraps the route around the obstacle. The algorithm requires the cursor to be outside of the object that belongs to the different net.
  • Select the Tools » Preferences command to open the Preferences dialog, then open the PCB Editor - Interactive Routing page of the dialog to select the routing mode.

Although it is possible to select other routing modes, these are for 2D PCB design only and must not be used. Selecting one of the other modes may result in a crash, and loss of work.

Setting the Object Clearance and Routing Width

The PCB editor uses Design Rules to define the width of the routing, and the minimum clearance allowed between objects that belong to different nets.

  • To set the clearance and routing width requirements, open the PCB Rules and Constraints Editor (Design » Rules).

Configuring the Clearance Constraint

  • In the tree on the left of the design rules dialog, expand the tree and select the default Clearance rule.
  • Only the three values highlighted in the image below affect the algorithm:

  • Note that TH (thruhole) pads are recognized in the 3D PCB document as such, but the hole itself will not be included.

Configuring the Routing Width

  • The width for newly placed tracks is defined by the applicable routing Width design rule. The 3D router only supports the Preferred Width value for the Top Layer. This can be configured in the overall Preferred Width field (highlighted in the image below), or in the layer-specific width field.

To automatically apply a different clearance requirement or routing width to a net (or class of nets) as you route, create a higher-priority rule that targets that net (or class of nets).

Learn more about applying a rule to specific objects

Learn more about configuring the rule priorities

Routing a Connection

To start routing, select the Route » Interactive Routing menu command, click the shortcut button in the Active Bar as shown below, or press the Ctrl+W shortcut combination.

Tips for routing

  • Launch the Interactive Routing command. Note that there may be a brief delay between selecting the command and being able to start routing. Note that at this stage, the cursor does not change appearance when you launch interactive routing.
  • To start routing, click anywhere on the pad (or existing route) of interest. A track segment will appear, the fixed end will automatically attach to the pad center (or existing track end), and the other end will be attached to the moving cursor. The track segments you place with each mouse click will automatically be assigned the Net of that pad or existing route.
  • The moving end of the route will have a green interactive connection line attached to it. The software will automatically connect the other end of that connection line to the nearest object of the same net. You are free to route the connection to any object in that net, you do not have to follow the pattern of the connection lines. The software will automatically update the connection lines as soon as you exit interactive routing mode. The image below shows the pale-colored original connection line, and the green interactive connection line as the route approaches the target pad. Hover the cursor over the image to show the completed connection.

  • Left-click to place the track segment and define a fixed point in the routing. You then continue to move the cursor and click to place subsequent track segments.
  • As you approach the target object, once the cursor is within the edges of the object it will snap to the pad center or existing track segment centerline (or track endpoint if close).
  • When the routing of that connection is complete, right-click (or press Esc on the keyboard) to exit Interactive Routing mode. Note that this drops you out of interactive routing mode, and you must re-launch the command to continue routing.
  • You are free to leave a route incomplete and return to it later. Right-click the mouse to stop routing.
  • You can also commence routing anywhere on the surface of the substrate. In this situation the routing will have a Net assignment of No Net, so if you then route to a pad that has a net assigned you will create a clearance violation. For this reason, it is advised to start routing from an existing net object.
  • If required, you can use the Properties panel to change the net assigned to an already-placed track segment(s).
  • If you are routing in Walkaround Obstacle mode there may be a delay before the track segments appear as you approach an existing object that belongs to a different net. Note that the Walkaround algorithm requires the cursor to be outside of other net objects to be able to calculate a route path. There may also be a delay between a click event and a track appearing.
  • If the interactive router has appeared to freeze, stop moving the mouse and wait to allow the software to finish calculating the required object locations. This is particularly important when moving from one substrate surface to another surface.
  • It is not possible to move a track segment that has already been placed - it must be deleted and re-routed.
  • To change the width of an already-placed track segment, select it and edit the Width setting in the Properties panel. Its width can be adjusted, but modifying its location, length, or start/end coordinates will have no effect.
  • To change the width of multiple segments, hold the Ctrl key then click to select each segment. Then edit the width of all of the selected segments in the Properties panel.
  • To remove already-placed routes, select the track segment(s) and press the Delete key on the keyboard.
  • To remove the routing of an entire net, open the PCB panel, set it to Nets mode, enable the Select checkbox, and select the required net (or nets) in the Nets section of the panel. At the moment the panel is the active element in the software, click once on the PcbDoc3D document tab at the top of the graphical editing workspace to make it the active element in the software, then press the Delete key. Selected pads will not be deleted as they are child objects of their parent components, so can only be deleted with those components.

Routing with a Sketch Grid

Because you are routing connections across the irregular surfaces of 3D objects, the traditional XY-plane PCB grid does not make sense. Instead, the 3D Layout editor supports two types of sketch features.

  • The 3D Layout editor Sketch Grid is enabled and configured in the Properties panel when there are no objects selected in the workspace. Configure the sketch grid properties to suit the required routing pitch, including the: Plane Kind (the plane from which the sketch grid is projected); Size (pitch of the grid) and Rotation (rotation angle parallel to that plane). During routing, as the mouse pointer approaches the sketch grid it will snap to the nearest grid line.
  • If the substrate is imported from an IGES file, any sketch features (lines and arcs) embedded within that IGES file can also be used as a guide for the placement of routes. During routing, if the mouse pointer is moved towards a sketch line intersection, it will snap to that intersection. Otherwise, it will snap to a nearby sketch line. The sketches can only be used for placement if they are visible. To toggle their visibility, use View » Show Sketches.

Placing a Solid Region

Support for placing a Solid Region has been added in Altium Designer 22.6. The region object can be used to create any straight-edged copper shape, passing over edges in the structure if required. The video demonstrates the process of placing a Solid Region onto a 3D structure.

Notes about placing a Solid Region:

  • Use the 2 (show components) and 3 (hide components) shortcuts to toggle the visibility of components. Note that these shortcuts may change as the user interface is developed.
  • The software will build the solid shape to the left of the edges being defined by your mouse clicks. Move in an anti-clockwise direction as you place the click points to define a region within the area you map out. Moving the cursor in an clockwise will define the region outside of the area you map if that area passes over a curve/edge in the 3D structure.
  • When ready, right-click to exit region placement. The software will automatically define the last edge between the last and first click locations. 
  • At this stage the cursor does not snap to the grid, support for this will be added in the next release.
  • Click once on a placed region to select it. Once selected:
    • The net name can be defined in the Properties panel if you require the region to connect to a net.
    • Press the Delete key to remove the selected region(s). At this stage the shape of a placed region cannot be interactively edited.

Exporting the 3D PCB

Once the design has been completed, the 3D PCB can be exported by using the File » Export » 3D Routing command. The exported data will be saved into the local project folder.  Note that non-English characters (á, ú, ü etc) are not supported in the export location path.

The completed design in the Altium 3D PCB editor; the exported data opened in MCAD; and the product rendered in MCAD.The completed design in the Altium 3D PCB editor; the exported data opened in MCAD; and the product rendered in MCAD.The completed design in the Altium 3D PCB editor; the exported data opened in MCAD; and the product rendered in MCAD.The completed design in the Altium 3D PCB editor; the exported data opened in MCAD; and the product rendered in MCAD.

The standard export options are listed below, along with alternative options that are only available on request from our development team.

Option Standard Beta Altium Designer Build Development Options
Format STEP

IGES

Parasolid

Contents Substrate and conductive pattern Conductive pattern only
Structure Substrate and conductive pattern as separate parts in a single assembly Substrate and conductive pattern as separate features/bodies in a single part
Conductive Pattern Thickness 0 Any value, extruded into and/or out of the substrate

To request access to any of the development options please contact us via the 3d-layout@altium.com email address.

You can control how the transitions between the conductive surfaces (merges) are handled in the exported file by changing the values of two Advanced Settings options. These options are configured in the Advanced Settings dialog, accessed through the Preferences dialog. Click the  button to open the Preferences dialog. Search for merge in the Advanced Settings dialog to quickly locate the settings, as shown in the image below.

The effect of these settings on the export data is shown in the following table:

  TrackToTrackMergeMode=0 TrackToTrackMergeMode=1 TrackToTrackMergeMode=2
PadToTrackMergeMode=0
PadToTrackMergeMode=1
PadToTrackMergeMode=2

Note - the Laser Direct Structuring process typically requires the export data format associated with TrackToTrackMergeMode = 0 and TrackToPadMergeMode = 0.

Other Project Output Data

  • Project outputs that derive data from the schematic documents (the BOM for example) are available as normal.
  • Project outputs that rely on a PCB document (a draftsman assembly drawing for example) are not currently available for a 3D PCB document. 

 

Found an issue with this document? Highlight the area, then use Ctrl+Enter to report it.

Contact Us

Contact our corporate or local offices directly.

We're sorry to hear the article wasn't helpful to you.
Could you take a moment to tell us why?
200 characters remaining
You are reporting an issue with the following selected text
and/or image within the active document: