Thursday, November 8, 2018

Copying Schematic Sheets

It's really kinda sad that Altium doesn't have the ability to copy or duplicate sheets within the Altium interface.

A workaround is to copy a schematic within your file browser, change the name, then import that as an existing document to your project:

  1. right click on the project in the Projects panel
  2. select "Add Existing to project...", 
  3. select the new file 
  4. save the project


This way it is also setup the exact same way as your other schematic sheets.

When you're done importing new sheets, don't forget to do the following to renumber the pages:
  1. Open the Sheet Numbering dialog (tat)
  2. run Auto Sheet number (s), Auto Document Number (n), and Update Sheet Count (c).

Wednesday, October 25, 2017

Variant Notes

Generating Pick and Place files with variants

There are hardly options when selecting "Generates Pick and Place Files", and certainly not any for selecting which variant to use. To select a specific variant, you will actually need to go into Reports > Bill of Materials. Click on the Menu button in the bottom left of the dialog box. Scroll over Select Variant, and select your variant. Click Ok to close this dialog. Now you can export your Pick and Place files with the selected variant.

Tuesday, September 19, 2017

Toggle Single Layer Mode (PCB)

Shift+S

This is a critical shortcut that I use all the time. If you don't know about it, it will change your life. It changes the view so that only the active layer (plus any multilayer objects) is active and focused. Other layers still slightly visible, but grayed out in the background and not distracting. It's a godsend when you have heavily populated boards.

Also, while in Single Layer Mode, you can cycle between the layers using + and - on your numeric keypad.

Changing The Color of A Net (PCB)

If you have some critical nets that you need to highlight to better visualize where they are running, Altium has a way to do this, though not terribly obvious:


There are two ways to access this:


  • On the left hand side of the interface, you have the panes that have the tabs on the bottom
  • like Files, Projects, Navigator, etc
  • Click on the "PCB" tab

or

  • Use the "shortcut" VWPP

Once you're there:



  • There will be a default <All Nets> class that you can click on to see all nets. If you have a large project, it really makes it easier if you have created net classes to help you organize the nets.
  • Select all the nets that you want to change, right click on them and select "Change Net Color" 
  • Select a really bright "neon" color so that they're easier to see (try to avoid green since Altium defaults to green for it's violation warnings)

Special Strings

Altium has the ability to create hot strings (Altium calls them special strings), which are simply strings that can pull data from elsewhere or calculate data dynamically. So, if you have .designator in a component footprint, it will pull the current designator information for that specific component and display it.

Altium, being a mash up of once individual applications, uses two different standards for special strings for the Schematic and PCB editors. I've listed both below.

Schematic Special Strings


These utilize an equal "=" prefix.
They can be used both in the Schematic Editor and Library Symbol Editor


Most useful default schematic special strings:

  • =parameter -  change out "paramater" with what ever document paramater you want and it enters the value of the entered parameter
  • =CurrentDate – the current date, automatically calculated from the user's system settings and in the format dd/mm/yyyy, updated upon editing the schematic or on refresh/redraw. Example: 22/09/2015.
  • =CurrentTime – the current time, automatically calculated from the user's system settings and in the format h:mm:ss AM/PM, updated upon editing the schematic or on refresh/redraw. Example: 2:39:47 PM.
  • =SheetNumber – the sheet number of the current schematic. This one isn't really dynamic, as it just pulls from this parameter field. However, numbering the sheets can be semi-automatic. Go to Tools > Number Schematic Sheets... This tool will let you automatically number the sheets using relatively minimal inputs.
  • =SheetTotal – the sheet total for the project. Often used in title blocks with =SheetNumber above.
  • =VariantName - displays the variant from which output has been generated. This follows the entry for the current variant (presented and changed through the Variants toolbar). If the base design is used to generate the output, the value will simply be [No Variations].
  • =<ParameterName> – displays the value defined for a specified component parameter. Enter the actual name of a component parameter as the special string name – so for a component parameter named PowerRating, simply enter =PowerRating. When defining the Comment property for a component, the associated drop-down field will be populated with special strings for all existing component parameters – enabling quick use of any defined parameter's value for the Comment.


PCB Special strings (PCB/footprint editor)


  • PCB Special strings utilize a period "." prefix
  • Can be used in the PCB Editor and the PCB Footprint Editor
  • In the string dialog, if you type in the "." prefix it will list all available strings
  • To view actual special string values in the PCB in 2d mode go to View Configuration (shortcut: L) > "View Options" tab >


Default PCB Special Strings:


  • .Application_BuildNumber – the version of the software that the PCB is currently loaded in. When generating Gerber output, use this string to record the software build that the design was created on.
  • .Arc_Count – the number of arcs on the PCB.
  • .Comment – the comment string for a component (placed on any layer in the library editor as part of the component footprint).
  • .Component_Count – the number of components on the PCB.
  • .ComputerName – the name of the computer on which the software is installed and running.
  • .Designator – the designator string for a component (placed on any layer in the library editor as part of the component footprint).
  • .Fill_Count – the number of fills on the PCB.
  • .Hole_Count – the number of drill holes on the PCB.
  • .Item – the Item that the generated data relates to (e.g. D-810-2000). The data will be used to build that Item.
  • .ItemAndRevision – the Item and specific revision of that Item that the generated data relates to, in the format <Item ID>-<Revision ID> (e.g. D-810-2000-01.A.1). The data will be used to build that specific revision of that particular Item.
  • .ItemRevision – the specific revision of the Item that the generated data relates to (e.g. 01.A.1). The data is stored in that Item Revision within the target Altium Vault.
  • .ItemRevisionBase – the Base Level portion of an Item Revision's naming scheme (e.g. 1).
  • .ItemRevisionLevel1 – the Level 1 portion of an Item Revision's naming scheme (e.g. A).
  • .ItemRevisionLevel1AndBase – the Level 1 and Base Level portions of an Item Revision's naming scheme (e.g. A.1).
  • .ItemRevisionLevel2 – the Level 2 portion of an Item Revision's naming scheme (e.g. 01).
  • .ItemRevisionLevel2AndLevel1 – the Level 2 and Level 1 portions of an Item Revision's naming scheme (e.g. 01.A).
  • .Layer_Name – the name of the layer the string is placed on.
  • .Legend – a symbol legend for mechanical drill plots. This string is only valid when placed on the Drill Drawing layer. Note: this is a legacy feature, place a Drill Table object for more detailed drill information.
  • .Net_Count – the total number of different nets on the PCB.
  • .Net_Names_On_Layer – the names of all nets on the specific layer. This string is only valid when placed on an internal plane layer.
  • .Pad_Count – the number of pads on the PCB.
  • .Pattern – the names of the component footprints used on the PCB.
  • .PCBConfigurationName – the name of the data set from which the output has been generated, as defined in the Release view (Project Releaser).
  • .Pcb_File_Name – the path and file name of the PCB document.
  • .Pcb_File_Name_No_Path – the file name of the PCB document.
  • .Plot_File_Name – for generated Gerber output, this string identifies the file name of the Gerber plot file. For printed output, it identifies the layer depicted within the output. For ODB++ output, it identifies the name of the parent folder in which the files are stored.
  • .Poly_Count – the number of polygons on the PCB (consisting of polygon pours, internal planes and split planes).
  • .Print_Date – the date of printing/plotting.
  • .Print_Scale – the printing/plot scale factor.
  • .Print_Time – the time of printing/plotting.
  • .Printout_Name – the name of the printout.
  • .SlotHole_Count – the number of slotted holes on the PCB.
  • .SquareHole_Count – the number of square holes on the PCB.
  • .String_Count – the number of strings on the PCB.
  • .Track_Count – the number of tracks on the PCB.
  • .VariantName - the variant of the design from which the output has been created.
  • .VersionControl_ProjFolderRevNumber – the current revision number of the Project, which is incremented whenever a full commit of the project (i.e. including the project file) is performed. Version control must be used for this string to contain any information.
  • .VersionControl_RevNumber – the current revision number of the document. Version control must be used for this string to contain any information.
  • .Via_Count – the number of vias on the PCB.


Altium Schematic Title Blocks

Schematic title blocks can be generated two ways:

  • Default Altium generated title block - Design > Document Options > ☑ Title Block 
  • Create a custom Title Block as a schematic component. Special Strings can be created to pull information from Design > Document Options > Parameters