Wednesday, October 13, 2021

Import Libs

Select Single Part Libs > Map Parameters > Import

Rename SchLibs

Usage: Make *.SchLib filenames that match the Symbol Refs or Library Refs. If a parameter named Symbol Ref exists the selected single part Schlib files will be copied and renamed to match Symbol Ref. If the Symbol Ref is not found the selected single part Schlib files will be copied and renamed to match the Library Ref.

Rename PcbLibs

Usage: Make *.PcbLib filenames that match the Footprint Refs.

After importing libraries into Parts, then Altium's Library Splitter Wizard should be used to remove parameters and models from the imported *.Schlib files leaving only the graphical Symbol in the *.Schlib files.

Notes:  About illegal Characters and File names.

All illegal file name Characters must be removed from the Library Refs and Footprint Refs.

Related Link: Altium Database Library Basics

That's it!


Sunday, September 26, 2021

Parts - Create a Desktop Shortcut

The message shown below may appear when clicking on your Parts Frontend Desktop shortcut if you have moved the Parts Frontend.accde file.

Microsoft Access can't find the database file . . . 

click on image to view

This message occurs if the shortcut on your desktop is invalid.

To create or update the Parts_Frontend.accde Desktop shortcut

Click on the Navigation Pane

and double click on "Create Desktop Shortcut"













That's it !

Saturday, September 25, 2021

Fill Mode - Replace Blanks

The Fill Mode Option is a Librarian Feature.

Warning: There is no undo for the Fill Mode.  Backup your database !

To enable the Fill Mode select Parts > Configuration > Check Enable Fill Mode . . .

Example:  Enter CER or Select a record where Sub_Type equals CER

Then click on | Fill Selected Records |





The Configuration Librarian Options includes an option to Clone Related Symbol and Footprint Fields.  This option can be used to copy and paste related Library Ref and Library Paths in the selected (Filtered Records).  This option also applies to Footprint Refs and Paths.

That's it !

Saturday, September 11, 2021

Change PCB Library Source to Any

Setting the Footprint library source to Any will unlink the footprints found in the symbols that are place in the schematic.  

This can be useful if you you not have access to the source libraries, i.e. you have a reference design or parts were copied from another schematic.

To change all placed Components PCB Library source to Any . . .

Tools > Footprint Manager > Component List > Right Click > Select All

View and Edit Footprints > Right Click > Select All 

View and Edit Footprints > Right Click > Change PCB Library > Select Any












That's it !

Sunday, August 29, 2021

Footprint Library Sources

ANY Library

PCB Doc > Footprint > Properties > Library > Any Library















Schematic Doc > Footprint Manager > Any


DBLIB Library

PCB Doc > Footprint > Properties > Library > DBLib Library










Schematic Doc > Footprint Manager > Use footprint from . . .  DBLIB



Tips:

Changing the Library source in the Footprint manager will NOT generate a change in a placed footprint where the footprint names match.


That's it !

Wednesday, May 12, 2021

Unbound Fields

Unbound Fields are fields in the Parts database that are NOT bound to the controls (text boxes) or User Defined Text Fields shown in the Parts Frontend application (Client GUI).

Unbound Text Fields are Optional and may be Deleted if desired.

Select Configuration > Unbound Text Fields to Delete Unbound fields.

That's it !

Monday, May 3, 2021

Migrate to Parts Database

Start Project Migration to Parts

Altium > Project > Project Packager to backup the original project. (Recommened)
Altium > Schematics > Save Designators and Comments XY to Excel (Optional).
Altium > Disable Autoposition for all Designators and Comments. (Optional).

Altium > SCH > Parameter Manager > Add Mfr Part Number all Components.
Altium > SCH > Parameter Manager > Sort by Mfr Part Number to find missing Mfr Part Numbers, then Copy Library Reference or Comment to Mfr Part Number if needed.

Note: A unique Mfr Part Numbers are required to import the project BOM in Parts.
If needed create a temporary part number using a description, i.e. R402 1K 1%

Altium > PCB > Delete .designators from all Footprints before Making a PcbLib (Optional)

Note: If you are using Draftsman for Assembly Drawings then .designators are not needed.

Altium > SCH > File > Run Script > MakeSymbolRefs.pas Script.
Altium > SCH > Design > Make Integrated Library > Review Messages Panel.
Altium > SCH > Extract Libs *.SCHLIB and *.PCBLIB from the Integrated Library.

Altium > PCBLIB > Scrub Whole PCBLIB. i.e. Change Mech Layer Usage (Optional)

Begin Symbol and Footprint Libraries Migration to Parts Database (DbLib)

Altium > Tools > Library Splitter Wizard > Libs with Models and Parameters
Parts > Tools > Import Libs > Rename Libs Like Symbol Ref.
Altium > Open Renamed Libs >  Run > MakeLibRefs.pas Script, then Save Files.
Parts > Tools > Import Libs > Select Libs > Map Parameters > Import
Altium > Run Script CleanSymbols.pas to Remove Models and Parameters.
Altium > Save the Cleaned SchLib Files in the Parts Working Folder.
Parts > Verify Libs  > Select All > Fix LibRefs and Filenames as needed.

End Symbol and Footprint Libraries Migration to Parts Database (DBLib)

Project Migration to Parts Library

Altium > Generate a Project BOM.
Parts > Import The Project BOM > Tools > Import Excel.

Parts > Web Update Parametric Data from Digi-Key. (Recommended)

Altium > Components Panel > Deactivate (UnCheck) All Install Database Libraries

Altium > Add a DbLink to the Project.  Connect to the Parts Library. (Tips below)
Altium > DbLink > Key > Mfr Part Number || Mfr Part Number (Only Update ID)
Altium > Tools > Update Parameters from Database. (Create Log and Review errors).
Altium > Tools > Parameter Manager > Verify all Components have IDs (fix as needed).

Altium > Remove Parts DbLink from the Project.

Altium > Components Panel > Install or Activate Parts DbLib Database Library.
Altium > Close and Open (Restart) Altium to clear Cached Libraries.

Altium > Use Find Similar Objects > Select All Parts in the Project.
Altium > Use Properties Panel > Set Source > Part.DbLib - Parts
Altium > Tools > Parameter Manager > Copy IDs to Library References > Accept Changes. 

If needed  . . . 

Save Schematics > Close Schematics > Open Schematics !

Altium > Tools > Update from Libraries.
Altium > Tools > Update Parameters from Database. If Needed
Altium > Fix Variant Part Numbers. Project > Variants . . .
Altium > Fix XY location of Comments using saved Excel data.

Done - Review Changes (Compare BOM and Schematic with Original files).

Tips: 

DbLink Options:

Open or Create a DBLink in the Project that is pointing to the Parts database.

DbLink > Options > Do Not Update (Global)
DbLink > Options > Do Not Add (Global)
DbLink > Options > Do Not Remove (Global)

DbLink > Single Key Lookup = Mfr Part Number || Mfr Part Number 

DbLink > Options > ID Update (Parameter Option)
DbLink > Options > ID Add (Parameter Option)
DbLink > Options > ID Remove only if blank in database (Parameter Option)

To Disable Autoposition of Designators and Comments

Use Find Similar Objects > Uncheck Autoposition for all Designators
Use Find Similar Objects > Uncheck Autoposition for all Comments

To Remove the Parameter Position Dots

DXP Preferences > Schematic > Graphical Editing > uncheck 'Mark Manual Parameters'

That's it !

Thursday, April 29, 2021

How to Stop the Beeps

To stop those annoying sounds and beeps . . .

Windows 10 > Control Panel  > Hardware and Sound > Change system sounds

Set Sound Scheme to No Sounds > Apply

 click image to view













That's It !


Sunday, April 4, 2021

Altium DBLIB - Best Practices (Tips)

Tip 1:

When you place a part in a schematic from a database library the Design ID, Source (DBLIB Name) and Table Name will be embedded in the symbol.

Choose a good name for your DBLIB file. Do NOT change the name over time. This will prevent NOT Found parts in the project provided you have not deleted the part from the database and the database is installed in the Components Panel.

Click on image to view


Tip 2:

Create Resistor, Capacitor and Inductor symbols using equally sized components.









These symbols should be the same size with the same origin and rotation.
Pin 1 should be the top pin in all three of the symbols.

This will simplify swapping parts in the design and minimize rework in the PCB.

Tip 3:

More tips will be placed here in the coming weeks.

That's it !

Tuesday, March 30, 2021

MySQL - Export Parts Tables to CSV Files

Use Parts > Tools > Export for MySQL

Or tables can be exported using MySQL Workbench.

Right Click on a table and select the Table Data Export Wizard.


Recommended Options for Parts:  

Set File Path and file name to a location on the local machine.

Select csv

Line Separator:  LF (linefeed)

Enclose Strings in: " (double quote)

Field Separator: | (pipe)

Null: Yes

Check export to local machine.

Select Next > Next > Finish

Related Links:  Export to Excel

That's it !

Saturday, March 27, 2021

MySQL - LOAD DATA to Parts

MySQL Workbench and LOAD DATA can be used to quickly load a large number of records from a  *CSV file to a MySQL database hosted on a Local or Remote Server.

Important !

See enable Loading Data from a Local *.CSV file below.
MySQL Workbench > SET GLOBAL local_infile = 1;

Load Data using Parts includes options to delete and replace all records in the destination database or to append new records and update records with matching primary keys. 

The CSV file data structure must match the number of fields in the table and the type of data in each field. The data in each column must be in exactly the same order as the fields.

If the file and table structures are not matched data will be placed in the wrong fields.

The Parts Frontend will only Load Data to MySQL if the Parts Table and *.CSV file structures are compatible. 

Parts will create a Heading.txt file that can be used to compare the headings (fields) in the source data and destination table. The first column is the headings (fields) in the source data (*.csv file) and the second column is the destination table's fields.

A side by side comparison of the Imported and Destination fields can be made by selecting Display Unsorted Fields (Parameters) in the Import Dialog.

Tip: Drag and Drop the Headings.txt file in to an open session of Excel.  Add a third column and fill the column with a relative cell formula =IF(A1=B1,"Match","Mismatch") to find the differences between the data structure in the file and the destination table.

=IF(A1=B1,"Match","Mismatch") 


















To enable Loading Data from a Local *.CSV file.

Using the MySQL Workbench

SHOW VARIABLES LIKE "local_infile";

If the value returns “OFF” then set the value to “ON”.

Example:
SET GLOBAL local_infile = 1;

















After setting local_infile variable you can close the MySQL Workbench and use Parts > Tools > Load Data MySQL. Using the Parts FE to verify and LOAD DATA is recommended.

Or use MySQL Workbench to Load Data . . .

C:\Program Files\MySQL\MySQL Workbench 8.0 CE\MySQLWorkbench.exe

To LOAD DATA using the MySQL Workbench, edit the connection (click the wrench icon by the MySQL Connections, or right-click on a particular connection and choose Edit Connection...). On the Advanced tab, in the "Others:" box, add the line OPT_LOCAL_INFILE=1


















Use a full path to the *.csv file that is stored on a Local machine.
Use forward slashes ( / ) as shown in the examples below.

Tip: A good way to remember the difference between a backslash and a forward slash is that a backslash leans backwards ( \ ), while a forward slash leans forward ( / )

Example for loading the parts table.

TRUNCATE parts.parts
LOAD DATA LOCAL INFILE "C:/temp/parts.csv" INTO TABLE parts
FIELDS TERMINATED BY '|' 
ENCLOSED BY '"'
ESCAPED BY ''
IGNORE 1 LINES;

Example for loading the mfr_links table.

TRUNCATE mfr_links.mfr_links
LOAD DATA LOCAL INFILE "C:/temp/mfr_links .csv" INTO TABLE mfr_links 
FIELDS TERMINATED BY '|' 
ENCLOSED BY '"'
ESCAPED BY ''
IGNORE 1 LINES;

Example for loading the supplier_links table.

TRUNCATE supplier_links .supplier_links 
LOAD DATA LOCAL INFILE "C:/temp/supplier_links .csv" INTO TABLE supplier_links 
FIELDS TERMINATED BY '|' 
ENCLOSED BY '"'
ESCAPED BY ''
IGNORE 1 LINES;















Tips:

ESCAPE BY '' uses two single quote characters.
ENCLOSED BY ' " '  uses a single, a double and a single quote character.

To permit the Workbench access to Local Files, edit the connection (click the wrench icon by the MySQL Connections, or right-click on a particular connection and choose Edit Connection...). On the Advanced tab, in the "Others:" box, add the line OPT_LOCAL_INFILE=1

Source:

Useful Links:

LOAD DATA Statement - MySQL 8.0 Reference Manual
Connect-with-local-infile-option-in-mysql-workbench - Stack Overflow

That's it !

Wednesday, March 24, 2021

Parts Features and Configuration Options

The Parts download includes a demo Access database (Parts.accdb) and a compiled Access Client application (Parts_Frontend.accde).

Backend options - not required

Users can set Default inputs for new records.
Users can rename the Parts Database Parts.accdb

Note, that if Parts.accdb is renamed the Parts.DbLib needs to be opened in Altium and updated to point to the renamed Parts database.

Users can rename the Parts.DbLib to associate the Parts Library with a company name.
Example: Totum.DbLib.

Parts Frontend - Configuration Features Include:

Compatible with MySQL Local and Remote databases.
Access to MySQL database Migration Tools (Export *csv, LOAD DATA)
Drag and Drop Supplier parametric data from Digi-Key or Mouser.
Make Like can be used to make a similar part.
View / Edit mode for Displayed Records
Intelligent Cascaded Search Filter Dialog
Data entry with automated Trim and Clean 
Verify Library Files and Library Refs
Librarian Tools to Import Excel, Export Excel and Compare Data
Optional Daily Backups

Default Comment (User Defined)
Default Description (User Defined)
The MCN Field Name can be changed to the Company Name
RoHS Dropdown List
Lifecycle (Parts Status)
15 User Defined Fields (and 2 smart fields)
Preferred Manufacturer and Supplier Names (User Option)
Dynamic dropdown lists for Part Types and Sub Types
Bookmark with Jump to Record ID

URL Links to Manufacturers and Suppliers (User Option)
URL Link to Octopart and Supplier Part Details
URL Link to Datasheet and CAD Models

GUI options, Dark Theme, Show Access Ribbon (User options)

Optional Altium Scripts To:

Place currently selected part in Altium schematic.
Cross selection from Altium schematic to the Parts database.
Refresh Library (Altium Component panel)

Discussion Points:
Make Like (ROI)
Using Supplier Solutions - Performance Trade Offs

For Online Technical Support Contact Parts

That's it !

Friday, March 19, 2021

Migrate to Parts Using Tools > Import Excel

Take a Project Snapshot 

Backup (Zip the Project)
Output the Schematic and BOM (save for reference and change reports)
Create Project SCHLIB and PCBLIB Libraries.

Altium Parameter Manager:

Optional (not required)  - To identify Library Ref for parts placed from DBLIBs
Using the Parameter Manager create a parameter named Symbol Ref for all parts in the project schematic and copy the LIbrary Ref to the Symbol Ref parameter. Or run the Altium Script "MakeSymbolRefs" to create Symbol Ref from placed parts. The "MakeSymbolRefs" script is included in the Parts Download.

Altium Reports > Bill of Materials

Export Project BOM, group by Mfr P/N, include Footprint and Library Ref .

Optional Parts Application - User Defined Fields
Select Configuration > User Defined Fields
Add user defined fields:  RefDes, Qty

Required:
Place copies of the project libs in the DBLib working folders (footprints and symbols)

Parts FE > Import Project BOM
Parts FE > Set Library and Footprint Paths to saved Project Libs

Altium Components Panel:
Uninstall All Database Libraries, except for your DBLIB database.

Altium DBLink:
Open or Create a DBLink to your Parts DBLIB database

DbLink > Options > Do Not Update (Global)
DbLink > Options > Do Not Add (Global)
DbLink > Options > Do Remove (Global)

DbLink > Single Key Lookup = Mfr Part Number || Mfr Part Number 

DbLink > Options > ID Update
DbLink > Options > ID Add only if not blank in database
DbLink > Options > ID Remove only if blank in database

Tools > Update Parameters from Database

Altium > Remove Parts DbLink from the Project.

Altium > Components Panel > Install or Activate Parts DbLib Database Library.

Altium > Close and Open (Restart) Altium to clear Cached Libraries.

Altium > Schematic > Use Find Similar > Select All Components > Properties Panel > Source > Part.DbLib - Parts

Altium > Tools > Parameter Manager > Copy ID Column to Library Reference Column > Accept Changes

Save Schematics > Close Schematics > Open Schematics.

Tools > Update From Libraries

Review Schematic and BOM, fix as needed.

That's it !

Sunday, February 14, 2021

Git Parts for Altium Libraries

The latest release of Parts supports Git repositories.




User's can create remote library solutions using Altium 365 and TortoiseGit.

YouTube Video Link: https://youtu.be/cOSNSMVSAeo

Steps: 

Sign in to your Altium 365 Workspace

Download Parts or start your own project

Make the Project Available Online and to Version Control.

click on image to view

Save the changes to the Server.

To use TortoiseGit 

Install TortoiseGit, then browse the local library project repo, enter your Altium Credentials when prompted.

Using TortouiseGit add and commit Schlib and PcbLib files to Symbols and Footprint Folders.

That's it !

Tuesday, January 19, 2021

Parts Scripts for Altium

The Parts Scripts are Optional (NOT Required) for use with the Parts DBLib Library.

Parts Scripts - You Tube

Download Parts and Scripts Link: Download Parts

After clicking on the above link check your downloads folder.

The Parts Scripts were created and tested using Altium Designer AD23.

The author does not guarantee these scripts will function with older or future versions of Altium Designer.  

The user of these FREE Parts Scripts assumes all risks associated with using the scripts. 

The author will not be liable for any data losses. The author may at his discretion provide technical support for installing and using the Parts Scripts. 

The author may at his discretion cease to distribute and support the Parts Scripts.

The user must determine if the scripts are suitable for use with their workflow.

The Parts scripts must be installed on the user's local machine.  And the Part's Frontend  configuration must include file paths to 'PartsScripts.PrjScr' and the Altium *.DBLIB file.

Known Script Limitations:

For teams with multiple users the Parts Scripts be installed on each user's machine.

Using a Git Repo solves multi-user issues because each user is working from local copies of the Scripts.

For Edit Selected Footprint:

DBlib Libraries the Footprints must be stored in the Footprints Folder. 
The DBlib file must be in the same parent folder as the Footprints Folder.

For Edit Selected Symbol:

DBlib Libraries the Symbols must be stored in the Symbols Folder. 
The DBlib file must be in the same parent folder as the Symbols Folder.

For Project Libraries *.SchLib and *.PCBLib files must be located in the same folder as the Project PrjPcb file and the library names must match the project name exactly.

The Author: Randy Clemmons

To request support Contact Parts

Thursday, January 14, 2021

Amazon RDS - Remote Hosted MySQL Database Libraries and Altium 365

Dispersed teams working remotely can easily collaborate using Altium 365 and a MySQL Database Library hosted on Amazon RDS for their circuit board design projects.

A robust remote library solution can be created by using an Altium 365 Git based project to share symbols and footprints and an Amazon RDS MySQL database for the parametric data.

"MySQL is the world's most popular open source relational database and Amazon RDS makes it easy to set up, operate, and scale MySQL deployments in the cloud. With Amazon RDS, you can deploy scalable MySQL servers in minutes with cost-efficient and resizable hardware capacity.

Amazon RDS for MySQL frees you up to focus on application development by managing time-consuming database administration tasks including backups, software patching, monitoring, scaling and replication.

Amazon RDS supports MySQL Community Edition versions 5.5, 5.6, 5.7, and 8.0 which means that the code, applications, and tools you already use today can be used with Amazon RDS."

Source link: Amazon RDS for MySQL – Amazon Web Services (AWS)

Contact Parts for a demo of a MySQL database library for Altium hosted on Amazon.

That's it !