element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Altium CircuitStudio
  • Products
  • Manufacturers
  • Altium CircuitStudio
  • More
  • Cancel
Altium CircuitStudio
Altium CircuitStudio Forum Update a project with all component updates from multiple libraries
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Altium CircuitStudio to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Suggested Answer
  • Locked Locked
  • Replies 6 replies
  • Answers 1 answer
  • Subscribers 89 subscribers
  • Views 2121 views
  • Users 0 members are here
Related
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Update a project with all component updates from multiple libraries

lamabrew
lamabrew over 7 years ago

A similar question was asked in the past (update a schematic with an updated library component, which is done by selecting the library component and the 'pushing' the update to the schematic, which must be open).  That is NOT the problem I need to solve.

 

I need to update every component in a project with the current symbol, parameters (for those that are linked), and footprint for every component in the project.  Opening every schematic sheet in the project and then going through every possible component in every possible library to make sure one doesn't get missed isn't workable.  I've searched through everything I can think of to figure out how to do this and I'm not finding the answer, apologies in advance if I missed the obvious.

 

Here's the use case I'm dealing with:

  • System with 6 PCB designs in it, each with multi-sheet schematics.
  • System specific (Altium Integrated) libraries, about a dozen (libraries for specific vendors, components, etc)
  • Working on PCB A, realize that half dozen library parts need modification (could be as simple updated supplier PN, or more serious like a footprint change)
  • Make the library mods and update PCB A to verify using the documented method to push changes from SchLib & PCBLib to schematics & layout for PCB A project
  • Now need to update schematics and layouts for PCB B, C, D, etc...

.

So far the only thing I can see is opening every schematic/layout in all of the PCB projects and then going back through each library with a written list of which components to push out an update to. IMHO the odds of getting every part in every project correct are zero; doesn't seem to be a way to run a report that would show where the project and the library have diverged?  There are definitely cases where I would not want to update a project with updated libraries - for example after release. But if you accidentally have a schematic page from something else open now that's been trashed if you push out the changes from the library side.

  • Cancel
Parents
  • lamabrew
    0 lamabrew over 7 years ago

    Here's my workaround - it's long, ugly, complex, and error prone and is not a replacement for Altium providing a way from within the schematic and layout tools to check library versions of all components.

     

    Every component I use in a design has a my own library reference ID in the form of YYY-XX####-rev 

    where:

    • YYY are some fixed characters to make all of my IDs unique to me (hopefully) (as I'm sharing projects with others)
    • XX is a one or two letter code for the part type (like R, C, U, etc) (generally each library file maps to one code as a way to keep searching manageable)
    • #### is a 4 digit number where each new part I add increments it by 1
    • and rev is a single letter indicating the revision number of the part (starting with A).

     

    Changing a library component means copying the part and bumping the revision number.

    I have a master schematic for each library that has one of each part on it, from this I can "dump" the libraries and all details in the same format as a project BOM.

    I can then compare a project BOM with the master part (BOM) list and look for revision mismatches.

     

    I have only done this for schematic portion as initially I did not think I would update footprints vs. assigning new footprints to specific parts. In hindsight I probably should have done the revision control on the footprints too as I have made some minor tweaks and didn't want to update schematics.

     

    The downside to this (besides the complexity of it all, and still having to more or less manually check and update things by hand) is that updating the schematic part means putting in what looks like a new part.  This can cause problems as parameters are going to get reset; as well as there's still some issue with parts rotating or moving that makes a mess of the schematic (happens occasionally under circumstances that I still can't identify.

     

    Also too this wouldn't work if you use the Altium Vault library for some components; I gave up on Vault a long time ago image

     

    IMHO Altium's lack of support for component revision control in the day & age of Git (whatever) is inexcusable for a tool aimed at more than the free tools market of CircuitMaker.  Likewise the lack of a way to manage libraries with any hierarchy for organizing parts. Maybe someday there would be a plug-in that one can purchase to fix these problems. There's a lot to like about CircuitStudio and the price point it's offered at, but if I look at the time/cost of a board spin because of a missed update (happened twice to me so far, despite everything I do to try and catch it) it gets frustrating.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • lamabrew
    0 lamabrew over 7 years ago

    Here's my workaround - it's long, ugly, complex, and error prone and is not a replacement for Altium providing a way from within the schematic and layout tools to check library versions of all components.

     

    Every component I use in a design has a my own library reference ID in the form of YYY-XX####-rev 

    where:

    • YYY are some fixed characters to make all of my IDs unique to me (hopefully) (as I'm sharing projects with others)
    • XX is a one or two letter code for the part type (like R, C, U, etc) (generally each library file maps to one code as a way to keep searching manageable)
    • #### is a 4 digit number where each new part I add increments it by 1
    • and rev is a single letter indicating the revision number of the part (starting with A).

     

    Changing a library component means copying the part and bumping the revision number.

    I have a master schematic for each library that has one of each part on it, from this I can "dump" the libraries and all details in the same format as a project BOM.

    I can then compare a project BOM with the master part (BOM) list and look for revision mismatches.

     

    I have only done this for schematic portion as initially I did not think I would update footprints vs. assigning new footprints to specific parts. In hindsight I probably should have done the revision control on the footprints too as I have made some minor tweaks and didn't want to update schematics.

     

    The downside to this (besides the complexity of it all, and still having to more or less manually check and update things by hand) is that updating the schematic part means putting in what looks like a new part.  This can cause problems as parameters are going to get reset; as well as there's still some issue with parts rotating or moving that makes a mess of the schematic (happens occasionally under circumstances that I still can't identify.

     

    Also too this wouldn't work if you use the Altium Vault library for some components; I gave up on Vault a long time ago image

     

    IMHO Altium's lack of support for component revision control in the day & age of Git (whatever) is inexcusable for a tool aimed at more than the free tools market of CircuitMaker.  Likewise the lack of a way to manage libraries with any hierarchy for organizing parts. Maybe someday there would be a plug-in that one can purchase to fix these problems. There's a lot to like about CircuitStudio and the price point it's offered at, but if I look at the time/cost of a board spin because of a missed update (happened twice to me so far, despite everything I do to try and catch it) it gets frustrating.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube