Separate motor nominal vs actual diameter; display nominal but use actual to filter.
Add 32mm motors diameter.
This commit is contained in:
parent
4adbd960e0
commit
8b20f48894
@ -1721,7 +1721,7 @@ TCMotorSelPan.checkbox.hideUnavailable = Hide motors which are not in regular pr
|
|||||||
TCMotorSelPan.btn.details = Show Details
|
TCMotorSelPan.btn.details = Show Details
|
||||||
TCMotorSelPan.btn.filter = Filter Motors
|
TCMotorSelPan.btn.filter = Filter Motors
|
||||||
TCMotorSelPan.MotorSize = Motor Dimensions
|
TCMotorSelPan.MotorSize = Motor Dimensions
|
||||||
TCMotorSelPan.Diameter = Diameter
|
TCMotorSelPan.Diameter = Nominal Diameter
|
||||||
TCMotorSelPan.Length = Length
|
TCMotorSelPan.Length = Length
|
||||||
TCMotorSelPan.MotorMountDimensions = Motor mount dimensions:
|
TCMotorSelPan.MotorMountDimensions = Motor mount dimensions:
|
||||||
TCMotorSelPan.lbl.Search = Search:
|
TCMotorSelPan.lbl.Search = Search:
|
||||||
|
@ -46,17 +46,28 @@ public abstract class MotorFilterPanel extends JPanel {
|
|||||||
private static final Translator trans = Application.getTranslator();
|
private static final Translator trans = Application.getTranslator();
|
||||||
|
|
||||||
private static final Hashtable<Integer,JLabel> diameterLabels = new Hashtable<>();
|
private static final Hashtable<Integer,JLabel> diameterLabels = new Hashtable<>();
|
||||||
private static final double[] motorDiameters = new double[] {
|
|
||||||
0.0,
|
private static class MotorDiameter {
|
||||||
0.013,
|
double nominal;
|
||||||
0.018,
|
double actual;
|
||||||
0.024,
|
|
||||||
0.029,
|
MotorDiameter(double _nominal, double _actual) {
|
||||||
0.038,
|
nominal = _nominal;
|
||||||
0.054,
|
actual = _actual;
|
||||||
0.0762,
|
}
|
||||||
0.098,
|
}
|
||||||
1.000
|
private static final MotorDiameter[] motorDiameters = new MotorDiameter[] {
|
||||||
|
new MotorDiameter(0.0, 0.0),
|
||||||
|
new MotorDiameter(0.013, 0.013),
|
||||||
|
new MotorDiameter(0.018, 0.018),
|
||||||
|
new MotorDiameter(0.024, 0.024),
|
||||||
|
new MotorDiameter(0.029, 0.029),
|
||||||
|
new MotorDiameter(0.032, 0.032),
|
||||||
|
new MotorDiameter(0.038, 0.0381),
|
||||||
|
new MotorDiameter(0.054, 0.054),
|
||||||
|
new MotorDiameter(0.075, 0.0763),
|
||||||
|
new MotorDiameter(0.098, 0.983),
|
||||||
|
new MotorDiameter(1.000, 1.000)
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -66,7 +77,7 @@ public abstract class MotorFilterPanel extends JPanel {
|
|||||||
Unit unit = UnitGroup.UNITS_MOTOR_DIMENSIONS.getDefaultUnit();
|
Unit unit = UnitGroup.UNITS_MOTOR_DIMENSIONS.getDefaultUnit();
|
||||||
for( int i = 0; i < motorDiameters.length; i++ ) {
|
for( int i = 0; i < motorDiameters.length; i++ ) {
|
||||||
// Round the labels, because for imperial units, the labels can otherwise overlap
|
// Round the labels, because for imperial units, the labels can otherwise overlap
|
||||||
double diam = unit.toUnit(motorDiameters[i]);
|
double diam = unit.toUnit(motorDiameters[i].nominal);
|
||||||
double diamRounded = unit.round(diam * 10) / 10; // 10 multiplication for 2-decimal precision
|
double diamRounded = unit.round(diam * 10) / 10; // 10 multiplication for 2-decimal precision
|
||||||
diam = unit.fromUnit(diamRounded);
|
diam = unit.fromUnit(diamRounded);
|
||||||
String formatted = unit.toString(diam);
|
String formatted = unit.toString(diam);
|
||||||
@ -272,12 +283,12 @@ public abstract class MotorFilterPanel extends JPanel {
|
|||||||
@Override
|
@Override
|
||||||
public void stateChanged(ChangeEvent e) {
|
public void stateChanged(ChangeEvent e) {
|
||||||
final int minDiameter = diameterSlider.getValueAt(0);
|
final int minDiameter = diameterSlider.getValueAt(0);
|
||||||
MotorFilterPanel.this.filter.setMinimumDiameter(motorDiameters[minDiameter]);
|
MotorFilterPanel.this.filter.setMinimumDiameter(motorDiameters[minDiameter].actual);
|
||||||
int maxDiameter = diameterSlider.getValueAt(1);
|
int maxDiameter = diameterSlider.getValueAt(1);
|
||||||
if( maxDiameter == motorDiameters.length-1 ) {
|
if( maxDiameter == motorDiameters.length-1 ) {
|
||||||
MotorFilterPanel.this.filter.setMaximumDiameter(null);
|
MotorFilterPanel.this.filter.setMaximumDiameter(null);
|
||||||
} else {
|
} else {
|
||||||
MotorFilterPanel.this.filter.setMaximumDiameter(motorDiameters[maxDiameter]);
|
MotorFilterPanel.this.filter.setMaximumDiameter(motorDiameters[maxDiameter].actual);
|
||||||
}
|
}
|
||||||
onSelectionChanged();
|
onSelectionChanged();
|
||||||
}
|
}
|
||||||
@ -396,7 +407,7 @@ public abstract class MotorFilterPanel extends JPanel {
|
|||||||
// find the next largest diameter
|
// find the next largest diameter
|
||||||
int i;
|
int i;
|
||||||
for( i =0; i < motorDiameters.length; i++ ) {
|
for( i =0; i < motorDiameters.length; i++ ) {
|
||||||
if ( mountDiameter < motorDiameters[i] - 0.0005 ) {
|
if ( mountDiameter < motorDiameters[i].actual - 0.0005 ) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user