Monday, July 24, 2017

Script for Altium Database Libraries

Video - Using a script to build a database library from a design's Bill of Materials.

Library Reference Script for Altium - YouTube













The Library Ref Script is included in the Parts Download.


That's it !

Sunday, July 2, 2017

Bit Map Logo

Instructions for creating a Bit Map Logo

The logo should have a pure white background and single color foreground.
Open the logo in Windows Paint.


In properties (File > Properties) set to Black and White and click OK twice. If the entire picture goes all black or all white then you know it won't work.


Go back to properties, set to color and click OK. This part is important to make it compatible with Altium for pasting.


Select All (Control-A) and copy (Control-C)
Paste into Altium then re-size it with the 4 corner handles.


Eric's Suggested Solution *****

To scale the bitmap/regions:

- Select the regions
- Tools->Convert->Create Union from selected objects
- Right click on the union and select Unions->Resize union


Source: https://forum.live.altium.com/posts/218118


That's it !

Friday, June 16, 2017

High Voltage - Explicit Design Rules

Outer Layer Rule "HV to LV :


For Designs with NO Inner Layer Vias (uVias or Buried Vias)

Example:  For Designs with Only Thru-Hole and Blind Vias use this Outer Layer Rule .

Scope1 Expression
InNetClass('HV') And Not OnMid

Scope2 Expression
InNetClass('LV') And Not OnMid

For Designs with Inner Layer Vias use ExistsOnLayer in your Scope.

Scope1 Expression
InNetClass('HV') And (ExistsOnLayer('Top Layer') Or ExistsOnLayer('Bottom Layer'))

Scope2 Expression
InNetClass('LV') And (ExistsOnLayer('Top Layer') Or ExistsOnLayer('Bottom Layer'))  

MId Layer Rule HV to LV :


Scope1 Expression
InNetClass('HV') And (OnMid or OnMultiLayer) 

Scope2 Expression
InNetClass('LV') And (OnMid or OnMultiLayer) 

Notes:

When using ExistsOnLayer the Top Layer and Bottom layer names must match the user defined long layer names in the stackup.

As of AD25 and older versions ExistsOnLayer is the only reliable solution for designs  with Inner Layer Vias (Stacked uVias or Buried Vias) that use clearance and creepage rules.  Skip Vias are also affected.

Tips: Best Practice when using ExistsOnLayer 

For designs using ExistsOnLayer in the Stackup Designer always use Altium's default long layer names Top Layer and Bottom Layer.

Why ?  Because the design rules will be broken if the layer count or layer names change.


Bad Practice













Good Practice













Outer Layer Rules Must Have Higher Priority

That's it !

Tuesday, May 30, 2017

Re-use Methods

Eric Albach

I just found a snippet design re-use method that is quite reasonable. Basically, append a question mark to the designators and create the snippets. Place the snippets in the new schamatic and PCB. Link the components between the schematic and PCB. Use Annotate Schematics Quietly. Update the PCB.

It's pretty easy. With this method it takes less than a minute to add a fully linked and annotated design. I used to spend a lot more time.

From the original schematic and PCB:
Update and Link the components between the schematic and PCB
Select the schematic section


Use SCH Inspector set to include only parts and use Smart Edit Formula on designators to append with a question mark.
        

Example formula : !+'?'

ends up with R12? (leaving the numbers keeps the components linkable and the question mark allows quiet annotation)

Update the PCB with the new designators
Create the schematic and PCB snippets

In the new schematic and PCB:
Place the snippets
Link the components using Project > Component Links > Add Pairs Matched by Designator
Use Annotate Schematics Quietly
Update the PCB


Source https://forum.live.altium.com/posts/221757/645999

Rich Betz

When you paste PCB snippets, be careful with existing 'ON' Planes. Your via's can and will connect to the first plane they contact, throwing your net connections all out of whack.

Either turn off all of your Plane Layers before you place the snippet, or place it outside the board outline until you get all of your component net connections linked up correctly.

When you get your Sch/Pcb component pin nets all linked up with All Layers On, select the whole snippet area.


Use PCB Filter (IsSelected and (IsVia or IsTrack))  to filter out the parts but hold on to all the connections.


Then CUT the connections with reference to Pin1 somewhere in the snippet,


Then Paste right back in the same place.  All tracks and via's will adopt NetName from component pin nets.


Then... you can turn your Planes back on and position the snippet where you want it.


Source: https://forum.live.altium.com/posts/221757/646088

Eric Albach 

Possibly the best method for the PCB side is to keep "snippets" in a PcbDoc then you can select, copy and paste special with Keep Net Name. That way you won't lose the polygon pour nets.

Source: https://forum.live.altium.com/posts/221757/646099