Update Schematics always overwriting the comment fields - Page 1
Forum section: electronics / general

author: snoopy
author_rank: Frequent Contributor
timestamp: September 04, 2014, 06:20:50 am
content: When I edit a component in the schematic library and then update the schematics (ie Tools->Update Schematics) all of the comment fields in the schematic are overwritten with the Default Comment or if it is set to '*' it is overwritten using the Symbol Reference in the component property. Thus all of my components on the schematic lose their valuesHow can I change this behaviour because it is driving me batty ?PS I am using separate schematic and pcb libraries and not using integrated libraries.cheers

author: Precipice
author_rank: Frequent Contributor
timestamp: September 04, 2014, 07:00:58 am
content: That sounds like it's all working properly, doesn't it? Changes you're making in the library are being updated onto the schematic when you ask it to.What comments are you adding, and why do you keep changing the library parts?Ah, hang on, are you setting the component value as a comment? That's a terrible idea.Each value deserves its own library part. The entire toolchain (sch ->PCB -> assembly) works that way, you'll be fighting the tools all the way unless you go with the flow. You can probably get where you want to go, but it'll be grim, as you're discovering.

author: snoopy
author_rank: Frequent Contributor
timestamp: September 04, 2014, 07:11:38 am
content: Quote from: Precipice on September 04, 2014, 07:00:58 amI needed to add an additional parameter to a resistor such as element type etc.Creating a library component for every resistor value seems counter productive to me.There must be a simple way of telling it to leave the comments alone.And it's the way I have always done it in Protel 99SE with no problems until now.cheers.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: September 04, 2014, 07:51:17 am
content: Quote from: Precipice on September 04, 2014, 07:00:58 amIf you do the update from within the schematic / project, using the Update From Libraries (or whatever it's exactly called) command, you can select which fields are updated, including comments. Also detects which components are different, and you can select which ones to update (by sheet, by manual selection, whatever).QuoteThat sounds abominable! So you fully expect that, while evolving a design, I should have to select new resistors each and every time I want to change a value?! And if that value didn't exist in the database, I have to crawl into the library, create a new one, and make sure it's placed where I need it?!!What if I searched the corporate libraries for a particular part, didn't find what I was looking for, go create one, then later discover (perhaps in some asinine review) that, oh by the way this was here all along -- wasted effort! And maybe it was better than mine (more complete fields, better footprint?), or worse than mine (I still haven't seen a built-in or corporate library that I'd call more than 25% appealing).And what if I do find one that's appropriate, but the symbol (or footprint) was just drawn all kinds of shit (ugly appearance, annoying layout, or just plain wrong) and I want to fix it? Does that then demand that every single other project that ever used that symbol also get the change propagated into it? What if I moved the pins so now all those schematics are broken? Who becomes responsible for propagating all those changes, the library czar, the (current or past) employees that made those projects, me??!The Supplier Search works in SCH view for a reason!I much prefer placing generic components (e.g., Comment = '*', no fields except for a 'Value' = '1k' or whatever as a default placeholder) and setting the values on the schematic. With generics, why should you ever need or want to update from library, anyway?What does LIB-SCH synchronicity get you, anyway? Nothing. The symbols are part of the SCH file as soon as they are placed -- you can open a SchDoc on its own without a project or any libraries.Ack, I shouldn't be ranting in threads... I should just... compile a 'gripe list' or something and post a link of that when these sorts of things come up.Tim

author: sacherjj
author_rank: Frequent Contributor
timestamp: September 04, 2014, 02:06:55 pm
content: I have a separate part for each part. That means each resistor value. Why? Because they are separate.The part has fields for manufacturer and part number. Once a board is done, the BoM is done. Because the part numbers are pulled from the unique schematic part.It is dead easy to find parts, if you use a decent naming convention.R0402-2k2-[unique manf name or prefered vendor list code]Quote from: T3sl4co1l on September 04, 2014, 07:51:17 amThen you have a naming convention problem with your parts database. Fix it.Quote from: T3sl4co1l on September 04, 2014, 07:51:17 amSo if a footprint is wrong, why would you not want to propagate that to other designs and fix it? The idea of having a validated parts library is so you KNOW the parts will fit on it.Well, I'm just gonna use this odd 0402 resistor on here. Close enough. We have never produced a product with that device and pad configuration, and I'm sure it isn't just slightly different enough so that it tombstones on me during production. Isn't our job hard enough as it is?It is just a choice of where you spend your work. For me, copy schematic resistor. Paste. Rename. Link to new manufacturer part. Mark as unvalidated/unmanufactured. It literally takes me 15 seconds to make a new variant of a part type. I'm maintaining a whole library in an organized fashion for just an engineering staff of just ME. And it is still worth the effort to not get totally confused on a board with hundreds of components. I can't imaging not doing it with multiple engineers using the library.

author: David_AVD
author_rank: Super Contributor
timestamp: September 04, 2014, 09:57:57 pm
content: Having a separate component for each value of resistor sound like a waste of time to me too.T3sl4co1l, that's a good tip about the alternative way to update and select what will be updated.

author: Precipice
author_rank: Frequent Contributor
timestamp: September 05, 2014, 07:42:43 am
content: Quote from: David_AVD on September 04, 2014, 09:57:57 pmThere's so much detail in even a humble resistor (Value, size, tolerance, automotive-rated, fusible, various supplier's part codes, in-house part code) that needs to be stored - either in Altium or an external database. I choose Altium. No biggie.

author: snoopy
author_rank: Frequent Contributor
timestamp: September 05, 2014, 07:53:34 am
content: Quote from: sacherjj on September 04, 2014, 02:06:55 pmyes but what happens if you want to add another parameter to a resistor in the schematic library ? Using your technique you would have to go through every value of resistor in the library and add or modify it or am i missing something here ? Regarding footprint variations I just stick to the IPCC standards for resistors and caps etc.

author: snoopy
author_rank: Frequent Contributor
timestamp: September 05, 2014, 08:08:06 am
content: Quote from: T3sl4co1l on September 04, 2014, 07:51:17 amYes I got it to work but it is a bit convoluted and you can easily clobber other parameters such as footprint etc if you don't select the correct options.This is what I did:-Back up my whole project first !!From the schematic select Tools -> Update from LibrarySchematic Sheets -> Select ALL (right click) or just limit to one sheet to experiment withComponent Types -> Limit to the ones you have changed (right click to deselect all)Settings -> Replace Selected Attributes of symbols on sheetsUpdate graphical attributes enabled if you modified the graphicUpdate Parameters enabledUpdate Models disabled otherwise footprints will be changedClick Next -> Click Finish -> Check what is going to be changed before you Execute ChangesCheck that things haven't been screwed up by clicking on some components that have been updated which in my case were resistors.If they have been screwed up which in my case the footprints on all of the capacitors were set to default because i set to update models, then either undo it or reload the schematic it in again.Otherwise if it is OK then go back and do it again for all of the sheets.

author: Precipice
author_rank: Frequent Contributor
timestamp: September 05, 2014, 10:32:52 am
content: Quote from: snoopy on September 05, 2014, 07:53:34 amIf there was a perfect method, we'd all be using it! As it is, I think Altium are doing a tolerable job - library management is hard.Scripting or database import export are the tools I'd use if I had to, but I'd expect a substantial learning curve.Quote from: snoopy on September 05, 2014, 07:53:34 amAh, but which standard? And does IPCC overrule datasheet? This is a game with no clearcut answers.

author: DerekG
author_rank: Frequent Contributor
timestamp: September 05, 2014, 12:02:18 pm
content: Quote from: Precipice on September 05, 2014, 10:32:52 amDefinitely not. Every year there are more non-compliant SMD parts being released by manufacturers. It takes IPCC too long to add new footprints to their database.As an example, manufacturers know exactly how much heat must be thermally released from their parts. They test their parts until destruction. They know best.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: September 05, 2014, 04:06:17 pm
content: Quote from: DerekG on September 05, 2014, 12:02:18 pmNeither: assembly has the final say -- results can vary from process to process. But, that's the purpose for which IPC exists: to provide standards which boards should be designed to, and which manufacturing should support. The intersection where design meets manufacture should therefore have better yield than doing things ad hoc.Last I checked, the only thing missing from IPC was LGA types. BGA is supported, but the kind that isn't balled seems to be missing. Everything else seems to more-or-less have an equivalent.Manufacturers don't always have the best footprints; they may've been thrown together without much testing, or they may be made for one particular process (lead finish, solder alloy, flux, temperature profile, board material..), not necessarily suited to your process.Tim

author: dboyer
author_rank: Contributor
timestamp: September 09, 2014, 04:23:59 pm
content: I wrote a script that crawled digikey for example values and then build a database table around available values for commonly used passives (0402, etc) and we've just been adding the odd footprint electrolytic and the such by hand since. It took a few hours to get the script doing what I wanted, but it wasn't too bad. Now, when we want to change a value we just change the design item id to the other part# and all of the parameters are pulled in automatically.Adding a library entry for tons of parts is easy when they use a common footprint like that.