I have an OrCAD Capture schematic that has a number of 1k resistors throughout the design. i need to replace many of them with 2.2k resistors. The parts are from a library (each value/type is an individual part, one part is a 1k 0402, another is a 2.2k 0402 etc), I am not using a CIS database. I can't replace/update the cached 1k part, as that would change all of the 1k parts in the design, and I only want to change some of them. Is there a way to do this within Capture, or does anyone have a TCL script that will allow me to do this? I want to preserve the REFDES when doing this replace, and not have to replace each part manually and then manually fix the REFDES.
Any help/suggestions appreciated,
Wow. Let me first say this is a horrible technique for part management. This comes from people that started in Viewlogic and other cad programs that could not use variable data for BOMs.
Sigh...If you truly have unique instances in your library then you can can replace once instance with another through the design cache manager. Open the cache and select the part. Right mouse and do a replace.
In reply to redwire:
In reply to Austin Franklin:
Unfortunately cache replace does them all which is what I took from your first question. You will have to plop down new parts and match up their references at this point.
If it were just properties (not symbols) that were changing then yes there is another way.
I appreciate that Capture CIS, which will do exactly this - use a single graphical part and allow Part Properties to be linked to a database of required properties - isn't free but it may well work out to be lower cost than implementing custom code to do this. And have the benefit of supporting this for all future designs.
In reply to oldmouldy:
Yup, but a Database Part is just a regular OLB part combined with the selected database properties. So, Place a Part, get the default properties, Link to a Database Part and get all of the required properties, like Value, stocking and Distributor details loaded in from the Database. Start with Place Database Part, and you get the graphic and associated Properties for that part loaded from the Database and placed in the schematic. Then link to a different Database Part for different properties, "group select" the parts from the Part Manager to change values, support Fitted / Not Fitted / Different Value BOM Variants without any redrawing of the "core" design. The properties you must need already exist within the schematic libraries so a "dump" of the library properties could be used as the basis for a "starter" database, if there isn't a suitable existing database to use.
I personally run a small man team. We use Access for the database. There is no issue with having a small OrCAD database sitting to the side. Heck I have thousands of parts in library files but I only access the ones I want quickly and efficiently through CIS. Plus, the variant mode capability makes BOM generaration and management so simple. I have installed similar CIS setups at client's sites. Takes a few hours and you're running. The database evolves as the usage grows. You start with a small number of parts and build slowly from there.
The argument that libraries are better than databases makes no sense at all. The database drives parameters into the schematic. The libraries never go away. But the power of the database makes everyone's job easier and like oldmouldy says, you'd be done by now if you were running CIS.
How do you manage part revisions? Company part number to symbol and footprint? Company part number to approved manufacturer? How about driving useful information into the schematic: what voltage was that cap? What dielectric? What wattage resistor? Is this part RoHS? Lots of Excel spreadsheets hanging around to look stuff up in? I guess you can drive a nail with a rock but why when hammers are available?
I use a CIS database and the variant editor works perfectly for variant designs. But in your case, as the company is so small and does not want to use databases. The easiest way is to copy your design and rename it for the new design then change all the parts and supply a new PCB and Assembly. This is wasteful as the PCB is common for both and justifies the use of databases and CIS. It is a matter of whether the company bosses want to waste money on a new pcb for every variant or use databases for variants.
Libraries are good for basic designs, but are useless for variant designs.Databases allow for the same features as Libraries but have the advantage of using Access instead of Excel which has a lot more features for creating, copying, modifying parts.
I created an almost complete MRPII database using Access based on Cadence CIS (it was started from a Cadstar Database and migrated seamlessly into CIS).
The impossible we do straight away. Miracles take a little longer.
In reply to tmd63:
As I couldn't find a solution to my problem, I wrote a script that did what I wanted, using Tcl & OrCAD commands. Click on a part, RMB, choose "Replace Part..." and it replaces the part with a chosen library part, preserving the REFDES, as well as the attribute visibility, location and rotation. It was pretty easy, and I'm surprised this routine is not part of OrCAD. The documentation for Tcl and the commands is not the best, but I muddled my way through and figured it out. The "device" in ReplacePart, for a single device part such as a resistor, needed to be "" (as in nothing). The "D" they use in their example for the "device" parameter is the 4th gate of a quad IC (as in A, B, C, D)...that wasn't documented or obvious at first.