Compare commits

..

21 Commits

Author SHA1 Message Date
Bane Stojkovic 6d1b513421 Release 4.23.0 2022-11-11 20:22:21 +01:00
Bane Stojkovic 6918872b65 Update update.xml 2022-11-10 23:23:59 +01:00
Bane Stojkovic f3e8509ff3 Batch model values to avoid too long menus 2022-11-10 23:23:53 +01:00
Bane Stojkovic d4bb4b94b9 new wima added 2022-11-10 21:12:19 +01:00
Bane Stojkovic 70294769f1 reorder mica caps 2022-11-10 20:41:37 +01:00
Bane Stojkovic be138f34fc More Wima caps, renamed mica 2022-11-10 20:39:21 +01:00
Bane Stojkovic 52b56374a9 Dale resistors 2022-11-08 00:17:31 +01:00
Bane Stojkovic 904d1a6203 Mica update 2022-11-08 00:03:12 +01:00
Bane Stojkovic bdfd130fb7 Added 'Tubular Beveled' shape option to Resistor component and added Dale CCF55 and CCF60 variants 2022-11-08 00:02:57 +01:00
Bane Stojkovic 5cc652331e Added JJ electrolytics 2022-11-07 15:27:44 +01:00
Bane Stojkovic dbc2ef4fbf Added radial mica component 2022-11-07 15:27:36 +01:00
Bane Stojkovic b435c51bde Added solen fast and WIMAs 2022-11-07 00:23:39 +01:00
Bane Stojkovic c8e507a159 Added Illinois TTA 2022-11-06 18:24:17 +01:00
Bane Stojkovic e369266d49 Update gold color 2022-11-06 18:06:27 +01:00
Bane Stojkovic 6f3b737405 Added Nichicon KZ 2022-11-06 16:48:07 +01:00
Bane Stojkovic dc3eeb3ff9 Added 225P and Nichicon FG 2022-11-06 16:38:34 +01:00
Bane Stojkovic c297459ff2 Apply datasheet model to existing components 2022-11-06 15:29:11 +01:00
Bane Stojkovic 9d9de0bb4d Datasheet rework, more data added 2022-11-05 21:11:29 +01:00
Bane Stojkovic 69895fdc3f Rework datasheet 2022-11-04 23:42:45 +01:00
Bane Stojkovic a9f0c9b82c Datasheet functionality added 2022-11-04 18:01:52 +01:00
Bane Stojkovic bee06d489d Log cleanup 2022-11-01 16:44:24 +01:00
53 changed files with 4883 additions and 403 deletions
@@ -18,6 +18,7 @@
package org.diylc.common;
import java.io.Serializable;
import java.util.List;
import javax.swing.Icon;
import org.diylc.core.CreationMethod;
import org.diylc.core.IDIYComponent;
@@ -52,6 +53,8 @@ public class ComponentType implements Serializable {
private KeywordPolicy keywordPolicy;
private String keywordTag;
private boolean enableCache;
private List<String[]> datasheet;
private int datasheetCreationStepCount;
public ComponentType() {
}
@@ -59,7 +62,8 @@ public class ComponentType implements Serializable {
public ComponentType(String name, String description, CreationMethod creationMethod, String category,
String namePrefix, String author, Icon icon, Class<? extends IDIYComponent<?>> instanceClass, double zOrder,
boolean flexibleZOrder, BomPolicy bomPolicy, boolean autoEdit, IComponentTransformer transformer,
KeywordPolicy keywordPolicy, String keywordTag, boolean enableCache) {
KeywordPolicy keywordPolicy, String keywordTag, boolean enableCache, List<String[]> datasheet,
int datasheetCreationStepCount) {
super();
this.name = name;
this.description = description;
@@ -77,6 +81,8 @@ public class ComponentType implements Serializable {
this.keywordPolicy = keywordPolicy;
this.keywordTag = keywordTag;
this.enableCache = enableCache;
this.datasheet = datasheet;
this.datasheetCreationStepCount = datasheetCreationStepCount;
}
public String getName() {
@@ -142,6 +148,14 @@ public class ComponentType implements Serializable {
public boolean getEnableCache() {
return enableCache;
}
public List<String[]> getDatasheet() {
return datasheet;
}
public int getDatasheetCreationStepCount() {
return datasheetCreationStepCount;
}
@Override
public String toString() {
@@ -308,10 +308,11 @@ public interface IPlugInPort extends ISelectionProcessor, IMouseProcessor, IKeyP
* component.
*
* @param componentType
* @param template
* @param template optional
* @param parameters optional
* @param forceInstatiate
*/
void setNewComponentTypeSlot(ComponentType componentType, Template template, boolean forceInstatiate);
void setNewComponentTypeSlot(ComponentType componentType, Template template, String[] parameters, boolean forceInstatiate);
/**
* Locks or unlocks the specified layer. All components within +- 0.5 range will be affected by
@@ -37,7 +37,14 @@ public interface ISelectionProcessor {
*
* @return
*/
Collection<IDIYComponent<?>> getSelectedComponents();
Collection<IDIYComponent<?>> getSelectedComponents();
/**
* Returns selected component types
*
* @return
*/
Collection<ComponentType> getSelectedComponentTypes();
/**
* Updates the selection with the specified list of component. Also, updates control point map
@@ -121,5 +128,13 @@ public interface ISelectionProcessor {
*
* @param criteria
*/
void selectMatching(String criteria);
void selectMatching(String criteria);
/**
* Attempts to apply the specified model to all selected components.
*
* @param model
*/
void applyModelToSelection(String[] model);
}
@@ -59,7 +59,7 @@ public abstract class AbstractComponent<T> implements IDIYComponent<T> {
public static Color METAL_COLOR = Color.decode("#759DAF");
public static Color LIGHT_METAL_COLOR = Color.decode("#EEEEEE");
public static Color COPPER_COLOR = Color.decode("#DA8A67");
public static Color GOLD_COLOR = Color.decode("#DAA520");
public static Color GOLD_COLOR = Color.decode("#F4B301");
public static Color FR4_COLOR = Color.decode("#6B9B6B");
public static Color FR4_LIGHT_COLOR = Color.decode("#BABE71");
public static Color PHENOLIC_COLOR = Color.decode("#F8EBB3");
@@ -0,0 +1,27 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
This file is part of DIYLC.
DIYLC is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
DIYLC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with DIYLC. If not, see <http://www.gnu.org/licenses/>.
*/
package org.diylc.core;
public interface IDatasheetSupport {
void applyModel(String[] model);
}
@@ -114,5 +114,17 @@ public @interface ComponentDescriptor {
/**
* @return true if the component drawing should be cached
*/
boolean enableCache() default false;
boolean enableCache() default false;
/**
* @return true if component datasheet should be loaded from the corresponding file
*/
boolean enableDatasheet() default false;
/**
* If datasheet is enabled, this property determines how many columns define a component, e.g. in how many steps we can instantiate a component
*
* @return
*/
int datasheetCreationStepCount() default 0;
}
@@ -49,5 +49,11 @@ public class Capacitance extends AbstractMeasure<CapacitanceUnit> {
}
}
throw new IllegalArgumentException("Could not parse capacitance: " + value);
}
public Double getNormalizedValue() {
if (value == null || unit == null)
return null;
return value * unit.getFactor();
}
}
@@ -23,7 +23,7 @@ package org.diylc.core.measures;
public enum CapacitanceUnit implements Unit {
pF(1, "pF"), nF(1e3, "nF"), uF(1e6, "uF"), mF(1e9, "mF"), F(1e12, "F");
pF(1e-6, "pF"), nF(1e-3, "nF"), uF(1, "uF"), mF(1e3, "mF"), F(1e6, "F");
double factor;
String display;
@@ -49,5 +49,11 @@ public class Voltage extends AbstractMeasure<VoltageUnit> {
}
}
throw new IllegalArgumentException("Could not parse voltage: " + value);
}
public Double getNormalizedValue() {
if (value == null || unit == null)
return null;
return value * unit.getFactor();
}
}
@@ -96,7 +96,10 @@ public class ComponentProcessor {
boolean cacheDrawing;
IComponentTransformer transformer;
KeywordPolicy keywordPolicy;
String keywordTag;
String keywordTag;
List<String[]> datasheet = null;
int datasheetCreationStepCount = 0;
if (clazz.isAnnotationPresent(ComponentDescriptor.class)) {
ComponentDescriptor annotation = clazz.getAnnotation(ComponentDescriptor.class);
name = annotation.name();
@@ -112,7 +115,11 @@ public class ComponentProcessor {
transformer = getComponentTransformer(annotation.transformer());
keywordPolicy = annotation.keywordPolicy();
keywordTag = annotation.keywordTag();
cacheDrawing = annotation.enableCache();
cacheDrawing = annotation.enableCache();
if (annotation.enableDatasheet()) {
datasheet = DatasheetService.getInstance().loadDatasheet(clazz);
datasheetCreationStepCount = annotation.datasheetCreationStepCount();
}
} else { // default
return null;
}
@@ -134,7 +141,8 @@ public class ComponentProcessor {
}
ComponentType componentType =
new ComponentType(name, description, creationMethod, category, namePrefix, author, icon, clazz, zOrder,
flexibleZOrder, bomPolicy, autoEdit, transformer, keywordPolicy, keywordTag, cacheDrawing);
flexibleZOrder, bomPolicy, autoEdit, transformer, keywordPolicy, keywordTag, cacheDrawing, datasheet,
datasheetCreationStepCount);
componentTypeMap.put(clazz.getName(), componentType);
return componentType;
}
@@ -0,0 +1,122 @@
/*
*
* DIY Layout Creator (DIYLC). Copyright (c) 2009-2018 held jointly by the individual authors.
*
* This file is part of DIYLC.
*
* DIYLC is free software: you can redistribute it and/or modify it under the terms of the GNU
* General Public License as published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* DIYLC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
* Public License for more details.
*
* You should have received a copy of the GNU General Public License along with DIYLC. If not, see
* <http://www.gnu.org/licenses/>.
*/
package org.diylc.presenter;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.apache.log4j.Logger;
/***
* Utility in charge of loading component datasheet from corresponding files.
*
* @author bancika
*
*/
public class DatasheetService {
private static final Logger LOG = Logger.getLogger(DatasheetService.class);
private static DatasheetService instance;
private static Map<String, List<String[]>> datasheetCache = new HashMap<String, List<String[]>>();
private static Map<String, Map<String, List<String[]>>> lookupCache =
new HashMap<String, Map<String, List<String[]>>>();
public static DatasheetService getInstance() {
if (instance == null) {
instance = new DatasheetService();
}
return instance;
}
private DatasheetService() {}
public List<String[]> loadDatasheet(Class<?> clazz) {
return datasheetCache.computeIfAbsent(clazz.getCanonicalName(), key -> {
String fileName = clazz.getSimpleName() + ".datasheet";
LOG.info("Loading datasheet file for " + fileName);
URL resource = clazz.getResource(fileName);
if (resource == null) {
LOG.warn("Datasheet file not found: " + fileName);
return null;
}
try (BufferedInputStream in = new BufferedInputStream(resource.openStream())) {
try (BufferedReader reader = new BufferedReader(new InputStreamReader(in))) {
List<String[]> types =
reader.lines().map(line -> line.split("\\s*,\\s*")).collect(Collectors.toList());
LOG.info(String.format("Loaded %d component sizes from the file", types.size()));
return types;
}
} catch (IOException e) {
LOG.error("Error loading component sizes", e);
return null;
}
});
}
public String[] lookup(Class<?> clazz, double tolerance, String key,
double... approximateValues) {
int keySize = (int) (key.chars().filter(i -> i == '|').count() + 1);
Map<String, List<String[]>> classData =
lookupCache.computeIfAbsent(clazz.getCanonicalName(), k -> {
List<String[]> datasheet = loadDatasheet(clazz);
if (datasheet == null)
return null;
return datasheet.stream().collect(Collectors.groupingBy(line -> {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < keySize; i++) {
if (i > 0) {
sb.append("|");
}
sb.append(line[i]);
}
return sb.toString();
}));
});
List<String[]> list = classData.get(key);
if (list == null) {
return null;
}
outerloop: for (String[] line : list) {
for (int i = 0; i < approximateValues.length; i++) {
String valueStr = line[keySize + i];
double actualValue = Double.parseDouble(valueStr.split(" ")[0]);
if (Math.abs(actualValue - approximateValues[i]) / actualValue * 100 > tolerance)
continue outerloop;
}
return line;
}
return null;
}
}
@@ -22,6 +22,7 @@
package org.diylc.presenter;
import java.awt.geom.Point2D;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Arrays;
@@ -58,17 +59,18 @@ public class InstantiationManager {
public static int MAX_RECENT_COMPONENTS = 16;
private ComponentType componentTypeSlot;
private Template template;
private Template template;
private String[] model;
private List<IDIYComponent<?>> componentSlot;
private Point2D firstControlPoint;
private Point2D potentialControlPoint;
public static final ComponentType clipboardType = new ComponentType("Clipboard contents",
"Components from the clipboard", CreationMethod.SINGLE_CLICK, "Multi", "", "", null, null, 0, false, null,
false, null, KeywordPolicy.NEVER_SHOW, null, false);
false, null, KeywordPolicy.NEVER_SHOW, null, false, null, 0);
public static final ComponentType blockType = new ComponentType("Building block",
"Components from the building block", CreationMethod.SINGLE_CLICK, "Multi", "", "", null, null, 0, false, null,
false, null, KeywordPolicy.NEVER_SHOW, null, false);
false, null, KeywordPolicy.NEVER_SHOW, null, false, null, 0);
public InstantiationManager() {}
@@ -78,6 +80,10 @@ public class InstantiationManager {
public Template getTemplate() {
return template;
}
public String[] getModel() {
return model;
}
public List<IDIYComponent<?>> getComponentSlot() {
@@ -96,19 +102,21 @@ public class InstantiationManager {
this.potentialControlPoint = potentialControlPoint;
}
public void setComponentTypeSlot(ComponentType componentTypeSlot, Template template, Project currentProject, boolean forceInstatiate)
public void setComponentTypeSlot(ComponentType componentTypeSlot, Template template, String[] model,
Project currentProject, boolean forceInstatiate)
throws Exception {
this.componentTypeSlot = componentTypeSlot;
this.template = template;
this.template = template;
this.model = model;
if (componentTypeSlot == null) {
this.componentSlot = null;
} else {
switch (componentTypeSlot.getCreationMethod()) {
case POINT_BY_POINT:
this.componentSlot = forceInstatiate ? instantiateComponent(componentTypeSlot, template, new Point2D.Double(0, 0), currentProject) : null;
this.componentSlot = forceInstatiate ? instantiateComponent(componentTypeSlot, new Point2D.Double(0, 0), currentProject) : null;
break;
case SINGLE_CLICK:
this.componentSlot = instantiateComponent(componentTypeSlot, template, new Point2D.Double(0, 0), currentProject);
this.componentSlot = instantiateComponent(componentTypeSlot, new Point2D.Double(0, 0), currentProject);
break;
}
}
@@ -118,7 +126,7 @@ public class InstantiationManager {
public void instatiatePointByPoint(Point2D scaledPoint, Project currentProject) throws Exception {
firstControlPoint = scaledPoint;
componentSlot = instantiateComponent(componentTypeSlot, template, firstControlPoint, currentProject);
componentSlot = instantiateComponent(componentTypeSlot, firstControlPoint, currentProject);
// Set the other control point to the same location, we'll
// move it later when mouse moves.
@@ -262,12 +270,19 @@ public class InstantiationManager {
}
@SuppressWarnings("unchecked")
public List<IDIYComponent<?>> instantiateComponent(ComponentType componentType, Template template, Point2D point,
Project currentProject) throws InstantiationException, IllegalAccessException {
private List<IDIYComponent<?>> instantiateComponent(ComponentType componentType, Point2D point,
Project currentProject) throws InstantiationException, IllegalAccessException, NoSuchMethodException,
SecurityException, IllegalArgumentException, InvocationTargetException {
LOG.info("Instatiating component of type: " + componentType.getInstanceClass().getName());
// Instantiate the component.
IDIYComponent<?> component = componentType.getInstanceClass().newInstance();
IDIYComponent<?> component;
if (model == null) {
component = componentType.getInstanceClass().newInstance();
} else {
Constructor<? extends IDIYComponent<?>> constructor = componentType.getInstanceClass().getConstructor(String[].class);
component = constructor.newInstance((Object)model);
}
component.createdIn(currentProject);
component.setName(createUniqueName(componentType, currentProject.getComponents()));
@@ -45,6 +45,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.function.Supplier;
import java.util.stream.Collectors;
import javax.swing.JOptionPane;
import org.apache.log4j.Logger;
import org.diylc.appframework.miscutils.IConfigurationManager;
@@ -67,6 +68,7 @@ import org.diylc.common.IProjectEditor;
import org.diylc.common.PropertyWrapper;
import org.diylc.core.ExpansionMode;
import org.diylc.core.IDIYComponent;
import org.diylc.core.IDatasheetSupport;
import org.diylc.core.IView;
import org.diylc.core.Project;
import org.diylc.core.Template;
@@ -266,7 +268,7 @@ public class Presenter implements IPlugInPort {
if (drawingManager.getZoomLevel() == zoomLevel) {
return;
}
LOG.info(String.format("setZoomLevel(%s)", zoomLevel));
// LOG.info(String.format("setZoomLevel(%s)", zoomLevel));
drawingManager.setZoomLevel(zoomLevel);
}
@@ -605,6 +607,7 @@ public class Presenter implements IPlugInPort {
// Keep the reference to component type for later.
ComponentType componentTypeSlot = instantiationManager.getComponentTypeSlot();
Template template = instantiationManager.getTemplate();
String[] model = instantiationManager.getModel();
Project oldProject = currentProject.clone();
switch (componentTypeSlot.getCreationMethod()) {
case SINGLE_CLICK:
@@ -639,9 +642,9 @@ public class Presenter implements IPlugInPort {
editSelection();
}
if (configManager.readBoolean(IPlugInPort.CONTINUOUS_CREATION_KEY, false)) {
setNewComponentTypeSlot(componentTypeSlot, template, false);
setNewComponentTypeSlot(componentTypeSlot, template, model, false);
} else {
setNewComponentTypeSlot(null, null, false);
setNewComponentTypeSlot(null, null, null, false);
}
break;
case POINT_BY_POINT:
@@ -663,7 +666,7 @@ public class Presenter implements IPlugInPort {
} else {
// On the second click, add the component to the
// project.
addPendingComponentsToProject(scaledPoint, componentTypeSlot, template);
addPendingComponentsToProject(scaledPoint, componentTypeSlot, template, model);
}
break;
default:
@@ -718,7 +721,7 @@ public class Presenter implements IPlugInPort {
}
}
private void addPendingComponentsToProject(Point2D scaledPoint, ComponentType componentTypeSlot, Template template) {
private void addPendingComponentsToProject(Point2D scaledPoint, ComponentType componentTypeSlot, Template template, String[] parameters) {
List<IDIYComponent<?>> componentSlot = instantiationManager.getComponentSlot();
Point2D firstPoint = componentSlot.get(0).getControlPoint(0);
// don't allow to create component with the same points
@@ -742,9 +745,9 @@ public class Presenter implements IPlugInPort {
editSelection();
}
if (configManager.readBoolean(IPlugInPort.CONTINUOUS_CREATION_KEY, false)) {
setNewComponentTypeSlot(componentTypeSlot, template, false);
setNewComponentTypeSlot(componentTypeSlot, template, parameters, false);
} else {
setNewComponentTypeSlot(null, null, false);
setNewComponentTypeSlot(null, null, null, false);
}
}
@@ -1664,7 +1667,7 @@ public class Presenter implements IPlugInPort {
// calculateSelectionDimension());
} else if (instantiationManager.getComponentSlot() != null) {
preDragProject = currentProject.clone();
addPendingComponentsToProject(scaledPoint, instantiationManager.getComponentTypeSlot(), null);
addPendingComponentsToProject(scaledPoint, instantiationManager.getComponentTypeSlot(), null, null);
} else {
updateSelection(selectedComponents);
}
@@ -2408,6 +2411,28 @@ public class Presenter implements IPlugInPort {
drawingManager.fireZoomChanged();
}
}
@Override
public void applyModelToSelection(String[] model) {
Project oldProject = currentProject.clone();
try {
selectedComponents.forEach(component -> {
((IDatasheetSupport) component).applyModel(model);
});
} catch (Exception e) {
LOG.warn("Could not apply datasheet to component", e);
view.showMessage(APPLY_ERROR, ERROR, IView.ERROR_MESSAGE);
} finally {
// Notify the listeners.
if (!oldProject.equals(currentProject)) {
messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject,
currentProject.clone(), "Edit Project");
drawingManager.clearContinuityArea();
projectFileManager.notifyFileChange();
}
drawingManager.fireZoomChanged();
}
}
@Override
public ComponentType getNewComponentTypeSlot() {
@@ -2415,7 +2440,7 @@ public class Presenter implements IPlugInPort {
}
@Override
public void setNewComponentTypeSlot(ComponentType componentType, Template template, boolean forceInstatiate) {
public void setNewComponentTypeSlot(ComponentType componentType, Template template, String[] model, boolean forceInstatiate) {
LOG.info(String.format("setNewComponentSlot(%s)", componentType == null ? null : componentType.getName()));
// record a test step if needed
@@ -2429,7 +2454,7 @@ public class Presenter implements IPlugInPort {
if (componentType != null && componentType.getInstanceClass() == null) {
LOG.info("Cannot set new component type slot for type " + componentType.getName());
setNewComponentTypeSlot(null, null, false);
setNewComponentTypeSlot(null, null, null, false);
return;
}
@@ -2452,7 +2477,7 @@ public class Presenter implements IPlugInPort {
}
try {
instantiationManager.setComponentTypeSlot(componentType, template, currentProject, forceInstatiate);
instantiationManager.setComponentTypeSlot(componentType, template, model, currentProject, forceInstatiate);
if (forceInstatiate)
updateSelection(instantiationManager.getComponentSlot());
@@ -2598,6 +2623,16 @@ public class Presenter implements IPlugInPort {
}
return getVariantsFor(selectedType);
}
@SuppressWarnings("unchecked")
@Override
public Collection<ComponentType> getSelectedComponentTypes() {
return this.getSelectedComponents().stream()
.map(component -> ComponentProcessor.getInstance().extractComponentTypeFrom(
(Class<? extends IDIYComponent<?>>) component.getClass()))
.distinct()
.collect(Collectors.toList());
}
@Override
public void applyVariantToSelection(Template template) {
@@ -4101,5 +4101,49 @@
</changes>
<url>https://github.com/bancika/diy-layout-creator/releases</url>
</org.diylc.appframework.update.Version>
<org.diylc.appframework.update.Version>
<versionNumber>
<major>4</major>
<minor>32</minor>
<build>0</build>
</versionNumber>
<releaseDate>2022-11-11 00:00:00.000 CET</releaseDate>
<name></name>
<changes>
<org.diylc.appframework.update.Change>
<changeType>NEW_FEATURE</changeType>
<description>Added 'Radial Mica Capacitor' component</description>
</org.diylc.appframework.update.Change>
<org.diylc.appframework.update.Change>
<changeType>NEW_FEATURE</changeType>
<description>Introduced support for standard models of components, defined in the product datasheet. Right click menu in the toolbox now contains additional options for creating components with exact values and dimension as specified in the datasheet. Right click on the existing components now has 'Apply Model' option which can apply properties of a standard component model from the datasheet to selected component(s)</description>
</org.diylc.appframework.update.Change>
<org.diylc.appframework.update.Change>
<changeType>NEW_FEATURE</changeType>
<description>Axial Film Capacitor - added standard models from Mallory 150 and Solen Fast datasheet</description>
</org.diylc.appframework.update.Change>
<org.diylc.appframework.update.Change>
<changeType>NEW_FEATURE</changeType>
<description>Radial Film Capacitor - added standard models from Orange Drop 225P, 715P and 716P, WIMA FKP-02, FKP-2, FKS-2, MKP-2, MKP-4, MKS-02, MKS-2 datasheet</description>
</org.diylc.appframework.update.Change>
<org.diylc.appframework.update.Change>
<changeType>NEW_FEATURE</changeType>
<description>Axial Electrolytic Capacitor - added standard models from F&amp;T A Typ, Illinois TTA, JJ ANH and Sprague TVA Atom datasheet</description>
</org.diylc.appframework.update.Change>
<org.diylc.appframework.update.Change>
<changeType>NEW_FEATURE</changeType>
<description>Radial Electrolytic Capacitor - added standard models from Elna Silmic II, Nichicon FG, KZ, Panasonic FC, FM and HNG datasheet</description>
</org.diylc.appframework.update.Change>
<org.diylc.appframework.update.Change>
<changeType>NEW_FEATURE</changeType>
<description>Radial Mica Capacitor - added standard models from Cornell Dubilier CD10, CD15, CD19, CD30, CD42, CDV19, CDV30 datasheet</description>
</org.diylc.appframework.update.Change>
<org.diylc.appframework.update.Change>
<changeType>NEW_FEATURE</changeType>
<description>Added 'Tubular Beveled' shape option to Resistor component and added Dale C*F55 and C*F60 resistor variants</description>
</org.diylc.appframework.update.Change>
</changes>
<url>https://github.com/bancika/diy-layout-creator/releases</url>
</org.diylc.appframework.update.Version>
</a>
</java.util.Arrays_-ArrayList>
@@ -920,6 +920,156 @@
<defaultFlag>false</defaultFlag>
<createdOn>2022-10-30T13:25:15.3894874</createdOn>
</org.diylc.core.Template>
<org.diylc.core.Template>
<name>Dale C*F55</name>
<values>
<entry>
<string>Power Rating</string>
<null/>
</entry>
<entry>
<string>Shape</string>
<diylc.passive.Resistor_-ResistorShape>Tubular_Beveled</diylc.passive.Resistor_-ResistorShape>
</entry>
<entry>
<string>Color</string>
<awt-color hex="d37d5b"/>
</entry>
<entry>
<string>Moveable Label</string>
<boolean>false</boolean>
</entry>
<entry>
<string>Label Orientation</string>
<diylc.AbstractLeadedComponent_-LabelOriantation>Directional</diylc.AbstractLeadedComponent_-LabelOriantation>
</entry>
<entry>
<string>Reverse (standing)</string>
<boolean>false</boolean>
</entry>
<entry>
<string>Font Size Override</string>
<null/>
</entry>
<entry>
<string>Lead Color</string>
<awt-color hex="cccccc"/>
</entry>
<entry>
<string>Length</string>
<org.diylc.core.measures.Size value="6.22" unit="mm"/>
</entry>
<entry>
<string>Label Color</string>
<awt-color hex="000000"/>
</entry>
<entry>
<string>Value</string>
<null/>
</entry>
<entry>
<string>Alpha</string>
<byte>127</byte>
</entry>
<entry>
<string>Color code</string>
<org.diylc.common.ResistorColorCode>_5_BAND</org.diylc.common.ResistorColorCode>
</entry>
<entry>
<string>Width</string>
<org.diylc.core.measures.Size value="2.29" unit="mm"/>
</entry>
<entry>
<string>Border</string>
<awt-color hex="a04c2b"/>
</entry>
<entry>
<string>Display</string>
<org.diylc.common.Display>NAME</org.diylc.common.Display>
</entry>
</values>
<points>
<point x="0.0" y="0.0"/>
<point x="1.1" y="0.0"/>
</points>
<defaultFlag>false</defaultFlag>
<createdOn>2022-11-07T23:50:13.9473581</createdOn>
</org.diylc.core.Template>
<org.diylc.core.Template>
<name>Dale C*F60</name>
<values>
<entry>
<string>Power Rating</string>
<null/>
</entry>
<entry>
<string>Shape</string>
<diylc.passive.Resistor_-ResistorShape>Tubular_Beveled</diylc.passive.Resistor_-ResistorShape>
</entry>
<entry>
<string>Color</string>
<awt-color hex="d37d5b"/>
</entry>
<entry>
<string>Moveable Label</string>
<boolean>false</boolean>
</entry>
<entry>
<string>Label Orientation</string>
<diylc.AbstractLeadedComponent_-LabelOriantation>Directional</diylc.AbstractLeadedComponent_-LabelOriantation>
</entry>
<entry>
<string>Reverse (standing)</string>
<boolean>false</boolean>
</entry>
<entry>
<string>Font Size Override</string>
<null/>
</entry>
<entry>
<string>Lead Color</string>
<awt-color hex="cccccc"/>
</entry>
<entry>
<string>Length</string>
<org.diylc.core.measures.Size value="8.75" unit="mm"/>
</entry>
<entry>
<string>Label Color</string>
<awt-color hex="000000"/>
</entry>
<entry>
<string>Value</string>
<null/>
</entry>
<entry>
<string>Alpha</string>
<byte>127</byte>
</entry>
<entry>
<string>Color code</string>
<org.diylc.common.ResistorColorCode>_5_BAND</org.diylc.common.ResistorColorCode>
</entry>
<entry>
<string>Width</string>
<org.diylc.core.measures.Size value="3.53" unit="mm"/>
</entry>
<entry>
<string>Border</string>
<awt-color hex="a04c2b"/>
</entry>
<entry>
<string>Display</string>
<org.diylc.common.Display>NAME</org.diylc.common.Display>
</entry>
</values>
<points>
<point x="0.0" y="0.0"/>
<point x="1.1" y="0.0"/>
</points>
<defaultFlag>false</defaultFlag>
<createdOn>2022-11-07T23:48:34.7774065</createdOn>
</org.diylc.core.Template>
</list>
</entry>
<entry>
@@ -25,7 +25,7 @@ public class TestPlayer {
try {
switch(step.getAction()) {
case DIYTest.SET_COMPONENT_SLOT:
plugInPort.setNewComponentTypeSlot((ComponentType)step.getParams().get("componentType"), (Template)step.getParams().get("template"), (boolean)step.getParams().get("forceInstatiate"));
plugInPort.setNewComponentTypeSlot((ComponentType)step.getParams().get("componentType"), (Template)step.getParams().get("template"),(String[])step.getParams().get("parameters"), (boolean)step.getParams().get("forceInstatiate"));
res.add(new StepResult(i, step.getAction(), "OK", false));
break;
case DIYTest.MOUSE_MOVED:
Binary file not shown.
@@ -46,6 +46,7 @@ public abstract class AbstractFilmCapacitor extends AbstractLeadedComponent<Capa
protected org.diylc.core.measures.Voltage voltageNew = null;
protected Boolean showOuterFoil = false;
protected Color outerFoilColor = OUTER_FOIL_COLOR;
protected String type;
@EditableProperty(validatorClass = PositiveMeasureValidator.class)
public Capacitance getValue() {
@@ -55,6 +56,15 @@ public abstract class AbstractFilmCapacitor extends AbstractLeadedComponent<Capa
public void setValue(Capacitance value) {
this.value = value;
}
@EditableProperty
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
@Deprecated
public Voltage getVoltage() {
@@ -19,43 +19,55 @@
along with DIYLC. If not, see <http://www.gnu.org/licenses/>.
*/
package org.diylc.components;
package org.diylc.components.passive;
import java.awt.Rectangle;
import org.diylc.components.AbstractLeadedComponent;
import org.diylc.core.annotations.EditableProperty;
import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit;
/**
* Base class for radial components. The same as {@link AbstractLeadedComponent} but with added pin
* spacing.
*
* @author bancika
*
* @param <T>
*/
public abstract class AbstractRadialComponent<T> extends AbstractLeadedComponent<T> {
private static final long serialVersionUID = 1L;
public static Size PIN_SPACING = new Size(0.1d, SizeUnit.in);
private Size pinSpacing = PIN_SPACING;
@Override
protected int calculatePinSpacing(Rectangle shapeRect) {
return (int) getPinSpacing().convertToPixels();
}
@EditableProperty(name = "Pin Spacing")
public Size getPinSpacing() {
if (pinSpacing == null) {
pinSpacing = PIN_SPACING;
}
return pinSpacing;
}
public void setPinSpacing(Size pinSpacing) {
this.pinSpacing = pinSpacing;
}
}
import org.diylc.core.measures.SizeUnit;
/**
* Base class for radial components. The same as {@link AbstractLeadedComponent} but with added pin
* spacing.
*
* @author bancika
*
* @param <T>
*/
public abstract class AbstractRadialComponent<T> extends AbstractLeadedComponent<T> {
private static final long serialVersionUID = 1L;
public static Size PIN_SPACING = new Size(0.1d, SizeUnit.in);
protected Size pinSpacing = PIN_SPACING;
protected String type;
@Override
protected int calculatePinSpacing(Rectangle shapeRect) {
return (int) getPinSpacing().convertToPixels();
}
@EditableProperty(name = "Lead Spacing")
public Size getPinSpacing() {
if (pinSpacing == null) {
pinSpacing = PIN_SPACING;
}
return pinSpacing;
}
public void setPinSpacing(Size pinSpacing) {
this.pinSpacing = pinSpacing;
}
@EditableProperty
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
@@ -0,0 +1,455 @@
F&T Typ A,16 V,2200 uF,30,10,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,16 V,3300 uF,30,12,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,16 V,4700 uF,30,14,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,16 V,4700 uF,37,14,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,16 V,5600 uF,30,16,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,16 V,8200 uF,39,16,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,16 V,8200 uF,30,18,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,16 V,10000 uF,39,18,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,16 V,12000 uF,36,21,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,16 V,18000 uF,38,25,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,16 V,33000 uF,49,25,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,16 V,47000 uF,50,30,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,16 V,56000 uF,50,35,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,16 V,82000 uF,66,35,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,25 V,1200 uF,30,10,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,25 V,1800 uF,30,12,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,25 V,2700 uF,30,14,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,25 V,3300 uF,37,14,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,25 V,3300 uF,30,16,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,25 V,4700 uF,39,16,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,25 V,4700 uF,30,18,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,25 V,5600 uF,39,18,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,25 V,6800 uF,36,21,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,25 V,10000 uF,38,25,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,25 V,18000 uF,49,25,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,25 V,27000 uF,50,30,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,25 V,33000 uF,50,35,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,25 V,47000 uF,66,35,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,40 V,560 uF,30,10,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,40 V,1000 uF,30,12,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,40 V,1500 uF,30,14,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,40 V,1800 uF,37,14,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,40 V,1800 uF,30,16,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,40 V,2200 uF,39,16,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,40 V,2200 uF,30,18,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,40 V,3300 uF,39,18,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,40 V,3900 uF,36,21,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,40 V,5600 uF,38,25,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,40 V,10000 uF,49,25,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,40 V,15000 uF,50,30,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,40 V,22000 uF,50,35,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,40 V,27000 uF,66,35,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,63 V,330 uF,30,10,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,63 V,470 uF,30,12,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,63 V,680 uF,30,14,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,63 V,820 uF,37,14,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,63 V,1000 uF,30,16,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,63 V,1200 uF,39,16,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,63 V,1200 uF,30,18,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,63 V,1500 uF,39,18,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,63 V,2200 uF,36,21,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,63 V,3300 uF,38,25,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,63 V,5600 uF,49,25,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,63 V,8200 uF,50,30,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,63 V,10000 uF,50,30,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,63 V,12000 uF,50,35,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,63 V,15000 uF,66,35,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,80 V,220 uF,30,10,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,80 V,330 uF,30,12,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,80 V,470 uF,30,14,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,80 V,680 uF,37,14,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,80 V,680 uF,30,16,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,80 V,1000 uF,39,16,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,80 V,1000 uF,30,18,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,80 V,1200 uF,39,18,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,80 V,1500 uF,36,21,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,80 V,2200 uF,38,25,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,80 V,3900 uF,49,25,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,80 V,5600 uF,50,30,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,80 V,8200 uF,50,35,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,80 V,12000 uF,66,35,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,100 V,150 uF,30,10,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,100 V,220 uF,30,12,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,100 V,330 uF,30,14,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,100 V,390 uF,37,14,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,100 V,470 uF,30,16,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,100 V,560 uF,39,16,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,100 V,560 uF,30,18,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,100 V,680 uF,39,18,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,100 V,1000 uF,36,21,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,100 V,1500 uF,38,25,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,100 V,2200 uF,49,25,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,100 V,3300 uF,50,30,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,100 V,4700 uF,50,35,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,100 V,6800 uF,66,35,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,160 V,56 uF,30,10,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,160 V,100 uF,30,12,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,160 V,120 uF,30,14,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,160 V,150 uF,37,14,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,160 V,150 uF,30,16,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,160 V,220 uF,39,16,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,160 V,220 uF,30,18,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,160 V,270 uF,39,18,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,160 V,330 uF,36,21,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,160 V,560 uF,38,25,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,160 V,1000 uF,49,25,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,160 V,1500 uF,50,30,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,160 V,1800 uF,50,35,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,160 V,2700 uF,66,35,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,250 V,33 uF,30,10,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,250 V,56 uF,30,12,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,250 V,82 uF,30,14,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,250 V,100 uF,37,14,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,250 V,100 uF,30,16,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,250 V,150 uF,39,16,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,250 V,150 uF,30,18,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,250 V,180 uF,39,18,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,250 V,220 uF,36,21,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,250 V,390 uF,38,25,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,250 V,680 uF,49,25,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,250 V,820 uF,50,30,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,250 V,1200 uF,50,35,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,250 V,1800 uF,66,35,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,350 V,22 uF,30,10,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,350 V,33 uF,30,12,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,350 V,47 uF,30,14,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,350 V,56 uF,37,14,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,350 V,56 uF,30,16,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,350 V,68 uF,39,16,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,350 V,68 uF,30,18,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,350 V,100 uF,39,18,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,350 V,120 uF,36,21,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,350 V,220 uF,38,25,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,350 V,330 uF,49,25,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,350 V,470 uF,50,30,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,350 V,680 uF,50,35,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,350 V,820 uF,66,35,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,400 V,18 uF,30,10,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,400 V,27 uF,30,12,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,400 V,39 uF,30,14,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,400 V,47 uF,37,14,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,400 V,47 uF,30,16,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,400 V,56 uF,39,16,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,400 V,56 uF,30,18,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,400 V,68 uF,39,18,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,400 V,100 uF,36,21,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,400 V,150 uF,38,25,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,400 V,220 uF,49,25,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,400 V,330 uF,50,30,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,400 V,470 uF,50,35,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,400 V,680 uF,66,35,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,450 V,10 uF,30,10,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,450 V,15 uF,30,12,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,450 V,22 uF,30,14,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,450 V,33 uF,37,14,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,450 V,39 uF,30,16,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,450 V,47 uF,39,16,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,450 V,47 uF,30,18,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,450 V,56 uF,39,18,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,450 V,100 uF,36,21,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,450 V,150 uF,38,25,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,450 V,220 uF,49,25,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,450 V,330 uF,50,30,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,450 V,470 uF,50,35,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,450 V,560 uF,66,35,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,500 V,4.7 uF,30,10,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,500 V,6.8 uF,30,10,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,500 V,10 uF,30,12,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,500 V,12 uF,30,14,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,500 V,15 uF,37,14,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,500 V,15 uF,30,16,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,500 V,22 uF,39,16,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,500 V,22 uF,30,18,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,500 V,33 uF,39,18,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,500 V,47 uF,36,21,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,500 V,82 uF,38,25,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,500 V,120 uF,49,25,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,500 V,180 uF,50,30,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,500 V,220 uF,50,35,#333333,#000000,#FFCC00,#000000,#FFCC00
F&T Typ A,500 V,330 uF,66,35,#333333,#000000,#FFCC00,#000000,#FFCC00
Illinois TTA,10 V,100 uF,13,6.3,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,10 V,470 uF,16,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,10 V,1000 uF,21,10,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,10 V,2200 uF,26,13,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,10 V,3300 uF,31,13,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,10 V,4700 uF,31,16,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,10 V,10000 uF,41,18,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,16 V,47 uF,13,5,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,16 V,68 uF,16,6.3,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,16 V,220 uF,16,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,16 V,330 uF,16,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,16 V,470 uF,20,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,16 V,1000 uF,26,10,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,16 V,2200 uF,31,13,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,16 V,3300 uF,31,16,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,16 V,4700 uF,31.5,16,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,16 V,6800 uF,41,16,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,16 V,10000 uF,41,18,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,16 V,15000 uF,51,22,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,16 V,22000 uF,51,22,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,25 V,33 uF,13,5,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,25 V,47 uF,13,6.3,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,25 V,100 uF,13,6.3,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,25 V,150 uF,16,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,25 V,220 uF,16,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,25 V,330 uF,20,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,25 V,470 uF,21,10,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,25 V,1000 uF,26,13,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,25 V,1500 uF,26,13,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,25 V,2200 uF,31,16,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,25 V,3300 uF,31,16,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,25 V,4700 uF,41,16,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,25 V,6800 uF,41,18,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,25 V,10000 uF,51,22,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,25 V,15000 uF,50,22,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,35 V,10 uF,13,5,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,35 V,22 uF,13,5,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,35 V,68 uF,16,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,35 V,100 uF,16,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,35 V,150 uF,20,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,35 V,220 uF,20,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,35 V,470 uF,26,10,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,35 V,1000 uF,26,13,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,35 V,1500 uF,31,16,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,35 V,2200 uF,31,16,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,35 V,3300 uF,41,16,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,35 V,4700 uF,41,22,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,35 V,6800 uF,51,22,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,35 V,10000 uF,51,25,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,50 V,1 uF,13,5,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,50 V,2.2 uF,13,5,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,50 V,4.7 uF,13,5,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,50 V,10 uF,13,5,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,50 V,15 uF,13,5,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,50 V,22 uF,13,6.3,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,50 V,33 uF,16,6.3,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,50 V,47 uF,16,6.3,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,50 V,100 uF,16,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,50 V,150 uF,16,10,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,50 V,220 uF,21,10,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,50 V,330 uF,26,10,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,50 V,470 uF,26,13,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,50 V,1000 uF,30,16,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,50 V,1500 uF,41,16,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,50 V,2200 uF,41,16,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,50 V,3300 uF,41,22,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,50 V,4700 uF,51,22,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,63 V,10 uF,13,5,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,63 V,47 uF,16,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,63 V,68 uF,20,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,63 V,100 uF,20,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,63 V,150 uF,21,10,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,63 V,220 uF,25,10,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,63 V,330 uF,26,13,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,63 V,470 uF,31,13,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,63 V,1000 uF,31,16,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,63 V,2200 uF,40,18,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,63 V,3300 uF,51,22,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,63 V,4700 uF,60,25,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,80 V,1000 uF,41,16,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,80 V,2200 uF,51,22,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,100 V,0.47 uF,13,5,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,100 V,1 uF,13,5,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,100 V,2.2 uF,13,5,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,100 V,3.3 uF,13,5,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,100 V,4.7 uF,13,5,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,100 V,10 uF,13,6.3,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,100 V,22 uF,16,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,100 V,33 uF,16,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,100 V,47 uF,20,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,100 V,100 uF,26,10,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,100 V,150 uF,26,13,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,100 V,220 uF,26,13,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,100 V,330 uF,31,13,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,100 V,470 uF,31,16,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,100 V,1000 uF,41,18,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,100 V,2200 uF,51,25,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,160 V,1 uF,13,6.3,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,160 V,2.2 uF,16,6.3,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,160 V,3.3 uF,16,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,160 V,4.7 uF,16,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,160 V,10 uF,20,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,160 V,22 uF,26,10,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,160 V,33 uF,26,13,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,160 V,47 uF,31,13,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,160 V,100 uF,31,16,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,160 V,220 uF,41,22,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,250 V,2.2 uF,16,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,250 V,3.3 uF,16,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,250 V,10 uF,21,10,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,250 V,22 uF,26,13,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,250 V,33 uF,31,13,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,250 V,47 uF,31,16,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,250 V,100 uF,41,16,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,250 V,220 uF,41,22,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,350 V,1 uF,16,6.3,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,350 V,2.2 uF,16,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,350 V,4.7 uF,20,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,350 V,10 uF,26,13,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,350 V,22 uF,31,13,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,350 V,33 uF,31.5,16,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,350 V,47 uF,41,16,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,350 V,100 uF,41,18,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,450 V,1 uF,16,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,450 V,2.2 uF,21,10,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,450 V,3.3 uF,20,8,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,450 V,4.7 uF,26,10,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,450 V,10 uF,25,13,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,450 V,22 uF,31,16,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,450 V,33 uF,41,16,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,450 V,47 uF,41,18,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,450 V,100 uF,51,22,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,500 V,22 uF,32,16,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
Illinois TTA,500 V,47 uF,40,18,#CCCCCC,#5B5B5B,#000000,#5B5B5B,#CCCCCC
JJ ANH,500 V,20 uF,42,25,#333333,#000000,#FF0000,#000000,#FF0000
JJ ANH,500 V,30 uF,42,25,#333333,#000000,#FF0000,#000000,#FF0000
JJ ANH,500 V,47 uF,42,25,#333333,#000000,#FF0000,#000000,#FF0000
JJ ANH,500 V,80 uF,42,25,#333333,#000000,#FF0000,#000000,#FF0000
JJ ANH,500 V,100 uF,42,25,#333333,#000000,#FF0000,#000000,#FF0000
Sprague TVA Atom,6 V,200 uF,17.45,7.925,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,10 V,5000 uF,38.1,12.319,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,16 V,25 uF,12.7,6.35,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,16 V,50 uF,17.45,6.35,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,16 V,100 uF,17.45,7.925,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,16 V,200 uF,20.625,7.925,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,16 V,250 uF,20.625,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,16 V,500 uF,23.8,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,16 V,600 uF,31.75,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,16 V,800 uF,31.75,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,16 V,1000 uF,38.1,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,16 V,1200 uF,38.1,11.125,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,16 V,1500 uF,38.1,11.125,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,16 V,2000 uF,38.1,12.319,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,16 V,3000 uF,38.1,12.319,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,16 V,5000 uF,53.975,25.4,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,16 V,10000 uF,66.675,31.75,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,25 V,10 uF,12.7,6.35,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,25 V,25 uF,12.7,6.35,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,25 V,50 uF,17.45,6.35,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,25 V,75 uF,17.45,7.925,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,25 V,100 uF,20.625,7.925,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,25 V,150 uF,20.625,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,25 V,200 uF,20.625,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,25 V,250 uF,23.8,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,25 V,500 uF,31.75,11.125,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,25 V,1000 uF,38.1,12.319,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,25 V,1500 uF,38.1,12.319,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,25 V,2000 uF,38.1,12.319,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,25 V,2500 uF,38.1,12.319,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,25 V,5000 uF,66.675,28.575,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,35 V,500 uF,38.1,11.125,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,35 V,5500 uF,38.1,12.319,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,1 uF,12.7,6.35,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,2 uF,12.7,6.35,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,5 uF,12.7,6.35,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,6 uF,12.7,6.35,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,10 uF,12.7,6.35,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,15 uF,17.45,6.35,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,20 uF,17.45,6.35,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,25 uF,17.45,6.35,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,40 uF,20.625,7.925,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,50 uF,20.625,7.925,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,75 uF,20.625,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,100 uF,20.625,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,150 uF,23.8,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,200 uF,31.75,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,250 uF,38.1,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,300 uF,31.75,11.125,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,400 uF,38.1,12.319,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,500 uF,38.1,12.319,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,600 uF,38.1,12.319,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,1000 uF,38.1,12.319,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,1500 uF,38.1,12.319,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,2000 uF,53.975,28.575,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,2500 uF,66.675,28.575,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,3000 uF,66.675,31.75,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V,5000 uF,79.375,34.925,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,63 V,1 uF,12.7,6.35,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,100 V,10 uF,17.45,7.925,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,100 V,50 uF,31.75,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,100 V,100 uF,38.1,11.125,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,100 V,250 uF,38.1,12.319,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,100 V,500 uF,53.975,28.575,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,150 V,1 uF,12.7,6.35,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,150 V,2 uF,17.45,6.35,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,150 V,4 uF,20.625,7.925,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,150 V,5 uF,20.625,7.925,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,150 V,8 uF,20.625,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,150 V,10 uF,20.625,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,150 V,16 uF,23.8,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,150 V,20 uF,31.75,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,150 V,25 uF,31.75,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,150 V,30 uF,31.75,11.125,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,150 V,40 uF,38.1,11.125,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,150 V,50 uF,38.1,11.125,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,150 V,80 uF,38.1,12.319,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,150 V,100 uF,38.1,12.319,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,150 V,150 uF,38.1,12.319,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,150 V,200 uF,53.975,25.4,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,150 V,300 uF,66.675,28.575,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,200 V,3 uF,20.625,7.925,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,200 V,5 uF,20.625,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,200 V,10 uF,23.8,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,200 V,20 uF,31.75,11.125,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,200 V,100 uF,38.1,12.319,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,250 V,4 uF,20.625,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,250 V,10 uF,31.75,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,250 V,12 uF,31.75,11.125,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,250 V,20 uF,38.1,11.125,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,250 V,30 uF,38.1,12.319,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,250 V,40 uF,38.1,12.319,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,250 V,50 uF,38.1,12.319,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,250 V,60 uF,38.1,12.319,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,250 V,100 uF,38.1,12.319,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,350 V,1 uF,17.45,7.925,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,350 V,3 uF,23.8,9.525,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,350 V,4 uF,31.75,9.525,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,350 V,5 uF,31.75,9.525,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,350 V,8 uF,38.1,11.125,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,350 V,10 uF,38.1,11.125,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,350 V,15 uF,38.1,12.319,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,350 V,20 uF,38.1,12.319,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,350 V,60 uF,38.1,12.319,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,350 V,100 uF,66.675,25.4,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,450 V,1 uF,20.625,9.525,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,450 V,2 uF,31.75,9.525,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,450 V,4 uF,38.1,11.125,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,450 V,5 uF,38.1,11.125,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,450 V,8 uF,38.1,12.319,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,450 V,10 uF,38.1,12.319,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,450 V,12 uF,38.1,12.319,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,450 V,20 uF,38.1,12.319,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,450 V,30 uF,38.1,12.319,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,450 V,40 uF,38.1,12.319,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,450 V,50 uF,53.975,28.575,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,450 V,100 uF,79.375,31.75,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,450 V,60 uF,53.975,28.575,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,450 V,80 uF,66.675,25.4,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,450 V,16 uF,38.1,12.319,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,500 V,20 uF,38.1,12.319,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,500 V,40 uF,60.325,25.4,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,500 V,30 uF,38.1,12.319,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,600 V,10 uF,73.025,25.4,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,600 V,20 uF,98.425,25.4,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,10 V NP,50 uF,17.45,7.925,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,25 V NP,10 uF,17.45,6.35,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,25 V NP,16 uF,17.45,6.35,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,25 V NP,25 uF,17.45,7.925,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,25 V NP,50 uF,20.625,7.925,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,25 V NP,100 uF,23.8,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,30 V NP,20 uF,17.45,7.925,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V NP,2 uF,12.7,6.35,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V NP,3 uF,12.7,6.35,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V NP,5 uF,17.45,6.35,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V NP,8 uF,17.45,6.35,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V NP,10 uF,17.45,7.925,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V NP,25 uF,20.625,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V NP,50 uF,23.8,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,50 V NP,100 uF,38.1,9.525,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,100 V NP,10 uF,41.275,12.7,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,100 V NP,20 uF,38.1,12.319,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,200 V NP,60 uF,66.675,25.4,#333333,#000000,#00FF00,#000000,#00FF00
Sprague TVA Atom,300 V NP,1 uF,34.925,12.7,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,350 V NP,5 uF,38.1,12.319,#387CFB,#1E3EAD,#000000,#3270F7,#000000
Sprague TVA Atom,400 V NP,20 uF,53.975,25.4,#387CFB,#1E3EAD,#000000,#3270F7,#000000
@@ -1,26 +1,23 @@
/*
*
* DIY Layout Creator (DIYLC). Copyright (c) 2009-2018 held jointly by the individual authors.
*
* This file is part of DIYLC.
*
* DIYLC is free software: you can redistribute it and/or modify it under the terms of the GNU
* General Public License as published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* DIYLC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
* Public License for more details.
*
* You should have received a copy of the GNU General Public License along with DIYLC. If not, see
* <http://www.gnu.org/licenses/>.
*
*/
package org.diylc.components.passive;
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
This file is part of DIYLC.
DIYLC is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
DIYLC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with DIYLC. If not, see <http://www.gnu.org/licenses/>.
*/
package org.diylc.components.passive;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Shape;
@@ -32,9 +29,11 @@ import org.diylc.appframework.miscutils.ConfigurationManager;
import org.diylc.common.IPlugInPort;
import org.diylc.common.ObjectCache;
import org.diylc.components.AbstractLeadedComponent;
import org.diylc.components.passive.CapacitorDatasheetService.CapacitorDatasheet;
import org.diylc.components.transform.SimpleComponentTransformer;
import org.diylc.core.CreationMethod;
import org.diylc.core.IDIYComponent;
import org.diylc.core.IDatasheetSupport;
import org.diylc.core.Theme;
import org.diylc.core.annotations.ComponentDescriptor;
import org.diylc.core.annotations.EditableProperty;
@@ -43,187 +42,240 @@ import org.diylc.core.measures.Capacitance;
import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit;
import org.diylc.utils.Constants;
@ComponentDescriptor(name = "Electrolytic Capacitor (Axial)", author = "Branislav Stojkovic", category = "Passive",
creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C",
description = "Axial electrolytic capacitor, similar to Sprague Atom, F&T, etc", zOrder = IDIYComponent.COMPONENT,
transformer = SimpleComponentTransformer.class, enableCache = true)
public class AxialElectrolyticCapacitor extends AbstractLeadedComponent<Capacitance> {
private static final long serialVersionUID = 1L;
public static Size DEFAULT_WIDTH = new Size(1d / 2, SizeUnit.in);
public static Size DEFAULT_HEIGHT = new Size(1d / 8, SizeUnit.in);
public static Color BODY_COLOR = Color.decode("#6B6DCE");
public static Color BORDER_COLOR = BODY_COLOR.darker();
public static Color MARKER_COLOR = Color.decode("#8CACEA");
public static Color TICK_COLOR = Color.white;
private Capacitance value = null;
@Deprecated
private Voltage voltage = Voltage._63V;
private org.diylc.core.measures.Voltage voltageNew = null;
private Color markerColor = MARKER_COLOR;
private Color tickColor = TICK_COLOR;
private boolean polarized = true;
public AxialElectrolyticCapacitor() {
super();
this.bodyColor = BODY_COLOR;
this.borderColor = BORDER_COLOR;
this.labelColor = TICK_COLOR;
}
@EditableProperty(validatorClass = PositiveMeasureValidator.class)
public Capacitance getValue() {
return value;
}
public void setValue(Capacitance value) {
this.value = value;
}
@Override
public String getValueForDisplay() {
return (getValue() == null ? "" : getValue().toString()) + (getVoltageNew() == null ? "" : " " + getVoltageNew().toString());
}
@Deprecated
public Voltage getVoltage() {
return voltage;
}
@Deprecated
public void setVoltage(Voltage voltage) {
this.voltage = voltage;
}
@EditableProperty(name = "Voltage")
public org.diylc.core.measures.Voltage getVoltageNew() {
return voltageNew;
}
public void setVoltageNew(org.diylc.core.measures.Voltage voltageNew) {
this.voltageNew = voltageNew;
}
public void drawIcon(Graphics2D g2d, int width, int height) {
g2d.rotate(-Math.PI / 4, width / 2, height / 2);
g2d.setColor(LEAD_COLOR_ICON);
g2d.drawLine(0, height / 2, width, height / 2);
g2d.setColor(BODY_COLOR);
g2d.fillRect(4, height / 2 - 3, width - 8, 6);
g2d.setColor(MARKER_COLOR);
g2d.fillRect(width - 9, height / 2 - 3, 5, 6);
g2d.setColor(TICK_COLOR);
g2d.drawLine(width - 6, height / 2 - 1, width - 6, height / 2 + 1);
g2d.setColor(BORDER_COLOR);
g2d.drawRect(4, height / 2 - 3, width - 8, 6);
}
@Override
protected Size getDefaultWidth() {
return DEFAULT_HEIGHT;
}
@Override
protected Size getDefaultLength() {
return DEFAULT_WIDTH;
}
@EditableProperty(name = "Marker")
public Color getMarkerColor() {
return markerColor;
}
public void setMarkerColor(Color coverColor) {
this.markerColor = coverColor;
}
@EditableProperty(name = "Tick")
public Color getTickColor() {
return tickColor;
}
public void setTickColor(Color tickColor) {
this.tickColor = tickColor;
}
@EditableProperty(name = "Polarized")
public boolean getPolarized() {
return polarized;
}
public void setPolarized(boolean polarized) {
this.polarized = polarized;
}
@Override
protected Shape getBodyShape() {
double length = getLength().convertToPixels();
double width = getWidth().convertToPixels();
RoundRectangle2D rect = new RoundRectangle2D.Double(0f, 0f, length, width, width / 6, width / 6);
Area a = new Area(rect);
double notchDiameter = width / 4;
a.subtract(new Area(new Ellipse2D.Double(notchDiameter, -notchDiameter * 3 / 4, notchDiameter, notchDiameter)));
a.subtract(new Area(new Ellipse2D.Double(notchDiameter, width - notchDiameter / 4, notchDiameter, notchDiameter)));
if (!getPolarized()) {
a.subtract(new Area(new Ellipse2D.Double(length - notchDiameter * 2, -notchDiameter * 3 / 4, notchDiameter,
notchDiameter)));
a.subtract(new Area(new Ellipse2D.Double(length - notchDiameter * 2, width - notchDiameter / 4, notchDiameter,
notchDiameter)));
}
return a;
}
@Override
protected void decorateComponentBody(Graphics2D g2d, boolean outlineMode) {
int width = (int) getWidth().convertToPixels();
int length = (int) getLength().convertToPixels();
g2d.setColor(blend(getBorderColor(), getBodyColor()));
int notchDiameter = width / 4;
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
g2d.drawLine(notchDiameter, 0, notchDiameter, width);
g2d.drawLine(notchDiameter * 2, 0, notchDiameter * 2, width);
if (polarized) {
int markerLength = (int) (getLength().convertToPixels() * 0.2);
if (!outlineMode) {
g2d.setColor(markerColor);
Rectangle2D markerRect = new Rectangle2D.Double(length - markerLength, 0, markerLength + 2, width);
Area markerArea = new Area(markerRect);
markerArea.intersect((Area) getBodyShape());
g2d.fill(markerArea);
}
Color finalTickColor;
if (outlineMode) {
Theme theme =
(Theme) ConfigurationManager.getInstance().readObject(IPlugInPort.THEME_KEY, Constants.DEFAULT_THEME);
finalTickColor = theme.getOutlineColor();
} else {
finalTickColor = tickColor;
}
g2d.setColor(finalTickColor);
g2d.setStroke(ObjectCache.getInstance().fetchZoomableStroke(2));
g2d.drawLine((int) getLength().convertToPixels() - markerLength / 2, (int) (width / 2 - width * 0.15),
(int) getLength().convertToPixels() - markerLength / 2, (int) (width / 2 + width * 0.15));
} else {
g2d.drawLine(length - notchDiameter, 0, length - notchDiameter, width);
g2d.drawLine(length - notchDiameter * 2, 0, length - notchDiameter * 2, width);
}
}
public static Color blend(Color c0, Color c1) {
double totalAlpha = c0.getAlpha() + c1.getAlpha();
double weight0 = c0.getAlpha() / totalAlpha;
double weight1 = c1.getAlpha() / totalAlpha;
double r = weight0 * c0.getRed() + weight1 * c1.getRed();
double g = weight0 * c0.getGreen() + weight1 * c1.getGreen();
double b = weight0 * c0.getBlue() + weight1 * c1.getBlue();
double a = Math.max(c0.getAlpha(), c1.getAlpha());
return new Color((int) r, (int) g, (int) b, (int) a);
}
}
@ComponentDescriptor(name = "Electrolytic Capacitor (Axial)", author = "Branislav Stojkovic",
category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C",
description = "Axial electrolytic capacitor, similar to Sprague Atom, F&T, etc",
zOrder = IDIYComponent.COMPONENT, transformer = SimpleComponentTransformer.class,
enableCache = true, enableDatasheet = true, datasheetCreationStepCount = 3)
public class AxialElectrolyticCapacitor extends AbstractLeadedComponent<Capacitance> implements IDatasheetSupport {
private static final long serialVersionUID = 1L;
public static Size DEFAULT_WIDTH = new Size(1d / 2, SizeUnit.in);
public static Size DEFAULT_HEIGHT = new Size(1d / 8, SizeUnit.in);
public static Color BODY_COLOR = Color.decode("#6B6DCE");
public static Color BORDER_COLOR = BODY_COLOR.darker();
public static Color MARKER_COLOR = Color.decode("#8CACEA");
public static Color TICK_COLOR = Color.white;
private Capacitance value = null;
@Deprecated
private Voltage voltage = Voltage._63V;
private org.diylc.core.measures.Voltage voltageNew = null;
private Color markerColor = MARKER_COLOR;
private Color tickColor = TICK_COLOR;
private boolean polarized = true;
private String type;
public AxialElectrolyticCapacitor() {
super();
this.bodyColor = BODY_COLOR;
this.borderColor = BORDER_COLOR;
this.labelColor = TICK_COLOR;
}
public AxialElectrolyticCapacitor(String[] model) {
this();
applyModel(model);
}
@Override
public void applyModel(String[] model) {
CapacitorDatasheet d = CapacitorDatasheetService.parseAxialCapacitorDatasheet(model);
setType(d.getType());
if (d.getCapacitance() != null)
setValue(d.getCapacitance());
if (d.getVoltage() != null)
setVoltageNew(d.getVoltage());
setPolarized(!d.getNonPolarized());
if (d.getBodyColor() != null)
setBodyColor(d.getBodyColor());
if (d.getBorderColor() != null)
setBorderColor(d.getBorderColor());
if (d.getLabelColor() != null)
setLabelColor(d.getLabelColor());
if (d.getMarkerColor() != null)
setMarkerColor(d.getMarkerColor());
if (d.getTickColor() != null)
setTickColor(d.getTickColor());
if (d.getLength() != null)
setLength(d.getLength());
if (d.getWidth() != null)
setWidth(d.getWidth());
}
@EditableProperty(validatorClass = PositiveMeasureValidator.class)
public Capacitance getValue() {
return value;
}
public void setValue(Capacitance value) {
this.value = value;
}
@EditableProperty
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
@Override
public String getValueForDisplay() {
return (getValue() == null ? "" : getValue().toString())
+ (getVoltageNew() == null ? "" : " " + getVoltageNew().toString());
}
@Deprecated
public Voltage getVoltage() {
return voltage;
}
@Deprecated
public void setVoltage(Voltage voltage) {
this.voltage = voltage;
}
@EditableProperty(name = "Voltage")
public org.diylc.core.measures.Voltage getVoltageNew() {
return voltageNew;
}
public void setVoltageNew(org.diylc.core.measures.Voltage voltageNew) {
this.voltageNew = voltageNew;
}
public void drawIcon(Graphics2D g2d, int width, int height) {
g2d.rotate(-Math.PI / 4, width / 2, height / 2);
g2d.setColor(LEAD_COLOR_ICON);
g2d.drawLine(0, height / 2, width, height / 2);
g2d.setColor(BODY_COLOR);
g2d.fillRect(4, height / 2 - 3, width - 8, 6);
g2d.setColor(MARKER_COLOR);
g2d.fillRect(width - 9, height / 2 - 3, 5, 6);
g2d.setColor(TICK_COLOR);
g2d.drawLine(width - 6, height / 2 - 1, width - 6, height / 2 + 1);
g2d.setColor(BORDER_COLOR);
g2d.drawRect(4, height / 2 - 3, width - 8, 6);
}
@Override
protected Size getDefaultWidth() {
return DEFAULT_HEIGHT;
}
@Override
protected Size getDefaultLength() {
return DEFAULT_WIDTH;
}
@EditableProperty(name = "Marker")
public Color getMarkerColor() {
return markerColor;
}
public void setMarkerColor(Color coverColor) {
this.markerColor = coverColor;
}
@EditableProperty(name = "Tick")
public Color getTickColor() {
return tickColor;
}
public void setTickColor(Color tickColor) {
this.tickColor = tickColor;
}
@EditableProperty(name = "Polarized")
public boolean getPolarized() {
return polarized;
}
public void setPolarized(boolean polarized) {
this.polarized = polarized;
}
@Override
protected Shape getBodyShape() {
double lengthFinal = getLength().convertToPixels();
double widthFinal = getWidth().convertToPixels();
RoundRectangle2D rect = new RoundRectangle2D.Double(0f, 0f, lengthFinal, widthFinal,
widthFinal / 6, widthFinal / 6);
Area a = new Area(rect);
double notchDiameter = widthFinal / 4;
a.subtract(new Area(
new Ellipse2D.Double(notchDiameter, -notchDiameter * 3 / 4, notchDiameter, notchDiameter)));
a.subtract(new Area(new Ellipse2D.Double(notchDiameter, widthFinal - notchDiameter / 4,
notchDiameter, notchDiameter)));
if (!getPolarized()) {
a.subtract(new Area(new Ellipse2D.Double(lengthFinal - notchDiameter * 2,
-notchDiameter * 3 / 4, notchDiameter, notchDiameter)));
a.subtract(new Area(new Ellipse2D.Double(lengthFinal - notchDiameter * 2,
widthFinal - notchDiameter / 4, notchDiameter, notchDiameter)));
}
return a;
}
@Override
protected void decorateComponentBody(Graphics2D g2d, boolean outlineMode) {
double widthFinal = getWidth().convertToPixels();
double lengthFinal = getLength().convertToPixels();
g2d.setColor(blend(getBorderColor(), getBodyColor()));
int notchDiameter = (int) widthFinal / 4;
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
g2d.drawLine(notchDiameter, 0, notchDiameter, (int) widthFinal);
g2d.drawLine(notchDiameter * 2, 0, notchDiameter * 2, (int) widthFinal);
if (polarized) {
int markerLength = (int) (getLength().convertToPixels() * 0.2);
if (!outlineMode) {
g2d.setColor(markerColor);
Rectangle2D markerRect =
new Rectangle2D.Double(lengthFinal - markerLength, 0, markerLength + 2, widthFinal);
Area markerArea = new Area(markerRect);
markerArea.intersect((Area) getBodyShape());
g2d.fill(markerArea);
}
Color finalTickColor;
if (outlineMode) {
Theme theme = (Theme) ConfigurationManager.getInstance().readObject(IPlugInPort.THEME_KEY,
Constants.DEFAULT_THEME);
finalTickColor = theme.getOutlineColor();
} else {
finalTickColor = tickColor;
}
g2d.setColor(finalTickColor);
g2d.setStroke(ObjectCache.getInstance().fetchZoomableStroke(2));
g2d.drawLine((int) getLength().convertToPixels() - markerLength / 2,
(int) (widthFinal / 2 - widthFinal * 0.15),
(int) getLength().convertToPixels() - markerLength / 2,
(int) (widthFinal / 2 + widthFinal * 0.15));
} else {
g2d.drawLine((int) lengthFinal - notchDiameter, 0, (int) lengthFinal - notchDiameter,
(int) widthFinal);
g2d.drawLine((int) lengthFinal - notchDiameter * 2, 0, (int) lengthFinal - notchDiameter * 2,
(int) widthFinal);
}
}
public static Color blend(Color c0, Color c1) {
double totalAlpha = c0.getAlpha() + c1.getAlpha();
double weight0 = c0.getAlpha() / totalAlpha;
double weight1 = c1.getAlpha() / totalAlpha;
double r = weight0 * c0.getRed() + weight1 * c1.getRed();
double g = weight0 * c0.getGreen() + weight1 * c1.getGreen();
double b = weight0 * c0.getBlue() + weight1 * c1.getBlue();
double a = Math.max(c0.getAlpha(), c1.getAlpha());
return new Color((int) r, (int) g, (int) b, (int) a);
}
}
@@ -0,0 +1,294 @@
Mallory 150,63 V,0.15 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,63 V,0.18 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,63 V,0.22 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,63 V,0.27 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,63 V,0.33 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,63 V,0.39 uF,16.5,6.5,#FFE303,#B29E02,#000000
Mallory 150,63 V,0.47 uF,16.5,7,#FFE303,#B29E02,#000000
Mallory 150,63 V,0.56 uF,16.5,7,#FFE303,#B29E02,#000000
Mallory 150,63 V,0.68 uF,20.5,7,#FFE303,#B29E02,#000000
Mallory 150,63 V,0.82 uF,20.5,8,#FFE303,#B29E02,#000000
Mallory 150,63 V,1 uF,20.5,8,#FFE303,#B29E02,#000000
Mallory 150,63 V,1.5 uF,20.5,9.5,#FFE303,#B29E02,#000000
Mallory 150,63 V,2.2 uF,28,9.5,#FFE303,#B29E02,#000000
Mallory 150,63 V,3.3 uF,28,11,#FFE303,#B29E02,#000000
Mallory 150,63 V,4.7 uF,28,12.5,#FFE303,#B29E02,#000000
Mallory 150,63 V,6.8 uF,33,14.5,#FFE303,#B29E02,#000000
Mallory 150,63 V,10 uF,33,15.5,#FFE303,#B29E02,#000000
Mallory 150,100 V,0.068 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,100 V,0.082 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,100 V,0.1 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,100 V,0.12 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,100 V,0.15 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,100 V,0.18 uF,16.5,6.5,#FFE303,#B29E02,#000000
Mallory 150,100 V,0.22 uF,16.5,6.5,#FFE303,#B29E02,#000000
Mallory 150,100 V,0.27 uF,16.5,6.5,#FFE303,#B29E02,#000000
Mallory 150,100 V,0.33 uF,16.5,8,#FFE303,#B29E02,#000000
Mallory 150,100 V,0.39 uF,16.5,8,#FFE303,#B29E02,#000000
Mallory 150,100 V,0.47 uF,20.5,7,#FFE303,#B29E02,#000000
Mallory 150,100 V,0.56 uF,20.5,8,#FFE303,#B29E02,#000000
Mallory 150,100 V,0.68 uF,20.5,8.5,#FFE303,#B29E02,#000000
Mallory 150,100 V,0.82 uF,20.5,9.5,#FFE303,#B29E02,#000000
Mallory 150,100 V,1 uF,20.5,10,#FFE303,#B29E02,#000000
Mallory 150,250 V,0.012 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,250 V,0.015 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,250 V,0.018 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,250 V,0.022 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,250 V,0.027 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,250 V,0.033 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,250 V,0.039 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,250 V,0.047 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,250 V,0.056 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,250 V,0.068 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,250 V,0.082 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,250 V,0.1 uF,16.5,6.5,#FFE303,#B29E02,#000000
Mallory 150,250 V,0.12 uF,16.5,7,#FFE303,#B29E02,#000000
Mallory 150,250 V,0.15 uF,16.5,8,#FFE303,#B29E02,#000000
Mallory 150,250 V,0.18 uF,16.5,8,#FFE303,#B29E02,#000000
Mallory 150,250 V,0.22 uF,16.5,8.5,#FFE303,#B29E02,#000000
Mallory 150,250 V,0.27 uF,20.5,8,#FFE303,#B29E02,#000000
Mallory 150,250 V,0.33 uF,20.5,8.5,#FFE303,#B29E02,#000000
Mallory 150,250 V,0.39 uF,20.5,9,#FFE303,#B29E02,#000000
Mallory 150,250 V,0.47 uF,20.5,9.5,#FFE303,#B29E02,#000000
Mallory 150,250 V,0.56 uF,20.5,10,#FFE303,#B29E02,#000000
Mallory 150,250 V,0.68 uF,28,9,#FFE303,#B29E02,#000000
Mallory 150,250 V,0.82 uF,28,9.5,#FFE303,#B29E02,#000000
Mallory 150,250 V,1 uF,28,10.5,#FFE303,#B29E02,#000000
Mallory 150,250 V,1.5 uF,28,12.5,#FFE303,#B29E02,#000000
Mallory 150,250 V,2.2 uF,33,13.5,#FFE303,#B29E02,#000000
Mallory 150,250 V,3.3 uF,33,15.5,#FFE303,#B29E02,#000000
Mallory 150,250 V,4.7 uF,33,18.5,#FFE303,#B29E02,#000000
Mallory 150,250 V,6.8 uF,33,21.5,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.0082 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.01 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.012 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.015 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.018 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.022 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.027 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.033 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.039 uF,16.5,6.5,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.047 uF,16.5,7,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.056 uF,16.5,8,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.068 uF,20.5,7,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.082 uF,20.5,8,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.1 uF,20.5,8,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.12 uF,20.5,8,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.15 uF,20.5,9,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.18 uF,28,8,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.22 uF,28,8.5,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.27 uF,28,9,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.33 uF,28,10,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.39 uF,28,10.5,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.47 uF,33,11.5,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.56 uF,33,11.5,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.68 uF,33,12.5,#FFE303,#B29E02,#000000
Mallory 150,400 V,0.82 uF,33,13.5,#FFE303,#B29E02,#000000
Mallory 150,400 V,1 uF,33,14.5,#FFE303,#B29E02,#000000
Mallory 150,400 V,1.5 uF,33,17.5,#FFE303,#B29E02,#000000
Mallory 150,400 V,2.2 uF,33,20.5,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.001 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.0012 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.0015 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.0018 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.0022 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.0027 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.0033 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.0039 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.0047 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.0056 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.0068 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.0082 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.01 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.012 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.015 uF,16.5,6,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.018 uF,16.5,6.5,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.022 uF,16.5,7,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.027 uF,20.5,6.5,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.033 uF,20.5,8,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.039 uF,20.5,8,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.047 uF,20.5,8,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.056 uF,20.5,8.5,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.068 uF,20.5,9,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.082 uF,20.5,9.5,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.1 uF,28,8.5,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.12 uF,28,9,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.15 uF,28,10,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.18 uF,28,10.5,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.22 uF,28,11.5,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.27 uF,28,12.5,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.33 uF,33,13,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.39 uF,33,14.5,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.47 uF,33,15,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.56 uF,33,15.5,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.68 uF,33,17.5,#FFE303,#B29E02,#000000
Mallory 150,630 V,0.82 uF,33,18.5,#FFE303,#B29E02,#000000
Mallory 150,630 V,1 uF,33,20.5,#FFE303,#B29E02,#000000
Mallory 150,1000 V,0.001 uF,16.5,6.5,#FFE303,#B29E02,#000000
Mallory 150,1000 V,0.0015 uF,16.5,6.5,#FFE303,#B29E02,#000000
Mallory 150,1000 V,0.0022 uF,16.5,6.5,#FFE303,#B29E02,#000000
Mallory 150,1000 V,0.0033 uF,16.5,6.5,#FFE303,#B29E02,#000000
Mallory 150,1000 V,0.0047 uF,16.5,7,#FFE303,#B29E02,#000000
Mallory 150,1000 V,0.0068 uF,16.5,8,#FFE303,#B29E02,#000000
Mallory 150,1000 V,0.01 uF,20.5,7,#FFE303,#B29E02,#000000
Mallory 150,1000 V,0.015 uF,20.5,8.5,#FFE303,#B29E02,#000000
Mallory 150,1000 V,0.022 uF,20.5,9.5,#FFE303,#B29E02,#000000
Mallory 150,1000 V,0.033 uF,28,8.5,#FFE303,#B29E02,#000000
Mallory 150,1000 V,0.047 uF,28,9.5,#FFE303,#B29E02,#000000
Mallory 150,1000 V,0.068 uF,28,11,#FFE303,#B29E02,#000000
Mallory 150,1000 V,0.1 uF,28,13,#FFE303,#B29E02,#000000
Mallory 150,1000 V,0.15 uF,33,14,#FFE303,#B29E02,#000000
Mallory 150,1000 V,0.22 uF,33,17.5,#FFE303,#B29E02,#000000
Mallory 150,1000 V,0.33 uF,33,20.5,#FFE303,#B29E02,#000000
Mallory 150,1000 V,0.47 uF,33,24,#FFE303,#B29E02,#000000
Solen Fast,250 V, 1.0 uF,22,11,#333333,#000000,#FFFFFF
Solen Fast,250 V, 1.1 uF,22,11,#333333,#000000,#FFFFFF
Solen Fast,250 V, 1.2 uF,22,11,#333333,#000000,#FFFFFF
Solen Fast,250 V, 1.3 uF,22,12,#333333,#000000,#FFFFFF
Solen Fast,250 V, 1.5 uF,22,13,#333333,#000000,#FFFFFF
Solen Fast,250 V, 1.6 uF,22,13,#333333,#000000,#FFFFFF
Solen Fast,250 V, 1.8 uF,22,14,#333333,#000000,#FFFFFF
Solen Fast,250 V, 2.0 uF,27,13,#333333,#000000,#FFFFFF
Solen Fast,250 V, 2.2 uF,27,13,#333333,#000000,#FFFFFF
Solen Fast,250 V, 2.4 uF,27,14,#333333,#000000,#FFFFFF
Solen Fast,250 V, 2.7 uF,27,15,#333333,#000000,#FFFFFF
Solen Fast,250 V, 3.0 uF,27,15,#333333,#000000,#FFFFFF
Solen Fast,250 V, 3.3 uF,28,16,#333333,#000000,#FFFFFF
Solen Fast,250 V, 3.6 uF,28,16,#333333,#000000,#FFFFFF
Solen Fast,250 V, 3.9 uF,28,17,#333333,#000000,#FFFFFF
Solen Fast,250 V, 4.3 uF,28,18,#333333,#000000,#FFFFFF
Solen Fast,250 V, 4.7 uF,28,19,#333333,#000000,#FFFFFF
Solen Fast,250 V, 5.1 uF,32,17,#333333,#000000,#FFFFFF
Solen Fast,250 V, 5.6 uF,32,18,#333333,#000000,#FFFFFF
Solen Fast,250 V, 6.2 uF,32,19,#333333,#000000,#FFFFFF
Solen Fast,250 V, 6.8 uF,32,20,#333333,#000000,#FFFFFF
Solen Fast,250 V, 7.5 uF,33,21,#333333,#000000,#FFFFFF
Solen Fast,250 V, 8.2 uF,33,21,#333333,#000000,#FFFFFF
Solen Fast,250 V, 9.1 uF,33,23,#333333,#000000,#FFFFFF
Solen Fast,250 V, 10 uF,33,24,#333333,#000000,#FFFFFF
Solen Fast,250 V, 11 uF,38,22,#333333,#000000,#FFFFFF
Solen Fast,250 V, 12 uF,38,23,#333333,#000000,#FFFFFF
Solen Fast,250 V, 13 uF,38,24,#333333,#000000,#FFFFFF
Solen Fast,250 V, 15 uF,38,26,#333333,#000000,#FFFFFF
Solen Fast,250 V, 16 uF,38,27,#333333,#000000,#FFFFFF
Solen Fast,250 V, 18 uF,43,26,#333333,#000000,#FFFFFF
Solen Fast,250 V, 20 uF,43,28,#333333,#000000,#FFFFFF
Solen Fast,250 V, 22 uF,43,29,#333333,#000000,#FFFFFF
Solen Fast,250 V, 24 uF,43,30,#333333,#000000,#FFFFFF
Solen Fast,250 V, 27 uF,43,32,#333333,#000000,#FFFFFF
Solen Fast,250 V, 30 uF,48,31,#333333,#000000,#FFFFFF
Solen Fast,250 V, 33 uF,48,33,#333333,#000000,#FFFFFF
Solen Fast,250 V, 36 uF,48,34,#333333,#000000,#FFFFFF
Solen Fast,250 V, 39 uF,48,36,#333333,#000000,#FFFFFF
Solen Fast,250 V, 43 uF,48,37,#333333,#000000,#FFFFFF
Solen Fast,250 V, 47 uF,53,37,#333333,#000000,#FFFFFF
Solen Fast,250 V, 51 uF,53,38,#333333,#000000,#FFFFFF
Solen Fast,250 V, 56 uF,53,40,#333333,#000000,#FFFFFF
Solen Fast,250 V, 62 uF,60,41,#333333,#000000,#FFFFFF
Solen Fast,250 V, 68 uF,60,43,#333333,#000000,#FFFFFF
Solen Fast,250 V, 75 uF,60,44,#333333,#000000,#FFFFFF
Solen Fast,250 V, 82 uF,60,46,#333333,#000000,#FFFFFF
Solen Fast,250 V, 91 uF,60,49,#333333,#000000,#FFFFFF
Solen Fast,250 V, 100 uF ,65,49,#333333,#000000,#FFFFFF
Solen Fast,250 V, 110 uF ,65,51,#333333,#000000,#FFFFFF
Solen Fast,250 V, 120 uF ,65,52,#333333,#000000,#FFFFFF
Solen Fast,250 V, 130 uF ,65,55,#333333,#000000,#FFFFFF
Solen Fast,250 V, 150 uF ,72,56,#333333,#000000,#FFFFFF
Solen Fast,250 V, 160 uF ,72,58,#333333,#000000,#FFFFFF
Solen Fast,250 V, 180 uF ,72,61,#333333,#000000,#FFFFFF
Solen Fast,250 V, 200 uF ,85,58,#333333,#000000,#FFFFFF
Solen Fast,250 V, 220 uF ,85,61,#333333,#000000,#FFFFFF
Solen Fast,250 V, 240 uF ,85,64,#333333,#000000,#FFFFFF
Solen Fast,250 V, 270 uF ,110,58,#333333,#000000,#FFFFFF
Solen Fast,250 V, 300 uF ,110,61,#333333,#000000,#FFFFFF
Solen Fast,250 V, 330 uF ,115,63,#333333,#000000,#FFFFFF
Solen Fast,400 V, 1.0 uF,22,12,#333333,#000000,#FFFFFF
Solen Fast,400 V, 1.1 uF,22,14,#333333,#000000,#FFFFFF
Solen Fast,400 V, 1.2 uF,22,14,#333333,#000000,#FFFFFF
Solen Fast,400 V, 1.3 uF,22,15,#333333,#000000,#FFFFFF
Solen Fast,400 V, 1.5 uF,27,14,#333333,#000000,#FFFFFF
Solen Fast,400 V, 1.6 uF,27,14,#333333,#000000,#FFFFFF
Solen Fast,400 V, 1.8 uF,27,15,#333333,#000000,#FFFFFF
Solen Fast,400 V, 2.0 uF,27,16,#333333,#000000,#FFFFFF
Solen Fast,400 V, 2.2 uF,27,16,#333333,#000000,#FFFFFF
Solen Fast,400 V, 2.4 uF,28,16,#333333,#000000,#FFFFFF
Solen Fast,400 V, 2.7 uF,28,17,#333333,#000000,#FFFFFF
Solen Fast,400 V, 3.0 uF,28,18,#333333,#000000,#FFFFFF
Solen Fast,400 V, 3.3 uF,33,17,#333333,#000000,#FFFFFF
Solen Fast,400 V, 3.6 uF,33,18,#333333,#000000,#FFFFFF
Solen Fast,400 V, 3.9 uF,33,18,#333333,#000000,#FFFFFF
Solen Fast,400 V, 4.3 uF,33,19,#333333,#000000,#FFFFFF
Solen Fast,400 V, 4.7 uF,33,20,#333333,#000000,#FFFFFF
Solen Fast,400 V, 5.1 uF,33,21,#333333,#000000,#FFFFFF
Solen Fast,400 V, 5.6 uF,33,22,#333333,#000000,#FFFFFF
Solen Fast,400 V, 6.2 uF,33,23,#333333,#000000,#FFFFFF
Solen Fast,400 V, 6.8 uF,33,24,#333333,#000000,#FFFFFF
Solen Fast,400 V, 7.5 uF,33,25,#333333,#000000,#FFFFFF
Solen Fast,400 V, 8.2 uF,38,24,#333333,#000000,#FFFFFF
Solen Fast,400 V, 9.1 uF,38,25,#333333,#000000,#FFFFFF
Solen Fast,400 V, 10 uF,38,26,#333333,#000000,#FFFFFF
Solen Fast,400 V, 11 uF,38,28,#333333,#000000,#FFFFFF
Solen Fast,400 V, 12 uF,38,29,#333333,#000000,#FFFFFF
Solen Fast,400 V, 13 uF,45,27,#333333,#000000,#FFFFFF
Solen Fast,400 V, 15 uF,45,29,#333333,#000000,#FFFFFF
Solen Fast,400 V, 16 uF,45,29,#333333,#000000,#FFFFFF
Solen Fast,400 V, 18 uF,45,31,#333333,#000000,#FFFFFF
Solen Fast,400 V, 20 uF,45,33,#333333,#000000,#FFFFFF
Solen Fast,400 V, 22 uF,45,34,#333333,#000000,#FFFFFF
Solen Fast,400 V, 24 uF,45,36,#333333,#000000,#FFFFFF
Solen Fast,400 V, 27 uF,53,34,#333333,#000000,#FFFFFF
Solen Fast,400 V, 30 uF,53,36,#333333,#000000,#FFFFFF
Solen Fast,400 V, 33 uF,53,38,#333333,#000000,#FFFFFF
Solen Fast,400 V, 36 uF,53,40,#333333,#000000,#FFFFFF
Solen Fast,400 V, 39 uF,60,40,#333333,#000000,#FFFFFF
Solen Fast,400 V, 43 uF,60,42,#333333,#000000,#FFFFFF
Solen Fast,400 V, 47 uF,60,44,#333333,#000000,#FFFFFF
Solen Fast,400 V, 51 uF,60,45,#333333,#000000,#FFFFFF
Solen Fast,400 V, 56 uF,60,45,#333333,#000000,#FFFFFF
Solen Fast,400 V, 62 uF ,65,47,#333333,#000000,#FFFFFF
Solen Fast,400 V, 68 uF ,65,49,#333333,#000000,#FFFFFF
Solen Fast,400 V, 75 uF ,65,52,#333333,#000000,#FFFFFF
Solen Fast,400 V, 82 uF ,65,54,#333333,#000000,#FFFFFF
Solen Fast,400 V, 91 uF ,65,57,#333333,#000000,#FFFFFF
Solen Fast,400 V, 100 uF,72,56,#333333,#000000,#FFFFFF
Solen Fast,400 V, 110 uF,72,58,#333333,#000000,#FFFFFF
Solen Fast,400 V, 120 uF,72,61,#333333,#000000,#FFFFFF
Solen Fast,400 V, 130 uF,85,58,#333333,#000000,#FFFFFF
Solen Fast,400 V, 150 uF,85,62,#333333,#000000,#FFFFFF
Solen Fast,400 V, 160 uF,85,63,#333333,#000000,#FFFFFF
Solen Fast,400 V, 180 uF,110,59,#333333,#000000,#FFFFFF
Solen Fast,400 V, 200 uF,110,62,#333333,#000000,#FFFFFF
Solen Fast,400 V, 220 uF,115,63,#333333,#000000,#FFFFFF
Solen Fast,630 V, 0.10 uF,17,9,#333333,#000000,#FFFFFF
Solen Fast,630 V, 0.12 uF,17,10,#333333,#000000,#FFFFFF
Solen Fast,630 V, 0.15 uF,20,10,#333333,#000000,#FFFFFF
Solen Fast,630 V, 0.18 uF,20,11,#333333,#000000,#FFFFFF
Solen Fast,630 V, 0.22 uF,22,10,#333333,#000000,#FFFFFF
Solen Fast,630 V, 0.27 uF,22,11,#333333,#000000,#FFFFFF
Solen Fast,630 V, 0.33 uF,22,12,#333333,#000000,#FFFFFF
Solen Fast,630 V, 0.39 uF,22,13,#333333,#000000,#FFFFFF
Solen Fast,630 V, 0.47 uF,24,12,#333333,#000000,#FFFFFF
Solen Fast,630 V, 0.56 uF,24,13,#333333,#000000,#FFFFFF
Solen Fast,630 V, 0.68 uF,25,14,#333333,#000000,#FFFFFF
Solen Fast,630 V, 0.82 uF,25,15,#333333,#000000,#FFFFFF
Solen Fast,630 V, 1.0 uF,25,16,#333333,#000000,#FFFFFF
Solen Fast,630 V, 1.2 uF,28,16,#333333,#000000,#FFFFFF
Solen Fast,630 V, 1.5 uF,28,17,#333333,#000000,#FFFFFF
Solen Fast,630 V, 1.8 uF,28,19,#333333,#000000,#FFFFFF
Solen Fast,630 V, 2.2 uF,33,18,#333333,#000000,#FFFFFF
Solen Fast,630 V, 2.7 uF,33,20,#333333,#000000,#FFFFFF
Solen Fast,630 V, 3.3 uF,33,22,#333333,#000000,#FFFFFF
Solen Fast,630 V, 3.9 uF,38,22,#333333,#000000,#FFFFFF
Solen Fast,630 V, 4.7 uF,38,24,#333333,#000000,#FFFFFF
Solen Fast,630 V, 5.6 uF,38,26,#333333,#000000,#FFFFFF
Solen Fast,630 V, 6.8 uF,43,26,#333333,#000000,#FFFFFF
Solen Fast,630 V, 8.2 uF,43,29,#333333,#000000,#FFFFFF
Solen Fast,630 V, 10 uF,48,29,#333333,#000000,#FFFFFF
Solen Fast,630 V, 12 uF,48,32,#333333,#000000,#FFFFFF
Solen Fast,630 V, 15 uF,53,34,#333333,#000000,#FFFFFF
Solen Fast,630 V, 18 uF,53,37,#333333,#000000,#FFFFFF
Solen Fast,630 V, 22 uF,58,39,#333333,#000000,#FFFFFF
Solen Fast,630 V, 27 uF,58,43,#333333,#000000,#FFFFFF
Solen Fast,630 V, 33 uF,65,45,#333333,#000000,#FFFFFF
Solen Fast,630 V, 39 uF,65,49,#333333,#000000,#FFFFFF
Solen Fast,630 V, 47 uF,65,54,#333333,#000000,#FFFFFF
@@ -22,16 +22,19 @@ import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Shape;
import java.awt.geom.Rectangle2D;
import org.diylc.components.passive.CapacitorDatasheetService.CapacitorDatasheet;
import org.diylc.components.transform.SimpleComponentTransformer;
import org.diylc.core.CreationMethod;
import org.diylc.core.IDIYComponent;
import org.diylc.core.IDatasheetSupport;
import org.diylc.core.annotations.ComponentDescriptor;
@ComponentDescriptor(name = "Film Capacitor (Axial)", author = "Branislav Stojkovic",
category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C",
description = "Axial film capacitor, similar to Mallory 150s", zOrder = IDIYComponent.COMPONENT,
transformer = SimpleComponentTransformer.class)
public class AxialFilmCapacitor extends AbstractFilmCapacitor {
transformer = SimpleComponentTransformer.class, enableDatasheet = true,
datasheetCreationStepCount = 3)
public class AxialFilmCapacitor extends AbstractFilmCapacitor implements IDatasheetSupport {
private static final long serialVersionUID = 1L;
@@ -45,6 +48,33 @@ public class AxialFilmCapacitor extends AbstractFilmCapacitor {
this.borderColor = BORDER_COLOR;
}
public AxialFilmCapacitor(String[] model) {
this();
applyModel(model);
}
@Override
public void applyModel(String[] model) {
CapacitorDatasheet d = CapacitorDatasheetService.parseAxialCapacitorDatasheet(model);
setType(d.getType());
if (d.getCapacitance() != null)
setValue(d.getCapacitance());
if (d.getVoltage() != null)
setVoltageNew(d.getVoltage());
if (d.getBodyColor() != null)
setBodyColor(d.getBodyColor());
if (d.getBorderColor() != null)
setBorderColor(d.getBorderColor());
if (d.getLabelColor() != null)
setLabelColor(d.getLabelColor());
if (d.getLength() != null)
setLength(d.getLength());
if (d.getWidth() != null)
setWidth(d.getWidth());
}
public void drawIcon(Graphics2D g2d, int width, int height) {
g2d.rotate(-Math.PI / 4, width / 2, height / 2);
g2d.setColor(LEAD_COLOR_ICON);
@@ -57,10 +87,12 @@ public class AxialFilmCapacitor extends AbstractFilmCapacitor {
@Override
protected Shape getBodyShape() {
return new Rectangle2D.Double(0f, 0f, getLength().convertToPixels(),
getClosestOdd(getWidth().convertToPixels()));
double lengthFinal = getLength().convertToPixels();
double widthFinal = getWidth().convertToPixels();
return new Rectangle2D.Double(0f, 0f, lengthFinal, getClosestOdd(widthFinal));
}
@Override
protected boolean supportsStandingMode() {
return true;
@@ -0,0 +1,203 @@
/*
*
* DIY Layout Creator (DIYLC). Copyright (c) 2009-2018 held jointly by the individual authors.
*
* This file is part of DIYLC.
*
* DIYLC is free software: you can redistribute it and/or modify it under the terms of the GNU
* General Public License as published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* DIYLC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
* Public License for more details.
*
* You should have received a copy of the GNU General Public License along with DIYLC. If not, see
* <http://www.gnu.org/licenses/>.
*
*/
package org.diylc.components.passive;
import java.awt.Color;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
import org.diylc.core.measures.Capacitance;
import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit;
import org.diylc.core.measures.Voltage;
import org.diylc.presenter.DatasheetService;
public class CapacitorDatasheetService {
private static final double TOLERANCE = 10d;
private static CapacitorDatasheetService instance;
private static NumberFormat format = new DecimalFormat("##.###");
private Map<String, CapacitorDatasheet> cache = new HashMap<String, CapacitorDatasheet>();
public static CapacitorDatasheetService getInstance() {
if (instance == null) {
instance = new CapacitorDatasheetService();
}
return instance;
}
public CapacitorDatasheet lookup(Class<?> clazz, String key, Voltage voltage, Capacitance value) {
return lookup(clazz, key, voltage, value, null);
}
public CapacitorDatasheet lookup(Class<?> clazz, String key, Voltage voltage, Capacitance value,
Boolean polarized) {
String lookupKey = key + "|" + format.format(voltage.getNormalizedValue()) + " VDC"
+ (Optional.ofNullable(polarized).map(p -> p ? "" : " NP").orElse(""));
String cacheKey = clazz.getName() + lookupKey + "|" + format.format(value.getNormalizedValue());
boolean isRadial = clazz.getName().contains("Radial");
return cache.computeIfAbsent(cacheKey, k -> {
String[] lookup = DatasheetService.getInstance().lookup(clazz, TOLERANCE, lookupKey,
value.getNormalizedValue());
if (lookup != null) {
return parseCapacitorDatasheet(isRadial, lookup);
}
return null;
});
}
public static CapacitorDatasheet parseAxialCapacitorDatasheet(String[] model) {
return parseCapacitorDatasheet(false, model);
}
public static CapacitorDatasheet parseRadialCapacitorDatasheet(String[] model) {
return parseCapacitorDatasheet(true, model);
}
private static CapacitorDatasheet parseCapacitorDatasheet(boolean isRadial, String[] model) {
String[] voltageParts = model[1].split(" ");
Voltage voltage = Voltage.parseVoltage(voltageParts[0] + voltageParts[1]);
String[] capacitanceParts = model[2].split(" ");
Capacitance capacitance = Capacitance.parseCapacitance(capacitanceParts[0] + capacitanceParts[1]);
boolean nonPolarized = model[1].endsWith(" NP");
Size length = new Size(Double.parseDouble(model[3]), SizeUnit.mm);
Size width = new Size(Double.parseDouble(model[4]), SizeUnit.mm);
int i = 5;
Size leadSpacing = null;
if (isRadial && model.length > i && model[i].length() > 0) {
leadSpacing = new Size(Double.parseDouble(model[i]), SizeUnit.mm);
i++;
}
Color bodyColor = null;
if (model.length > i && model[i].length() == 7)
bodyColor = Color.decode(model[i]);
i++;
Color borderColor = null;
if (model.length > i && model[i].length() == 7)
borderColor = Color.decode(model[i]);
i++;
Color labelColor = null;
if (model.length > i && model[i].length() == 7)
labelColor = Color.decode(model[i]);
i++;
Color markerColor = null;
if (model.length > i && model[i].length() == 7)
markerColor = Color.decode(model[i]);
i++;
Color tickColor = null;
if (model.length > i && model[i].length() == 7)
tickColor = Color.decode(model[i]);
return new CapacitorDatasheet(model[0], capacitance, voltage, nonPolarized, length, width, leadSpacing, bodyColor, borderColor, labelColor,
markerColor, tickColor);
}
public static class CapacitorDatasheet {
private Capacitance capacitance;
private Voltage voltage;
private Size length;
private Size width;
private Color bodyColor;
private Color borderColor;
private Color labelColor;
private Color markerColor;
private Color tickColor;
private Size leadSpacing;
private String type;
private boolean nonPolarized;
public CapacitorDatasheet(String type, Capacitance capacitance, Voltage voltage, boolean nonPolarized, Size length, Size width, Size leadSpacing, Color bodyColor,
Color borderColor, Color labelColor, Color markerColor, Color tickColor) {
super();
this.type = type;
this.capacitance = capacitance;
this.voltage = voltage;
this.length = length;
this.width = width;
this.leadSpacing = leadSpacing;
this.bodyColor = bodyColor;
this.borderColor = borderColor;
this.labelColor = labelColor;
this.markerColor = markerColor;
this.tickColor = tickColor;
this.nonPolarized = nonPolarized;
}
public String getType() {
return type;
}
public Capacitance getCapacitance() {
return capacitance;
}
public Voltage getVoltage() {
return voltage;
}
public Size getLength() {
return length;
}
public Size getWidth() {
return width;
}
public Size getLeadSpacing() {
return leadSpacing;
}
public Color getBodyColor() {
return bodyColor;
}
public Color getBorderColor() {
return borderColor;
}
public Color getLabelColor() {
return labelColor;
}
public Color getMarkerColor() {
return markerColor;
}
public Color getTickColor() {
return tickColor;
}
public boolean getNonPolarized() {
return nonPolarized;
}
}
}
@@ -25,7 +25,6 @@ import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Shape;
import java.awt.geom.Ellipse2D;
import org.diylc.components.AbstractRadialComponent;
import org.diylc.components.transform.SimpleComponentTransformer;
import org.diylc.core.CreationMethod;
import org.diylc.core.IDIYComponent;
@@ -0,0 +1,716 @@
Elna Silmic II,6.3 V,33 uF,11,5,2,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,6.3 V,47 uF,11,6.3,2.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,6.3 V,100 uF,11.5,8,3.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,6.3 V,220 uF,12.5,10,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,6.3 V,330 uF,16,10,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,6.3 V,470 uF,20,10,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,6.3 V,1000 uF,20,12.5,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,10 V,22 uF,11,5,2,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,10 V,33 uF,11,6.3,2.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,10 V,47 uF,11.5,8,3.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,10 V,100 uF,12.5,10,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,10 V,220 uF,16,10,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,10 V,330 uF,20,10,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,10 V,470 uF,20,12.5,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,10 V,1000 uF,25,16,7.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,10 V,2200 uF,35.5,16,7.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,10 V,3300 uF,40,18,7.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,16 V,10 uF,11,5,2,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,16 V,22 uF,11,6.3,2.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,16 V,33 uF,11,6.3,2.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,16 V,47 uF,11.5,8,3.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,16 V,100 uF,12.5,10,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,16 V,220 uF,20,10,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,16 V,330 uF,20,12.5,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,16 V,470 uF,25,12.5,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,16 V,1000 uF,31.5,16,7.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,16 V,2200 uF,40,18,7.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,25 V,4.7uF,11,5,2,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,25 V,10 uF,11,6.3,2.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,25 V,22 uF,11,6.3,2.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,25 V,33 uF,11.5,8,3.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,25 V,47 uF,11.5,8,3.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,25 V,100 uF,16,10,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,25 V,220 uF,20,12.5,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,25 V,330 uF,25,12.5,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,25 V,470 uF,25,16,7.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,25 V,1000 uF,35.5,16,7.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,35 V,4.7uF,11,5,2,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,35 V,10 uF,11,6.3,2.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,35 V,22 uF,11.5,8,3.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,35 V,33 uF,12.5,10,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,35 V,47 uF,12.5,10,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,35 V,100 uF,20,10,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,35 V,220 uF,25,12.5,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,35 V,330 uF,25,16,7.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,35 V,470 uF,31.5,16,7.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,35 V,1000 uF,35.5,18,7.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,50 V,2.2 uF,11,6.3,2.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,50 V,3.3 uF,11,6.3,2.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,50 V,4.7uF,11,6.3,2.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,50 V,10 uF,11.5,8,3.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,50 V,22 uF,12.5,10,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,50 V,33 uF,16,10,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,50 V,47 uF,16,10,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,50 V,100 uF,20,12.5,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,50 V,220 uF,25,16,7.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,50 V,330 uF,31.5,16,7.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,50 V,470 uF,35.5,16,7.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,50 V,1000 uF,40,18,7.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,63 V,2.2 uF,11,5,2,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,63 V,3.3 uF,11,5,2,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,63 V,4.7uF,11,6.3,2.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,63 V,10 uF,11.5,8,3.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,63 V,22 uF,16,10,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,63 V,33 uF,20,10,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,63 V,47 uF,20,10,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,63 V,100 uF,25,12.5,5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,63 V,220 uF,31.5,16,7.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,63 V,330 uF,35.5,16,7.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Elna Silmic II,63 V,470 uF,35.8,18,7.5,#876B68,#544341,#FFFFFF,#CCCCCC,#544341
Nichicon FG,6.3 V,470 uF,12.5,10,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,6.3 V,1000 uF,20,10,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,6.3 V,2200 uF,25,12.5,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,6.3 V,3300 uF,25,16,7.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,6.3 V,4700 uF,31.5,16,7.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,6.3 V,6800 uF,35.5,18,7.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,6.3 V,10000 uF,40,18,7.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,10 V,47 uF,11,5,2,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,10 V,100 uF,11,6.3,2.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,10 V,220 uF,11.5,8,3.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,10 V,330 uF,12.5,10,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,10 V,470 uF,16,10,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,10 V,1000 uF,20,12.5,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,10 V,2200 uF,25,16,7.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,10 V,3300 uF,31.5,16,7.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,10 V,4700 uF,35.5,16,7.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,10 V,6800 uF,40,18,7.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,16 V,33 uF,11,5,2,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,16 V,47 uF,11,6.3,2.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,16 V,100 uF,11.5,8,3.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,16 V,220 uF,12.5,10,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,16 V,330 uF,16,10,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,16 V,470 uF,20,10,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,16 V,1000 uF,25,12.5,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,16 V,2200 uF,25,16,7.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,16 V,3300 uF,35.5,16,7.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,16 V,4700 uF,35.5,18,7.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,25 V,22 uF,11,5,2,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,25 V,33 uF,11,6.3,2.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,25 V,47 uF,11,6.3,2.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,25 V,100 uF,11.5,8,3.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,25 V,220 uF,16,10,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,25 V,330 uF,20,10,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,25 V,470 uF,20,12.5,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,25 V,1000 uF,25,16,7.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,25 V,2200 uF,35.5,16,7.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,25 V,3300 uF,40,18,7.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,35 V,22 uF,11,6.3,2.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,35 V,33 uF,11,6.3,2.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,35 V,47 uF,11.5,8,3.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,35 V,100 uF,12.5,10,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,35 V,220 uF,20,10,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,35 V,330 uF,20,12.5,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,35 V,470 uF,25,12.5,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,35 V,1000 uF,25,16,7.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,35 V,2200 uF,35.5,18,7.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,50 V,0.1 uF,11,5,2,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,50 V,0.22 uF,11,5,2,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,50 V,0.33 uF,11,5,2,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,50 V,0.47 uF,11,5,2,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,50 V,1 uF,11,5,2,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,50 V,2.2 uF,11,5,2,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,50 V,3.3 uF,11,5,2,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,50 V,4.7 uF,11,5,2,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,50 V,10 uF,11,5,2,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,50 V,22 uF,11,6.3,2.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,50 V,33 uF,11.5,8,3.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,50 V,47 uF,11.5,8,3.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,50 V,100 uF,16,10,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,50 V,220 uF,20,12.5,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,50 V,330 uF,20,12.5,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,50 V,470 uF,25,16,7.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,50 V,1000 uF,31.5,16,7.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,63 V,10 uF,11,6.3,2.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,63 V,22 uF,11.5,8,3.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,63 V,33 uF,11.5,8,3.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,63 V,47 uF,12.5,10,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,63 V,100 uF,20,10,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,63 V,220 uF,20,12.5,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,63 V,330 uF,25,12.5,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,63 V,470 uF,25,16,7.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,63 V,1000 uF,35.5,18,7.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,80 V,10 uF,11,6.3,2.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,80 V,22 uF,11.5,11.8,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,80 V,33 uF,12.5,10,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,80 V,47 uF,16,10,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,80 V,100 uF,20,12.5,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,80 V,220 uF,25,12.5,5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,80 V,330 uF,31.5,16,7.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon FG,80 V,470 uF,35.5,16,7.5,#F4B301,#000000,#000000,#000000,#F4B301
Nichicon KZ,25 V,33 uF,11.5,8,3.5,#333333,#000000,#F4B301,#F4B301,#000000
Nichicon KZ,25 V,47 uF,12.5,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Nichicon KZ,25 V,100 uF,16,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Nichicon KZ,25 V,220 uF,20,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Nichicon KZ,25 V,330 uF,25,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Nichicon KZ,25 V,470 uF,25,16,7.5,#333333,#000000,#F4B301,#F4B301,#000000
Nichicon KZ,25 V,1000 uF,35.5,16,7.5,#333333,#000000,#F4B301,#F4B301,#000000
Nichicon KZ,50 V,22 uF,11.5,8,3.5,#333333,#000000,#F4B301,#F4B301,#000000
Nichicon KZ,50 V,33 uF,12.5,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Nichicon KZ,50 V,47 uF,16,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Nichicon KZ,50 V,100 uF,20,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Nichicon KZ,50 V,220 uF,25,16,7.5,#333333,#000000,#F4B301,#F4B301,#000000
Nichicon KZ,50 V,330 uF,31.5,16,7.5,#333333,#000000,#F4B301,#F4B301,#000000
Nichicon KZ,50 V,470 uF,35.5,16,7.5,#333333,#000000,#F4B301,#F4B301,#000000
Nichicon KZ,50 V,1000 uF,40,18,7.5,#333333,#000000,#F4B301,#F4B301,#000000
Nichicon KZ,100 V,10 uF,11,8,3.5,#333333,#000000,#F4B301,#F4B301,#000000
Nichicon KZ,100 V,22 uF,16,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Nichicon KZ,100 V,33 uF,20,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Nichicon KZ,100 V,47 uF,20,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Nichicon KZ,100 V,100 uF,25,16,7.5,#333333,#000000,#F4B301,#F4B301,#000000
Nichicon KZ,100 V,220 uF,35,16,7.5,#333333,#000000,#F4B301,#F4B301,#000000
Nichicon KZ,100 V,330 uF,35,18,7.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,27 uF,7,4,1.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,56 uF,7,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,100 uF,11,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,120 uF,7,6.3,2.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,220 uF,11.2,6.3,2.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,270 uF,11.2,6.3,2.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,330 uF SHORT,11.2,6.3,2.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,390 uF,11.5,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,470 uF,11.5,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,560 uF,11.5,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,820 uF LONG,15,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,820 uF,12.5,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,1000 uF,12.5,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,1200 uF LONG,20,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,1200 uF,16,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,1500 uF,20,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,1500 uF SHORT,15,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,1800 uF,25,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,2200 uF,25,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,2200 uF SHORT,15,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,2700 uF LONG,30,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,2700 uF,20,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,2700 uF SHORT,15,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,3300 uF,20,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,3300 uF SHORT,15,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,3900 uF,25,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,4700 uF,30,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,4700 uF SHORT,20,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,5600 uF LONG,35,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,5600 uF,20,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,6800 uF LONG,40,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,6800 uF,25,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,6800 uF SHORT,20,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,8200 uF,31.5,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,10000 uF,35.5,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,10000 uF SHORT,25,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,12000 uF LONG,40,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,12000 uF,31.5,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,6.3 V,15000 uF,35.5,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,22 uF,7,4,1.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,39 uF,7,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,82 uF,11,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,82 uF,7,6.3,2.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,100 uF SHORT,11,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,150 uF,11.2,6.3,2.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,180 uF,11.2,6.3,2.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,220 uF SHORT,11.2,6.3,2.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,330 uF,11.5,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,390 uF,11.5,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,470 uF,11.5,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,560 uF,12.5,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,680 uF LONG,15,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,680 uF,12.5,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,820 uF,16,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,1000 uF LONG,20,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,1000 uF,16,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,1200 uF,20,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,1200 uF SHORT,15,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,1500 uF,25,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,1800 uF,20,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,1800 uF SHORT,15,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,2200 uF LONG,30,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,2200 uF,20,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,2700 uF,25,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,2700 uF SHORT,15,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,3300 uF,30,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,3300 uF SHORT,20,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,3900 uF LONG,35,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,3900 uF,20,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,4700 uF LONG,40,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,4700 uF,25,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,5600 uF,25,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,5600 uF SHORT,20,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,6800 uF,31.5,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,6800 uF SHORT,25,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,8200 uF LONG,35.5,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,8200 uF,31.5,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,10000 uF,35.5,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,10 V,12000 uF,40,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,15 uF,7,4,1.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,27 uF,7,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,47 uF,11,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,56 uF,11,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,56 uF,7,6.3,2.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,68 uF,11,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,100 uF,11.2,6.3,2.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,120 uF,11.2,6.3,2.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,220 uF,11.5,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,270 uF,11.5,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,330 uF,11.5,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,390 uF,12.5,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,470 uF LONG,15,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,470 uF,12.5,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,560 uF,16,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,680 uF LONG,20,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,680 uF,16,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,820 uF,20,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,820 uF SHORT,15,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,1000 uF SHORT,20,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,1000 uF,25,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,1200 uF,25,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,1200 uF SHORT,15,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,1500 uF LONG,30,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,1500 uF,20,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,1500 uF SHORT,15,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,1800 uF,25,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,1800 uF SHORT,15,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,2200 uF,25,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,2200 uF SHORT,20,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,2700 uF LONG,30,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,2700 uF,20,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,3300 uF,35,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,3300 uF SHORT,20,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,3900 uF,25,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,3900 uF SHORT,20,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,4700 uF,31.5,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,4700 uF SHORT,25,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,5600 uF LONG,35.5,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,5600 uF,31.5,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,6800 uF,40,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,16 V,8200 uF,35.5,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,10 uF,7,4,1.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,22 uF,7,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,39 uF,11,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,39 uF,7,6.3,2.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,47 uF,11,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,82 uF,11.2,6.3,2.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,100 uF SHORT,11.2,6.3,2.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,180 uF,11.5,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,220 uF,11.5,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,270 uF,12.5,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,330 uF LONG,15,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,330 uF,12.5,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,390 uF,16,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,470 uF LONG,20,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,470 uF,16,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,560 uF,20,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,560 uF SHORT,15,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,680 uF,20,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,820 uF,25,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,820 uF SHORT,20,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,1000 uF LONG,30,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,1000 uF,20,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,1000 uF SHORT,15,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,1200 uF,25,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,1200 uF SHORT,15,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,1500 uF,25,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,1500 uF SHORT,20,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,1800 uF LONG,30,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,1800 uF,20,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,2200 uF,35,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,2200 uF SHORT,20,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,2700 uF,25,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,3300 uF,31.5,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,3300 uF SHORT,25,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,3900 uF LONG,35.5,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,3900 uF,31.5,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,4700 uF,35.5,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,25 V,5600 uF,40,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,6.8 uF,7,4,1.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,12 uF,7,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,22 uF,11,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,27 uF,11,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,27 uF,7,6.3,2.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,33 uF,11,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,47 uF,11.2,6.3,2.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,56 uF,11.2,6.3,2.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,68 uF,11.2,6.3,2.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,100 uF,11.5,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,120 uF,11.5,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,150 uF,11.5,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,180 uF,12.5,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,220 uF LONG,15,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,220 uF,12.5,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,270 uF,16,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,330 uF LONG,20,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,330 uF,16,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,390 uF,20,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,390 uF SHORT,15,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,470 uF,20,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,560 uF,25,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,560 uF SHORT,20,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,680 uF LONG,30,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,680 uF,20,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,680 uF SHORT,15,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,820 uF LONG,25,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,820 uF,15,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,1000 uF,25,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,1000 uF SHORT,20,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,1200 uF LONG,30,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,1200 uF,20,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,1500 uF LONG,35,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,1500 uF,25,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,1500 uF SHORT,20,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,1800 uF LONG,40,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,1800 uF,25,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,1800 uF SHORT,20,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,2200 uF,31.5,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,2200 uF SHORT,25,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,2700 uF LONG,35.5,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,2700 uF,31.5,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,3300 uF,35.5,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,35 V,3900 uF,40,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,2.2 uF,11,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,3.3 uF,11,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,4.7 uF,11,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,10 uF LONG,11,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,12 uF,11,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,15 uF,11,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,18 uF,11,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,22 uF,11,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,33 uF,11.2,6.3,2.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,39 uF,11.2,6.3,2.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,47 uF,11.2,6.3,2.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,68 uF,11.5,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,82 uF,11.5,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,100 uF,12.5,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,120 uF LONG,15,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,120 uF,12.5,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,150 uF,16,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,180 uF LONG,20,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,180 uF,16,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,220 uF,20,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,220 uF SHORT,15,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,270 uF,25,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,330 uF LONG,30,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,330 uF,20,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,390 uF,20,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,390 uF SHORT,15,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,470 uF LONG,30,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,470 uF,25,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,560 uF,25,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,560 uF SHORT,15,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,680 uF LONG,30,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,680 uF,20,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,820 uF LONG,35,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,820 uF,20,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,1000 uF LONG,40,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,1000 uF,25,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,1200 uF,31.5,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,1200 uF SHORT,25,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,1500 uF LONG,35.5,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,1800 uF LONG,40,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,1800 uF,31.5,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,50 V,2200 uF,35.5,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,12 uF,11,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,22 uF,11.2,6.3,2.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,33 uF,11.2,6.3,2.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,47 uF,11.5,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,56 uF,11.5,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,68 uF,11.5,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,82 uF,12.5,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,100 uF LONG,15,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,100 uF,12.5,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,120 uF,16,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,150 uF,20,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,180 uF,20,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,180 uF SHORT,15,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,220 uF,20,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,220 uF,25,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,220 uF SHORT,20,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,270 uF,15,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,330 uF LONG,30,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,330 uF,20,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,390 uF,25,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,390 uF SHORT,15,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,470 uF LONG,30,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,470 uF,20,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,560 uF,25,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,680 uF LONG,35,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,680 uF,25,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,680 uF SHORT,20,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,820 uF LONG,40,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,820 uF,31.5,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,820 uF SHORT,25,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,1000 uF,31.5,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,1000 uF,35.5,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,1200 uF LONG,40,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,1200 uF,31.5,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,1500 uF,35.5,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,63 V,1800 uF,40,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,5.6 uF,11,5,2,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,12 uF,11.2,6.3,2.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,22 uF,11.5,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,33 uF LONG,15,8,3.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,33 uF,12.5,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,39 uF LONG,20,8,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,39 uF,16,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,56 uF,20,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,68 uF LONG,25,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,68 uF,15,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,100 uF LONG,30,10,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,100 uF,20,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,120 uF SHORT,15,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,150 uF,25,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,150 uF SHORT,15,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,180 uF LONG,30,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,180 uF,20,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,220 uF LONG,35,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,220 uF,25,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,270 uF LONG,40,12.5,5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,270 uF SHORT,20,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,330 uF,31.5,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,330 uF SHORT,25,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,390 uF LONG,35.5,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,390 uF,31.5,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,470 uF,40,16,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,560 uF,35.5,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FC,100 V,680 uF,40,18,7.5,#2A385E,#000000,#F4B301,#F4B301,#000000
Panasonic FM,6.3 V,150 uF,11,5,2,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,6.3 V,330 uF,11.2,6,2.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,6.3 V,560 uF,11.5,8,3.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,6.3 V,820 uF LONG,15,8,3.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,6.3 V,1200 uF LONG,20,8,3.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,6.3 V,1000 uF,12.5,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,6.3 V,1200 uF,16,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,6.3 V,1500 uF,20,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,6.3 V,2200 uF LONG,25,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,6.3 V,3300 uF,20,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,6.3 V,3900 uF,25,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,6.3 V,4700 uF LONG,30,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,6.3 V,5600 uF LONG,35,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,6.3 V,5600 uF SHORT,20,16,7.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,6.3 V,6800 uF,25,16,7.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,10 V,100 uF,11,5,2,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,10 V,220 uF,11.2,6,2.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,10 V,470 uF,11.5,8,3.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,10 V,680 uF LONG,15,8,3.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,10 V,680 uF,12.5,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,10 V,1000 uF LONG,20,8,3.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,10 V,1000 uF,16,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,10 V,1200 uF,20,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,10 V,1500 uF LONG,25,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,10 V,2200 uF,20,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,10 V,3300 uF,25,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,10 V,3900 uF LONG,30,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,10 V,3900 uF SHORT,20,16,7.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,10 V,4700 uF LONG,35,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,10 V,5600 uF,25,16,7.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,16 V,68 uF,11,5,2,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,16 V,120 uF,11.2,6,2.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,16 V,330 uF,11.5,8,3.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,16 V,470 uF LONG,15,8,3.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,16 V,470 uF,12.5,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,16 V,680 uF LONG,20,8,3.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,16 V,680 uF,16,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,16 V,1000 uF,20,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,16 V,1200 uF LONG,25,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,16 V,1500 uF,20,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,16 V,2200 uF,25,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,16 V,2700 uF LONG,30,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,16 V,2700 uF SHORT,20,16,7.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,16 V,3300 uF LONG,35,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,16 V,3900 uF,25,16,7.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,25 V,47 uF,11,5,2,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,25 V,100 uF,11.2,6,2.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,25 V,220 uF,11.5,8,3.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,25 V,330 uF LONG,15,8,3.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,25 V,330 uF,12.5,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,25 V,470 uF LONG,20,8,3.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,25 V,470 uF,16,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,25 V,680 uF,20,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,25 V,820 uF LONG,25,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,25 V,1000 uF,20,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,25 V,1500 uF,25,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,25 V,1800 uF LONG,30,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,25 V,2200 uF LONG,35,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,25 V,1800 uF SHORT,20,16,7.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,25 V,2700 uF,25,16,7.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,35 V,33 uF,11,5,2,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,35 V,68 uF,11.2,6,2.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,35 V,150 uF,11.5,8,3.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,35 V,220 uF LONG,15,8,3.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,35 V,330 uF LONG,20,8,3.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,35 V,330 uF,16,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,35 V,220 uF,12.5,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,35 V,470 uF,20,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,35 V,560 uF LONG,25,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,35 V,680 uF,20,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,35 V,1000 uF,25,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,35 V,1200 uF LONG,30,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,35 V,1200 uF SHORT,20,16,7.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,35 V,1500 uF LONG,35,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,35 V,1800 uF,25,16,7.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,50 V,22 uF,11,5,2,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,50 V,56 uF,11.2,6,2.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,50 V,100 uF,11.5,8,3.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,50 V,120 uF LONG,15,8,3.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,50 V,180 uF LONG,20,8,3.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,50 V,150 uF,12.5,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,50 V,220 uF,16,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,50 V,270 uF,20,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,50 V,330 uF LONG,25,10,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,50 V,470 uF,20,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,50 V,560 uF,25,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,50 V,680 uF LONG,30,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,50 V,820 uF LONG,35,12.5,5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,50 V,16 uF SHORT,3300,20,7.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic FM,50 V,1000 uF,25,16,7.5,#333333,#000000,#F4B301,#F4B301,#000000
Panasonic NHG,6.3 V,220 uF,11,5,2,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,6.3 V,470 uF,11.2,6.3,2.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,6.3 V,1000 uF,11.5,8,3.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,6.3 V,2200 uF,16,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,6.3 V,3300 uF,20,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,6.3 V,4700 uF,20,12.5,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,6.3 V,6800 uF,25,12.5,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,6.3 V,10000 uF,25,16,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,6.3 V,15000 uF,31.5,16,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,6.3 V,22000 uF,35.5,18,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,10 V,330 uF,11.2,6.3,2.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,10 V,470 uF,11.5,8,3.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,10 V,1000 uF,12.5,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,10 V,2200 uF,20,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,10 V,3300 uF,20,12.5,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,10 V,4700 uF,25,12.5,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,10 V,6800 uF,25,16,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,10 V,10000 uF,31.5,16,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,10 V,15000 uF,35.5,18,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,16 V,100 uF,11,5,2,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,16 V,220 uF,11.2,6.3,2.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,16 V,330 uF,11.5,8,3.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,16 V,470 uF,11.5,8,3.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,16 V,1000 uF,16,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,16 V,2200 uF,20,12.5,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,16 V,3300 uF,25,12.5,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,16 V,4700 uF,25,16,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,16 V,6800 uF,31.5,16,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,16 V,10000 uF,35.5,18,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,25 V,47 uF,11,5,2,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,25 V,100 uF,11.2,6.3,2.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,25 V,220 uF,11.5,8,3.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,25 V,330 uF,11.5,8,3.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,25 V,470 uF,12.5,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,25 V,1000 uF,20,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,25 V,2200 uF,25,12.5,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,25 V,3300 uF,25,16,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,25 V,4700 uF,31.5,16,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,25 V,6800 uF,35.5,18,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,35 V,47 uF,11,5,2,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,35 V,100 uF,11.2,6.3,2.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,35 V,220 uF,11.5,8,3.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,35 V,330 uF,12.5,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,35 V,470 uF,16,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,35 V,1000 uF,20,12.5,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,35 V,2200 uF,25,16,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,35 V,3300 uF,31.5,16,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,35 V,4700 uF,35.5,18,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,50 V,0.1 uF,11,5,2,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,50 V,0.22 uF,11,5,2,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,50 V,0.33 uF,11,5,2,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,50 V,0.47 uF,11,5,2,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,50 V,1 uF,11,5,2,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,50 V,2.2 uF,11,5,2,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,50 V,3.3 uF,11,5,2,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,50 V,4.7 uF,11,5,2,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,50 V,10 uF,11,5,2,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,50 V,22 uF,11,5,2,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,50 V,33 uF,11,5,2,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,50 V,47 uF,11.2,6.3,2.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,50 V,100 uF,11.5,8,3.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,50 V,220 uF,12.5,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,50 V,330 uF,16,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,50 V,470 uF,20,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,50 V,1000 uF,25,12.5,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,50 V,2200 uF,31.5,16,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,50 V,3300 uF,35.5,18,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,63 V,10 uF,11,5,2,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,63 V,22 uF,11,5,2,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,63 V,33 uF,11.2,6.3,2.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,63 V,47 uF,11.2,6.3,2.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,63 V,100 uF,12.5,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,63 V,220 uF,16,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,63 V,330 uF,20,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,63 V,470 uF,20,12.5,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,63 V,1000 uF,25,16,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,63 V,2200 uF,35.5,18,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,100 V,0.47 uF,11,5,2,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,100 V,1 uF,11,5,2,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,100 V,2.2 uF,11,5,2,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,100 V,3.3 uF,11,5,2,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,100 V,4.7 uF,11,5,2,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,100 V,10 uF,11.2,6.3,2.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,100 V,22 uF,11.2,6.3,2.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,100 V,33 uF,11.5,8,3.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,100 V,47 uF,12.5,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,100 V,100 uF,20,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,100 V,220 uF,25,12.5,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,100 V,330 uF,25,16,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,100 V,470 uF,25,16,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,100 V,1000 uF,35.5,18,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,160 V,1 uF,11.2,6.3,2.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,160 V,2.2 uF,11.2,6.3,2.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,160 V,3.3 uF,11.2,6.3,2.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,160 V,4.7 uF,11.2,6.3,2.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,160 V,10 uF,12.5,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,160 V,22 uF,20,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,160 V,33 uF,20,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,160 V,47 uF,20,12.5,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,160 V,100 uF,25,16,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,160 V,220 uF,31.5,16,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,160 V,330 uF,31.5,18,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,200 V,1 uF,11.2,6.3,2.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,200 V,2.2 uF,11.2,6.3,2.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,200 V,3.3 uF,11.2,6.3,2.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,200 V,4.7 uF,11.5,8,3.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,200 V,10 uF,16,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,200 V,22 uF,20,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,200 V,33 uF,20,12.5,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,200 V,47 uF,20,12.5,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,200 V,100 uF,25,16,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,200 V,220 uF,31.5,18,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,250 V,1 uF,11.2,6.3,2.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,250 V,2.2 uF,11.2,6.3,2.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,250 V,3.3 uF,11.5,8,3.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,250 V,4.7 uF,11.5,8,3.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,250 V,10 uF,16,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,250 V,22 uF,20,12.5,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,250 V,33 uF,20,12.5,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,250 V,47 uF,25,12.5,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,250 V,100 uF,31.5,16,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,350 V,1 uF,11.2,6.3,2.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,350 V,2.2 uF,11.5,8,3.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,350 V,3.3 uF,12.5,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,350 V,4.7 uF,16,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,350 V,10 uF,20,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,350 V,22 uF,20,12.5,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,350 V,33 uF,25,16,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,350 V,47 uF,25,16,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,350 V,100 uF,31.5,18,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,400 V,1 uF,11.2,6.3,2.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,400 V,2.2 uF,11.5,8,3.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,400 V,3.3 uF,12.5,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,400 V,4.7 uF,16,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,400 V,10 uF,20,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,400 V,22 uF,25,12.5,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,400 V,33 uF,25,16,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,400 V,47 uF,31.5,16,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,450 V,1 uF,11.5,8,3.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,450 V,2.2 uF,12.5,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,450 V,3.3 uF,16,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,450 V,4.7 uF,20,10,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,450 V,10 uF,20,12.5,5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,450 V,22 uF,25,16,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
Panasonic NHG,450 V,33 uF,31.5,16,7.5,#333333,#000000,#DDDDDD,#DDDDDD,#000000
@@ -31,10 +31,11 @@ import java.awt.geom.RoundRectangle2D;
import org.diylc.appframework.miscutils.ConfigurationManager;
import org.diylc.common.IPlugInPort;
import org.diylc.common.ObjectCache;
import org.diylc.components.AbstractRadialComponent;
import org.diylc.components.passive.CapacitorDatasheetService.CapacitorDatasheet;
import org.diylc.components.transform.SimpleComponentTransformer;
import org.diylc.core.CreationMethod;
import org.diylc.core.IDIYComponent;
import org.diylc.core.IDatasheetSupport;
import org.diylc.core.Theme;
import org.diylc.core.annotations.ComponentDescriptor;
import org.diylc.core.annotations.EditableProperty;
@@ -47,8 +48,8 @@ import org.diylc.utils.Constants;
@ComponentDescriptor(name = "Electrolytic Capacitor (Radial)", author = "Branislav Stojkovic", category = "Passive",
creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C",
description = "Vertically mounted electrolytic capacitor, polarized or bipolar", zOrder = IDIYComponent.COMPONENT,
transformer = SimpleComponentTransformer.class)
public class RadialElectrolytic extends AbstractRadialComponent<Capacitance> {
transformer = SimpleComponentTransformer.class, enableDatasheet = true, datasheetCreationStepCount = 3)
public class RadialElectrolytic extends AbstractRadialComponent<Capacitance> implements IDatasheetSupport {
private static final long serialVersionUID = 1L;
@@ -77,6 +78,40 @@ public class RadialElectrolytic extends AbstractRadialComponent<Capacitance> {
this.bodyColor = BODY_COLOR;
this.borderColor = BORDER_COLOR;
this.labelColor = TICK_COLOR;
}
public RadialElectrolytic(String[] model) {
this();
applyModel(model);
}
@Override
public void applyModel(String[] model) {
CapacitorDatasheet d = CapacitorDatasheetService.parseRadialCapacitorDatasheet(model);
setType(d.getType());
if (d.getCapacitance() != null)
setValue(d.getCapacitance());
if (d.getVoltage() != null)
setVoltageNew(d.getVoltage());
setPolarized(!d.getNonPolarized());
if (d.getBodyColor() != null)
setBodyColor(d.getBodyColor());
if (d.getBorderColor() != null)
setBorderColor(d.getBorderColor());
if (d.getLabelColor() != null)
setLabelColor(d.getLabelColor());
if (d.getMarkerColor() != null)
setMarkerColor(d.getMarkerColor());
if (d.getTickColor() != null)
setTickColor(d.getTickColor());
if (d.getLength() != null)
setLength(d.getLength());
if (d.getWidth() != null)
setWidth(d.getWidth());
if (d.getLeadSpacing() != null)
setPinSpacing(d.getLeadSpacing());
}
@EditableProperty(validatorClass = PositiveMeasureValidator.class)
@@ -170,16 +205,17 @@ public class RadialElectrolytic extends AbstractRadialComponent<Capacitance> {
} else {
finalTickColor = tickColor;
}
g2d.setColor(finalTickColor);
g2d.setStroke(ObjectCache.getInstance().fetchZoomableStroke(1));
g2d.setColor(finalTickColor);
if (folded) {
int tickLength = height / 7;
int tickLength = height / 7;
g2d.setStroke(ObjectCache.getInstance().fetchZoomableStroke(tickLength / 6));
for (int i = 0; i < 3; i++) {
g2d.drawLine((int) (totalDiameter * (invert ? 0.08 : 0.92)), -height / 2 + tickLength + i * tickLength * 2,
(int) (totalDiameter * (invert ? 0.08 : 0.92)), -height / 2 + tickLength + i * tickLength * 2
+ tickLength);
}
} else {
} else {
g2d.setStroke(ObjectCache.getInstance().fetchZoomableStroke(totalDiameter / 25));
g2d.drawLine((int) (totalDiameter * (invert ? 0.1 : 0.9)), totalDiameter / 2 - (int) (totalDiameter * 0.06),
(int) (totalDiameter * (invert ? 0.1 : 0.9)), totalDiameter / 2 + (int) (totalDiameter * 0.06));
}
@@ -1,75 +1,107 @@
/*
*
* DIY Layout Creator (DIYLC). Copyright (c) 2009-2018 held jointly by the individual authors.
*
* This file is part of DIYLC.
*
* DIYLC is free software: you can redistribute it and/or modify it under the terms of the GNU
* General Public License as published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* DIYLC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
* Public License for more details.
*
* You should have received a copy of the GNU General Public License along with DIYLC. If not, see
* <http://www.gnu.org/licenses/>.
*
*/
package org.diylc.components.passive;
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
This file is part of DIYLC.
DIYLC is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
DIYLC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with DIYLC. If not, see <http://www.gnu.org/licenses/>.
*/
package org.diylc.components.passive;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.Shape;
import java.awt.geom.RoundRectangle2D;
import org.diylc.components.passive.CapacitorDatasheetService.CapacitorDatasheet;
import org.diylc.components.transform.SimpleComponentTransformer;
import org.diylc.core.CreationMethod;
import org.diylc.core.IDIYComponent;
import org.diylc.core.IDatasheetSupport;
import org.diylc.core.annotations.ComponentDescriptor;
import org.diylc.core.annotations.EditableProperty;
import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit;
@ComponentDescriptor(name = "Film Capacitor (Radial)", author = "Branislav Stojkovic", category = "Passive",
creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C",
description = "Radial film capacitor, similar to Sprague Orange Drop", zOrder = IDIYComponent.COMPONENT,
transformer = SimpleComponentTransformer.class)
public class RadialFilmCapacitor extends AbstractFilmCapacitor {
private static final long serialVersionUID = 1L;
public static Color BODY_COLOR = Color.decode("#FF8000");
@ComponentDescriptor(name = "Film Capacitor (Radial)", author = "Branislav Stojkovic",
category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C",
description = "Radial film capacitor, similar to Sprague Orange Drop",
zOrder = IDIYComponent.COMPONENT, transformer = SimpleComponentTransformer.class,
enableDatasheet = true, datasheetCreationStepCount = 3)
public class RadialFilmCapacitor extends AbstractFilmCapacitor implements IDatasheetSupport {
private static final long serialVersionUID = 1L;
public static Color BODY_COLOR = Color.decode("#FF8000");
public static Color BORDER_COLOR = BODY_COLOR.darker();
public static Size PIN_SPACING = new Size(0.1d, SizeUnit.in);
private Size pinSpacing = PIN_SPACING;
public RadialFilmCapacitor() {
super();
this.bodyColor = BODY_COLOR;
this.borderColor = BORDER_COLOR;
}
public void drawIcon(Graphics2D g2d, int width, int height) {
g2d.rotate(-Math.PI / 4, width / 2, height / 2);
g2d.setColor(LEAD_COLOR_ICON);
g2d.drawLine(0, height / 2, width, height / 2);
g2d.setColor(BODY_COLOR);
g2d.fillRoundRect(4, height / 2 - 3, width - 8, 6, 5, 5);
g2d.setColor(BORDER_COLOR);
g2d.drawRoundRect(4, height / 2 - 3, width - 8, 6, 5, 5);
}
@Override
protected Shape getBodyShape() {
double radius = getWidth().convertToPixels() * 0.7;
return new RoundRectangle2D.Double(0f, 0f, getLength().convertToPixels(), getClosestOdd(getWidth()
.convertToPixels()), radius, radius);
private Size pinSpacing = PIN_SPACING;
public RadialFilmCapacitor() {
super();
this.bodyColor = BODY_COLOR;
this.borderColor = BORDER_COLOR;
}
public RadialFilmCapacitor(String[] model) {
this();
applyModel(model);
}
@Override
public void applyModel(String[] model) {
CapacitorDatasheet d = CapacitorDatasheetService.parseRadialCapacitorDatasheet(model);
setType(d.getType());
if (d.getCapacitance() != null)
setValue(d.getCapacitance());
if (d.getVoltage() != null)
setVoltageNew(d.getVoltage());
if (d.getBodyColor() != null)
setBodyColor(d.getBodyColor());
if (d.getBorderColor() != null)
setBorderColor(d.getBorderColor());
if (d.getLabelColor() != null)
setLabelColor(d.getLabelColor());
if (d.getLength() != null)
setLength(d.getLength());
if (d.getWidth() != null)
setWidth(d.getWidth());
if (d.getLeadSpacing() != null)
setPinSpacing(d.getLeadSpacing());
}
public void drawIcon(Graphics2D g2d, int width, int height) {
g2d.rotate(-Math.PI / 4, width / 2, height / 2);
g2d.setColor(LEAD_COLOR_ICON);
g2d.drawLine(0, height / 2, width, height / 2);
g2d.setColor(BODY_COLOR);
g2d.fillRoundRect(4, height / 2 - 3, width - 8, 6, 5, 5);
g2d.setColor(BORDER_COLOR);
g2d.drawRoundRect(4, height / 2 - 3, width - 8, 6, 5, 5);
}
@Override
protected Shape getBodyShape() {
double lengthFinal = getLength().convertToPixels();
double widthFinal = getWidth().convertToPixels();
double radius = widthFinal * 0.7;
return new RoundRectangle2D.Double(0f, 0f, lengthFinal, getClosestOdd(widthFinal), radius,
radius);
}
@Override
@@ -77,7 +109,7 @@ public class RadialFilmCapacitor extends AbstractFilmCapacitor {
return (int) getPinSpacing().convertToPixels();
}
@EditableProperty(name = "Pin Spacing")
@EditableProperty(name = "Lead Spacing")
public Size getPinSpacing() {
if (pinSpacing == null) {
pinSpacing = PIN_SPACING;
@@ -87,5 +119,5 @@ public class RadialFilmCapacitor extends AbstractFilmCapacitor {
public void setPinSpacing(Size pinSpacing) {
this.pinSpacing = pinSpacing;
}
}
}
}
@@ -32,7 +32,6 @@ import java.awt.geom.Line2D;
import java.awt.geom.Rectangle2D;
import java.awt.geom.RoundRectangle2D;
import org.diylc.common.ObjectCache;
import org.diylc.components.AbstractRadialComponent;
import org.diylc.components.transform.SimpleComponentTransformer;
import org.diylc.core.CreationMethod;
import org.diylc.core.IDIYComponent;
@@ -0,0 +1,434 @@
Cornell Dubilier CD10 (3.6mm),100 V,330 pF,9.9,5.6,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),100 V,360 pF,9.9,5.6,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),100 V,390 pF,9.9,5.6,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),100 V,400 pF,9.9,5.6,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),300 V,270 pF,9.9,5.6,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),300 V,300 pF,9.9,5.6,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,1 pF,9.1,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,2 pF,9.1,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,3 pF,9.1,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,5 pF,9.1,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,6 pF,9.1,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,7 pF,9.1,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,8 pF,9.1,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,10 pF,9.1,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,12 pF,9.1,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,15 pF,9.1,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,18 pF,9.1,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,20 pF,9.1,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,22 pF,9.1,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,24 pF,9.1,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,27 pF,9.4,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,30 pF,9.4,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,33 pF,9.4,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,36 pF,9.4,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,39 pF,9.4,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,43 pF,9.4,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,47 pF,9.4,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,50 pF,9.4,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,51 pF,9.4,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,56 pF,9.4,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,62 pF,9.4,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,68 pF,9.4,4.8,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,75 pF,9.4,5.1,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,82 pF,9.4,5.1,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,91 pF,9.4,5.1,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,100 pF,9.4,5.1,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,110 pF,9.7,5.1,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,120 pF,9.7,5.1,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,130 pF,9.7,5.1,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,150 pF,9.7,5.3,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,160 pF,9.7,5.3,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,180 pF,9.9,5.3,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,200 pF,9.9,5.3,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,220 pF,9.9,5.6,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,240 pF,9.9,5.6,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,240 pF,9.9,5.6,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD10 (3.6mm),500 V,250 pF,9.9,5.6,3.6,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),100 V,910 pF,11.9,5.6,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),100 V,1000 pF,12.2,5.8,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),100 V,1100 pF,12.4,6.1,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),100 V,1200 pF,12.4,6.1,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),100 V,1500 pF,12.7,6.4,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),300 V,560 pF,11.7,5.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),300 V,620 pF,11.7,5.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),300 V,680 pF,11.9,5.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),300 V,750 pF,11.9,5.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),300 V,820 pF,11.9,5.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,1 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,2 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,3 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,4 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,5 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,6 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,7 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,8 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,10 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,12 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,15 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,18 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,20 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,22 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,24 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,27 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,30 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,33 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,36 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,39 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,43 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,47 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,50 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,51 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,56 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,62 pF,11.4,4.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,68 pF,11.4,4.6,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,75 pF,11.4,4.6,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,82 pF,11.4,4.6,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,91 pF,11.7,4.6,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,100 pF,11.7,4.6,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,110 pF,11.7,4.6,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,120 pF,11.7,4.6,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,130 pF,11.7,4.6,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,150 pF,11.7,4.8,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,160 pF,11.7,4.8,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,180 pF,11.7,4.8,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,200 pF,11.7,4.8,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,220 pF,11.7,5.1,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,240 pF,11.7,5.1,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,250 pF,11.9,5.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,270 pF,11.9,5.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,300 pF,11.9,5.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,330 pF,11.9,5.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,360 pF,11.9,5.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,390 pF,11.9,5.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,430 pF,11.9,5.3,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,470 pF,11.9,5.6,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,500 pF,11.9,5.6,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD15 (5.9mm),500 V,510 pF,11.9,5.6,5.9,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),100 V,7500 pF,17.8,8.6,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),100 V,8200 pF,17.8,8.9,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),100 V,9100 pF,18,9.1,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),100 V,10000 pF,18.3,9.4,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),300 V,5600 pF,17.3,7.9,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),300 V,6200 pF,17.5,8.1,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),300 V,6800 pF,17.5,8.4,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,100 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,120 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,150 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,180 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,220 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,240 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,250 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,270 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,300 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,330 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,360 pF,16.3,5.1,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,390 pF,16.3,5.1,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,430 pF,16.3,5.1,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,470 pF,16.3,5.1,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,500 pF,16.3,5.1,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,510 pF,16.5,5.1,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,560 pF,16.5,5.1,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,620 pF,16.5,5.1,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,680 pF,16.5,5.3,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,750 pF,16.5,5.3,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,820 pF,16.5,5.3,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,910 pF,16.5,5.3,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,1000 pF,16.5,5.6,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,1100 pF,16.5,5.6,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,1200 pF,16.8,5.6,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,1300 pF,16.8,5.6,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,1500 pF,16.8,5.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,1600 pF,16.8,5.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,1800 pF,17,6.1,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,2000 pF,17,6.1,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,2200 pF,17,6.4,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,2400 pF,17,6.6,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,2500 pF,17.3,6.6,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,2700 pF,17.3,6.9,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,3000 pF,17.3,7.1,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,3300 pF,17.3,7.4,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,3600 pF,17.3,7.6,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,3900 pF,17.5,7.9,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,4300 pF,17.5,8.4,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,4700 pF,17.8,8.9,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,5000 pF,18,9.4,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD19 (8.7mm),500 V,5100 pF,18,9.4,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,5 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,6 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,7 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,8 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,10 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,12 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,15 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,18 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,20 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,22 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,24 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,27 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,30 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,33 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,36 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,39 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,43 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,47 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,50 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,51 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,56 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,62 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,68 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,75 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,82 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,91 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,100 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,110 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,120 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,130 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,150 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,160 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,180 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,200 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,220 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,240 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,270 pF,16.3,4.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,390 pF,16.5,5.1,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,560 pF,16.5,5.3,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,680 pF,16.8,5.6,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,820 pF,16.8,5.8,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,910 pF,17,6.1,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,1000 pF,17,6.4,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,1100 pF,17,6.4,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,1300 pF,17,6.6,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,1500 pF,17.3,6.9,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,1600 pF,17.3,7.1,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,1800 pF,17.3,7.4,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,2000 pF,17.3,7.6,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,2200 pF,17.5,7.9,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,2400 pF,17.5,8.1,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,2700 pF,17.8,8.6,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,3000 pF,18,9.1,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,3300 pF,18.3,9.7,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,3600 pF,18.5,10.2,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,3900 pF,18.8,10.7,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,4300 pF,19.1,11.2,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV19 (8.7mm),1000 V,4700 pF,19.3,11.7,8.7,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),100 V,33000 pF,21.1,11.2,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),100 V,36000 pF,21.1,11.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),100 V,40000 pF,21.3,11.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),300 V,24000 pF,20.8,10.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),300 V,25000 pF,20.8,10.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),300 V,27000 pF,20.8,10.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),300 V,30000 pF,21.1,11.7,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,2000 pF,19.6,6.1,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,2200 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,2400 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,2500 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,2700 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,3000 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,3300 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,3600 pF,19.6,6.6,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,3900 pF,19.6,6.6,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,4300 pF,19.8,6.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,4700 pF,19.8,6.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,5000 pF,19.8,7.1,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,5100 pF,19.8,7.1,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,5600 pF,19.8,7.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,6200 pF,19.8,7.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,6800 pF,19.8,7.6,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,7500 pF,20.1,7.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,8200 pF,20.1,8.1,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,9100 pF,20.1,8.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,10000 pF,20.3,8.6,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,11000 pF,20.3,8.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,12000 pF,20.3,9.1,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,13000 pF,20.6,9.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,15000 pF,20.6,9.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,16000 pF,20.8,10.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,18000 pF,20.8,10.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,20000 pF,21.1,11.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD30 (11.1mm),500 V,22000 pF,21.1,11.7,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1000 V,5100 pF,20.1,8.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1000 V,5600 pF,20.3,8.6,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1000 V,6200 pF,20.3,8.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1000 V,6800 pF,20.3,9.1,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1000 V,7500 pF,20.6,9.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1000 V,8200 pF,20.6,9.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1000 V,9100 pF,20.8,10.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1000 V,10000 pF,20.8,10.7,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1000 V,11000 pF,21.1,11.2,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1000 V,12000 pF,21.1,11.7,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1000 V,13000 pF,21.3,12.2,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,24 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,27 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,30 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,33 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,36 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,39 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,43 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,47 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,50 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,51 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,56 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,62 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,68 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,75 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,82 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,91 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,100 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,110 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,120 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,130 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,150 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,160 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,180 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,200 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,220 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,240 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,270 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,390 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,430 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,470 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,500 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,510 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,560 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,620 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,680 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,750 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,820 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,910 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,1000 pF,19.6,6.6,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,1100 pF,19.6,6.6,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,1200 pF,19.6,6.6,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,1300 pF,19.8,6.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,1500 pF,19.8,7.1,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,1600 pF,19.8,7.1,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,1800 pF,19.8,7.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,2000 pF,19.8,7.6,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,2200 pF,20.1,7.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,2400 pF,20.1,8.1,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,2500 pF,20.1,8.1,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,2700 pF,20.1,8.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,3000 pF,20.3,8.6,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,3300 pF,20.3,8.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,3600 pF,20.3,8.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,3900 pF,20.3,9.1,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,4300 pF,20.6,9.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,4700 pF,20.6,9.7,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,5000 pF,20.6,9.7,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,5100 pF,20.6,9.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,5600 pF,20.8,10.2,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,6200 pF,20.8,1.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,6800 pF,21.1,10.7,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,7500 pF,21.1,10.7,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),1500 V,8200 pF,21.3,11.7,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,24 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,27 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,30 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,33 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,36 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,39 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,43 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,47 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,50 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,51 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,62 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,68 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,75 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,82 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,91 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,100 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,110 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,120 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,130 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,150 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,160 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,180 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,200 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,220 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,240 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,270 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,300 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,330 pF,19.6,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,470 pF,19.6,6.6,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,500 pF,19.6,6.6,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,510 pF,19.6,6.6,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,560 pF,19.6,6.6,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,620 pF,19.6,6.6,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,680 pF,19.6,6.6,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,750 pF,19.6,6.6,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,820 pF,19.6,6.6,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,910 pF,19.8,7.1,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,1000 pF,19.8,7.1,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,1200 pF,19.8,7.1,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,1300 pF,19.8,7.6,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,1500 pF,20.1,8.1,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,1600 pF,20.1,8.1,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,1800 pF,20.1,8.6,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,2100 pF,20.3,9.1,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,2400 pF,20.3,9.7,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,2500 pF,20.3,9.7,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,2700 pF,20.6,10.2,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,3000 pF,20.6,10.7,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,3300 pF,20.8,11.2,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,3600 pF,20.8,11.2,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,3900 pF,21.1,11.7,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2000 V,4300 pF,21.3,12.2,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,24 pF,19.8,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,27 pF,19.8,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,30 pF,19.8,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,33 pF,19.8,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,36 pF,19.8,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,39 pF,19.8,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,43 pF,19.8,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,47 pF,19.8,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,50 pF,19.8,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,51 pF,19.8,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,56 pF,19.8,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,62 pF,19.8,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,68 pF,19.8,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,75 pF,19.8,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,82 pF,19.8,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,91 pF,19.8,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,100 pF,19.8,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,110 pF,19.8,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,120 pF,19.8,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,330 pF,19.8,6.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,470 pF,19.8,6.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,500 pF,19.8,6.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,510 pF,19.8,6.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,560 pF,19.8,6.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,620 pF,19.8,6.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,680 pF,19.8,6.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,750 pF,19.8,6.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,820 pF,19.8,6.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,910 pF,19.8,7.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,1000 pF,20.1,7.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,1200 pF,20.1,7.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,1300 pF,20.3,8.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,1500 pF,20.3,8.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,1600 pF,20.3,8.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,1800 pF,20.6,9.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,2100 pF,20.8,9.9,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,2400 pF,20.8,10.7,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,2500 pF,20.8,10.7,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,2700 pF,21.1,11.4,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CDV30 (11.1mm),2500 V,3000 pF,21.3,12.2,11.1,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD42 (27mm),100 V,75000 pF,37.3,11.2,27,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD42 (27mm),100 V,82000 pF,37.6,11.7,27,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD42 (27mm),100 V,91000 pF,38.1,12.7,27,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD42 (27mm),300 V,56000 pF,37.1,10.7,27,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD42 (27mm),300 V,62000 pF,37.3,11.4,27,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD42 (27mm),300 V,68000 pF,37.6,11.9,27,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD42 (27mm),500 V,20000 pF,36.1,7.6,27,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD42 (27mm),500 V,22000 pF,36.1,7.9,27,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD42 (27mm),500 V,24000 pF,36.3,8.1,27,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD42 (27mm),500 V,25000 pF,36.3,8.4,27,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD42 (27mm),500 V,27000 pF,36.3,8.4,27,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD42 (27mm),500 V,30000 pF,36.6,8.9,27,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD42 (27mm),500 V,33000 pF,36.6,9.1,27,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD42 (27mm),500 V,36000 pF,36.8,9.7,27,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD42 (27mm),500 V,39000 pF,36.8,10.2,27,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD42 (27mm),500 V,43000 pF,37.1,10.7,27,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD42 (27mm),500 V,47000 pF,37.3,11.4,27,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD42 (27mm),500 V,50000 pF,37.6,11.9,27,#876A6C,#5E4A4B,#FFFFFF
Cornell Dubilier CD42 (27mm),500 V,51000 pF,37.6,11.9,27,#876A6C,#5E4A4B,#FFFFFF
@@ -0,0 +1,149 @@
/*
*
* DIY Layout Creator (DIYLC). Copyright (c) 2009-2018 held jointly by the individual authors.
*
* This file is part of DIYLC.
*
* DIYLC is free software: you can redistribute it and/or modify it under the terms of the GNU
* General Public License as published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* DIYLC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
* Public License for more details.
*
* You should have received a copy of the GNU General Public License along with DIYLC. If not, see
* <http://www.gnu.org/licenses/>.
*
*/
package org.diylc.components.passive;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Shape;
import java.awt.geom.Area;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Rectangle2D;
import org.diylc.components.passive.CapacitorDatasheetService.CapacitorDatasheet;
import org.diylc.components.transform.SimpleComponentTransformer;
import org.diylc.core.CreationMethod;
import org.diylc.core.IDIYComponent;
import org.diylc.core.IDatasheetSupport;
import org.diylc.core.annotations.ComponentDescriptor;
import org.diylc.core.annotations.EditableProperty;
import org.diylc.core.annotations.PositiveMeasureValidator;
import org.diylc.core.measures.Capacitance;
import org.diylc.core.measures.Voltage;
import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit;
@ComponentDescriptor(name = "Mica Capacitor (Radial)", author = "Branislav Stojkovic",
category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C",
description = "Standard radial mica capacitor", zOrder = IDIYComponent.COMPONENT,
transformer = SimpleComponentTransformer.class, enableDatasheet = true,
datasheetCreationStepCount = 3)
public class RadialMicaCapacitor extends AbstractRadialComponent<Capacitance> implements IDatasheetSupport {
private static final long serialVersionUID = 1L;
public static Size DEFAULT_WIDTH = new Size(11.4, SizeUnit.mm);
public static Size DEFAULT_HEIGHT = new Size(4.3, SizeUnit.mm);
public static Color BODY_COLOR = Color.decode("#876A6C");
public static Color BORDER_COLOR = BODY_COLOR.darker();
private Capacitance value = null;
private Voltage voltage = null;
public RadialMicaCapacitor() {
super();
this.bodyColor = BODY_COLOR;
this.borderColor = BORDER_COLOR;
}
public RadialMicaCapacitor(String[] model) {
this();
applyModel(model);
}
@Override
public void applyModel(String[] model) {
CapacitorDatasheet d = CapacitorDatasheetService.parseRadialCapacitorDatasheet(model);
setType(d.getType());
if (d.getCapacitance() != null)
setValue(d.getCapacitance());
if (d.getVoltage() != null)
setVoltage(d.getVoltage());
if (d.getBodyColor() != null)
setBodyColor(d.getBodyColor());
if (d.getBorderColor() != null)
setBorderColor(d.getBorderColor());
if (d.getLabelColor() != null)
setLabelColor(d.getLabelColor());
if (d.getLength() != null)
setLength(d.getLength());
if (d.getWidth() != null)
setWidth(d.getWidth());
if (d.getLeadSpacing() != null)
setPinSpacing(d.getLeadSpacing());
}
@EditableProperty(validatorClass = PositiveMeasureValidator.class)
public Capacitance getValue() {
return value;
}
public void setValue(Capacitance value) {
this.value = value;
}
@Override
public String getValueForDisplay() {
return (getValue() == null ? "" : getValue().toString())
+ (getVoltage() == null ? "" : " " + getVoltage().toString());
}
@EditableProperty(name = "Voltage")
public Voltage getVoltage() {
return voltage;
}
public void setVoltage(Voltage voltage) {
this.voltage = voltage;
}
public void drawIcon(Graphics2D g2d, int width, int height) {
g2d.rotate(-Math.PI / 4, width / 2, height / 2);
g2d.setColor(LEAD_COLOR_ICON);
g2d.drawLine(0, height / 2, width, height / 2);
g2d.setColor(BODY_COLOR);
Area a = new Area(new Rectangle2D.Double(6, height / 2 - 3, width - 14, 6));
a.add(new Area(new Ellipse2D.Double(4, height / 2 - 4, 8, 8)));
a.add(new Area(new Ellipse2D.Double(width - 12, height / 2 - 4, 8, 8)));
g2d.fill(a);
g2d.setColor(BORDER_COLOR);
g2d.draw(a);
}
@Override
protected Size getDefaultWidth() {
return DEFAULT_HEIGHT;
}
@Override
protected Size getDefaultLength() {
return DEFAULT_WIDTH;
}
@Override
protected Shape getBodyShape() {
double length = getLength().convertToPixels();
double width = getClosestOdd(getWidth().convertToPixels());
Rectangle2D rect =
new Rectangle2D.Double(width / 2, width / 10, length - width, width * 8 / 10);
Area a = new Area(rect);
a.add(new Area(new Ellipse2D.Double(0, 0, width, width)));
a.add(new Area(new Ellipse2D.Double(length - width, 0, width, width)));
return a;
}
}
@@ -29,6 +29,7 @@ import java.awt.geom.Area;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Line2D;
import java.awt.geom.Rectangle2D;
import java.awt.geom.RoundRectangle2D;
import org.diylc.common.ObjectCache;
import org.diylc.common.ResistorColorCode;
import org.diylc.components.AbstractLeadedComponent;
@@ -157,17 +158,20 @@ public class Resistor extends AbstractLeadedComponent<Resistance> {
}
@Override
protected Shape getBodyShape() {
if (getShape() == ResistorShape.Standard) {
double length = getLength().convertToPixels();
double width = getClosestOdd(getWidth().convertToPixels());
protected Shape getBodyShape() {
double length = getLength().convertToPixels();
double width = getClosestOdd(getWidth().convertToPixels());
ResistorShape shape = getShape();
if (shape == ResistorShape.Standard) {
Rectangle2D rect = new Rectangle2D.Double(width / 2, width / 10, length - width, width * 8 / 10);
Area a = new Area(rect);
a.add(new Area(new Ellipse2D.Double(0, 0, width, width)));
a.add(new Area(new Ellipse2D.Double(length - width, 0, width, width)));
return a;
} else if (shape == ResistorShape.Tubular_Beveled) {
return new RoundRectangle2D.Double(0f, 0f, length, width, width * 2 / 3, width * 2 / 3);
}
return new Rectangle2D.Double(0f, 0f, getLength().convertToPixels(), getClosestOdd(getWidth().convertToPixels()));
return new Rectangle2D.Double(0f, 0f, length, width);
}
@Override
@@ -216,6 +220,11 @@ public class Resistor extends AbstractLeadedComponent<Resistance> {
}
public enum ResistorShape {
Tubular, Standard
Tubular, Tubular_Beveled, Standard;
@Override
public String toString() {
return super.toString().replace('_', ' ');
}
}
}
@@ -31,7 +31,6 @@ import java.awt.geom.RoundRectangle2D;
import org.diylc.appframework.miscutils.ConfigurationManager;
import org.diylc.common.IPlugInPort;
import org.diylc.common.ObjectCache;
import org.diylc.components.AbstractRadialComponent;
import org.diylc.components.transform.SimpleComponentTransformer;
import org.diylc.core.CreationMethod;
import org.diylc.core.IDIYComponent;
@@ -41,6 +41,7 @@ import org.diylc.components.passive.AxialFilmCapacitor;
import org.diylc.components.passive.PotentiometerPanel;
import org.diylc.components.passive.RadialCeramicDiskCapacitor;
import org.diylc.components.passive.RadialFilmCapacitor;
import org.diylc.components.passive.RadialMicaCapacitor;
import org.diylc.core.IDIYComponent;
import org.diylc.netlist.Tree.ITreeWalker;
@@ -64,6 +65,7 @@ public class GuitarDiagramAnalyzer extends NetlistAnalyzer implements INetlistAn
PICKUP_TYPES.add(StingrayBassPickup.class.getCanonicalName());
CAP_TYPES.add(RadialCeramicDiskCapacitor.class.getCanonicalName());
CAP_TYPES.add(RadialMicaCapacitor.class.getCanonicalName());
CAP_TYPES.add(RadialFilmCapacitor.class.getCanonicalName());
CAP_TYPES.add(AxialFilmCapacitor.class.getCanonicalName());
}
@@ -0,0 +1,50 @@
package org.diylc.components.passive;
import org.diylc.components.passive.CapacitorDatasheetService.CapacitorDatasheet;
import org.diylc.core.measures.Capacitance;
import org.diylc.core.measures.CapacitanceUnit;
import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit;
import org.diylc.core.measures.Voltage;
import org.diylc.core.measures.VoltageUnit;
import org.junit.Assert;
import org.junit.Test;
public class CapacitorDimensionServiceTests {
@Test
public void testMissingType() {
Assert.assertNull(CapacitorDatasheetService.getInstance().lookup(AxialFilmCapacitor.class,
"bla", new Voltage(100d, VoltageUnit.V), new Capacitance(10d, CapacitanceUnit.uF)));
}
@Test
public void testMissingCategory() {
Assert.assertNull(CapacitorDatasheetService.getInstance().lookup(AxialFilmCapacitor.class,
"Mallory 150", new Voltage(500d, VoltageUnit.V), new Capacitance(10d, CapacitanceUnit.nF)));
}
@Test
public void testMissingValue() {
Assert.assertNull(CapacitorDatasheetService.getInstance().lookup(AxialFilmCapacitor.class,
"Mallory 150", new Voltage(600d, VoltageUnit.V), new Capacitance(10d, CapacitanceUnit.uF)));
}
@Test
public void testExactValue63v() {
CapacitorDatasheet dim = CapacitorDatasheetService.getInstance().lookup(AxialFilmCapacitor.class,
"Mallory 150", new Voltage(63d, VoltageUnit.V), new Capacitance(0.22d, CapacitanceUnit.uF));
Assert.assertNotNull(dim);
Assert.assertEquals(new Size(16.5, SizeUnit.mm).convertToPixels(), dim.getLength().convertToPixels(), 0.0001);
Assert.assertEquals(new Size(6d, SizeUnit.mm).convertToPixels(), dim.getWidth().convertToPixels(), 0.0001);
}
@Test
public void testCloseValue() {
CapacitorDatasheet dim = CapacitorDatasheetService.getInstance().lookup(AxialFilmCapacitor.class,
"Mallory 150", new Voltage(63d, VoltageUnit.V), new Capacitance(0.23d, CapacitanceUnit.uF));
Assert.assertNotNull(dim);
Assert.assertEquals(new Size(16.5, SizeUnit.mm).convertToPixels(), dim.getLength().convertToPixels(), 0.0001);
Assert.assertEquals(new Size(6d, SizeUnit.mm).convertToPixels(), dim.getWidth().convertToPixels(), 0.0001);
}
}
+1 -1
View File
@@ -10,7 +10,7 @@
<property name="jar.dir" value="${build.dir}/jar" />
<property name="report.dir" value="${build.dir}/junitreport" />
<property name="main.class" value="org.diylc.DIYLCStarter" />
<property name="diylc.version" value="4.31.0" />
<property name="diylc.version" value="4.32.0" />
<property name="osx.jre8.path" value="jre\osx\jre8u321\Contents\Home\" />
<property name="osx.jre8m1.path" value="jre\osx\zulu-8.jre\Contents\Home\" />
@@ -37,6 +37,21 @@
<update_contact>nbenitezl_AT_gmail.com</update_contact>
<content_rating type="oars-1.1"/>
<releases>
<release version="4.32.0" date="2022-11-11">
<description>
<ul>
<li>[New Feature] Added 'Radial Mica Capacitor' component</li>
<li>[New Feature] Introduced support for standard models of components, defined in the product datasheet. Right click menu in the toolbox now contains additional options for creating components with exact values and dimension as specified in the datasheet. Right click on the existing components now has 'Apply Model' option which can apply properties of a standard component model from the datasheet to selected component(s)</li>
<li>[New Feature] Axial Film Capacitor - added standard models from Mallory 150 and Solen Fast datasheet</li>
<li>[New Feature] Radial Film Capacitor - added standard models from Orange Drop 225P, 715P and 716P, WIMA FKP-02, FKP-2, FKS-2, MKP-2, MKP-4, MKS-02, MKS-2 datasheet</li>
<li>[New Feature] Axial Electrolytic Capacitor - added standard models from F&T A Typ, Illinois TTA, JJ ANH and Sprague TVA Atom datasheet</li>
<li>[New Feature] Radial Electrolytic Capacitor - added standard models from Elna Silmic II, Nichicon FG, KZ, Panasonic FC, FM and HNG datasheet</li>
<li>[New Feature] Radial Mica Capacitor - added standard models from Cornell Dubilier CD10, CD15, CD19, CD30, CD42, CDV19, CDV30 datasheet</li>
<li>[New Feature] Added 'Tubular Beveled' shape option to Resistor component and added Dale C*F55 and C*F60 resistor variants</li>
</ul>
</description>
<url>https://github.com/bancika/diy-layout-creator/releases/tag/v4.32.0</url>
</release>
<release version="4.31.0" date="2022-10-31">
<description>
<ul>
Binary file not shown.
Binary file not shown.
@@ -67,7 +67,8 @@ public enum IconLoader {
Elements("elements1.png"), GraphNodes("graph_nodes.png"), User("user1.png"), FlexibleLeads("flexible_leads.png"), Pads("pads.png"), Lock("lock.png"),
Unlock("lock_open.png"), Earth("earth.png"), Loadline("loadline.png"), LoadlineAdd("loadline_add.png"), SnapToGrid("snap_to_grid.png"),
SnapToComponents("snap_to_components.png"), SnapToNone("snap_to_none.png"), TraceProximity("trace_proximity.png"),
ComponentLarge("component_large.png"), ImportNetlist("import_netlist.png"), SplashIC("splash_ic.png");
ComponentLarge("component_large.png"), ImportNetlist("import_netlist.png"), SplashIC("splash_ic.png"),
ComponentPreferences("component_preferences.png"), ComponentReplace("component_replace.png"), Barcode("barcode.png");
protected String name;
Binary file not shown.

After

Width:  |  Height:  |  Size: 514 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 932 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 939 B

@@ -221,7 +221,7 @@ public class CanvasPanel extends JComponent implements Autoscroll {
@Override
public void actionPerformed(ActionEvent e) {
CanvasPanel.this.plugInPort.setNewComponentTypeSlot(null, null, false);
CanvasPanel.this.plugInPort.setNewComponentTypeSlot(null, null, null, false);
}
});
@@ -241,7 +241,7 @@ public class CanvasPanel extends JComponent implements Autoscroll {
for (Map.Entry<String, List<ComponentType>> entry : componentTypes.entrySet()) {
for (ComponentType type : entry.getValue()) {
if (type.getInstanceClass().getCanonicalName().equals(clazz)) {
CanvasPanel.this.plugInPort.setNewComponentTypeSlot(type, null, false);
CanvasPanel.this.plugInPort.setNewComponentTypeSlot(type, null, null, false);
// hack: fake mouse movement to repaint
CanvasPanel.this.plugInPort.mouseMoved(getMousePosition(), false, false, false);
return;
@@ -275,7 +275,7 @@ public class CanvasPanel extends JComponent implements Autoscroll {
LOG.error("Could not find type: " + typeName);
return;
}
this.plugInPort.setNewComponentTypeSlot(type, null, false);
this.plugInPort.setNewComponentTypeSlot(type, null, null, false);
}
// hack: fake mouse movement to repaint
@@ -17,6 +17,7 @@
*/
package org.diylc.swing.plugins.canvas;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Point;
import java.awt.Rectangle;
@@ -37,6 +38,7 @@ import java.awt.event.MouseWheelListener;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
import java.util.ArrayList;
import java.util.Collection;
import java.util.EnumSet;
import java.util.List;
import javax.swing.AbstractAction;
@@ -53,6 +55,7 @@ import org.diylc.appframework.miscutils.IConfigurationManager;
import org.diylc.appframework.miscutils.Utils;
import org.diylc.clipboard.ComponentTransferable;
import org.diylc.common.BadPositionException;
import org.diylc.common.ComponentType;
import org.diylc.common.EventType;
import org.diylc.common.IComponentTransformer;
import org.diylc.common.IPlugIn;
@@ -69,6 +72,7 @@ import org.diylc.swing.gui.TranslatedMenu;
import org.diylc.swing.gui.TranslatedPopupMenu;
import org.diylc.swing.images.IconLoader;
import org.diylc.swing.plugins.file.ProjectDrawingProvider;
import org.diylc.swing.plugins.toolbox.ComponentButtonFactory;
import org.diylc.swingframework.ruler.IRulerListener;
import org.diylc.swingframework.ruler.Ruler.InchSubdivision;
import org.diylc.swingframework.ruler.RulerScrollPane;
@@ -88,6 +92,7 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner {
private JMenu expandMenu;
private JMenu transformMenu;
private JMenu applyTemplateMenu;
private JMenu applyModelMenu;
private JMenu lockMenu;
private JMenu unlockMenu;
@@ -520,6 +525,7 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner {
private void showPopupAt(int x, int y) {
updateSelectionMenu(x, y);
updateApplyTemplateMenu();
updateApplyModelMenu();
updateLock(x, y);
getPopupMenu().show(canvasPanel, x, y);
}
@@ -539,6 +545,7 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner {
popupMenu.add(getTransformMenu());
popupMenu.add(getSaveAsTemplateAction());
popupMenu.add(getApplyTemplateMenu());
popupMenu.add(getApplyModelMenu());
popupMenu.add(getSaveAsBlockAction());
popupMenu.add(getExpandMenu());
popupMenu.addSeparator();
@@ -615,6 +622,14 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner {
}
return applyTemplateMenu;
}
public JMenu getApplyModelMenu() {
if (applyModelMenu == null) {
applyModelMenu = new TranslatedMenu("Apply Model");
applyModelMenu.setIcon(IconLoader.Barcode.getIcon());
}
return applyModelMenu;
}
private void updateSelectionMenu(int x, int y) {
getSelectionMenu().removeAll();
@@ -660,22 +675,23 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner {
}
private void updateApplyTemplateMenu() {
getApplyTemplateMenu().removeAll();
JMenu applyMenu = getApplyTemplateMenu();
applyMenu.removeAll();
List<Template> templates = null;
try {
templates = plugInPort.getVariantsForSelection();
} catch (Exception e) {
LOG.info("Could not load variants for selection");
getApplyTemplateMenu().setEnabled(false);
applyMenu.setEnabled(false);
}
if (templates == null) {
getApplyTemplateMenu().setEnabled(false);
applyMenu.setEnabled(false);
return;
}
getApplyTemplateMenu().setEnabled(templates.size() > 0);
applyMenu.setEnabled(templates.size() > 0);
for (Template template : templates) {
JMenuItem item = new JMenuItem(template.getName());
@@ -687,7 +703,34 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner {
plugInPort.applyVariantToSelection(finalTemplate);
}
});
getApplyTemplateMenu().add(item);
applyMenu.add(item);
}
}
private void updateApplyModelMenu() {
JMenu applyMenu = getApplyModelMenu();
applyMenu.removeAll();
Collection<ComponentType> selectedComponentTypes = plugInPort.getSelectedComponentTypes();
if (selectedComponentTypes.size() != 1) {
applyMenu.setEnabled(false);
return;
}
ComponentType componentType = selectedComponentTypes.stream().findFirst().get();
List<String[]> datasheet = componentType.getDatasheet();
if (datasheet == null || datasheet.isEmpty()) {
applyMenu.setEnabled(false);
return;
}
applyMenu.setEnabled(true);
List<Component> datasheetItems = ComponentButtonFactory.createDatasheetItems(plugInPort, componentType, new ArrayList<String>(), model -> {
LOG.info("Applying datasheet model " + String.join(", ", model));
plugInPort.applyModelToSelection(model);
});
for (Component item : datasheetItems) {
applyMenu.add(item);
}
}
@@ -17,6 +17,7 @@
*/
package org.diylc.swing.plugins.toolbox;
import java.awt.Component;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
@@ -28,11 +29,16 @@ import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.function.Consumer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPopupMenu;
@@ -40,6 +46,8 @@ import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.border.Border;
import javax.swing.border.EmptyBorder;
import javax.swing.event.MenuEvent;
import javax.swing.event.MenuListener;
import org.apache.log4j.Logger;
import org.diylc.appframework.miscutils.Utils;
import org.diylc.common.ComponentType;
@@ -49,6 +57,7 @@ import org.diylc.core.IDIYComponent;
import org.diylc.core.Template;
import org.diylc.swing.images.IconLoader;
import org.diylc.swingframework.openide.DropDownButtonFactory;
import com.google.common.collect.Lists;
/**
* Factory that creates {@link JButton}s which display component type icons and instantiates the
@@ -57,24 +66,27 @@ import org.diylc.swingframework.openide.DropDownButtonFactory;
* @author Branislav Stojkovic
*/
public class ComponentButtonFactory {
private static final int MAX_MENU_ITEMS = 30;
private static final Logger LOG = Logger.getLogger(ComponentButtonFactory.class);
public static int MARGIN = 3;
public static JButton create(final IPlugInPort plugInPort, final ComponentType componentType, final JPopupMenu menu) {
public static JButton create(final IPlugInPort plugInPort, final ComponentType componentType,
final JPopupMenu menu) {
JButton button = DropDownButtonFactory.createDropDownButton(componentType.getIcon(), menu);
button.setBorder(BorderFactory.createEmptyBorder(MARGIN + 1, MARGIN + 1, MARGIN, MARGIN));
button.setToolTipText("<html><b>" + componentType.getName() + "</b><br>" + componentType.getDescription()
+ "<br>Author: " + componentType.getAuthor() + "<br><br>Right click to select all components of this type"
+ "</html>");
button.setToolTipText("<html><b>" + componentType.getName() + "</b><br>"
+ componentType.getDescription() + "<br>Author: " + componentType.getAuthor()
+ "<br><br>Right click to select all components of this type" + "</html>");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
plugInPort.setNewComponentTypeSlot(componentType, null, false);
plugInPort.setNewComponentTypeSlot(componentType, null, null, false);
}
});
@@ -95,7 +107,7 @@ public class ComponentButtonFactory {
newSelection.addAll(plugInPort.getSelectedComponents());
}
plugInPort.updateSelection(newSelection);
plugInPort.setNewComponentTypeSlot(null, null, false);
plugInPort.setNewComponentTypeSlot(null, null, null, false);
plugInPort.refresh();
}
}
@@ -105,26 +117,27 @@ public class ComponentButtonFactory {
@Override
public void keyPressed(KeyEvent e) {
plugInPort.keyPressed(e.getKeyCode(), Utils.isMac() ? e.isControlDown() : e.isMetaDown(), e.isShiftDown(), e.isAltDown());
plugInPort.keyPressed(e.getKeyCode(), Utils.isMac() ? e.isControlDown() : e.isMetaDown(),
e.isShiftDown(), e.isAltDown());
}
});
return button;
}
private static final Pattern contributedPattern = Pattern.compile("^(.*)\\[(.*)\\]");
public static JMenuItem createVariantItem(final IPlugInPort plugInPort, final Template variant,
final ComponentType componentType) {
String display = variant.getName();
Matcher match = contributedPattern.matcher(display);
if (match.find()) {
String name = match.group(1);
String owner = match.group(2);
display = "<html>" + name + "<font color='gray'>[" + owner + "]</font></html>";
display = "<html>" + name + "<font color='gray'>[" + owner + "]</font></html>";
}
final JMenuItem item = new JMenuItem(display) {
private static final long serialVersionUID = 1L;
@@ -139,14 +152,17 @@ public class ComponentButtonFactory {
@Override
public void actionPerformed(ActionEvent e) {
plugInPort.setNewComponentTypeSlot(componentType, variant, false);
plugInPort.setNewComponentTypeSlot(componentType, variant, null, false);
}
});
String defaultVariant = plugInPort.getDefaultVariant(componentType);
JLabel label = new JLabel(variant.getName().equals(defaultVariant) ? IconLoader.PinGreen.getIcon() : IconLoader.PinGrey.getIcon());
label.setToolTipText(variant.getName().equals(defaultVariant) ? "Remove default variant" : "Set default variant");
JLabel label =
new JLabel(variant.getName().equals(defaultVariant) ? IconLoader.PinGreen.getIcon()
: IconLoader.PinGrey.getIcon());
label.setToolTipText(variant.getName().equals(defaultVariant) ? "Remove default variant"
: "Set default variant");
label.addMouseListener(new MouseAdapter() {
@Override
@@ -178,9 +194,9 @@ public class ComponentButtonFactory {
JPopupMenu m = (JPopupMenu) c;
m.setVisible(false);
}
int result =
JOptionPane.showConfirmDialog(SwingUtilities.getRoot(item), "Are you sure you want to delete variant \""
+ variant.getName() + "\"", "Delete", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);
int result = JOptionPane.showConfirmDialog(SwingUtilities.getRoot(item),
"Are you sure you want to delete variant \"" + variant.getName() + "\"", "Delete",
JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);
if (result != JOptionPane.YES_OPTION) {
return;
}
@@ -194,10 +210,101 @@ public class ComponentButtonFactory {
item.add(label);
return item;
}
public static JButton createBuildingBlockButton(final IPlugInPort plugInPort, final String blockName, final JPopupMenu menu) {
JButton button = DropDownButtonFactory.createDropDownButton(blockName, IconLoader.ComponentLarge.getIcon(), menu);
public static List<Component> createDatasheetItems(final IPlugInPort plugInPort,
final ComponentType componentType, List<String> path, Consumer<String[]> modelConsumer) {
int depth = path.size();
List<String[]> datasheet = componentType.getDatasheet();
if (datasheet == null) {
return null;
}
Stream<String[]> stream = datasheet.stream();
for (int i = 0; i < depth; i++) {
final int finalI = i;
stream = stream.filter(line -> line[finalI].equals(path.get(finalI)));
}
List<String[]> filteredDatasheet = stream.collect(Collectors.toList());
return filteredDatasheet.stream().map(x -> x[depth]).distinct().map(value -> {
if (depth < componentType.getDatasheetCreationStepCount() - 1) {
final JMenu submenu = new JMenu(value);
submenu.add(new JMenuItem("Loading..."));
submenu.addMenuListener(new MenuListener() {
@Override
public void menuSelected(MenuEvent e) {
submenu.removeAll();
List<String> newPath = new ArrayList<String>(path);
newPath.add(value);
List<Component> childItems = createDatasheetItems(plugInPort, componentType, newPath, modelConsumer);
if (childItems.size() > MAX_MENU_ITEMS) {
List<List<Component>> partitions = Lists.partition(childItems, MAX_MENU_ITEMS);
for (List<Component> partition : partitions) {
String label = null;
Component first = partition.get(0);
if (first instanceof JMenu) {
label = ((JMenu) first).getText();
if (partition.size() > 1) {
label += " - " + ((JMenu) partition.get(partition.size() - 1)).getText();
}
} else if (first instanceof JMenuItem) {
label = ((JMenuItem) first).getText();
if (partition.size() > 1) {
label += " - " + ((JMenuItem) partition.get(partition.size() - 1)).getText();
}
}
JMenu partitionMenu = new JMenu(label);
for (Component childItem : partition) {
partitionMenu.add(childItem);
}
submenu.add(partitionMenu);
}
} else {
for (Component childItem : childItems) {
submenu.add(childItem);
}
}
}
@Override
public void menuDeselected(MenuEvent e) {}
@Override
public void menuCanceled(MenuEvent e) {}
});
return (Component) submenu;
}
JMenuItem item = new JMenuItem(value);
item.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Optional<String[]> findFirst =
filteredDatasheet.stream().filter(line -> line[depth].equals(value)).findFirst();
if (findFirst.isPresent()) {
modelConsumer.accept(findFirst.get());
} else {
LOG.error("Could not find datasheet item for: " + value);
}
}
});
return (Component) item;
}).collect(Collectors.toList());
}
public static JButton createBuildingBlockButton(final IPlugInPort plugInPort,
final String blockName, final JPopupMenu menu) {
JButton button = DropDownButtonFactory.createDropDownButton(blockName,
IconLoader.ComponentLarge.getIcon(), menu);
button.setVerticalTextPosition(SwingConstants.CENTER);
button.setHorizontalTextPosition(SwingConstants.LEFT);
@@ -214,13 +321,14 @@ public class ComponentButtonFactory {
LOG.error("Error loading building block", e1);
}
}
});
});
button.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
plugInPort.keyPressed(e.getKeyCode(), Utils.isMac() ? e.isControlDown() : e.isMetaDown(), e.isShiftDown(), e.isAltDown());
plugInPort.keyPressed(e.getKeyCode(), Utils.isMac() ? e.isControlDown() : e.isMetaDown(),
e.isShiftDown(), e.isAltDown());
}
});
return button;
@@ -115,7 +115,7 @@ class ComponentTabbedPane extends JTabbedPane {
@Override
public void stateChanged(ChangeEvent e) {
ConfigurationManager.getInstance().writeValue(LAST_SELECTED_TAB, getSelectedIndex());
ComponentTabbedPane.this.plugInPort.setNewComponentTypeSlot(null, null, false);
ComponentTabbedPane.this.plugInPort.setNewComponentTypeSlot(null, null, null, false);
// Refresh recent components if needed
if (pendingRecentComponents != null) {
refreshRecentComponentsToolbar(pendingRecentComponents);
@@ -124,7 +124,7 @@ public class CustomTreeModel implements TreeModel {
@Override
public void mouseClicked(MouseEvent e) {
plugInPort.setNewComponentTypeSlot(type, null, false);
plugInPort.setNewComponentTypeSlot(type, null, null, false);
}
}));
}
@@ -161,7 +161,7 @@ public class CustomTreeModel implements TreeModel {
@Override
public void mouseClicked(MouseEvent e) {
plugInPort.setNewComponentTypeSlot(type, null, false);
plugInPort.setNewComponentTypeSlot(type, null, null, false);
}
}));
}
@@ -202,7 +202,7 @@ public class CustomTreeModel implements TreeModel {
@Override
public void mouseClicked(MouseEvent e) {
plugInPort.setNewComponentTypeSlot(type, null, false);
plugInPort.setNewComponentTypeSlot(type, null, null, false);
}
}));
this.visibleLeaves.put(category, visibleTypes);
@@ -67,7 +67,7 @@ class TreeGestureListener implements DragGestureListener {
}
}
else {
presenter.setNewComponentTypeSlot(type, null, true);
presenter.setNewComponentTypeSlot(type, null, null, true);
start = true;
}
@@ -351,9 +351,21 @@ public class TreePanel extends JPanel {
}
if (componentType != null) {
popup.add(new SelectAllAction(plugInPort, componentType));
popup.add(new SelectAllAction(plugInPort, componentType));
popup.add(shortcutSubmenu);
popup.add(new JSeparator());
if (componentType.getDatasheet() != null) {
List<Component> items = ComponentButtonFactory.createDatasheetItems(plugInPort, componentType, new ArrayList<String>(), model -> {
LOG.info("Creating datasheet model " + String.join(", ", model));
plugInPort.setNewComponentTypeSlot(componentType, null, model, false);
});
for (Component item : items) {
popup.add(item);
}
popup.add(new JSeparator());
}
List<Template> templates = plugInPort.getVariantsFor(componentType);
if (templates == null || templates.isEmpty()) {
@@ -489,13 +501,19 @@ public class TreePanel extends JPanel {
}
}
if (payload.getComponentType() != null) {
List<Template> variants = plugInPort.getVariantsFor(payload.getComponentType());
int count = 0;
if (payload.getComponentType().getDatasheet() != null) {
count += payload.getComponentType().getDatasheet().size();
}
if (variants != null && !variants.isEmpty()) {
count += variants.size();
}
if (count > 0) {
variantsHtml =
" <a style=\"text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black; background-color: #D7FFC6; color: #666666;\">[+"
+ variants.size() + "]</a>";
+ count + "]</a>";
}
}
@@ -528,7 +546,7 @@ public class TreePanel extends JPanel {
public void actionPerformed(ActionEvent e) {
LOG.info(getValue(AbstractAction.NAME) + " triggered");
if (componentType != null) {
plugInPort.setNewComponentTypeSlot(null, null, false);
plugInPort.setNewComponentTypeSlot(null, null, null, false);
List<IDIYComponent<?>> components = plugInPort.getCurrentProject().getComponents();
List<IDIYComponent<?>> newSelection = new ArrayList<IDIYComponent<?>>();
for (IDIYComponent<?> component : components) {
@@ -56,7 +56,7 @@ class TreeTargetListener implements DropTargetListener {
@Override
public void drop(DropTargetDropEvent dtde) {
presenter.setNewComponentTypeSlot(null, null, false);
presenter.setNewComponentTypeSlot(null, null, null, false);
}
@Override
@@ -36,14 +36,14 @@ public class TestBase {
protected void instantiateOneClick(String category, String name, Point point1) {
Map<String, List<ComponentType>> componentTypes = presenter.getComponentTypes();
ComponentType resistorType = componentTypes.get(category).stream().filter(x -> x.getName().equals(name)).findFirst().get();
presenter.setNewComponentTypeSlot(resistorType, null, false);
presenter.setNewComponentTypeSlot(resistorType, null, null, false);
presenter.mouseClicked(point1, MouseEvent.BUTTON1, false, false, false, 1);
}
protected void instantiateTwoClick(String category, String name, Point point1, Point point2) {
Map<String, List<ComponentType>> componentTypes = presenter.getComponentTypes();
ComponentType resistorType = componentTypes.get(category).stream().filter(x -> x.getName().equals(name)).findFirst().get();
presenter.setNewComponentTypeSlot(resistorType, null, false);
presenter.setNewComponentTypeSlot(resistorType, null, null, false);
presenter.mouseClicked(point1, MouseEvent.BUTTON1, false, false, false, 1);
presenter.mouseMoved(point2, false, false, false);
presenter.mouseClicked(point2, MouseEvent.BUTTON1, false, false, false, 1);