Update wiki pages
[geda-gaf.git] / docs / wiki / geda-gparts_dd.html
blob44741b27f3f1b9c20c599c2464e9a0c31aede9db
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html>
4 <head>
5 <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />
6 <link rel="stylesheet" media="screen" type="text/css" href="./design.css" />
7 <link rel="stylesheet" media="print" type="text/css" href="./print.css" />
9 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10 </head>
11 <body>
13 <p>
14 <a href="start.html" class="wikilink1" title="start.html">gEDA</a> » <a href="geda-developer.html" class="wikilink1" title="geda-developer.html">Development</a> » <a href="geda-gparts_tc.html" class="wikilink1" title="geda-gparts_tc.html">Parts Manager</a> » <a href="geda-gparts_dd.html" class="wikilink1" title="geda-gparts_dd.html">Design Document</a>
15 </p>
17 <p>
18 This page serves as a working document for the design of a parts manager for gEDA. Please submit feedback to the geda-dev or geda-user mailing lists.
19 </p>
21 <p>
22 For implementation details, see <a href="geda-gparts_id.html" class="wikilink1" title="geda-gparts_id.html">gparts_id</a>.
23 </p>
25 <p>
26 Or, return to the <a href="geda-gparts_tc.html" class="wikilink1" title="geda-gparts_tc.html">part manager top level</a> page.
27 </p>
29 <h1 class="sectionedit1" id="part_manager">Part Manager</h1>
30 <div class="level1">
32 <p>
33 The part manager uses a relational database to store parts used in the development of electronic assemblies. The part manager also stores attributes for these parts and can place these attributes into a component or symbol for placement into schematics.
34 </p>
36 <p>
37 The part manager provides a <abbr title="Graphical User Interface">GUI</abbr> that allows the user to browse and edit the data in the part database. The user can select parts in the <abbr title="Graphical User Interface">GUI</abbr>, then cut and paste them into their schematic.
38 </p>
40 <p>
41 The following figure shows the relationship between the parts manager and other applications in the gEDA suite.
42 </p>
44 <p>
45 <a href="media/geda/gparts-flow-2.png" class="media" target="_blank" title="geda:gparts-flow-2.png"><img src="media/geda/gparts-flow-2.png" class="media" title="" alt="" /></a>
46 </p>
48 <p>
49 The part database can be configured as either local or remote. In the remote configuration, many users can access the part database concurrently.
50 </p>
52 </div>
53 <!-- EDIT1 SECTION "Part Manager" [368-1130] -->
54 <h2 class="sectionedit2" id="part_database">Part Database</h2>
55 <div class="level2">
57 <p>
58 The following figure shows the entity relationships for a part in the resistor category. The category does not reference any tables in the resistor category, but only contains the view name and stored procedures to manipulate a part within the resistor category. This mechanism allows the tables and relationships to vary by category.
59 </p>
61 <p>
62 <a href="media/geda/gparts_erd_main.png" class="media" target="_blank" title="geda:gparts_erd_main.png"><img src="media/geda/gparts_erd_main.png" class="media" title="" alt="" /></a>
63 </p>
65 </div>
66 <!-- EDIT2 SECTION "Part Database" [1131-1524] -->
67 <h3 class="sectionedit3" id="entities">Entities</h3>
68 <div class="level3">
70 <p>
71 The database always contains tables to store the following entities. The database contains additional tables to store specific categories of parts (e.g. a capacitor table, a diode table, a resistor table, etc…). This list excludes junction tables and metadata tables.
72 </p>
74 </div>
76 <h4 id="category">Category</h4>
77 <div class="level4">
79 <p>
80 A class of parts (e.g. capacitors, diodes, resistors, transistors, etc…). A category can contain sub-categories (e.g. small-signal diodes, TVS diodes, zener diodes, etc…) Sub-categories can include additional sub-categories. All parts within a category or sub-category share the same set of attributes (e.g. forward voltage, maximum current, power dissipation, etc…). Sub-categories do not need to inherit the attributes of their parent.
81 </p>
83 <p>
84 The category stores metadata for mapping the part’s database columns to the component attributes. For numeric attributes, the category stores the column’s unit of measure (e.g. amps, farads, ohms, volts, etc…).
85 </p>
87 <p>
88 The category also stores the names of database views and stored procedures to access and manipulate the tables of parts within the category.
89 </p>
90 <div class="table sectionedit4"><table class="inline">
91 <thead>
92 <tr class="row0">
93 <th class="col0 leftalign"> Field </th><th class="col1 leftalign"> Type </th><th class="col2 leftalign"> Description </th>
94 </tr>
95 </thead>
96 <tr class="row1">
97 <td class="col0 leftalign"> CategoryID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> Surrogate key </td>
98 </tr>
99 <tr class="row2">
100 <td class="col0"> CategoryName </td><td class="col1"> String </td><td class="col2"> The unique name of the category </td>
101 </tr>
102 <tr class="row3">
103 <td class="col0 leftalign"> ParentID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> Foreign key to Category </td>
104 </tr>
105 </table></div>
106 <!-- EDIT4 TABLE [2645-2884] -->
107 </div>
109 <h4 id="company">Company</h4>
110 <div class="level4">
113 Currently, a company represents a part’s manufacturer.
114 </p>
115 <div class="table sectionedit5"><table class="inline">
116 <thead>
117 <tr class="row0">
118 <th class="col0 leftalign"> Field </th><th class="col1 leftalign"> Type </th><th class="col2 leftalign"> Description </th>
119 </tr>
120 </thead>
121 <tr class="row1">
122 <td class="col0 leftalign"> CompanyID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> Surrogate key </td>
123 </tr>
124 <tr class="row2">
125 <td class="col0"> CompanyName </td><td class="col1"> String </td><td class="col2"> The unique name of the company </td>
126 </tr>
127 </table></div>
128 <!-- EDIT5 TABLE [2963-3136] -->
129 </div>
131 <h4 id="device">Device</h4>
132 <div class="level4">
135 A type of part. The device name only provides a mechanism to map parts to symbols. A part in the library of device resistor can use all the symbols in the library where device is resistor. Similarly, a symbol where device is resistor can represent any part of device resistor. When importing a symbol, the database uses the value of the symbol attribute DEVICE as the initial value for the device field. The user can change the device field after import using the part manager <abbr title="Graphical User Interface">GUI</abbr>.
136 </p>
137 <div class="table sectionedit6"><table class="inline">
138 <thead>
139 <tr class="row0">
140 <th class="col0 leftalign"> Field </th><th class="col1 leftalign"> Type </th><th class="col2 leftalign"> Description </th>
141 </tr>
142 </thead>
143 <tr class="row1">
144 <td class="col0 leftalign"> DeviceID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> Surrogate key </td>
145 </tr>
146 <tr class="row2">
147 <td class="col0"> DeviceName </td><td class="col1"> String </td><td class="col2"> The unique name of the device </td>
148 </tr>
149 </table></div>
150 <!-- EDIT6 TABLE [3642-3809] -->
151 </div>
153 <h4 id="document">Document</h4>
154 <div class="level4">
157 Any file associated with a part. Documents can include datasheets, erata, user manuals, etc… This entity stores a path to the actual document file. The path could either be local or network. The path stored in the database is relative to the base path stored in the configuration file.
158 </p>
159 <div class="table sectionedit7"><table class="inline">
160 <thead>
161 <tr class="row0">
162 <th class="col0 leftalign"> Field </th><th class="col1 leftalign"> Type </th><th class="col2 leftalign"> Description </th>
163 </tr>
164 </thead>
165 <tr class="row1">
166 <td class="col0 leftalign"> DocumentID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> Surrogate key </td>
167 </tr>
168 <tr class="row2">
169 <td class="col0 leftalign"> Category </td><td class="col1"> String </td><td class="col2"> The document&#039;s category (e.g. “Datasheet”, “Erata”, “User Manual”) </td>
170 </tr>
171 <tr class="row3">
172 <td class="col0 leftalign"> Title </td><td class="col1"> String </td><td class="col2 leftalign"> The document&#039;s title </td>
173 </tr>
174 <tr class="row4">
175 <td class="col0 leftalign"> SourceURL </td><td class="col1"> String </td><td class="col2 leftalign"> The <abbr title="Uniform Resource Locator">URL</abbr> where the document can be obtained on the Internet </td>
176 </tr>
177 <tr class="row5">
178 <td class="col0"> FileLocation </td><td class="col1"> String </td><td class="col2 leftalign"> The location of the locally stored document </td>
179 </tr>
180 </table></div>
181 <!-- EDIT7 TABLE [4121-4690] -->
182 </div>
184 <h4 id="footprint">Footprint</h4>
185 <div class="level4">
188 The PCB artwork associated with a package. This entity stores a path to the actual PCB footprint file. The path could either be local or network. The path stored in the database is relative to the base path stored in the configuration file.
189 </p>
190 <div class="table sectionedit8"><table class="inline">
191 <thead>
192 <tr class="row0">
193 <th class="col0 leftalign"> Field </th><th class="col1 leftalign"> Type </th><th class="col2 leftalign"> Description </th>
194 </tr>
195 </thead>
196 <tr class="row1">
197 <td class="col0 leftalign"> FootprintID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> Surrogate key </td>
198 </tr>
199 <tr class="row2">
200 <td class="col0"> FootprintName </td><td class="col1"> String </td><td class="col2"> The unique name of the footprint </td>
201 </tr>
202 </table></div>
203 <!-- EDIT8 TABLE [4956-5141] -->
204 </div>
206 <h4 id="model">Model</h4>
207 <div class="level4">
208 <div class="table sectionedit9"><table class="inline">
209 <thead>
210 <tr class="row0">
211 <th class="col0 leftalign"> Field </th><th class="col1 leftalign"> Type </th><th class="col2 leftalign"> Description </th>
212 </tr>
213 </thead>
214 <tr class="row1">
215 <td class="col0 leftalign"> ModelID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> Surrogate key </td>
216 </tr>
217 <tr class="row2">
218 <td class="col0"> ModelName </td><td class="col1"> String </td><td class="col2 leftalign"> The name of the MODEL within the model file. </td>
219 </tr>
220 <tr class="row3">
221 <td class="col0"> ModelPath </td><td class="col1"> String </td><td class="col2 leftalign"> Absolute path to the model file. </td>
222 </tr>
223 <tr class="row4">
224 <td class="col0"> ModelType </td><td class="col1"> String </td><td class="col2 leftalign"> The model type: IBIS, PSPICE, etc… </td>
225 </tr>
226 </table></div>
227 <!-- EDIT9 TABLE [5158-5537] -->
228 </div>
230 <h5 id="spice">Spice</h5>
231 <div class="level5">
234 When instantiating a component or creating a heavy symbol that uses a Spice model, the following database columns map to the following attributes.
235 </p>
236 <div class="table sectionedit10"><table class="inline">
237 <thead>
238 <tr class="row0">
239 <th class="col0 leftalign"> Column </th><th class="col1 leftalign"> Attribute </th><th class="col2 leftalign"> Notes </th>
240 </tr>
241 </thead>
242 <tr class="row1">
243 <td class="col0"> Model.ModelName </td><td class="col1"> MODEL-NAME </td><td class="col2 leftalign"> </td>
244 </tr>
245 <tr class="row2">
246 <td class="col0"> Model.ModelPath </td><td class="col1 leftalign"> FILE </td><td class="col2"> Should use absolute path. </td>
247 </tr>
248 </table></div>
249 <!-- EDIT10 TABLE [5700-5882] -->
250 </div>
252 <h4 id="part_flat">Part (Flat)</h4>
253 <div class="level4">
256 A part represents a class of components. The database uses this version of the part table when configured to use a flat part table. The flat and hierarchical parts tables are mutually exclusive. The database uses one or the other.
257 </p>
258 <div class="table sectionedit11"><table class="inline">
259 <thead>
260 <tr class="row0">
261 <th class="col0 leftalign"> Field </th><th class="col1"> Type </th><th class="col2 leftalign"> Description </th>
262 </tr>
263 </thead>
264 <tr class="row1">
265 <td class="col0 leftalign"> PartID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> Surrogate key </td>
266 </tr>
267 <tr class="row2">
268 <td class="col0 leftalign"> CompanyID </td><td class="col1 leftalign"> </td><td class="col2"> Foreign key to company specifies manufacturer </td>
269 </tr>
270 <tr class="row3">
271 <td class="col0"> PartNumber </td><td class="col1"> String </td><td class="col2 leftalign"> The manufacturers&#039;s part number </td>
272 </tr>
273 <tr class="row4">
274 <td class="col0 leftalign"> DeviceID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> Foreign key to Device </td>
275 </tr>
276 </table></div>
277 <!-- EDIT11 TABLE [6137-6494] -->
279 Other columns TBD.
280 </p>
282 </div>
284 <h4 id="part_hierarchical">Part (Hierarchical)</h4>
285 <div class="level4">
288 A part represents a class of components. The database uses this version of the part table when configured to use hierarchical part tables. The flat and hierarchical parts tables are mutually exclusive. The database uses one or the other.
289 </p>
290 <div class="table sectionedit12"><table class="inline">
291 <thead>
292 <tr class="row0">
293 <th class="col0 leftalign"> Field </th><th class="col1"> Type </th><th class="col2 leftalign"> Description </th>
294 </tr>
295 </thead>
296 <tr class="row1">
297 <td class="col0 leftalign"> PartID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> Surrogate key </td>
298 </tr>
299 <tr class="row2">
300 <td class="col0 leftalign"> CompanyID </td><td class="col1 leftalign"> </td><td class="col2"> Foreign key to company specifies manufacturer </td>
301 </tr>
302 <tr class="row3">
303 <td class="col0"> PartNumber </td><td class="col1"> String </td><td class="col2 leftalign"> The manufacturers&#039;s part number </td>
304 </tr>
305 <tr class="row4">
306 <td class="col0 leftalign"> DeviceID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> Foreign key to Device </td>
307 </tr>
308 </table></div>
309 <!-- EDIT12 TABLE [6785-7142] -->
310 </div>
312 <h4 id="package">Package</h4>
313 <div class="level4">
316 The physical structure, or form-factor, of a part (i.e. 0603, SOT-23, PDIP16). Each package can associate with zero or more footprints. Also, each footprint could represent zero or more packages.
317 </p>
318 <div class="table sectionedit13"><table class="inline">
319 <thead>
320 <tr class="row0">
321 <th class="col0 leftalign"> Field </th><th class="col1 leftalign"> Type </th><th class="col2 leftalign"> Description </th>
322 </tr>
323 </thead>
324 <tr class="row1">
325 <td class="col0 leftalign"> PackageID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> Surrogate key </td>
326 </tr>
327 <tr class="row2">
328 <td class="col0"> PackageName </td><td class="col1"> String </td><td class="col2 leftalign"> The unique name of the package </td>
329 </tr>
330 <tr class="row3">
331 <td class="col0 leftalign"> Technology </td><td class="col1"> String </td><td class="col2"> The type of package. Either “SMT” or “TH” </td>
332 </tr>
333 </table></div>
334 <!-- EDIT13 TABLE [7360-7639] -->
335 </div>
337 <h4 id="symbol">Symbol</h4>
338 <div class="level4">
341 The graphical representation of a part. This entity uses the symbol base filename as the unique name of the symbol. This base filename is relative to one of the component libraries found in the configuration files. The component library paths can either be local or network.
342 </p>
343 <div class="table sectionedit14"><table class="inline">
344 <thead>
345 <tr class="row0">
346 <th class="col0 leftalign"> Field </th><th class="col1 leftalign"> Type </th><th class="col2 leftalign"> Description </th>
347 </tr>
348 </thead>
349 <tr class="row1">
350 <td class="col0 leftalign"> SymbolID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> Surrogate key </td>
351 </tr>
352 <tr class="row2">
353 <td class="col0"> SymbolName </td><td class="col1"> String </td><td class="col2"> The unique name of the symbol. This field contains the base filename of the symbol. </td>
354 </tr>
355 <tr class="row3">
356 <td class="col0 leftalign"> DeviceID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> Foreign key to Device </td>
357 </tr>
358 </table></div>
359 <!-- EDIT14 TABLE [7933-8318] -->
360 </div>
361 <!-- EDIT3 SECTION "Entities" [1525-8319] -->
362 <h3 class="sectionedit15" id="part_categories">Part Categories</h3>
363 <div class="level3">
366 Part categories break down classes of parts hierarchically. The category hierarchy exists separately than the part hierarchy. The category hierarchy only provides the user with a system to locate parts quickly. A child in the category hierarchy does not need to inherit the attributes of a parent.
367 </p>
370 The parts manager uses categories to keep the lists of parts manageable. If the list of parts in a particular category grows large, the category can be subdivided into sub-categories.
371 </p>
374 It may be difficult to change the categories, using a <abbr title="Graphical User Interface">GUI</abbr>, because of the part table abstraction through database views and stored procedures. It may be better to distribute the parts manager with a default configuration that works for most.
375 </p>
376 <div class="noteclassic">Help is needed with the taxonomy of parts. Please send feedback to the geda-dev or geda-user mailing lists.
377 </div>
379 The default hierarchy of parts follow:
380 </p>
381 <ul>
382 <li class="level1 node"><div class="li"> Discretes</div>
383 <ul>
384 <li class="level2 node"><div class="li"> Diodes</div>
385 <ul>
386 <li class="level3"><div class="li"> Small-signal</div>
387 </li>
388 <li class="level3"><div class="li"> TVS</div>
389 </li>
390 <li class="level3"><div class="li"> Zeners</div>
391 </li>
392 </ul>
393 </li>
394 </ul>
395 </li>
396 <li class="level1 node"><div class="li"> Passives</div>
397 <ul>
398 <li class="level2"><div class="li"> Capacitors</div>
399 </li>
400 <li class="level2"><div class="li"> Inductors</div>
401 </li>
402 <li class="level2"><div class="li"> Resistors</div>
403 </li>
404 </ul>
405 </li>
406 </ul>
408 </div>
409 <!-- EDIT15 SECTION "Part Categories" [8320-9383] -->
410 <h3 class="sectionedit16" id="part_hierarchy">Part Hierarchy</h3>
411 <div class="level3">
414 The part hierarchy allows the database to attach additional attributes to a class of parts. These attributes provide a faster means to locate and select parts, especially commodity parts. The database only provides these additional attributes when configured to use hierarchical part tables.
415 </p>
418 These additional attributes, stored in numeric format, allow SQL to select parts. For example, to locate diodes with reverse voltage greater than 60 volts, use the following SQL statement.
419 </p>
420 <pre class="code sql"><span class="kw1">SELECT</span> <span class="sy0">*</span> <span class="kw1">FROM</span> DiodeV
421 <span class="kw1">WHERE</span> VR <span class="sy0">&gt;</span> <span class="nu0">60</span>;</pre>
424 The intent of the part hierarchy does not include exhaustively classifying all electronic parts or fully parameterizing any class of electronic part. The part hierarchy simply intends to allow the user to quickly locate a part, such as a 4.751% 0603.
425 </p>
428 <em class="u">TODO: Develop guidelines for subclassing part.</em>
429 </p>
432 Proposed guidelines for including attributes:
433 </p>
434 <ul>
435 <li class="level1"><div class="li"> Include attributes that are encoded in the manufacturer part number.</div>
436 </li>
437 <li class="level1"><div class="li"> Exclude attributes that are inconsistently characterized between manufacturers.</div>
438 </li>
439 <li class="level1"><div class="li"> Exclude attributes that must be either read from graphs, or calculated. </div>
440 </li>
441 </ul>
444 These attributes may not work for everyone, so the database allows the user to customize these part tables.
445 </p>
447 </div>
449 <h4 id="bjts">BJTs</h4>
450 <div class="level4">
453 Bipolar Junction Transistors (BJTs) extend part with one additional table of attributes.
454 </p>
457 Table name: BJT
458 </p>
461 View name: BJTV
462 </p>
463 <div class="table sectionedit17"><table class="inline">
464 <thead>
465 <tr class="row0">
466 <th class="col0 leftalign"> Field </th><th class="col1 leftalign"> Type </th><th class="col2 leftalign"> Units </th><th class="col3 leftalign"> Description </th>
467 </tr>
468 </thead>
469 <tr class="row1">
470 <td class="col0 leftalign"> PartID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> </td><td class="col3 leftalign"> Foreign key to Part </td>
471 </tr>
472 <tr class="row2">
473 <td class="col0 leftalign"> PackageID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> </td><td class="col3 leftalign"> Foreign key to Package </td>
474 </tr>
475 <tr class="row3">
476 <td class="col0 leftalign"> Polarity </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> </td><td class="col3 leftalign"> Either NPN or PNP </td>
477 </tr>
478 <tr class="row4">
479 <td class="col0 leftalign"> MaxCollectorCurrent </td><td class="col1"> Physical </td><td class="col2 leftalign"> AMPS </td><td class="col3 leftalign"> Maximum collector current (Absolute maximum rating) </td>
480 </tr>
481 <tr class="row5">
482 <td class="col0 leftalign"> MaxCollectorEmitterVoltage </td><td class="col1"> Physical </td><td class="col2 leftalign"> VOLTS </td><td class="col3"> Maximum collector-emitter voltage (Absolute maximum rating) </td>
483 </tr>
484 <tr class="row6">
485 <td class="col0 leftalign"> TransitionFrequency </td><td class="col1"> Physical </td><td class="col2 leftalign"> HERTZ </td><td class="col3 leftalign"> </td>
486 </tr>
487 <tr class="row7">
488 <td class="col0 leftalign"> PowerDissipation </td><td class="col1"> Physical </td><td class="col2 leftalign"> WATTS </td><td class="col3 leftalign"> Power dissipation (Pd) not including any derating </td>
489 </tr>
490 </table></div>
491 <!-- EDIT17 TABLE [10794-11729] -->
493 The same table contains small-signal and power BJTs. These transistors can be
494 placed into separate views using the following criteria.
495 </p>
496 <div class="table sectionedit18"><table class="inline">
497 <thead>
498 <tr class="row0">
499 <th class="col0 leftalign"> Category </th><th class="col1 leftalign"> Criteria </th><th class="col2"> View Name </th>
500 </tr>
501 </thead>
502 <tr class="row1">
503 <td class="col0"> Small-signal BJT </td><td class="col1"> PowerDissipation &lt; 1.0 </td><td class="col2 leftalign"> TBD </td>
504 </tr>
505 <tr class="row2">
506 <td class="col0 leftalign"> Power BJT </td><td class="col1"> PowerDissipation &gt;= 1.0 </td><td class="col2 leftalign"> TBD </td>
507 </tr>
508 </table></div>
509 <!-- EDIT18 TABLE [11867-12043] -->
510 </div>
512 <h4 id="capacitors">Capacitors</h4>
513 <div class="level4">
516 Capacitors extend part with one additional table of attributes.
517 </p>
518 <div class="table sectionedit19"><table class="inline">
519 <thead>
520 <tr class="row0">
521 <th class="col0 leftalign"> Field </th><th class="col1 leftalign"> Type </th><th class="col2 leftalign"> Units </th><th class="col3 leftalign"> Description </th>
522 </tr>
523 </thead>
524 <tr class="row1">
525 <td class="col0 leftalign"> PartID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> </td><td class="col3 leftalign"> Foreign key to Part </td>
526 </tr>
527 <tr class="row2">
528 <td class="col0 leftalign"> PackageID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> </td><td class="col3"> Foreign key to Package </td>
529 </tr>
530 <tr class="row3">
531 <td class="col0"> Capacitance </td><td class="col1"> Physical </td><td class="col2 leftalign"> FARADS </td><td class="col3 leftalign"> Capacitance </td>
532 </tr>
533 </table></div>
534 <!-- EDIT19 TABLE [12130-12377] -->
536 When instantiating a component or creating a heavy symbol, the following database columns map to the following attributes.
537 </p>
538 <div class="table sectionedit20"><table class="inline">
539 <thead>
540 <tr class="row0">
541 <th class="col0 leftalign"> Column </th><th class="col1"> Attribute </th><th class="col2 leftalign"> Notes </th>
542 </tr>
543 </thead>
544 <tr class="row1">
545 <td class="col0 leftalign"> Device.DeviceName </td><td class="col1 leftalign"> DEVICE </td><td class="col2 leftalign"> </td>
546 </tr>
547 <tr class="row2">
548 <td class="col0"> Capacitor.Capacitance </td><td class="col1 leftalign"> VALUE </td><td class="col2 leftalign"> </td>
549 </tr>
550 </table></div>
551 <!-- EDIT20 TABLE [12503-12691] -->
552 </div>
554 <h4 id="inductors">Inductors</h4>
555 <div class="level4">
558 Inductors extend part with one additional table of attributes.
559 </p>
560 <div class="table sectionedit21"><table class="inline">
561 <thead>
562 <tr class="row0">
563 <th class="col0 leftalign"> Field </th><th class="col1 leftalign"> Type </th><th class="col2 leftalign"> Units </th><th class="col3 leftalign"> Description </th>
564 </tr>
565 </thead>
566 <tr class="row1">
567 <td class="col0 leftalign"> PartID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> </td><td class="col3 leftalign"> Foreign key to Part </td>
568 </tr>
569 <tr class="row2">
570 <td class="col0 leftalign"> PackageID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> </td><td class="col3"> Foreign key to Package </td>
571 </tr>
572 <tr class="row3">
573 <td class="col0"> Inductance </td><td class="col1"> Physical </td><td class="col2 leftalign"> HENRYS </td><td class="col3 leftalign"> Inductance </td>
574 </tr>
575 </table></div>
576 <!-- EDIT21 TABLE [12776-13019] -->
578 When instantiating a component or creating a heavy symbol, the following database columns map to the following attributes.
579 </p>
580 <div class="table sectionedit22"><table class="inline">
581 <thead>
582 <tr class="row0">
583 <th class="col0 leftalign"> Column </th><th class="col1"> Attribute </th><th class="col2 leftalign"> Notes </th>
584 </tr>
585 </thead>
586 <tr class="row1">
587 <td class="col0 leftalign"> Device.DeviceName </td><td class="col1 leftalign"> DEVICE </td><td class="col2 leftalign"> </td>
588 </tr>
589 <tr class="row2">
590 <td class="col0"> Inductor.Inductance </td><td class="col1 leftalign"> VALUE </td><td class="col2 leftalign"> </td>
591 </tr>
592 </table></div>
593 <!-- EDIT22 TABLE [13145-13327] -->
594 </div>
596 <h4 id="mosfets">MOSFETs</h4>
597 <div class="level4">
600 MOSFETs extend part with one additional table of attributes.
601 </p>
602 <div class="table sectionedit23"><table class="inline">
603 <thead>
604 <tr class="row0">
605 <th class="col0 leftalign"> Field </th><th class="col1 leftalign"> Type </th><th class="col2 leftalign"> Units </th><th class="col3 leftalign"> Description </th>
606 </tr>
607 </thead>
608 <tr class="row1">
609 <td class="col0 leftalign"> PartID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> </td><td class="col3 leftalign"> Foreign key to Part </td>
610 </tr>
611 <tr class="row2">
612 <td class="col0 leftalign"> PackageID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> </td><td class="col3 leftalign"> Foreign key to Package </td>
613 </tr>
614 <tr class="row3">
615 <td class="col0 leftalign"> Polarity </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> </td><td class="col3 leftalign"> Either N or P </td>
616 </tr>
617 <tr class="row4">
618 <td class="col0 leftalign"> MaxDrainSourceVoltage </td><td class="col1"> Physical </td><td class="col2 leftalign"> VOLTS </td><td class="col3 leftalign"> Maximum drain-source voltage (Absolute maximum rating) </td>
619 </tr>
620 <tr class="row5">
621 <td class="col0 leftalign"> MaxDrainCurrent </td><td class="col1"> Physical </td><td class="col2 leftalign"> AMPS </td><td class="col3"> Maximum continuous drain current (Absolute maximum rating) </td>
622 </tr>
623 <tr class="row6">
624 <td class="col0"> TypGateThresholdVoltage </td><td class="col1"> Physical </td><td class="col2 leftalign"> VOLTS </td><td class="col3 leftalign"> Typical gate threshold voltage </td>
625 </tr>
626 <tr class="row7">
627 <td class="col0 leftalign"> PowerDissipation </td><td class="col1"> Physical </td><td class="col2 leftalign"> WATTS </td><td class="col3 leftalign"> Power dissipation (Pd) not including any derating </td>
628 </tr>
629 </table></div>
630 <!-- EDIT23 TABLE [13408-14287] -->
631 </div>
633 <h4 id="rectifier_small-signal_and_switching_diodes">Rectifier, Small-signal and Switching Diodes</h4>
634 <div class="level4">
637 Rectifier, small-signal and switching diodes extend part with one additional table of
638 attributes. Most diodes can be placed into this table.
639 </p>
642 Table name: Diode
643 </p>
646 View name: DiodeV
647 </p>
648 <div class="table sectionedit24"><table class="inline">
649 <thead>
650 <tr class="row0">
651 <th class="col0 leftalign"> Field </th><th class="col1 leftalign"> Type </th><th class="col2"> Units </th><th class="col3 leftalign"> Description </th>
652 </tr>
653 </thead>
654 <tr class="row1">
655 <td class="col0 leftalign"> PartID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> </td><td class="col3 leftalign"> Foreign key to Part </td>
656 </tr>
657 <tr class="row2">
658 <td class="col0 leftalign"> PackageID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> </td><td class="col3 leftalign"> Foreign key to Package </td>
659 </tr>
660 <tr class="row3">
661 <td class="col0"> MaxReverseVoltage </td><td class="col1"> Physical </td><td class="col2"> VOLTS </td><td class="col3"> Maximum reverse voltage (Absolute maximum rating) </td>
662 </tr>
663 <tr class="row4">
664 <td class="col0"> MaxForwardCurrent </td><td class="col1"> Physical </td><td class="col2 leftalign"> AMPS </td><td class="col3"> Maximum forward current (Absolute maximum rating) </td>
665 </tr>
666 <tr class="row5">
667 <td class="col0"> TypForwardVoltage </td><td class="col1"> Physical </td><td class="col2"> VOLTS </td><td class="col3 leftalign"> Typical forward voltage </td>
668 </tr>
669 <tr class="row6">
670 <td class="col0"> AveForwardCurrent </td><td class="col1"> Physical </td><td class="col2 leftalign"> AMPS </td><td class="col3 leftalign"> Average forward current </td>
671 </tr>
672 </table></div>
673 <!-- EDIT24 TABLE [14523-15173] -->
675 The same table contains rectifier, small-signal and switching diodes. These diodes can be
676 placed into separate views using the following criteria.
677 </p>
678 <div class="table sectionedit25"><table class="inline">
679 <thead>
680 <tr class="row0">
681 <th class="col0 leftalign"> Category </th><th class="col1 leftalign"> Criteria </th><th class="col2"> View Name </th>
682 </tr>
683 </thead>
684 <tr class="row1">
685 <td class="col0"> Small-signal and switching diodes </td><td class="col1"> AveForwardCurrent &lt; 0.5 </td><td class="col2 leftalign"> TBD </td>
686 </tr>
687 <tr class="row2">
688 <td class="col0 leftalign"> Rectifier diodes </td><td class="col1"> AveForwardCurrent &gt;= 0.5 </td><td class="col2 leftalign"> TBD </td>
689 </tr>
690 </table></div>
691 <!-- EDIT25 TABLE [15323-15553] -->
692 </div>
694 <h4 id="resistors">Resistors</h4>
695 <div class="level4">
698 Resistors extend part with one additional table of attributes.
699 </p>
700 <div class="table sectionedit26"><table class="inline">
701 <thead>
702 <tr class="row0">
703 <th class="col0 leftalign"> Field </th><th class="col1 leftalign"> Type </th><th class="col2 leftalign"> Units </th><th class="col3 leftalign"> Description </th>
704 </tr>
705 </thead>
706 <tr class="row1">
707 <td class="col0 leftalign"> PartID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> </td><td class="col3 leftalign"> Foreign key to Part </td>
708 </tr>
709 <tr class="row2">
710 <td class="col0 leftalign"> PackageID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> </td><td class="col3"> Foreign key to Package </td>
711 </tr>
712 <tr class="row3">
713 <td class="col0"> Resistance </td><td class="col1"> Physical </td><td class="col2 leftalign"> OHMS </td><td class="col3 leftalign"> Resistance </td>
714 </tr>
715 <tr class="row4">
716 <td class="col0 leftalign"> Tolerance </td><td class="col1"> Physical </td><td class="col2"> PERCENT </td><td class="col3 leftalign"> Tolerance </td>
717 </tr>
718 </table></div>
719 <!-- EDIT26 TABLE [15638-15942] -->
721 When instantiating a component or creating a heavy symbol, the following database columns map to the following attributes.
722 </p>
723 <div class="table sectionedit27"><table class="inline">
724 <thead>
725 <tr class="row0">
726 <th class="col0 leftalign"> Column </th><th class="col1"> Attribute </th><th class="col2 leftalign"> Notes </th>
727 </tr>
728 </thead>
729 <tr class="row1">
730 <td class="col0 leftalign"> Device.DeviceName </td><td class="col1 leftalign"> DEVICE </td><td class="col2 leftalign"> </td>
731 </tr>
732 <tr class="row2">
733 <td class="col0"> Resistor.Resistance </td><td class="col1 leftalign"> VALUE </td><td class="col2 leftalign"> </td>
734 </tr>
735 </table></div>
736 <!-- EDIT27 TABLE [16068-16250] -->
737 </div>
739 <h4 id="tvs_diodes">TVS Diodes</h4>
740 <div class="level4">
743 TVS diodes extend part with one additional table of attributes.
744 </p>
745 <div class="table sectionedit28"><table class="inline">
746 <thead>
747 <tr class="row0">
748 <th class="col0 leftalign"> Field </th><th class="col1 leftalign"> Type </th><th class="col2"> Units </th><th class="col3 leftalign"> Description </th>
749 </tr>
750 </thead>
751 <tr class="row1">
752 <td class="col0 leftalign"> PartID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> </td><td class="col3 leftalign"> Foreign key to Part </td>
753 </tr>
754 <tr class="row2">
755 <td class="col0 leftalign"> PackageID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> </td><td class="col3"> Foreign key to Package </td>
756 </tr>
757 <tr class="row3">
758 <td class="col0 leftalign"> WorkingVoltage </td><td class="col1"> Physical </td><td class="col2"> VOLTS </td><td class="col3 leftalign"> Working voltage </td>
759 </tr>
760 <tr class="row4">
761 <td class="col0"> BreakdownVoltage </td><td class="col1"> Physical </td><td class="col2"> VOLTS </td><td class="col3 leftalign"> Breakdown voltage </td>
762 </tr>
763 </table></div>
764 <!-- EDIT28 TABLE [16337-16661] -->
765 </div>
767 <h4 id="zener_diodes">Zener Diodes</h4>
768 <div class="level4">
771 Zener diodes extend part with one additional table of attributes.
772 </p>
775 Table name: ZenerDiode
776 </p>
779 View name: ZenerDiodeV
780 </p>
781 <div class="table sectionedit29"><table class="inline">
782 <thead>
783 <tr class="row0">
784 <th class="col0 leftalign"> Field </th><th class="col1 leftalign"> Type </th><th class="col2"> Units </th><th class="col3 leftalign"> Description </th>
785 </tr>
786 </thead>
787 <tr class="row1">
788 <td class="col0 leftalign"> PartID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> </td><td class="col3 leftalign"> Foreign key to Part </td>
789 </tr>
790 <tr class="row2">
791 <td class="col0 leftalign"> PackageID </td><td class="col1 leftalign"> </td><td class="col2 leftalign"> </td><td class="col3 leftalign"> Foreign key to Package </td>
792 </tr>
793 <tr class="row3">
794 <td class="col0 leftalign"> TypZenerVoltage </td><td class="col1"> Physical </td><td class="col2"> VOLTS </td><td class="col3 leftalign"> Zener voltage </td>
795 </tr>
796 <tr class="row4">
797 <td class="col0"> PowerDissipation </td><td class="col1"> Physical </td><td class="col2"> WATTS </td><td class="col3"> Power dissipation (Pd) not including any derating </td>
798 </tr>
799 </table></div>
800 <!-- EDIT29 TABLE [16800-17259] -->
801 </div>
802 <!-- EDIT16 SECTION "Part Hierarchy" [9384-17260] -->
803 <h2 class="sectionedit30" id="part_manager_gui">Part Manager GUI</h2>
804 <div class="level2">
807 The part manager <abbr title="Graphical User Interface">GUI</abbr> is the main component of the part management system. The part manager <abbr title="Graphical User Interface">GUI</abbr> allows the user to browse and manipulate the part database and to cut and paste symbols into the schematic editor.
808 </p>
810 </div>
811 <!-- EDIT30 SECTION "Part Manager GUI" [17261-17502] -->
812 <h3 class="sectionedit31" id="use_cases">Use Cases</h3>
813 <div class="level3">
815 </div>
817 <h4 id="uccomponentcopyclipboard">uc.component.copy.clipboard</h4>
818 <div class="level4">
821 Copy a part to the clipboard as a component (light symbol).
822 </p>
823 <ol>
824 <li class="level1"><div class="li"> The user selects a part in the database.</div>
825 </li>
826 <li class="level1"><div class="li"> The user selects a symbol to represent the part.</div>
827 </li>
828 <li class="level1"><div class="li"> The <abbr title="Graphical User Interface">GUI</abbr> instantiates a component and overrides attributes.</div>
829 </li>
830 <li class="level1"><div class="li"> The user previews the component to ensure the graphic looks correct.</div>
831 </li>
832 <li class="level1"><div class="li"> The user selects the copy action.</div>
833 </li>
834 <li class="level1"><div class="li"> The <abbr title="Graphical User Interface">GUI</abbr> copies the component to the clipboard.</div>
835 </li>
836 <li class="level1"><div class="li"> The user pastes the component in gschem.</div>
837 </li>
838 </ol>
840 </div>
842 <h4 id="uccomponentexportfile">uc.component.export.file</h4>
843 <div class="level4">
846 Export a part to a file as a heavy symbol.
847 </p>
848 <ol>
849 <li class="level1"><div class="li"> The user selects a part in the database.</div>
850 </li>
851 <li class="level1"><div class="li"> The user selects a symbol to represent the part.</div>
852 </li>
853 <li class="level1"><div class="li"> The <abbr title="Graphical User Interface">GUI</abbr> clones the symbol and substitutes attributes.</div>
854 </li>
855 <li class="level1"><div class="li"> The user previews the symbol to ensure the graphic looks correct.</div>
856 </li>
857 <li class="level1"><div class="li"> The user selects the export action.</div>
858 </li>
859 <li class="level1"><div class="li"> The <abbr title="Graphical User Interface">GUI</abbr> prompts the user for a filename and location.</div>
860 </li>
861 <li class="level1"><div class="li"> The <abbr title="Graphical User Interface">GUI</abbr> writes the symbol to the given file.</div>
862 </li>
863 </ol>
865 </div>
867 <h4 id="ucdatabasecreate">uc.database.create</h4>
868 <div class="level4">
871 Create a new part database.
872 </p>
873 <ol>
874 <li class="level1"><div class="li"> TBD</div>
875 </li>
876 </ol>
878 </div>
880 <h4 id="ucdatabasedestroy">uc.database.destroy</h4>
881 <div class="level4">
884 Destroy an existing database.
885 </p>
886 <ol>
887 <li class="level1"><div class="li"> The user selects the destroy database action.</div>
888 </li>
889 <li class="level1"><div class="li"> The <abbr title="Graphical User Interface">GUI</abbr> prompts the user for confirmation.</div>
890 </li>
891 <li class="level1"><div class="li"> The application drops the database.</div>
892 </li>
893 </ol>
895 </div>
897 <h4 id="ucdocumentadd">uc.document.add</h4>
898 <div class="level4">
901 Add a new document to the database.
902 </p>
903 <ol>
904 <li class="level1"><div class="li"> The user selects the add document action.</div>
905 </li>
906 <li class="level1"><div class="li"> The <abbr title="Graphical User Interface">GUI</abbr> prompts the user for a filename and location.</div>
907 </li>
908 <li class="level1"><div class="li"> The application adds the document to the database.</div>
909 </li>
910 </ol>
912 </div>
914 <h4 id="ucdocumentattach">uc.document.attach</h4>
915 <div class="level4">
918 Associate a document(s) with a part(s).
919 </p>
920 <ol>
921 <li class="level1"><div class="li"> The user selects one or more parts from the database.</div>
922 </li>
923 <li class="level1"><div class="li"> The user selects the attach document action.</div>
924 </li>
925 <li class="level1"><div class="li"> The <abbr title="Graphical User Interface">GUI</abbr> prompts the user with a list of all the documents in the database.</div>
926 </li>
927 <li class="level1"><div class="li"> The user selects one or more documents from the list.</div>
928 </li>
929 <li class="level1"><div class="li"> The application attaches the given documents to the given parts.</div>
930 </li>
931 </ol>
933 </div>
935 <h4 id="ucdocumentdelete">uc.document.delete</h4>
936 <div class="level4">
939 Delete a document(s) from the database. Remove all references.
940 </p>
941 <ol>
942 <li class="level1"><div class="li"> The user selects one or more documents in the database.</div>
943 </li>
944 <li class="level1"><div class="li"> The user selects the delete action.</div>
945 </li>
946 <li class="level1"><div class="li"> The <abbr title="Graphical User Interface">GUI</abbr> prompts the user for confirmation.</div>
947 </li>
948 <li class="level1"><div class="li"> The application deletes the selected documents from the database.</div>
949 </li>
950 </ol>
952 </div>
954 <h4 id="ucdocumentdetach">uc.document.detach</h4>
955 <div class="level4">
958 Disassociate a document(s) from a part(s). All parts and documents remain in the database. Only the relationship is removed.
959 </p>
960 <ol>
961 <li class="level1"><div class="li"> The user selects one or more parts from the database.</div>
962 </li>
963 <li class="level1"><div class="li"> The user selects the detach document action.</div>
964 </li>
965 <li class="level1"><div class="li"> The <abbr title="Graphical User Interface">GUI</abbr> prompts the user with a list of all the documents attached to the given parts.</div>
966 </li>
967 <li class="level1"><div class="li"> The user selects one or more documents from the list.</div>
968 </li>
969 <li class="level1"><div class="li"> The <abbr title="Graphical User Interface">GUI</abbr> prompts the user for confirmation.</div>
970 </li>
971 <li class="level1"><div class="li"> The application detaches the given documents from the given parts, if attached.</div>
972 </li>
973 </ol>
975 </div>
977 <h4 id="ucdocumentedit">uc.document.edit</h4>
978 <div class="level4">
981 Edit the metadata associated with a document.
982 </p>
983 <ol>
984 <li class="level1"><div class="li"> TBD</div>
985 </li>
986 </ol>
988 </div>
990 <h4 id="ucdocumentview">uc.document.view</h4>
991 <div class="level4">
994 View a document.
995 </p>
996 <ol>
997 <li class="level1"><div class="li"> TBD</div>
998 </li>
999 </ol>
1001 </div>
1003 <h4 id="ucfootprintdelete">uc.footprint.delete</h4>
1004 <div class="level4">
1007 Delete a footprint(s) from the database. Remove all references.
1008 </p>
1009 <ol>
1010 <li class="level1"><div class="li"> The user selects one or more footprints in the database.</div>
1011 </li>
1012 <li class="level1"><div class="li"> The user selects the delete action.</div>
1013 </li>
1014 <li class="level1"><div class="li"> The <abbr title="Graphical User Interface">GUI</abbr> prompts the user for confirmation.</div>
1015 </li>
1016 <li class="level1"><div class="li"> The application deletes the selected footprints from the database.</div>
1017 </li>
1018 </ol>
1020 </div>
1022 <h4 id="ucfootprintedit">uc.footprint.edit</h4>
1023 <div class="level4">
1026 Edit the metadata associated with a footprint.
1027 </p>
1029 </div>
1031 <h4 id="ucfootprintimportfile">uc.footprint.import.file</h4>
1032 <div class="level4">
1035 Import a single footprint file into the database.
1036 </p>
1037 <ol>
1038 <li class="level1"><div class="li"> The user selects the import footprint file action.</div>
1039 </li>
1040 <li class="level1"><div class="li"> The <abbr title="Graphical User Interface">GUI</abbr> prompts the user for a footprint file.</div>
1041 </li>
1042 <li class="level1"><div class="li"> The application creates a footprint in the database for a new footprint file.</div>
1043 </li>
1044 <li class="level1"><div class="li"> The application updates a footprint in the database for an old footprint file.</div>
1045 </li>
1046 </ol>
1048 </div>
1050 <h4 id="ucfootprintimportlibrary">uc.footprint.import.library</h4>
1051 <div class="level4">
1054 Import all footprint files from the library into the database.
1055 </p>
1056 <ol>
1057 <li class="level1"><div class="li"> The user selects the import footprint library action.</div>
1058 </li>
1059 <li class="level1"><div class="li"> The application searches all footprint libraries.</div>
1060 </li>
1061 <li class="level1"><div class="li"> The application creates footprints in the database for new footprint files in the library.</div>
1062 </li>
1063 <li class="level1"><div class="li"> The application updates footprints in the database for old footprint files in the library. </div>
1064 </li>
1065 </ol>
1067 </div>
1069 <h4 id="ucmodeladd">uc.model.add</h4>
1070 <div class="level4">
1073 Add a new model to the database.
1074 </p>
1075 <ol>
1076 <li class="level1"><div class="li"> The user selects the add model action.</div>
1077 </li>
1078 <li class="level1"><div class="li"> The <abbr title="Graphical User Interface">GUI</abbr> prompts the user for a model type, name, and filename.</div>
1079 </li>
1080 <li class="level1"><div class="li"> The application adds the model to the database.</div>
1081 </li>
1082 </ol>
1084 </div>
1086 <h4 id="ucmodelattach">uc.model.attach</h4>
1087 <div class="level4">
1090 Associate a model(s) with a part(s).
1091 </p>
1092 <ol>
1093 <li class="level1"><div class="li"> The user selects one or more parts from the database.</div>
1094 </li>
1095 <li class="level1"><div class="li"> The user selects the attach model action.</div>
1096 </li>
1097 <li class="level1"><div class="li"> The <abbr title="Graphical User Interface">GUI</abbr> prompts the user with a list of all the models in the database.</div>
1098 </li>
1099 <li class="level1"><div class="li"> The user selects one or more models from the list.</div>
1100 </li>
1101 <li class="level1"><div class="li"> The application attaches the given models to the given parts.</div>
1102 </li>
1103 </ol>
1105 </div>
1107 <h4 id="ucmodeldelete">uc.model.delete</h4>
1108 <div class="level4">
1111 Delete a model(s) from the database. Remove all references.
1112 </p>
1113 <ol>
1114 <li class="level1"><div class="li"> The user selects one or more models in the database.</div>
1115 </li>
1116 <li class="level1"><div class="li"> The user selects the delete action.</div>
1117 </li>
1118 <li class="level1"><div class="li"> The <abbr title="Graphical User Interface">GUI</abbr> prompts the user for confirmation.</div>
1119 </li>
1120 <li class="level1"><div class="li"> The application deletes the selected models from the database.</div>
1121 </li>
1122 </ol>
1124 </div>
1126 <h4 id="ucmodeldetach">uc.model.detach</h4>
1127 <div class="level4">
1130 Disassociate a model(s) from a part(s). All parts and models remain in the database. Only the relationship is removed.
1131 </p>
1132 <ol>
1133 <li class="level1"><div class="li"> The user selects one or more parts from the database.</div>
1134 </li>
1135 <li class="level1"><div class="li"> The user selects the detach model action.</div>
1136 </li>
1137 <li class="level1"><div class="li"> The <abbr title="Graphical User Interface">GUI</abbr> prompts the user with a list of all the models attached to the given parts.</div>
1138 </li>
1139 <li class="level1"><div class="li"> The user selects one or more models from the list.</div>
1140 </li>
1141 <li class="level1"><div class="li"> The <abbr title="Graphical User Interface">GUI</abbr> prompts the user for confirmation.</div>
1142 </li>
1143 <li class="level1"><div class="li"> The application detaches the given models from the given parts, if attached.</div>
1144 </li>
1145 </ol>
1147 </div>
1149 <h4 id="ucmodelimportlibraryspice">uc.model.import.library.spice</h4>
1150 <div class="level4">
1153 Import all Spice files from the library into the database.
1154 </p>
1155 <ol>
1156 <li class="level1"><div class="li"> The user selects the import Spice library action.</div>
1157 </li>
1158 <li class="level1"><div class="li"> The application searches all Spice library directories for files.</div>
1159 </li>
1160 <li class="level1"><div class="li"> The application parses files to extract model names.</div>
1161 </li>
1162 <li class="level1"><div class="li"> The application creates Spice models in the database for new models in the library.</div>
1163 </li>
1164 <li class="level1"><div class="li"> The application updates Spice models in the database for old models in the library.</div>
1165 </li>
1166 </ol>
1168 </div>
1170 <h4 id="ucmodelview">uc.model.view</h4>
1171 <div class="level4">
1175 </p>
1177 </div>
1179 <h4 id="ucpackageadd">uc.package.add</h4>
1180 <div class="level4">
1183 Add a new package to the database.
1184 </p>
1185 <ol>
1186 <li class="level1"><div class="li"> TBD</div>
1187 </li>
1188 </ol>
1190 </div>
1192 <h4 id="ucpackagedelete">uc.package.delete</h4>
1193 <div class="level4">
1196 Delete a package(s) from the database. Remove all references.
1197 </p>
1198 <ol>
1199 <li class="level1"><div class="li"> The user selects one or more packages in the database.</div>
1200 </li>
1201 <li class="level1"><div class="li"> The user selects the delete action.</div>
1202 </li>
1203 <li class="level1"><div class="li"> The <abbr title="Graphical User Interface">GUI</abbr> prompts the user for confirmation.</div>
1204 </li>
1205 <li class="level1"><div class="li"> The application deletes the selected packages from the database.</div>
1206 </li>
1207 </ol>
1209 </div>
1211 <h4 id="ucpackageedit">uc.package.edit</h4>
1212 <div class="level4">
1215 Edit the package data.
1216 </p>
1217 <ol>
1218 <li class="level1"><div class="li"> TBD</div>
1219 </li>
1220 </ol>
1222 </div>
1224 <h4 id="ucpartadd">uc.part.add</h4>
1225 <div class="level4">
1228 Add a new part to the database.
1229 </p>
1230 <ol>
1231 <li class="level1"><div class="li"> TBD</div>
1232 </li>
1233 </ol>
1235 </div>
1237 <h4 id="ucpartdelete">uc.part.delete</h4>
1238 <div class="level4">
1241 Delete a part(s) from the database. Remove all references.
1242 </p>
1243 <ol>
1244 <li class="level1"><div class="li"> The user selects one or more parts in the database.</div>
1245 </li>
1246 <li class="level1"><div class="li"> The user selects the delete action.</div>
1247 </li>
1248 <li class="level1"><div class="li"> The <abbr title="Graphical User Interface">GUI</abbr> prompts the user for confirmation.</div>
1249 </li>
1250 <li class="level1"><div class="li"> The application deletes the selected parts from the database.</div>
1251 </li>
1252 </ol>
1254 </div>
1256 <h4 id="ucpartedit">uc.part.edit</h4>
1257 <div class="level4">
1260 Edit the part data.
1261 </p>
1262 <ol>
1263 <li class="level1"><div class="li"> TBD</div>
1264 </li>
1265 </ol>
1267 </div>
1269 <h4 id="ucpartsearch">uc.part.search</h4>
1270 <div class="level4">
1273 Search for a part in the database using the manufacturer part number.
1274 </p>
1276 </div>
1278 <h4 id="ucsymboldelete">uc.symbol.delete</h4>
1279 <div class="level4">
1282 Delete a symbol(s) from the database. Remove all references.
1283 </p>
1284 <ol>
1285 <li class="level1"><div class="li"> The user selects one or more symbols in the database.</div>
1286 </li>
1287 <li class="level1"><div class="li"> The user selects the delete action.</div>
1288 </li>
1289 <li class="level1"><div class="li"> The <abbr title="Graphical User Interface">GUI</abbr> prompts the user for confirmation.</div>
1290 </li>
1291 <li class="level1"><div class="li"> The application deletes the selected symbols from the database.</div>
1292 </li>
1293 </ol>
1295 </div>
1297 <h4 id="ucsymboledit">uc.symbol.edit</h4>
1298 <div class="level4">
1301 Edit the metadata associated with a symbol.
1302 </p>
1303 <ol>
1304 <li class="level1"><div class="li"> TBD</div>
1305 </li>
1306 </ol>
1308 </div>
1310 <h4 id="ucsymbolimportfile">uc.symbol.import.file</h4>
1311 <div class="level4">
1314 Import a single symbol file into the database.
1315 </p>
1316 <ol>
1317 <li class="level1"><div class="li"> The user selects the import symbol file action.</div>
1318 </li>
1319 <li class="level1"><div class="li"> The <abbr title="Graphical User Interface">GUI</abbr> prompts the user for a symbol file.</div>
1320 </li>
1321 <li class="level1"><div class="li"> The application creates a symbol in the database for a new symbol file.</div>
1322 </li>
1323 <li class="level1"><div class="li"> The application updates a symbol in the database for an old symbol file.</div>
1324 </li>
1325 </ol>
1327 </div>
1329 <h4 id="ucsymbolimportlibrary">uc.symbol.import.library</h4>
1330 <div class="level4">
1333 Import the contents of the component library into the database.
1334 </p>
1335 <ol>
1336 <li class="level1"><div class="li"> The user selects the import symbol library action.</div>
1337 </li>
1338 <li class="level1"><div class="li"> The application searches all component libraries specified in the configuration file for symbol files.</div>
1339 </li>
1340 <li class="level1"><div class="li"> The application creates symbols in the database for new symbol files in the library.</div>
1341 </li>
1342 <li class="level1"><div class="li"> The application updates symbols in the database for old symbol files in the library.</div>
1343 </li>
1344 </ol>
1346 </div>
1347 <!-- EDIT31 SECTION "Use Cases" [17503-25438] -->
1348 <h3 class="sectionedit32" id="ui_design">UI Design</h3>
1349 <div class="level3">
1351 </div>
1353 <h4 id="company_view">Company View</h4>
1354 <div class="level4">
1357 The company view lists all the companies in the database.
1358 </p>
1361 <a href="media/geda/gparts-ss-companies.png" class="media" target="_blank" title="geda:gparts-ss-companies.png"><img src="media/geda/gparts-ss-companies.png" class="media" title="" alt="" /></a>
1362 </p>
1364 </div>
1366 <h4 id="device_view">Device View</h4>
1367 <div class="level4">
1370 The device view lists all the devices stored in the database.
1371 </p>
1374 <a href="media/geda/gparts-ss-devices.png" class="media" target="_blank" title="geda:gparts-ss-devices.png"><img src="media/geda/gparts-ss-devices.png" class="media" title="" alt="" /></a>
1375 </p>
1377 </div>
1379 <h4 id="documentation_view">Documentation View</h4>
1380 <div class="level4">
1383 The documentation view shows all the documents stored in the database.
1384 </p>
1387 <a href="media/geda/gparts-ss-documentation.png" class="media" target="_blank" title="geda:gparts-ss-documentation.png"><img src="media/geda/gparts-ss-documentation.png" class="media" title="" alt="" /></a>
1388 </p>
1390 </div>
1392 <h4 id="footprint_view">Footprint View</h4>
1393 <div class="level4">
1396 The footprint view shows all the footprints stored in the database.
1397 </p>
1400 <a href="media/geda/gparts-ss-footprints.png" class="media" target="_blank" title="geda:gparts-ss-footprints.png"><img src="media/geda/gparts-ss-footprints.png" class="media" title="" alt="" /></a>
1401 </p>
1403 </div>
1405 <h4 id="package_view">Package View</h4>
1406 <div class="level4">
1409 The package view shows all the packages stored in the database.
1410 </p>
1413 <a href="media/geda/gparts-ss-packages.png" class="media" target="_blank" title="geda:gparts-ss-packages.png"><img src="media/geda/gparts-ss-packages.png" class="media" title="" alt="" /></a>
1414 </p>
1416 </div>
1418 <h4 id="part_view">Part View</h4>
1419 <div class="level4">
1422 The part view shows parts stored in the database. The user selects the category from the left pane. The parts within the given category show in the middle pane. After selecting a part from the middle pane, the symbols available for that part show in the lower right pane. The upper right pane shows the symbol preview.
1423 </p>
1426 <a href="media/geda/gparts-ss-parts-4.png" class="media" target="_blank" title="geda:gparts-ss-parts-4.png"><img src="media/geda/gparts-ss-parts-4.png" class="media" title="" alt="" /></a>
1427 </p>
1430 The edit→copy command places the component on the clipboard. The component can then be pasted into gschem.
1431 </p>
1434 <a href="media/geda/gparts-ss-parts-4b.png" class="media" target="_blank" title="geda:gparts-ss-parts-4b.png"><img src="media/geda/gparts-ss-parts-4b.png" class="media" title="" alt="" /></a>
1435 </p>
1437 </div>
1439 <h4 id="symbol_view">Symbol View</h4>
1440 <div class="level4">
1443 The symbol view shows all the symbols stored in the database. The upper right pane shows the symbol preview.
1444 </p>
1447 <a href="media/geda/gparts-ss-symbols-2.png" class="media" target="_blank" title="geda:gparts-ss-symbols-2.png"><img src="media/geda/gparts-ss-symbols-2.png" class="media" title="" alt="" /></a>
1448 </p>
1450 </div>
1451 <!-- EDIT32 SECTION "UI Design" [25439-26766] -->
1452 <h3 class="sectionedit33" id="configuration">Configuration</h3>
1453 <div class="level3">
1456 The parts manager reads gaf&#039;s Scheme configuration files using Guile-1.8. The parts manager reads the following configuration files in order. The parts manager attempts reading the file in each of the given paths in order.
1457 </p>
1458 <ol>
1459 <li class="level1 node"><div class="li"> system-gafrc</div>
1460 <ol>
1461 <li class="level2"><div class="li"> the path specified in the environment variable GEDADATARC</div>
1462 </li>
1463 <li class="level2"><div class="li"> the paths retrieved from g_get_system_config_dirs() + “gEDA”</div>
1464 </li>
1465 <li class="level2"><div class="li"> the paths retrieved from g_get_system_data_dirs() + “gEDA”</div>
1466 </li>
1467 </ol>
1468 </li>
1469 <li class="level1 node"><div class="li"> gafrc</div>
1470 <ol>
1471 <li class="level2"><div class="li"> the path specified in the environment variable HOME</div>
1472 </li>
1473 <li class="level2"><div class="li"> ~/.gEDA</div>
1474 </li>
1475 </ol>
1476 </li>
1477 <li class="level1 node"><div class="li"> gafrc</div>
1478 <ol>
1479 <li class="level2"><div class="li"> .</div>
1480 </li>
1481 </ol>
1482 </li>
1483 <li class="level1 node"><div class="li"> system-gpartsrc</div>
1484 <ol>
1485 <li class="level2"><div class="li"> the path specified in the environment variable GPARTSDATARC</div>
1486 </li>
1487 <li class="level2"><div class="li"> the paths retrieved from g_get_system_config_dirs() + “gparts”</div>
1488 </li>
1489 <li class="level2"><div class="li"> the paths retrieved from g_get_system_data_dirs() + “gparts”</div>
1490 </li>
1491 </ol>
1492 </li>
1493 <li class="level1 node"><div class="li"> gpartsrc</div>
1494 <ol>
1495 <li class="level2"><div class="li"> the path specified in the environment variable HOME</div>
1496 </li>
1497 <li class="level2"><div class="li"> ~/.gEDA</div>
1498 </li>
1499 </ol>
1500 </li>
1501 <li class="level1 node"><div class="li"> gpartsrc</div>
1502 <ol>
1503 <li class="level2"><div class="li"> .</div>
1504 </li>
1505 </ol>
1506 </li>
1507 </ol>
1510 The parts manager supports the following configuration items from gaf.
1511 </p>
1512 <div class="table sectionedit34"><table class="inline">
1513 <thead>
1514 <tr class="row0">
1515 <th class="col0 leftalign"> Item </th><th class="col1 leftalign"> Parser </th><th class="col2"> Description </th>
1516 </tr>
1517 </thead>
1518 <tr class="row1">
1519 <td class="col0"> always-promote-attributes </td><td class="col1"> libgeda </td><td class="col2 leftalign"> </td>
1520 </tr>
1521 <tr class="row2">
1522 <td class="col0 leftalign"> attribute-promotion </td><td class="col1"> libgeda </td><td class="col2 leftalign"> </td>
1523 </tr>
1524 <tr class="row3">
1525 <td class="col0 leftalign"> bitmap-directory </td><td class="col1"> libgeda </td><td class="col2 leftalign"> Specifies the directory for bitmap images </td>
1526 </tr>
1527 <tr class="row4">
1528 <td class="col0 leftalign"> bus-style </td><td class="col1 leftalign"> gschem </td><td class="col2 leftalign"> Specifies the line thickness for busses </td>
1529 </tr>
1530 <tr class="row5">
1531 <td class="col0 leftalign"> component-library </td><td class="col1"> libgeda </td><td class="col2 leftalign"> Adds a directory to the component library </td>
1532 </tr>
1533 <tr class="row6">
1534 <td class="col0 leftalign"> display-color-map </td><td class="col1 leftalign"> gschem </td><td class="col2 leftalign"> Specifies schematic colors for display </td>
1535 </tr>
1536 <tr class="row7">
1537 <td class="col0"> display-outline-color-map </td><td class="col1 leftalign"> gschem </td><td class="col2 leftalign"> </td>
1538 </tr>
1539 <tr class="row8">
1540 <td class="col0 leftalign"> eval-protected </td><td class="col1"> libgeda </td><td class="col2 leftalign"> For the parts manager, simply &#039;eval&#039; </td>
1541 </tr>
1542 <tr class="row9">
1543 <td class="col0 leftalign"> keep-invisible </td><td class="col1"> libgeda </td><td class="col2 leftalign"> </td>
1544 </tr>
1545 <tr class="row10">
1546 <td class="col0 leftalign"> net-style </td><td class="col1 leftalign"> gschem </td><td class="col2 leftalign"> Specifies the line thickness for nets </td>
1547 </tr>
1548 <tr class="row11">
1549 <td class="col0 leftalign"> postscript-prolog </td><td class="col1"> libgeda </td><td class="col2 leftalign"> Ignored by the parts manager </td>
1550 </tr>
1551 <tr class="row12">
1552 <td class="col0 leftalign"> print-color-map </td><td class="col1"> libgeda </td><td class="col2 leftalign"> Specifies schematic colors for printing </td>
1553 </tr>
1554 <tr class="row13">
1555 <td class="col0 leftalign"> promote-invisible </td><td class="col1"> libgeda </td><td class="col2 leftalign"> </td>
1556 </tr>
1557 <tr class="row14">
1558 <td class="col0 leftalign"> scheme-directory </td><td class="col1"> libgeda </td><td class="col2"> Specifies the directory for additional scheme files </td>
1559 </tr>
1560 </table></div>
1561 <!-- EDIT34 TABLE [27733-29102] -->
1563 The parts manager supports the following private configuration items.
1564 </p>
1565 <div class="table sectionedit35"><table class="inline">
1566 <thead>
1567 <tr class="row0">
1568 <th class="col0 leftalign"> Item </th><th class="col1"> Parser </th><th class="col2"> Description </th>
1569 </tr>
1570 </thead>
1571 <tr class="row1">
1572 <td class="col0 leftalign"> database-interface </td><td class="col1"> gparts </td><td class="col2 leftalign"> Adds a database interface module </td>
1573 </tr>
1574 <tr class="row2">
1575 <td class="col0 leftalign"> document-library </td><td class="col1"> gparts </td><td class="col2 leftalign"> Adds a directory to the document library </td>
1576 </tr>
1577 <tr class="row3">
1578 <td class="col0 leftalign"> footprint-library </td><td class="col1"> gparts </td><td class="col2"> Adds a directory to the footprint library </td>
1579 </tr>
1580 <tr class="row4">
1581 <td class="col0 leftalign"> spice-library </td><td class="col1"> gparts </td><td class="col2 leftalign"> Adds a directory to the spice library </td>
1582 </tr>
1583 </table></div>
1584 <!-- EDIT35 TABLE [29175-29559] -->
1585 </div>
1587 <h4 id="database-interface">database-interface</h4>
1588 <div class="level4">
1591 The parts manager uses dynamically loadable modules to support the various database engines. The parts manager uses a separate module to support each database engine.
1592 </p>
1593 <ul>
1594 <li class="level1"><div class="li"> MySQL</div>
1595 </li>
1596 <li class="level1"><div class="li"> PostgreSQL</div>
1597 </li>
1598 <li class="level1"><div class="li"> SQLite</div>
1599 </li>
1600 </ul>
1602 </div>
1604 <h4 id="document-library">document-library</h4>
1605 <div class="level4">
1608 Adds a directory to the list of directories where documentation is stored.
1609 </p>
1611 </div>
1613 <h4 id="footprint-library">footprint-library</h4>
1614 <div class="level4">
1617 Adds a directory to the list of directories where footprints are stored. The parts manager can import newlib footprints from these directories.
1618 </p>
1620 </div>
1622 <h4 id="spice-library">spice-library</h4>
1623 <div class="level4">
1626 Adds a directory to the list of directories where SPICE models are stored. The parts manager can import these models from these directories.
1627 </p>
1629 </div>
1630 <!-- EDIT33 SECTION "Configuration" [26767-] --></body>
1631 </html>