Our new 3D Layout tool brings true 3D circuit design to Altium Designer for the first time, allowing you to combine electrical and mechanical functionality into a single part.
A 3D PCB integrates into your Altium Designer project in the same way as a standard PCB - its components and connectivity are driven by your schematic design, and it incorporates standard SMT footprints from your usual component library.
What is Structural Electronics?
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.
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
Graphics 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 into 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 becomes available once the Beta User Program extension has been installed, and the Allow Beta Features option is enabled in the Advanced Settings dialog.
Designers participating in the beta program can download the beta version of Altium Designer from altium.com/products/downloads . Note that you must be signed in to the Altium website to access beta builds.
Click here to register for Altium's beta program.
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.
Enter your Altium account details when prompted.
Once the beta version of Altium Designer has been installed, start it and sign in using your Beta credentials.
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.
On the Purchased tab, locate and install the Beta User Program extension.
The Beta User Program extension will be available in the Purchased tab once you have been registered in the Beta Users program.
The last step is to enable access to Beta features and then confirm that the 3DLayout.Enable
option is enabled in the Advanced Settings dialog . The dialog is accessed by clicking Advanced on the System - General page of the Preferences dialog (click the button at the top right of the design space to open the Preferences). First, enable the Allow Beta features checkbox at the top of the Advanced Settings dialog (as shown below), then use the Search field at the top right of the dialog to locate the 3DLayout.Enable
advanced option in the list and confirm that it is enabled. After changing any Advanced Setting, Altium Designer must be restarted.
Updating the Menus and Toolbars
If you are installing the software as an update to an existing installation rather than as a new, separate installation, the menus and toolbars will not automatically update. Instead, the 2D PCB editor menus and toolbars will continue to be displayed. The video below shows how you can enable the new 3DPCB editor menus and shortcuts, make sure a PcbDoc3D document is the active document when you double-click on the menu bar to edit the resources.
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 the 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 (not assembly) STEP or IGES files are accepted.
Once selected, the substrate file will be displayed in the 3D PCB editing window. If you cancel the substrate selection window, a default substrate will be displayed.
At a later stage, you can choose another substrate for the 3D PCB using the File » Change Substrate command from the main menus.
When changing the under lying 3D substrate, the maximum distance (or tolerance) between old and projected new routing is defined by the value of the 3DLayout.ChangingSubstrate.MaxDistance
option in the Advanced Settings dialog . The value for distance entered with .001 mil resolution - for example, when the 3DLayout.ChangingSubstrate.MaxDistance
option is set to 2000
, the maximum distance is 2 mil. If the distance between old and projected new routing positions is less than the value defined by this option, the new routing position is saved, otherwise the routing is removed.
Working in the 3D PCB Editor
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. The center of rotation is defined by the location of the mouse pointer when the command is initiated.
To center your view of the substrate in the middle of the screen, press the Ctrl+PgDn shortcut (View » Fit Substrate ).
By default, 3D bodies contained in any of the component footprints in the design will be visible. Depending on the footprints and the layout, it may be easier to hide these temporarily during layout work. This can be done using the View » Component Bodies » Hide and View » Component Bodies » Show commands (shortcuts: 2 to hide, 3 to show).
Changing Your View of the Substrate
On the bottom left of the design space is a red/green/blue axis marker; this is referred to as the view orientation Gizmo .
Click on a colored plane or axis in the Gizmo to reorient your view of the substrate to that plane/axis.
The Gizmo
The Gizmo is used to change the orientation of your view of the substrate. Each workspace axis, and its corresponding plane, is assigned a color. As you hover the mouse over a colored Gizmo element it will become larger, indicating that it is active. When you click on that colored element, the view will reorient so that you are looking down that axis into the substrate. A second click will flip the view over, looking down the same axis from the other direction.
Blue - Z axis, viewing into the X-Y plane. Think of this as the Top (Z+) or Bottom view (Z-).
Red - X axis, viewing into the Y-Z plane. Think of this as the Front (Y+) or Rear (Y-) view.
Green - Y axis, viewing into the X-Z plane. Think of this as the Left (X+) or Right (X-) view.
3D View Controls
Your view of the substrate can also be controlled via the 3D View Control sub-menu.
Use the upper set of commands to view the chosen surface of the substrate.
Use the lower set of commands to Rotate or Roll the substrate in the chosen direction. Each of these commands can also be accessed by the shortcut detailed in the image below. Selecting a Rotate or Roll command will also perform a zoom, to center the substrate in the middle of the screen.
Changing the View
You can change the view by toggling the View » Switch Perspective/Orthographic view command. The Perspective view allows you to see a more realistic 3D view of the PCB. The Orthographic view allows you to see the exact position of objects and text on the PCB without being obscured by surrounding objects.
Configuring the Substrate Colors
The substrate surface color and outline color, as well as the color of the currently selected object, can be configured in the System Colors section of the View Configuration panel, as shown below.
The color of the copper can be configured in the Layers section of the View Configuration panel, as shown below.
Working with Components
If the 3D PCB is part of a project, components can be synchronized 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. Note that there are default design rules created as part of this process, refer to the Default Project Options and Design Rules section of this page to learn more.
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. The default behavior is that when you drag 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
.
As you move a component, the component centerpoint (indicated by a green cross at the cursor) will snap to a visible sketch grid. Learn more about sketch grids and the Alignment Tools .
When dragging a component in a 3D PCB document and component bodies are hidden (View » Component Bodies » Hide ; shortcut: 2 ), draft graphics (green pyramids) will be shown if its pin count is more than the limit defined by the 3DLayout.ComponentDrag.DrawShapesPinsLimit
advanced setting (15 by default).
When a component is being dragged, the Spacebar rotates it in increments defined by the Rotation Step angle defined in the PCB Editor - General page of the Preferences dialog (show image ). The default rotation step is 90 degrees.
The behavior of a component’s orientation, when dragged over different surfaces of the substrate, is controlled by 3DLayout.ComponentDrag.KeepOrientation
advanced setting.
If the value is True
(the default value), the algorithm will attempt to maintain the same component orientation as it passes over each surface boundary. The result of this is that a component’s orientation on any surface is dependent on the route it took to get to that surface.
If the value of the 3DLayout.ComponentDrag.KeepOrientation
advanced setting is False
, the algorithm will ensure that all components on the same surface have the same orientation, regardless of the route they took to get to that surface. This means that the user may expect to see a sudden change in component orientation as it is dragged across a surface boundary.
The rotation of a component can be set in the Properties panel when the component is selected. (show image )
You can also interactively redefine the datum rotation (zero-degree orientation). To do this:
Click once to select the component. A box will appear around the component, and a rotation handle will become visible. The handle is used to interactively set the orientation of the component and define its zero-degree rotation. Rotation changes made in the Properties panel are then measured from this datum rotation.
Click and hold this handle, and drag it to the desired position to define the datum rotation of the component.
Pads are the only copper within a component footprint that will be successfully placed. Fills and regions will be ignored.
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 enabled 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 mouse pointer (and therefore the component center) will then snap to the sketch elements.
When a component is selected, it will also display a rotation handle. Click and drag the handle to rotate the component. The cursor will snap to the sketch elements. Learn more about interactive component rotation .
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.
If you have multiple .PcbDoc3D
documents open, you might find that when you select the View » Show Sketches command the sketches become visible on the inactive PcbDoc3D document, rather than the one you are currently working on. This issue will be resolved in the next update of the 3D Layout software. In the meantime, to avoid this situation close any inactive PcbDoc3D documents.
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 design space. This grid is then projected from the specified plane onto the surfaces of the part. Note that this grid is independent of sketch grids imported as part of the substrate.
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.
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 of the same net, 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.
Default Project Options and Design Rules
Every new project has default rule-creation settings, and every new PcbDoc3D document has default rules. For example, the default project settings will result in the creation of one or more Placement design rules, when the design is synchronized between the schematic editor to the PCB3D editor. The consequence of this default Placement rule is that the online DRC will detect that the components are not contained within the room, so they will be highlighted (in green) as being in violation.
The default Placement design rule can be deleted, right-click on the rule in the PCB Rules and Constraints Editor to display the context menu and delete it, as shown below. Learn more about Design Rules .
To prevent the software from creating a Placement rule for each schematic sheet in the project when you synchronize a design between the schematic and 3DPCB editors, open the Options for PCB Project dialog (Project » Project Options ), switch to the Class Generation tab, and disable the Generate Rooms option, as shown below. Learn more about the Project Options .
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 Shift key then click to select each segment. Then edit the width of all of the selected segments in the Properties panel.
To select all of the track segments, regions and pads in a net, select one object then press the Tab key.
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 design space 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 design space. 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, select the View » Show Sketches (note that this command does not apply to the display of the Sketch Grid, configured in the Properties panel).
Placing a Solid Region
Support is available for placing a Solid Region. 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 (hide components) and 3 (show components) shortcuts to toggle the visibility of components.
The cursor will snap to a visible Sketch Grid. Enable the Show Grid option in the Properties panel to use a software-generated grid, then configure the grid properties to suit the shape of the region about to be placed.
Click the Place Solid Region button on the Active Bar to start placing a Solid Region.
The software will build the solid shape to the left of the edges being defined by your mouse clicks. Move in a counterclockwise direction as you place the click points to define a region within the area you map out. Moving the cursor in a clockwise direction will define the region outside of the area you map if that area passes over a curve/edge in the 3D substrate. If required, you can toggle the region from within your defined area to outside (or outside to within ) by pressing the Spacebar during placement.
When ready, right-click to exit region placement. The software will automatically define the last edge between the last and first click locations.
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 Layout command. The exported data will be saved into the local project folder.
The completed design in the Altium 3D PCB editor; the exported data opened in MCAD; and the product rendered in MCAD.
The default export settings are listed below. Use the relevant Advanced Settings to configure other export options.
Option
Default Output
Advanced Settings Options
Formats
STEP
IGES
Parasolid
Select the required format in the Export File dialog
Contents
Substrate and conductive pattern
3DLayout.Export.WithSubstrate = True
Conductive pattern only
3DLayout.Export.WithSubstrate = False
Structure
Substrate and conductive pattern as separate parts in a single assembly
3DLayout.Export.AsSinglePart = False
Substrate and conductive pattern as separate features/bodies in a single part
3DLayout.Export.AsSinglePart = True
Conductive Pattern Thickness
0
3DLayout.Export.Extrude = 0
3DLayout.Export.ExtrudeIntoSubstrate = 0
Any value extruded into and/or out of the substrate
3DLayout.Export.Extrude = value (microns)
Extrude out by this amount
3DLayout.Export.ExtrudeIntoSubstrate = value (microns)
Extrude in by this amount
Advanced Settings are configured in the Advanced Settings dialog, accessed through the Preferences dialog. Click to open the Preferences dialog, then click the Advanced button on the System - General page of the dialog to open the Advanced Settings dialog.
You can also control how the transitions between the conductive surfaces (merges) are handled in the exported file by changing the values of two Advanced Settings options. 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