The starting point for every design created in Altium Designer is a project. An Altium Designer project collects together a set of design documents whose output ultimately defines a single implementation of what you are intending to create. For example, the schematics and PCB in a PCB project include the file set required to manufacture a printed circuit board, while the logical schematic and physical assembly files in a Multi-board project output the file set to manufacture and assemble a complete product with multiple, connected PCBs.
The set of design documents that make up a project can be brought together from any accessible source, local to the machine or otherwise, and are related together by the project as a unified design. Changes made to an individual project document are synchronized with the other design documents when the project is compiled, allowing the changes to be propagated between design domains – for example, between documents in the Schematic and PCB domains.
An Altium Designer project, and its representative project file (
xxx indicates the type of project), maintains the relationship between its constituent design documents and also stores project-level data and option settings. The project file, and its collection of document types, will depend on the kind of project that has been created.
Project Files and Options
Altium Designer supports a number of different kinds of projects:
- PCB Project (
*.PrjPcb) – The set of design documents required to manufacture a printed circuit board.
- Multi-board Project (
*.PrjMbd) – The set of design documents and sub-project links required to create a product with multiple interconnected PCBs.
- Integrated Library (
*.LibPkg) – The set of design documents required to produce a self-contained integrated library (*.IntLib).
- Script Project (
*.PrjScr) – A set of design documents that stores one or more Altium Designer programming scripts.
More on project types
In a Printed Circuit Board (PCB) project, the electronic circuit is captured as a schematic, which is built up from libraries of component symbols that are placed and wired together.
The design is then transferred to the PCB editor where each component is instantiated as a footprint (pattern) and the circuit wiring becomes point-to-point connection lines. A shape for the final PCB is defined, along with the physical layers the board will include. Design rules specify the layout requirements, such as routing widths and clearance. The components are positioned within the board shape, and the connection lines are then replaced by routing, either manually or automatically.
When the design is complete, standard format output files are generated which can be used to fabricate the blank board, configure an assembly machine, and so on.
In a Multi-board project, the logical design is captured using a schematic document that connects together sub-project modules, which in turn represent existing PCB projects. The Multi-board schematic data is then transferred to a Multi-board assembly document where the physical board assemblies, as defined by the sub-projects, are positioned together and within an added enclosure.
A Multi-board project (
*.PrjMbd) effectively defines the electrical and physical connectivity between existing PCB design projects through the application of a logical schematic document (
*.MbsDoc ) and synchronized assembly document (
*.MbaDoc). As with other project types, a Multi-board project can be stored in and accessed from an Altium Server.
► Read more about Multi-board Projects.
An Integrated Library is created in a library package project (
*.LibPkg), where schematic symbols are created in a Schematic Library (
*.SchLib), and reference links defined to matching models in other domains. Referenced models can include PCB footprints, circuit simulation models, signal integrity models, and three-dimensional mechanical models.
Files that contain the models (PCBLibs, etc) are added to the Integrated Library Package (
*.LibPkg), or search paths are defined to identify their location. The source schematic symbol libraries and required models are then compiled into a single file (
*.IntLib), referred to as an Integrated Library.
A Script (
*.pas) contains a set of instructions (automated commands) that are interpreted when it is executed in Altium Designer. The scripts are written and debugged in the same editor environment.
There are two types of Scripts – script units and script forms. A script Unit can use the X2 Application Programming Interface (API) to modify or manipulate design objects on a design document. A script Form hosts controls as a user interface and harnesses the X2 API to provide script dialogs that act on active design documents.
Script Units, Forms and Data Models are contained in a Script project (
*.PrjScr) that can be accessed locally, or stored in and accessed from an Altium Server.
Open a Project
Altium Designer projects can be stored and therefore retrieved from a range of locations. The appropriate menu command to open a project can depend on its type and where it is stored, however, the File » Open Project command caters for the majority of situations via the Open Project dialog.
The dialog offers project source selections for the default location (typically on the hard disk that also host the software), the server currently connected to Altium Designer, or the list recently opened projects. Also offered is the ability to browse to and open a project (
*.Prjxxx) via the standard Windows Open dialog. When opening a server-based managed project, the dialog's button menu allows you to define a custom local file checkout path other than that specified by the software preferences.
Open a Project from an SVN Design Repository
To open a project from an SVN Design Repository, select File » Check Out from the main menu. This opens the Check Out dialog where you can select from the range of available SVN repositories (upper drop-down menu) and nominate to which project folder to 'check out' the local working copy.
Design Repositories are established and connected to in the Data Management – Design Repositories page of the Preferences dialog – the default checkout path is set in the SVN Design Repository dialog, opened from the button on this page.
The exact set of Project Options stored will depend on the project type. Project settings are configured in the Project Options dialog. You can access this from Project » Project Options on the main menu, or by right-clicking on the project name in the Projects panel and selecting Project Options from the context menu.
The project options are configured in the Options for Project dialog, press F1 over any of the Tabs for help.
More on project Option settings
The options and settings that can be configured in the various Options dialog tabs include the following:
Settings defined in the Options for Project dialog are stored in the project file (
*.PrjPcb). Other project settings that are defined in other dialogs and then stored in the project file include:
- Schematic annotation settings.
- Output settings such as; reports, print, Gerber, and so on. Note that these are the output settings accessed via the schematic or PCB editor menus, rather than the output settings defined in an OutJob document.
Note that Server Parameters are stored with a Managed Project in its host Altium Server.
The Projects Panel
The Projects panel is command central when it comes to working with projects and their constituent design documents in Altium Designer. Any open documents that have not been created as part of a project or added to an existing open project also will be listed.
Select View » Panels » Projects to open the panel, or choose the Projects option from the button menu located at the bottom right of the main application window.
The content of the Projects panel is a logical representation of an opened project.
Most project-related tasks for local and server-based (managed) projects are available from the Projects panel, which can be used in conjunction with the Storage Manager panel to fully manage design projects of all types, and from all storage sources.
► See Projects Panel for more information on the panel, including its icons, display options, and available commands.
► See Project Navigation for information on the panel's navigation and Project Insight preview capabilities.
In Altium Designer you can open and edit multiple projects, and if desired, save the collective set of projects as a Project Group (
This can be of particular advantage when the set of projects are related or linked, such as a product design that is composed of multiple PCBs. Creating a Project Group that includes all the relevant projects allows you to open, manipulate and save multiple projects as a single entity.
More on using Project Groups
- In the Projects panel, the uppermost entry displays the current Project Group – either the default one (
Project Group 1.DsnWrk), or one you have created or opened.
- To save the currently opened set of projects as a group select File » Save Project Group As from the main menu, or right-click in the Projects panel and select Save Project Group As from the context menu.
- To open an existing group, select File » Open Project Group from the main menu, or right-click in the panel and select Open Project Group from the context menu. Use the same access for the Save Project Group command.
- To close a Project Group, select Window » Close All from the main menus.
- To close all documents in a Project Group, select Window » Close Documents from the main menus.
- To create a new Project Group, select File » New » Design Project Group from the main menu – this will load the default (blank) Project Group (
Project Group 1.DsnWrk). The same method can be used to close the current Project Group file.
- When opening a different Project Group the current group will close. You will be prompted to save any unsaved documents, projects or changes to the current group first.
- To add another project to a Project Group, open or create a project and then save the current Project Group. Alternatively, right-click in the panel and select the Add Existing Project option.
Work with a set of related projects as a Project Group.
Create a New Project
A new Altium Designer project is created through the Create Project dialog, which can be accessed from the main menu (File » New » Project) or from the Projects panel right-click options (Add New Project).
The dialog offers three storage target options (Locations) for the new project structure:
Use the dialog's options to specify the project creation options, such as the template used, the project name, the local file path, and any associated Parameters. Other options, such as the target repository, are available for server-based (managed) and VCS projects.
► See Create Project for details on the dialog options.
When you create a new project its corresponding project entry will appear in the Projects panel, with any documents that are part of that project shown in the structure hierarchy and/or grouped in sub-folders according to their purpose or type. The panel will include a single project document where a Project Template has not been used or all of the documents specified by a template that has been applied during the project creation stage.
Create Project in the Server Interface
A new Managed Project can be created directly through the browser interface of an Altium Server and subsequently opened in Altium Designer.
Working with Project Documents
Once you have created a project and saved it to the required location, design documents can be added, edited or removed from the active project.
These operations can be performed within the Projects panel, which provides an organized view of the project structure and its constituent design documents. The panel's right-click context menus offer the majority of commands required for working with design documents.
► See the Projects panel page for more information.
Note that the presentation of documents in the Projects panel does not reflect how they are stored on the hard drive or elsewhere. The panel's contents can be considered as a logical representation of the project, whereas the physical location and organization of the document file storage (and its type) is up to you – the documents might be stored in a folder on your local machine or a LAN, in a local, remote or vault-based version-controlled repository, or as fully managed project within an Altium Server.
► See the Storage Manager panel for information on the management of project documents from a file storage perspective.
As you work with project documents in Altium Designer, the Projects panel provides a visual summary of which document files are modified, saved or hidden through status icons that are associated with each design document, and the main project file. The document icons and their status meaning are listed below:
||Closed – The document is not open.
||Open – The document is open as a tabbed document in the design editor window.
||Hidden – The document is hidden (open, but not displayed in the workspace).
||Modified – The document is open and has been modified (yet to be saved).
||Modified (project) – This icon appears next to the main project document to show that its structure has been modified (yet to be saved).
Add or Remove a Design Document
The simplest way to add new or existing design documents to a project is to right-click on the project name in the Projects panel and select Add New to Project or Add Existing to Project from the context menu options.
Add a specific or another type of document to a project.
Other types of project-relevant documents can also be added to a project, such as text files, PDFs, spreadsheets, etc. To do so, use the Add Existing to Project option and set the File Type drop-down list in the Choose Document to Add browser dialog to All Files (*.*) so all file types can be accessed.
To remove a document from the project structure, right-click on its name in the Projects panel and select the Remove from Project menu option. Note that this process removes the project's link to that document, and does not delete the source document file itself.
Change the Project Document Order
Documents in the Projects panel are automatically arranged in logical groups or 'folders', such as Source documents (Schematic, PCB, etc.,), Settings documents (Harness, Outjob, etc.,) and in the case of a hierarchical design, top-level schematic documents. The documents within each folder group are displayed, by default, in the order they were added, but can be dragged and dropped to a new order position within the group.
In the case of a new hierarchical design, the parent-child relationship between documents will be displayed in the panel when the project has been Compiled. Note that the connectivity relationships cannot be defined by dragging and dropping schematic documents since the inter-sheet connections and design hierarchy are in fact defined by Sheet Symbols and Port definitions.
► For more information about project hierarchy, see Creating Connectivity and the Net Identifier Scope section in the Options tab of the Project Options dialog.
Share Documents Between Projects
Because an Altium Designer project defines and saves links to stored document files, any number of projects can be created that link to those same documents files.
While this may be a convenient way to re-use established design documents – say, including a standard power supply schematic in several projects – it is not recommended practice because a change in the document will affect all projects it is linked to. A far better approach for design reuse is to establish and apply Managed Sheets.
► For more information about design document reuse and Managed Sheets, see the Managed Sheets page in the Design Reuse area.
Save Design Documents With a New Name
A document in a project can be saved under a new name using the File » Save As command, which creates a copy of the document file under the nominated new name. The command is available when the document is currently open.
This process automatically adds (links) the new document copy to the active project in place of the existing (source) document. It, therefore, serves the function of a document rename, but the original document file remains intact and is replaced within the project by the new, renamed copy. If the open document is not part of a project – a free document – the new copy is simply opened in the editor in place of the original document.
Save a Project Document With a New Name
In the same process as described above, saving a project document under a new name creates a copy of the project file and updates its links accordingly – the new project copy will be linked to the same constituent design documents as the original.
The Storage Manager
To allow control over the management of document files in projects from a file storage perspective, Altium Designer features a dedicated Storage Manager panel. The Storage Manager presents a folder/file view of the active project's documents and includes details of each document including its Version Control status and (when selected) its incremental history.
Open the Storage Manager panel by clicking the button at the bottom of the application window and selecting the Storage Manager menu option, or select View » Panels » Storage Manager from the main menu.
The Storage Manager provides a range of commands and options for managing project documents from a single location. Use the right-click menus to perform both Version Control operations (Commit, Update, etc.,) and standard file management actions (Open, Copy, Rename, etc.). The panels lower section displays the timeline for a selected document and provides right-click options for advanced actions such as comparing historical file versions and reverting to a previous document version.
► Read more information about the Storage Manager.
The Project Packager is provided for situations where an entire project needs to be backed up or transferred to another location.
The wizard-based packager archives a complete Altium Designer project, tree of projects or Design Workspace (and its constituent projects) to a nominated location as a single time-stamped zip file. The wizard is accessed from the main menu (Project » Project Packager) or by right-clicking on a project and selecting Project Packager from the context menu.
Use the Project Packager to transfer an entire project (or tree of projects) and its linked documents to a timestamped zip file.
The wizard provides options for determining:
- Where the archive is to be stored.
- How file directory paths are handled.
- Whether any generated, system or external files are included.
- If the project history is included.
- Which of a project's linked documents are included in the final archive.
► Project Navigation
► Auto save and Local History
► Version Control and Design Repositories
► Design Variants