PCB Libraries Expert - for Altium Designer
Click on image to view
PCB Libraries is my favorite tool for designing Altium footprints.
PCB Library Expert Overview - Video
"The new V2015 “PCB Library Expert” by PCB Libraries, Inc. has a new Altium Script Interface that imports both the Footprint and 3D STEP Model simultaneously and imports the Height and Description attributes straight from the FPX file.
PCB Library Expert to Altium via Script - User Guide
Altium layer assignments are user definable. Also, the 3D Model rotates the same as the Footprint (if you rotate the footprint in Library Expert the 3D model will match the rotation).
You can import one part or 10,000 parts at a time to create an entire new library using your personal library construction preferences."
Source: PCB Libraries - Tom Hausherr
Monday, November 24, 2014
Monday, November 17, 2014
Toolbars
Restore Custom Toolbars
After upgrading from AD13 to AD14 my custom toolbar which I created in AD13 was missing.

To restore my custom toolbar in AD14, I copied the following three files from AD13 :
DXP.RAF
DXP.RCS
UserTools.TLT
AD13 Location:
"C:\Users\Your User Name \AppData\Roaming\Altium\AD {xxx . . .}"
AD14 Location:
"C:\Users\Your User Name \AppData\Roaming\Altium\Altium Designer {xxx . . .}"
Tip: Altium must be closed while you copy the files, because the files are over written when a session of Altium is closed.
Just to be safe create copies of the AD14 files before overwriting them.
Restore Default Toolbars
It was also pointed out that if you delete all of the files in this folder that Altium will rebuild the files using out of the box defaults. This should restore the Toolbars to the default setup.
I suggest you make a backup copy of the entire folder, just in case . . .
Then close Altium and delete the Altium AppData folder, restart Altium and the AppData folder will be rebuilt using the out of the box settings.
After upgrading from AD13 to AD14 my custom toolbar which I created in AD13 was missing.

To restore my custom toolbar in AD14, I copied the following three files from AD13 :
DXP.RAF
DXP.RCS
UserTools.TLT
AD13 Location:
"C:\Users\Your User Name \AppData\Roaming\Altium\AD {xxx . . .}"
AD14 Location:
"C:\Users\Your User Name \AppData\Roaming\Altium\Altium Designer {xxx . . .}"
Tip: Altium must be closed while you copy the files, because the files are over written when a session of Altium is closed.
Just to be safe create copies of the AD14 files before overwriting them.
Restore Default Toolbars
It was also pointed out that if you delete all of the files in this folder that Altium will rebuild the files using out of the box defaults. This should restore the Toolbars to the default setup.
I suggest you make a backup copy of the entire folder, just in case . . .
Then close Altium and delete the Altium AppData folder, restart Altium and the AppData folder will be rebuilt using the out of the box settings.
Wednesday, November 12, 2014
How to properly submit a bug report
Altium is changing, and fast. The company structure and the tools itself are moving at a lightening pace and so it is inevitable that some problems creep in during the changes. The fact of the matter is any tool with this complexity will have bugs...period. How the users report the bugs back to the company can make a huge impact on how quickly the bug can be squashed. Here is a collection of tips acquired across the internet and personal experience that will make your bug reporting more effective. If you glean nothing from this, then great job! Keep the bug reports coming.
First off, a bug report is not a place to rant about the problems it has given you. Yes, it should be noted right away whether the bug is a critical (a crash the whole system bug) or a minor annoyance such as the cursor getting stuck behind the window occasionally while zooming. However, if you go on for half a page of capital letters describing your frustration and not the real problem, it is likely that the report will not be heard well.
So stick to only one bug at a time and only the facts of that one bug. And yes, everything should be factual, and as concise as possible. Do not write a paragraph about the hoops that you jump through when the steps to repeat the bug can be broken into a numbered list. In fact, if you cannot make a numbered list to accurately reproduce the bug each and every time, you may want to rethink submitting the report in the first place. Making an AE paw through a long report only to not be able to reproduce the bug takes away valuable time from another bug that could be crushed quickly.
Remember that the bug may have extenuating circumstances. For example, does the bug happen no matter what state the program is in? Maybe the bug is database related and not software related. Maybe the bug only shows up after a certain other action is performed. It may even be the influence of a third-party software (I utilize a screenshot program that can sometimes cause keys in Altium to lock up, but that is not an Altium bug). To get to the root of the issue, you should clear the system before you make your numbered list how to reproduce it. Restart Altium, even restart your whole system to ensure you have a clean slate. Then make the bug happen. If you can, now you can file a report.
Lastly, include any other support information that is required to reproduce the bug. For example, a screenshot (or 8) may be helpful for the AE to see exactly what you are looking at. Include the database files if the bug only appears with certain files. Include contact info so that someone can get back to you to further discuss the bug if they get stuck somewhere in the process and cannot reproduce it.
Since lots of us learn from an example far better than reading a collection of tips...*raises hand*...below is a sample report that is a real world Altium issue still in place now. My goal is to get you to the problem with no other support evidence. Take a step into the AE shoes and see if this guides you to the problem well.
Poor Example
Dear Altium,
Long ago you added mechanical layers extending from only 16 layers up to 32. However, we still, STILL do not have the ability to suppress layers 17-32 in the outjob setups! For example, when creating final artwork prints, everything on all layers from17-32 will show up on all pages of the printout. These have to be manually removed and are a serious headache to deal with. Please fix this ASAP!
Signed,
A bad reporter.
The info is there, there is a legit concern, but unless you are intimately familiar with this function, I doubt the above info will get you there.
Good Example
Dear Altium,
This is not really a bug report, but more of a feature enhancement to keep up to date with the current mechanical layer configuration. The enhancement is not critical, but would ultimately save hours of time in data manipulation. Currently, I treat mechanical layers 17-32 as though they are not there because of this problem.
Database preparation
1. Start a new or existing project, PCB and outjob file
2. Ensure there are a few copper features to have something to print
3. Enable mechanical layers 1,2,17,18 and add a couple items to these 4 mechanical layers.
Problem Tracking
1. Now that the database is all setup, open the Outjob file
2. Go to Fabrication Outputs and Add New Fabrication Output
a. In the popup menu choose Final->[PCB Document]
3. Double click on the new Final Artwork Prints output to get into the Configuration (PCB Printout Properties dialog box)
a. Note that for every printout, the applicable copper layers are present as well as all 4 of the mechanical layers we setup (1,2,17,18)
4. Click Preferences in the lower left corner of the current dialog box.
5. Uncheck Mechanical 1 and Mechanical 2 in the Include on New Printouts section.
a. Choose OK which will take you back to the PCB Printout Properties dialog box
6. Right click on any Printout (grey line near the top left corner) and click Create Final
7. Confirm the recreation of the print by clicking Yes.
8. Note now that Mechanical layers 1 and 2 are not included in the printouts, but mechanical layers 17 and 18 are still included in all prints. This is the real problem. Mechanical layers 17-32 cannot be removed automatically, but must be removed manually from every printout every time these prints are regenerated. Please add check boxes for mechanical layers 17-32 so that these layers become much more user friendly. Please contact me if more information is needed to see the issue.
Signed,
A much better reporter.
(123) 456-7890
much@better.com
Hope this helps!
Sunday, August 3, 2014
Check silkscreen over untented VIAs
To avoid silkscreen over untented VIAs use a design rule to check the clearance from the silkscreen to the soldermask openings.
Example: Use a design rule check to catch this silkscreen printed over VIAs.
Example rule:

Where first object matches:
(IsText OR IsTrack OR IsArc OR IsFill)
Where second object matches:
OnTopSolderMask Or OnBottomSolderMask
Note: I used a 3 mil clearance because be soldermask expansion on this design was 4 mil, this gave me a 7 mil clearance to the exposed copper pads of the vias.
Example: Use a design rule check to catch this silkscreen printed over VIAs.
Example rule:

Where first object matches:
(IsText OR IsTrack OR IsArc OR IsFill)
Where second object matches:
OnTopSolderMask Or OnBottomSolderMask
Note: I used a 3 mil clearance because be soldermask expansion on this design was 4 mil, this gave me a 7 mil clearance to the exposed copper pads of the vias.
Thursday, July 3, 2014
Creating Classes in a PCB
In the service bureau business, we usually get good schematics. However, these schematics are lacking from a PCB point of view in that they do not pass enough Class or Rule information to properly constrain the PCB. It is also unfortunate, but true that Class creation in an Altium PCB is pretty painful when it is highly detailed. So rather than trying to fumble through mountains of auto-generated net names or cascading rule sets, use Directives and Blankets in the schematic instead.
Backup of the Schematic
First thing is first when performing this function. Make sure you have a copy of the schematic so that an accidental save is not an issue. When pushing 20-30 classes into a board in a half day, how the parameters look is not critical. I simply want the information in the PCB and then will revert to the customers schematic. To keep the nice new Classes from being stripped back out by an ECO, refer to this other tip Template PrjPCB Files - ECO Generation Tab.
Directives
A directive is simply a rule or class that will be passed to the PCB through the ECO dialog. There are quite a few that can be used, but here are the basic three that will be used most often.
Differential Pair
In the schematic, go to Place->Directive and find the Differential Pair directive. This one is the easiest one to use if the pair has been named properly. Simply drop a directive on each net of the pair and Altium will automatically send the pair and name it in the PCB.
If there are problems, check the naming convention on the pair. Altium likes to see identical names with an _P or _N suffix. i.e. CLK_P and CLK_N. If the pair does not follow this naming convention, then it will probably be easier to manually create the pair in the PCB.
Net Class
Place a Net Class directive anywhere a new class is desired. These directives will lock onto any net just like the diff pair directive or a net alias will. Believe it or not, the name on the directive doesn't matter, but it sure makes it easier to keep track of things so it is advisable to change it. Where the PCB gets the Class name is from the Value as seen here...
Note: Don't change the Name from "ClassName" or the Class will not go through to the PCB.
PCB Layout
A PCB Layout or PCB Rule directive is just like the Net Class directive, but a design rule gets embedded into it. Place the directive on a net like before and then edit the Rule parameter. Once in the Parameter Properties dialog box, click edit rule values and setup a rule as if it were in the PCB like so...
Multiple Rules
It is very possible to add a Rule and a ClassName into the same directive. Alternatively, it is possible to put multiple directives on the same net assigning multiple classes and/or rules by dropping more directives onto the net.
Blankets
Blankets are the best timesaver possible with directives. Instead of trying to assign a class and rules to every net in a power supply circuit, wrap a blanket around the circuit and then drop the directives onto the blanket. An entire schematic page or circuit can be set into a net class in less than a minute!
ECO to the PCB
Once happy with all the directives, import the changes into the PCB from the project using a standard ECO process. Don't forget to disable the ECO Generation sections so that all the Class/Rule work does not get ripped out later. And if the directives were just temporary, revert back to the original schematic. However, a better option may be to show the engineer what directives do an how much they can help the layout designer. :-)
Backup of the Schematic
First thing is first when performing this function. Make sure you have a copy of the schematic so that an accidental save is not an issue. When pushing 20-30 classes into a board in a half day, how the parameters look is not critical. I simply want the information in the PCB and then will revert to the customers schematic. To keep the nice new Classes from being stripped back out by an ECO, refer to this other tip Template PrjPCB Files - ECO Generation Tab.
Directives
A directive is simply a rule or class that will be passed to the PCB through the ECO dialog. There are quite a few that can be used, but here are the basic three that will be used most often.
Differential Pair
In the schematic, go to Place->Directive and find the Differential Pair directive. This one is the easiest one to use if the pair has been named properly. Simply drop a directive on each net of the pair and Altium will automatically send the pair and name it in the PCB.
If there are problems, check the naming convention on the pair. Altium likes to see identical names with an _P or _N suffix. i.e. CLK_P and CLK_N. If the pair does not follow this naming convention, then it will probably be easier to manually create the pair in the PCB.
Net Class
Place a Net Class directive anywhere a new class is desired. These directives will lock onto any net just like the diff pair directive or a net alias will. Believe it or not, the name on the directive doesn't matter, but it sure makes it easier to keep track of things so it is advisable to change it. Where the PCB gets the Class name is from the Value as seen here...
Note: Don't change the Name from "ClassName" or the Class will not go through to the PCB.
PCB Layout
A PCB Layout or PCB Rule directive is just like the Net Class directive, but a design rule gets embedded into it. Place the directive on a net like before and then edit the Rule parameter. Once in the Parameter Properties dialog box, click edit rule values and setup a rule as if it were in the PCB like so...
Multiple Rules
It is very possible to add a Rule and a ClassName into the same directive. Alternatively, it is possible to put multiple directives on the same net assigning multiple classes and/or rules by dropping more directives onto the net.
Blankets
Blankets are the best timesaver possible with directives. Instead of trying to assign a class and rules to every net in a power supply circuit, wrap a blanket around the circuit and then drop the directives onto the blanket. An entire schematic page or circuit can be set into a net class in less than a minute!
ECO to the PCB
Once happy with all the directives, import the changes into the PCB from the project using a standard ECO process. Don't forget to disable the ECO Generation sections so that all the Class/Rule work does not get ripped out later. And if the directives were just temporary, revert back to the original schematic. However, a better option may be to show the engineer what directives do an how much they can help the layout designer. :-)
Template PrjPCB Files
So there is no real way to utilize a "template" PrjPCB file in Altium, but that does not stop one from referencing a master file. We keep a PrjPCB file as a start-up placeholder that remembers where all of our start-up PCB's and Outjob files are. But it is more than a placeholder as there are a few other key items in there for reference.
ECO Generation Tab
The ECO Generation tab in the Project Options is a great place to keep particular items from being ripped out of the PCB. For example, a schematic has been loaded with some directives and classes, but is not totally complete. Therefore, to work the PCB properly, more information needs to be added, but then the ECO tries to rip that information back out of the PCB. The ECO Generation tab can fix that for you. Customize the list according to your particular project, but very common items to turn off are...
1. Add Rooms
2. Remove Rooms
3. Remove Component Classes
4. Remove Differential Pair
5. Remove Net Classes
Do NOT use the Comparator tab
Everything that can be done in the ECO Generation tab can be done in the Comparator tab, yet it is inferior and potentially dangerous.
First of all, note that in the ECO Generation list above, there are toggles for both Add and Remove. In certain instances, there are even Change options. With Rooms for example, in the Comparator tab, there is only Extra Room Definitions. This disables room changes from both directions with only one option.
Also, when using the ECO Comparator tab, you are disabling only the output to the ECO. In other words, Altium will still see that there are differential pairs in the PCB that do not exist in the schematic, but will simply ignore that. There is also an nice popup that lets you know that there are differences in the design, but it has not made an ECO since the differences have been deliberately turned off. This is not so with the ECO Generation tab. When those items are turned off, they are OFF. There is no check, no warning, no nothing to let the next person working the design know that they may not be getting new information from the schematic to the PCB.
Project Parameters
If you are not currently using project parameters, start using them. They are so tremendously helpful. How many times have you had to change the exact same number in 4-10 different places all over the board for a PN change or a revision change? Project parameters can eliminate that. Under Project Options, the empty Parameters tab is near the end. Simply add parameters by Name and by Value. The Name is how the parameter is called in the design, the Value is what will show. Follow these basic steps to see an example of setting a single PN for both PCB and all schematic sheets in the design.
1. Click Add... and set the Name to PrjPN and the Value to 123-456
a. Note that the extra "Prj" prefix ensures that a System Parameter is not accidentally used. If a System Parameter name is used in the Project Parameters, this will fail.
2. Add a string to the schematic. Instead of typing the text, use the small pulldown of special strings and find the new PrjPN parameter like so...
3. Copy this string to multiple pages and places within the schematic.
4. In the PCB add a string and use the pulldown to find the same parameter.
a. Note that in the PCB the sting will be preceded by a period as opposed to the equals sign that is used in the schematic.
5. Copy this string to multiple places and layers within the PCB.
6. Ensure that Convert Special Strings in on for both the schematic and PCB.
a. The schematic checkbox is global and is under DXP->Preferences->Schematic->Graphical Editing
b. The PCB checkbox is local to the PCBDoc and is under View Configurations (shortcut key "L"), under the View Options Tab.
7. At this point, 123-456 should show in all locations. Change the parameter value once in the Project Options and the new value will be reflected in all locations.
a. Altium may need a refresh to display the new numbers. Simply hit the End key on the keyboard to force a refresh.
So the best part about keeping a master PrjPCB file is that it is possible to copy/paste all the commonly used Project Parameters into a new PrjPCB file!
ECO Generation Tab
The ECO Generation tab in the Project Options is a great place to keep particular items from being ripped out of the PCB. For example, a schematic has been loaded with some directives and classes, but is not totally complete. Therefore, to work the PCB properly, more information needs to be added, but then the ECO tries to rip that information back out of the PCB. The ECO Generation tab can fix that for you. Customize the list according to your particular project, but very common items to turn off are...
1. Add Rooms
2. Remove Rooms
3. Remove Component Classes
4. Remove Differential Pair
5. Remove Net Classes
Do NOT use the Comparator tab
Everything that can be done in the ECO Generation tab can be done in the Comparator tab, yet it is inferior and potentially dangerous.
First of all, note that in the ECO Generation list above, there are toggles for both Add and Remove. In certain instances, there are even Change options. With Rooms for example, in the Comparator tab, there is only Extra Room Definitions. This disables room changes from both directions with only one option.
Also, when using the ECO Comparator tab, you are disabling only the output to the ECO. In other words, Altium will still see that there are differential pairs in the PCB that do not exist in the schematic, but will simply ignore that. There is also an nice popup that lets you know that there are differences in the design, but it has not made an ECO since the differences have been deliberately turned off. This is not so with the ECO Generation tab. When those items are turned off, they are OFF. There is no check, no warning, no nothing to let the next person working the design know that they may not be getting new information from the schematic to the PCB.
Project Parameters
If you are not currently using project parameters, start using them. They are so tremendously helpful. How many times have you had to change the exact same number in 4-10 different places all over the board for a PN change or a revision change? Project parameters can eliminate that. Under Project Options, the empty Parameters tab is near the end. Simply add parameters by Name and by Value. The Name is how the parameter is called in the design, the Value is what will show. Follow these basic steps to see an example of setting a single PN for both PCB and all schematic sheets in the design.
1. Click Add... and set the Name to PrjPN and the Value to 123-456
a. Note that the extra "Prj" prefix ensures that a System Parameter is not accidentally used. If a System Parameter name is used in the Project Parameters, this will fail.
2. Add a string to the schematic. Instead of typing the text, use the small pulldown of special strings and find the new PrjPN parameter like so...
3. Copy this string to multiple pages and places within the schematic.
4. In the PCB add a string and use the pulldown to find the same parameter.
a. Note that in the PCB the sting will be preceded by a period as opposed to the equals sign that is used in the schematic.
5. Copy this string to multiple places and layers within the PCB.
6. Ensure that Convert Special Strings in on for both the schematic and PCB.
a. The schematic checkbox is global and is under DXP->Preferences->Schematic->Graphical Editing
b. The PCB checkbox is local to the PCBDoc and is under View Configurations (shortcut key "L"), under the View Options Tab.
7. At this point, 123-456 should show in all locations. Change the parameter value once in the Project Options and the new value will be reflected in all locations.
a. Altium may need a refresh to display the new numbers. Simply hit the End key on the keyboard to force a refresh.
So the best part about keeping a master PrjPCB file is that it is possible to copy/paste all the commonly used Project Parameters into a new PrjPCB file!
Wednesday, July 2, 2014
Rules: Infrequent and Common
We all "program" rules into Altium all the time, but there are some that are only used occasionally. Usually the calls for the rules are forgotten...at least I do this...and then reference back to an old design to remember how it is done. So here is a list of a few rules that may not be used all the time, but are handy to keep nearby. Also included are a few helper rules or time savers.
Flood over vias
Most experienced users probably know this one well, but I still see a lot of reference boards in which the vias have thermals. Since there is no need for a via to have a thermal tie, it is possible to set these to Direct Connect. To do this, simply make 2 rules for both the Power Plane Connect Style and the Polygon Connect Style Rules. Leave the default "All" rule to a Relief Connect and set the higher priority rule to IsVia and set it to Direct Connect like so...
Net ties
Deliberate ground shorts happen all the time now and way more often then we would like. Do not forget that the short error can be eliminated by adding the offending nets to the Short-Circuit Rules in the Electrical section. For even better control, only allow the short-circuit to happen within a Room or Component.
(Not InAnyNet) vs InNet('No Net')
In the case of dealing with NoNet tracks and vias, the rules start to get a little picky. For example, there is a BGA on the board and there is fanout on every pin regardless of whether or not a pin is tied to a net. It would seem logical to use the Query Builder to assign InNet('No Net') and allow shorts, overlaps, etc. However, this doesn't work and the errors will still show up. Instead use the call (Not InAnyNet) and the rule will go right through.
Room for rules-by-area
Rooms can be great as a quick rule-by-area check. Place a room and blank the room query. The room query itself will not be referenced. Then a Clearance and/or Width rule can be set with the room as the target like so WithinRoom('RoomRules'). Any trace that is fully contained by the room will pass different rules than the rest of the board.
Both inclusive and exclusive rules
In the example above, we used the command WithinRoom and that works well for nice easy shapes where it is possible to wrap a rectangular room around all of the PCB object. However, most of the time, it is not that easy to contain everything. For those examples, use the TouchesRoom command and that will allow objects to be only partially in the room and still get checked. See the picture below to get an idea of the difference.
Room as a height keep out
Place a room and change the Query to something similar to this (OnLayer('L1-Top') AND Height >= '1'). This query along with a Room Setting of Keep Object Outside will error on any component 1mm and taller.
A caution goes with this though. The unit settings need to be correct or all of a sudden this 1mm height becomes 1mil and virtually any component on the board will show as an error.
Soldermask over vias
For me, great detest is felt over those Force complete tenting check boxes that are on vias. What happens when you miss one? For this, a nice rule can be used. Go into the Soldermask Expansion rules and add a new rule. Set the query to IsVia AND (HoleSize < 0.25) adjusting the hole size as necessary for your board. Set the Expansion to the via size, but in the NEGATIVE direction (i.e. -0.5mm). This will automatically cover over all vias of a given size and smaller. This rule could also be used to cover over the pad, but not the hole if the size is set correctly.
Like the Room height, a caution goes with this. If the rule is set in metric and the board is output in English, the rule will fail and all vias will be exposed.
I hope these can come in handy and please ask for/add more!
Flood over vias
Most experienced users probably know this one well, but I still see a lot of reference boards in which the vias have thermals. Since there is no need for a via to have a thermal tie, it is possible to set these to Direct Connect. To do this, simply make 2 rules for both the Power Plane Connect Style and the Polygon Connect Style Rules. Leave the default "All" rule to a Relief Connect and set the higher priority rule to IsVia and set it to Direct Connect like so...
Net ties
Deliberate ground shorts happen all the time now and way more often then we would like. Do not forget that the short error can be eliminated by adding the offending nets to the Short-Circuit Rules in the Electrical section. For even better control, only allow the short-circuit to happen within a Room or Component.
(Not InAnyNet) vs InNet('No Net')
In the case of dealing with NoNet tracks and vias, the rules start to get a little picky. For example, there is a BGA on the board and there is fanout on every pin regardless of whether or not a pin is tied to a net. It would seem logical to use the Query Builder to assign InNet('No Net') and allow shorts, overlaps, etc. However, this doesn't work and the errors will still show up. Instead use the call (Not InAnyNet) and the rule will go right through.
Room for rules-by-area
Rooms can be great as a quick rule-by-area check. Place a room and blank the room query. The room query itself will not be referenced. Then a Clearance and/or Width rule can be set with the room as the target like so WithinRoom('RoomRules'). Any trace that is fully contained by the room will pass different rules than the rest of the board.
Both inclusive and exclusive rules
In the example above, we used the command WithinRoom and that works well for nice easy shapes where it is possible to wrap a rectangular room around all of the PCB object. However, most of the time, it is not that easy to contain everything. For those examples, use the TouchesRoom command and that will allow objects to be only partially in the room and still get checked. See the picture below to get an idea of the difference.
Room as a height keep out
Place a room and change the Query to something similar to this (OnLayer('L1-Top') AND Height >= '1'). This query along with a Room Setting of Keep Object Outside will error on any component 1mm and taller.
A caution goes with this though. The unit settings need to be correct or all of a sudden this 1mm height becomes 1mil and virtually any component on the board will show as an error.
Soldermask over vias
For me, great detest is felt over those Force complete tenting check boxes that are on vias. What happens when you miss one? For this, a nice rule can be used. Go into the Soldermask Expansion rules and add a new rule. Set the query to IsVia AND (HoleSize < 0.25) adjusting the hole size as necessary for your board. Set the Expansion to the via size, but in the NEGATIVE direction (i.e. -0.5mm). This will automatically cover over all vias of a given size and smaller. This rule could also be used to cover over the pad, but not the hole if the size is set correctly.
Like the Room height, a caution goes with this. If the rule is set in metric and the board is output in English, the rule will fail and all vias will be exposed.
I hope these can come in handy and please ask for/add more!
Sunday, June 22, 2014
Create Component Step Models in Altium
This tip shows you how to create a component step model in Altium.
One of the models shown below was created from extruded shapes and the other is a component step model created in Altium from the extruded shapes.

The tricks required to create Component Step Models are:
1. Create a PcbDoc and place extruded shapes.
2. Using the Layer Stack Manager Create a Zero Height PCB with no Solder mask.
3. Create Board Outline which is smaller than perimeter of the extruded bodies.
4. Save the PcbDoc as a Step Model.
Step 1. Place extruded shapes in a PcbDoc.
If your footprint already has extrude shapes, copy and paste those shapes to the PcbDoc.

As shown above there are six extruded shapes and two arc circles.
For convenience the Origin should be set to align with an Origin in the Target Footprint.
Step 2. Create the Zero Height PCB with no Soldermask.
Step 3. Create a tiny Board Outline.
Define the Board Outline using a small circle placed at the Origin.
Step 4. Save the PcbDoc as a Step Model.

The step model is now ready be placed in a PCB or a Footprint Library.

2D view of the Extruded Shape model (left) and the Step Model (right).

3D view of the Extruded Shape model (left) and the Step Model (right).

Below is a view of the Step Model embedded in a PcbLib Footprint.

One of the models shown below was created from extruded shapes and the other is a component step model created in Altium from the extruded shapes.
The tricks required to create Component Step Models are:
1. Create a PcbDoc and place extruded shapes.
2. Using the Layer Stack Manager Create a Zero Height PCB with no Solder mask.
3. Create Board Outline which is smaller than perimeter of the extruded bodies.
4. Save the PcbDoc as a Step Model.
Step 1. Place extruded shapes in a PcbDoc.
If your footprint already has extrude shapes, copy and paste those shapes to the PcbDoc.
As shown above there are six extruded shapes and two arc circles.
For convenience the Origin should be set to align with an Origin in the Target Footprint.
Step 2. Create the Zero Height PCB with no Soldermask.
Step 3. Create a tiny Board Outline.
Define the Board Outline using a small circle placed at the Origin.
Step 4. Save the PcbDoc as a Step Model.
The step model is now ready be placed in a PCB or a Footprint Library.
2D view of the Extruded Shape model (left) and the Step Model (right).
3D view of the Extruded Shape model (left) and the Step Model (right).
Below is a view of the Step Model embedded in a PcbLib Footprint.
Subscribe to:
Posts (Atom)



