Started adding 4-phase stuff
This commit is contained in:
parent
316cc2ab78
commit
1fb01d9abd
|
@ -28,7 +28,8 @@ public enum MechanicalMBBlockType implements IStringSerializable {
|
|||
SHAFT_1_PHASE,
|
||||
SHAFT_COMMUTATOR,
|
||||
FLYWHEEL,
|
||||
SPEEDOMETER;
|
||||
SPEEDOMETER,
|
||||
SHAFT_COMMUTATOR_4;
|
||||
public static final MechanicalMBBlockType[] VALUES = values();
|
||||
|
||||
@Override
|
||||
|
|
|
@ -59,7 +59,7 @@ import javax.annotation.Nullable;
|
|||
import java.util.*;
|
||||
|
||||
import static blusunrize.immersiveengineering.common.IEContent.blockMetalDecoration0;
|
||||
import static blusunrize.immersiveengineering.common.blocks.metal.BlockTypes_MetalDecoration0.LIGHT_ENGINEERING;
|
||||
import static blusunrize.immersiveengineering.common.blocks.metal.BlockTypes_MetalDecoration0.HEAVY_ENGINEERING;
|
||||
import static malte0811.industrialWires.converter.EUCapability.ENERGY_IC2;
|
||||
import static malte0811.industrialWires.converter.IMBPartElectric.Waveform.*;
|
||||
import static malte0811.industrialWires.util.MiscUtils.getOffset;
|
||||
|
@ -134,7 +134,7 @@ public class TileEntityMultiblockConverter extends TileEntityIWMultiblock implem
|
|||
}
|
||||
Set<MechMBPart> failed = new HashSet<>();
|
||||
for (MechMBPart part:mechanical) {
|
||||
if (energyState.getSpeed()>part.getSpeedFor15RS()) {
|
||||
if (energyState.getSpeed()>part.getMaxSpeed()) {
|
||||
failed.add(part);
|
||||
}
|
||||
}
|
||||
|
@ -156,7 +156,7 @@ public class TileEntityMultiblockConverter extends TileEntityIWMultiblock implem
|
|||
availableWf[i - section[0]] = NONE;
|
||||
continue;
|
||||
}
|
||||
if (localWf == AC_ASYNC && Math.abs(energyState.getSpeed() - ASYNC_SPEED) <= SYNC_TOLERANCE * ASYNC_SPEED) {
|
||||
if (localWf == AC_ASYNC && Math.abs(energyState.getSpeed() - EXTERNAL_SPEED) <= SYNC_TOLERANCE * EXTERNAL_SPEED) {
|
||||
localWf = AC_SYNC;
|
||||
}
|
||||
double availableLocal = electricalComp.getAvailableEEnergy();
|
||||
|
@ -169,8 +169,10 @@ public class TileEntityMultiblockConverter extends TileEntityIWMultiblock implem
|
|||
if (hasEnergy) {
|
||||
double[][] requested = new double[VALUES.length][sectionLength];
|
||||
for (int i = 0; i < requested.length; i++) {
|
||||
for (int j = 0; j < sectionLength; j++) {
|
||||
requested[i][j] = ((IMBPartElectric) mechanical[j + section[0]]).requestEEnergy(VALUES[i], energyState);
|
||||
if (VALUES[i].isEnergyWaveform()) {
|
||||
for (int j = 0; j < sectionLength; j++) {
|
||||
requested[i][j] = ((IMBPartElectric) mechanical[j + section[0]]).requestEEnergy(VALUES[i], energyState);
|
||||
}
|
||||
}
|
||||
}
|
||||
Waveform maxWf = NONE;
|
||||
|
@ -182,7 +184,9 @@ public class TileEntityMultiblockConverter extends TileEntityIWMultiblock implem
|
|||
maxWf = VALUES[i];
|
||||
}
|
||||
}
|
||||
transferElectric(section, available, availableWf, maxWf, requested[maxWf.ordinal()], false);
|
||||
if (maxWf!=NONE) {
|
||||
transferElectric(section, available, availableWf, maxWf, requested[maxWf.ordinal()], false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -386,7 +390,7 @@ public class TileEntityMultiblockConverter extends TileEntityIWMultiblock implem
|
|||
}
|
||||
Set<MechMBPart> failed = new HashSet<>();
|
||||
for (MechMBPart part : master.mechanical) {
|
||||
if (master.energyState.getSpeed() > (part == broken ? MIN_BREAK_BROKEN : MIN_BREAK) * part.getSpeedFor15RS()) {
|
||||
if (master.energyState.getSpeed() > (part == broken ? MIN_BREAK_BROKEN : MIN_BREAK) * part.getMaxSpeed()) {
|
||||
failed.add(part);
|
||||
}
|
||||
}
|
||||
|
@ -399,9 +403,9 @@ public class TileEntityMultiblockConverter extends TileEntityIWMultiblock implem
|
|||
if (!world.isRemote&&formed) {
|
||||
formed = false;
|
||||
world.setBlockState(pos,
|
||||
blockMetalDecoration0.getDefaultState().withProperty(blockMetalDecoration0.property, LIGHT_ENGINEERING));
|
||||
blockMetalDecoration0.getDefaultState().withProperty(blockMetalDecoration0.property, HEAVY_ENGINEERING));
|
||||
world.setBlockState(pos.down(),
|
||||
blockMetalDecoration0.getDefaultState().withProperty(blockMetalDecoration0.property, LIGHT_ENGINEERING));
|
||||
blockMetalDecoration0.getDefaultState().withProperty(blockMetalDecoration0.property, HEAVY_ENGINEERING));
|
||||
for (MechMBPart mech:mechanical) {
|
||||
mech.disassemble(failed.contains(mech), energyState);
|
||||
short pattern = mech.getFormPattern();
|
||||
|
@ -417,9 +421,9 @@ public class TileEntityMultiblockConverter extends TileEntityIWMultiblock implem
|
|||
BlockPos otherEnd = offset(pos, facing.getOpposite(), mirrored, 0,
|
||||
offsets[offsets.length-1]+mechanical[mechanical.length-1].getLength(), 0);
|
||||
world.setBlockState(otherEnd,
|
||||
blockMetalDecoration0.getDefaultState().withProperty(blockMetalDecoration0.property, LIGHT_ENGINEERING));
|
||||
blockMetalDecoration0.getDefaultState().withProperty(blockMetalDecoration0.property, HEAVY_ENGINEERING));
|
||||
world.setBlockState(otherEnd.down(),
|
||||
blockMetalDecoration0.getDefaultState().withProperty(blockMetalDecoration0.property, LIGHT_ENGINEERING));
|
||||
blockMetalDecoration0.getDefaultState().withProperty(blockMetalDecoration0.property, HEAVY_ENGINEERING));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -31,43 +31,62 @@ public interface IMBPartElectric {
|
|||
void insertEEnergy(double given, Waveform waveform, MechEnergy energy);
|
||||
|
||||
enum Waveform {
|
||||
NONE(null, 0),
|
||||
NONE(null, 0, true),
|
||||
//Sync/async refers to multiblock rotation speed, not to line frequency
|
||||
AC_SYNC(true, 4),
|
||||
AC_ASYNC(true, 5) {
|
||||
AC_SYNC(true, 4, true),
|
||||
AC_ASYNC(true, 5, 4, true),
|
||||
AC_4PHASE_SYNC(true, 4, false),
|
||||
AC_4PHASE_ASYNC(true, 4, false),
|
||||
DC(false, 1, true) {
|
||||
@Override
|
||||
public Waveform getCommutated(double speed) {
|
||||
if (Math.abs(speed- ASYNC_SPEED)<SYNC_TOLERANCE* ASYNC_SPEED) {
|
||||
return DC;
|
||||
public Waveform getCommutated(double speed, boolean fourPhase) {
|
||||
if (!fourPhase) {
|
||||
return super.getCommutated(speed, false);
|
||||
} else {
|
||||
if (isSyncSpeed(speed)) {
|
||||
return AC_4PHASE_ASYNC;
|
||||
} else {
|
||||
return AC_4PHASE_SYNC;
|
||||
}
|
||||
}
|
||||
return super.getCommutated(speed);
|
||||
}
|
||||
},
|
||||
AC_4PHASE(true, 4),//TODO what should this rectify into? If anything at all
|
||||
DC(false, 1),
|
||||
MESS(null, 5);//TODO exclude this from providing power
|
||||
MESS(null, 5, true);
|
||||
|
||||
public static final double ASYNC_SPEED = 10;//TODO is this a good value
|
||||
public static final double SYNC_TOLERANCE = .1;//TODO is this a good value
|
||||
public static final double MIN_COMM_SPEED = 4;//TODO is this a good value
|
||||
public static final double EXTERNAL_SPEED = 20;
|
||||
public static final double SYNC_TOLERANCE = .1;
|
||||
public static final double MIN_COMM_SPEED = 4;
|
||||
public static final Waveform[] VALUES = values();
|
||||
public static boolean isSyncSpeed(double speed) {
|
||||
return Math.abs(speed- EXTERNAL_SPEED)<SYNC_TOLERANCE* EXTERNAL_SPEED;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private Boolean isAC;
|
||||
private int dualId;
|
||||
public Waveform dual;
|
||||
Waveform(@Nullable Boolean ac, int dualId) {
|
||||
boolean single;
|
||||
private int dualId, syncDualId;
|
||||
public Waveform dual, syncDual;
|
||||
Waveform(@Nullable Boolean ac, int dualId, boolean singlePhase) {
|
||||
this(ac, dualId, dualId, singlePhase);
|
||||
}
|
||||
Waveform(@Nullable Boolean ac, int dualId, int syncDual, boolean singlePhase) {
|
||||
isAC = ac;
|
||||
this.dualId = dualId;
|
||||
syncDualId = syncDual;
|
||||
single = singlePhase;
|
||||
}
|
||||
|
||||
public static void init() {
|
||||
Waveform[] values = values();
|
||||
for (Waveform f:values) {
|
||||
f.dual = values[f.dualId];
|
||||
for (Waveform f:VALUES) {
|
||||
f.dual = VALUES[f.dualId];
|
||||
f.syncDual = VALUES[f.syncDualId];
|
||||
}
|
||||
}
|
||||
|
||||
public Waveform getCommutated(double speed) {
|
||||
public Waveform getCommutated(double speed, boolean fourPhase) {
|
||||
if (isSyncSpeed(speed)) {
|
||||
return syncDual;
|
||||
}
|
||||
return speed<MIN_COMM_SPEED?this:dual;
|
||||
}
|
||||
|
||||
|
@ -78,5 +97,13 @@ public interface IMBPartElectric {
|
|||
public boolean isDC() {
|
||||
return isAC==Boolean.FALSE;
|
||||
}
|
||||
|
||||
public boolean isEnergyWaveform() {
|
||||
return isAC!=null;
|
||||
}
|
||||
|
||||
public boolean isSinglePhase() {
|
||||
return single;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@ import malte0811.industrialWires.blocks.converter.MechanicalMBBlockType;
|
|||
import malte0811.industrialWires.blocks.converter.TileEntityMultiblockConverter;
|
||||
import malte0811.industrialWires.client.render.TileRenderMBConverter;
|
||||
import malte0811.industrialWires.util.LocalSidedWorld;
|
||||
import malte0811.industrialWires.util.MiscUtils;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.BakedQuad;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
@ -36,11 +37,15 @@ import net.minecraftforge.common.capabilities.Capability;
|
|||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import static blusunrize.immersiveengineering.common.IEContent.blockMetalDecoration0;
|
||||
import static blusunrize.immersiveengineering.common.blocks.metal.BlockTypes_MetalDecoration0.HEAVY_ENGINEERING;
|
||||
import static blusunrize.immersiveengineering.common.blocks.metal.BlockTypes_MetalDecoration0.LIGHT_ENGINEERING;
|
||||
import static malte0811.industrialWires.blocks.converter.MechanicalMBBlockType.NO_MODEL;
|
||||
import static malte0811.industrialWires.util.NBTKeys.TYPE;
|
||||
|
||||
|
@ -55,7 +60,7 @@ public abstract class MechMBPart {
|
|||
public abstract void insertMEnergy(double added);
|
||||
|
||||
public abstract double getInertia();
|
||||
public abstract double getSpeedFor15RS();
|
||||
public abstract double getMaxSpeed();
|
||||
public abstract void writeToNBT(NBTTagCompound out);
|
||||
public abstract void readFromNBT(NBTTagCompound in);
|
||||
|
||||
|
@ -70,11 +75,22 @@ public abstract class MechMBPart {
|
|||
|
||||
public abstract boolean canForm(LocalSidedWorld w);
|
||||
|
||||
protected boolean hasSupportPillars(LocalSidedWorld w) {
|
||||
for (int i = 0; i < 2; i++) {
|
||||
for (int j = 0; j < 2; j++) {
|
||||
IBlockState state = w.getBlockState(new BlockPos(2*i-1, j-1, 0));
|
||||
if (!isLightEngineering(state)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public abstract short getFormPattern();
|
||||
|
||||
/**
|
||||
* @param failed whether the MB is being disassembled because this part failed
|
||||
* @param energy
|
||||
*/
|
||||
public abstract void disassemble(boolean failed, MechEnergy energy);
|
||||
|
||||
|
@ -88,7 +104,11 @@ public abstract class MechMBPart {
|
|||
return null;
|
||||
}
|
||||
|
||||
private static final BiMap<String, Class<? extends MechMBPart>> REGISTRY = HashBiMap.create();
|
||||
public static final BiMap<String, Class<? extends MechMBPart>> REGISTRY = HashBiMap.create();
|
||||
|
||||
public static final Comparator<MechMBPart> SORT_BY_COUNT = Comparator.comparingInt(
|
||||
(c)->-MiscUtils.count1Bits(c.getFormPattern())
|
||||
);
|
||||
public static void preInit() {
|
||||
IMBPartElectric.Waveform.init();
|
||||
|
||||
|
@ -98,6 +118,9 @@ public abstract class MechMBPart {
|
|||
REGISTRY.put("commutator", MechPartCommutator.class);
|
||||
REGISTRY.put("shaft", MechPartShaft.class);
|
||||
REGISTRY.put("speedometer", MechPartSpeedometer.class);
|
||||
REGISTRY.put("commFour", MechPartCommutator4Phase.class);
|
||||
REGISTRY.put("fourCoils", MechPartFourCoils.class);
|
||||
REGISTRY.put("fourElectrodes", MechPartFourElectrodes.class);
|
||||
|
||||
for (String key : REGISTRY.keySet()) {
|
||||
cacheNewInstance(key);
|
||||
|
@ -137,10 +160,29 @@ public abstract class MechMBPart {
|
|||
}
|
||||
|
||||
public static boolean isValidDefaultCenter(IBlockState state) {
|
||||
return state.getBlock()== IEContent.blockMetalDecoration0&&
|
||||
state.getValue(IEContent.blockMetalDecoration0.property)==BlockTypes_MetalDecoration0.HEAVY_ENGINEERING;
|
||||
}
|
||||
|
||||
public static boolean isHeavyEngineering(IBlockState state) {
|
||||
return isValidDefaultCenter(state);
|
||||
}
|
||||
|
||||
public static boolean isLightEngineering(IBlockState state) {
|
||||
return state.getBlock()== IEContent.blockMetalDecoration0&&
|
||||
state.getValue(IEContent.blockMetalDecoration0.property)==BlockTypes_MetalDecoration0.LIGHT_ENGINEERING;
|
||||
}
|
||||
|
||||
public void setDefaultShaft(BlockPos pos) {
|
||||
world.setBlockState(pos, blockMetalDecoration0.getDefaultState().withProperty(blockMetalDecoration0.property,
|
||||
HEAVY_ENGINEERING));
|
||||
}
|
||||
|
||||
public void setLightEngineering(BlockPos pos) {
|
||||
world.setBlockState(pos, blockMetalDecoration0.getDefaultState().withProperty(blockMetalDecoration0.property,
|
||||
LIGHT_ENGINEERING));
|
||||
}
|
||||
|
||||
|
||||
public void form(LocalSidedWorld w, Consumer<TileEntityMultiblockConverter> initializer) {
|
||||
world = w;
|
||||
|
|
|
@ -20,7 +20,6 @@ import malte0811.industrialWires.blocks.converter.MechanicalMBBlockType;
|
|||
import malte0811.industrialWires.converter.EUCapability.IC2EnergyHandler;
|
||||
import malte0811.industrialWires.util.ConversionUtil;
|
||||
import malte0811.industrialWires.util.LocalSidedWorld;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
|
@ -40,8 +39,7 @@ public class MechPartCommutator extends MechMBPart implements IMBPartElectric {
|
|||
private Waveform wfToWorld = Waveform.NONE;
|
||||
@Override
|
||||
public Waveform getProduced(MechEnergy state) {
|
||||
|
||||
return wfToMB.getCommutated(state.getSpeed());
|
||||
return wfToMB.getCommutated(state.getSpeed(), has4Phases());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -56,17 +54,19 @@ public class MechPartCommutator extends MechMBPart implements IMBPartElectric {
|
|||
|
||||
@Override
|
||||
public double requestEEnergy(Waveform waveform, MechEnergy energy) {
|
||||
if (waveform == wfToWorld.getCommutated(energy.getSpeed())) {
|
||||
return getMaxBuffer() - bufferToWorld;
|
||||
}
|
||||
else {
|
||||
return getMaxBuffer();
|
||||
if (!has4Phases()^waveform.isSinglePhase()) {
|
||||
if (waveform == wfToWorld.getCommutated(energy.getSpeed(), has4Phases())) {
|
||||
return getMaxBuffer() - bufferToWorld;
|
||||
} else {
|
||||
return getMaxBuffer();
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertEEnergy(double given, Waveform waveform, MechEnergy energy) {
|
||||
waveform = waveform.getCommutated(energy.getSpeed());
|
||||
waveform = waveform.getCommutated(energy.getSpeed(), has4Phases());
|
||||
if (waveform!=wfToWorld) {
|
||||
wfToWorld = waveform;
|
||||
bufferToWorld = 0;
|
||||
|
@ -208,7 +208,7 @@ public class MechPartCommutator extends MechMBPart implements IMBPartElectric {
|
|||
}
|
||||
|
||||
@Override
|
||||
public double getSpeedFor15RS() {
|
||||
public double getMaxSpeed() {
|
||||
return Double.MAX_VALUE;
|
||||
}
|
||||
|
||||
|
@ -237,7 +237,6 @@ public class MechPartCommutator extends MechMBPart implements IMBPartElectric {
|
|||
new ResourceLocation("ic2", "kinetic_generator");
|
||||
@Override
|
||||
public boolean canForm(LocalSidedWorld w) {
|
||||
Minecraft.getMinecraft().mouseHelper.ungrabMouseCursor();
|
||||
//Center is an IC2 kinetic generator
|
||||
TileEntity te = w.getTileEntity(BlockPos.ORIGIN);
|
||||
if (te!=null) {
|
||||
|
@ -272,4 +271,8 @@ public class MechPartCommutator extends MechMBPart implements IMBPartElectric {
|
|||
protected double getMaxBuffer() {
|
||||
return 2.5e3;
|
||||
}
|
||||
|
||||
protected boolean has4Phases() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,65 @@
|
|||
/*
|
||||
* This file is part of Industrial Wires.
|
||||
* Copyright (C) 2016-2018 malte0811
|
||||
* Industrial Wires 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.
|
||||
* Industrial Wires 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 Industrial Wires. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package malte0811.industrialWires.converter;
|
||||
|
||||
import malte0811.industrialWires.IndustrialWires;
|
||||
import malte0811.industrialWires.blocks.converter.MechanicalMBBlockType;
|
||||
import malte0811.industrialWires.util.LocalSidedWorld;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
public class MechPartCommutator4Phase extends MechPartCommutator {
|
||||
@Override
|
||||
protected double getMaxBuffer() {
|
||||
return 8*super.getMaxBuffer();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean has4Phases() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean canForm(LocalSidedWorld w) {
|
||||
return super.canForm(w)&&hasSupportPillars(w);
|
||||
}
|
||||
|
||||
@Override
|
||||
public short getFormPattern() {
|
||||
return 0b000_111_101;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disassemble(boolean failed, MechEnergy energy) {
|
||||
super.disassemble(failed, energy);
|
||||
for (int i = 0; i < 2; i++) {
|
||||
for (int j = 0; j < 2; j++) {
|
||||
setLightEngineering(new BlockPos(2*i-1, j-1, 0));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public MechanicalMBBlockType getType() {
|
||||
return MechanicalMBBlockType.SHAFT_COMMUTATOR_4;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getRotatingBaseModel() {
|
||||
return new ResourceLocation(IndustrialWires.MODID, "block/mech_mb/shaft_comm4.obj");
|
||||
}
|
||||
}
|
|
@ -64,7 +64,7 @@ public class MechPartFlywheel extends MechMBPart {
|
|||
}
|
||||
|
||||
@Override
|
||||
public double getSpeedFor15RS() {
|
||||
public double getMaxSpeed() {
|
||||
return Math.sqrt(material.tensileStrength /material.density)/RADIUS;
|
||||
}
|
||||
|
||||
|
@ -154,7 +154,7 @@ public class MechPartFlywheel extends MechMBPart {
|
|||
Vec3d pos = mat.apply(baseVec);
|
||||
EntityBrokenPart e = new EntityBrokenPart(world.getWorld(), material.blockTexture);
|
||||
e.setPosition(pos.x, pos.y, .5);
|
||||
double speed = (energy.getSpeed()/ getSpeedFor15RS())/1.5;
|
||||
double speed = (energy.getSpeed()/ getMaxSpeed())/1.5;
|
||||
e.motionX = pos.y*speed;
|
||||
e.motionY = -pos.x*speed;
|
||||
e.motionZ = (Utils.RAND.nextDouble()-.5)*speed/10;
|
||||
|
|
|
@ -0,0 +1,90 @@
|
|||
/*
|
||||
* This file is part of Industrial Wires.
|
||||
* Copyright (C) 2016-2018 malte0811
|
||||
* Industrial Wires 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.
|
||||
* Industrial Wires 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 Industrial Wires. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package malte0811.industrialWires.converter;
|
||||
|
||||
import malte0811.industrialWires.IndustrialWires;
|
||||
import malte0811.industrialWires.blocks.converter.MechanicalMBBlockType;
|
||||
import malte0811.industrialWires.util.LocalSidedWorld;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
public class MechPartFourCoils extends MechPartSingleCoil {
|
||||
@Override
|
||||
protected double getMaxBuffer() {
|
||||
return 8*super.getMaxBuffer();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean has4Phases() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean canForm(LocalSidedWorld w) {
|
||||
BlockPos.PooledMutableBlockPos pos = BlockPos.PooledMutableBlockPos.retain(0, 0, 0);
|
||||
try {
|
||||
if (!isValidDefaultCenter(w.getBlockState(pos))) {
|
||||
return false;
|
||||
}
|
||||
for (int i = 0; i < 2; i++) {
|
||||
for (int j = 0; j < 2; j++) {
|
||||
pos.setPos(2*i-1, 2*j-1, 0);
|
||||
if (!isLightEngineering(w.getBlockState(pos))) {
|
||||
return false;
|
||||
}
|
||||
pos.setPos((j==0)?2*i-1:0, (j!=0)?2*i-1:0, 0);
|
||||
if (!isCoil(w.getBlockState(pos))) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
} finally {
|
||||
pos.release();//This will run after every return
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public short getFormPattern() {
|
||||
return 0b111_111_111;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disassemble(boolean failed, MechEnergy energy) {
|
||||
BlockPos.PooledMutableBlockPos pos = BlockPos.PooledMutableBlockPos.retain(0, 0, 0);
|
||||
setDefaultShaft(pos);
|
||||
for (int i = 0; i < 2; i++) {
|
||||
for (int j = 0; j < 2; j++) {
|
||||
pos.setPos(2 * i - 1, 2 * j - 1, 0);
|
||||
setLightEngineering(pos);
|
||||
pos.setPos((j == 0) ? 2 * i - 1 : 0, (j != 0) ? 2 * i - 1 : 0, 0);
|
||||
setCoil(pos);
|
||||
}
|
||||
}
|
||||
pos.release();
|
||||
}
|
||||
|
||||
@Override
|
||||
public MechanicalMBBlockType getType() {
|
||||
return MechanicalMBBlockType.COIL_4_PHASE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getRotatingBaseModel() {
|
||||
return new ResourceLocation(IndustrialWires.MODID, "block/mech_mb/four_coil.obj");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
/*
|
||||
* This file is part of Industrial Wires.
|
||||
* Copyright (C) 2016-2018 malte0811
|
||||
* Industrial Wires 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.
|
||||
* Industrial Wires 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 Industrial Wires. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package malte0811.industrialWires.converter;
|
||||
|
||||
import malte0811.industrialWires.IndustrialWires;
|
||||
import malte0811.industrialWires.blocks.converter.MechanicalMBBlockType;
|
||||
import malte0811.industrialWires.util.LocalSidedWorld;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
public class MechPartFourElectrodes extends MechPartTwoElectrodes {
|
||||
@Override
|
||||
protected double getMaxBuffer() {
|
||||
return 8*super.getMaxBuffer();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean has4Phases() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canForm(LocalSidedWorld w) {
|
||||
return super.canForm(w) && hasSupportPillars(w);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public short getFormPattern() {
|
||||
return 0b000_111_101;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disassemble(boolean failed, MechEnergy energy) {
|
||||
super.disassemble(failed, energy);
|
||||
for (int i = 0; i < 2; i++) {
|
||||
for (int j = 0; j < 2; j++) {
|
||||
setLightEngineering(new BlockPos(2*i-1, j-1, 0));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public MechanicalMBBlockType getType() {
|
||||
return MechanicalMBBlockType.SHAFT_4_PHASE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getRotatingBaseModel() {
|
||||
return new ResourceLocation(IndustrialWires.MODID, "block/mech_mb/shaft4.obj");
|
||||
}
|
||||
}
|
|
@ -15,7 +15,6 @@
|
|||
|
||||
package malte0811.industrialWires.converter;
|
||||
|
||||
import blusunrize.immersiveengineering.common.util.IELogger;
|
||||
import malte0811.industrialWires.IndustrialWires;
|
||||
import malte0811.industrialWires.blocks.converter.MechanicalMBBlockType;
|
||||
import malte0811.industrialWires.util.LocalSidedWorld;
|
||||
|
@ -23,8 +22,6 @@ import net.minecraft.nbt.NBTTagCompound;
|
|||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
import static blusunrize.immersiveengineering.common.IEContent.blockMetalDecoration0;
|
||||
import static blusunrize.immersiveengineering.common.blocks.metal.BlockTypes_MetalDecoration0.LIGHT_ENGINEERING;
|
||||
import static malte0811.industrialWires.blocks.converter.MechanicalMBBlockType.SHAFT_BASIC;
|
||||
|
||||
public class MechPartShaft extends MechMBPart {
|
||||
|
@ -45,7 +42,7 @@ public class MechPartShaft extends MechMBPart {
|
|||
}
|
||||
|
||||
@Override
|
||||
public double getSpeedFor15RS() {
|
||||
public double getMaxSpeed() {
|
||||
return Double.MAX_VALUE;
|
||||
}
|
||||
|
||||
|
@ -62,22 +59,7 @@ public class MechPartShaft extends MechMBPart {
|
|||
|
||||
@Override
|
||||
public boolean canForm(LocalSidedWorld world) {
|
||||
if (!isValidDefaultCenter(world.getBlockState(BlockPos.ORIGIN)))
|
||||
return false;
|
||||
BlockPos.PooledMutableBlockPos pos = BlockPos.PooledMutableBlockPos.retain(0, 0, 0);
|
||||
for (int i = -1;i<=1;i++) {
|
||||
for (int j = -1;j<=1;j++) {
|
||||
if (j!=0||i!=0) {
|
||||
pos.setPos(i, j, 0);
|
||||
if (!world.isAir(pos)) {
|
||||
pos.release();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
pos.release();
|
||||
return true;
|
||||
return isValidDefaultCenter(world.getBlockState(BlockPos.ORIGIN));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -87,9 +69,7 @@ public class MechPartShaft extends MechMBPart {
|
|||
|
||||
@Override
|
||||
public void disassemble(boolean failed, MechEnergy energy) {
|
||||
IELogger.info(world.getOrigin());
|
||||
world.setBlockState(BlockPos.ORIGIN,
|
||||
blockMetalDecoration0.getDefaultState().withProperty(blockMetalDecoration0.property, LIGHT_ENGINEERING));
|
||||
setDefaultShaft(BlockPos.ORIGIN);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -24,22 +24,20 @@ import net.minecraft.nbt.NBTTagCompound;
|
|||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import static blusunrize.immersiveengineering.common.IEContent.blockMetalDecoration0;
|
||||
import static blusunrize.immersiveengineering.common.blocks.metal.BlockTypes_MetalDecoration0.COIL_LV;
|
||||
import static blusunrize.immersiveengineering.common.blocks.metal.BlockTypes_MetalDecoration0.LIGHT_ENGINEERING;
|
||||
import static malte0811.industrialWires.util.NBTKeys.BUFFER_IN;
|
||||
import static malte0811.industrialWires.util.NBTKeys.BUFFER_OUT;
|
||||
|
||||
public class MechPartSingleCoil extends MechMBPart implements IMBPartElectric {
|
||||
private static final double MAX_BUFFER = 10e3;
|
||||
private double bufferToMech;
|
||||
private double bufferToE;
|
||||
|
||||
@Override
|
||||
public Waveform getProduced(MechEnergy state) {
|
||||
return Waveform.AC_SYNC;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getAvailableEEnergy() {
|
||||
return bufferToE;
|
||||
|
@ -52,7 +50,10 @@ public class MechPartSingleCoil extends MechMBPart implements IMBPartElectric {
|
|||
|
||||
@Override
|
||||
public double requestEEnergy(Waveform waveform, MechEnergy energy) {
|
||||
return MAX_BUFFER- bufferToMech;
|
||||
if (has4Phases() ^ waveform.isSinglePhase()) {
|
||||
return getMaxBuffer() - bufferToMech;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -72,7 +73,7 @@ public class MechPartSingleCoil extends MechMBPart implements IMBPartElectric {
|
|||
|
||||
@Override
|
||||
public double requestMEnergy(MechEnergy e) {
|
||||
return MAX_BUFFER-bufferToE;
|
||||
return getMaxBuffer() - bufferToE;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -82,11 +83,11 @@ public class MechPartSingleCoil extends MechMBPart implements IMBPartElectric {
|
|||
|
||||
@Override
|
||||
public double getInertia() {
|
||||
return Material.IRON.density+Material.COPPER.density;
|
||||
return Material.IRON.density + Material.COPPER.density;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getSpeedFor15RS() {
|
||||
public double getMaxSpeed() {
|
||||
return Double.MAX_VALUE;//TODO I'm fine with shafts having infinite max speed. Not coils though.
|
||||
}
|
||||
|
||||
|
@ -107,9 +108,15 @@ public class MechPartSingleCoil extends MechMBPart implements IMBPartElectric {
|
|||
return new ResourceLocation(IndustrialWires.MODID, "block/mech_mb/single_coil.obj");
|
||||
}
|
||||
|
||||
private static final Predicate<IBlockState> IS_COIL = (b)->
|
||||
b.getBlock()== blockMetalDecoration0&&
|
||||
b.getValue(blockMetalDecoration0.property)== BlockTypes_MetalDecoration0.COIL_LV;
|
||||
protected boolean isCoil(IBlockState state) {
|
||||
return state.getBlock() == blockMetalDecoration0 &&
|
||||
state.getValue(blockMetalDecoration0.property) == BlockTypes_MetalDecoration0.COIL_LV;
|
||||
}
|
||||
|
||||
protected void setCoil(BlockPos p) {
|
||||
world.setBlockState(p, blockMetalDecoration0.getDefaultState().withProperty(blockMetalDecoration0.property, COIL_LV));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canForm(LocalSidedWorld w) {
|
||||
BlockPos.PooledMutableBlockPos pos = BlockPos.PooledMutableBlockPos.retain(0, 0, 0);
|
||||
|
@ -118,18 +125,17 @@ public class MechPartSingleCoil extends MechMBPart implements IMBPartElectric {
|
|||
return false;
|
||||
}
|
||||
pos.setPos(0, 1, 0);
|
||||
if (!IS_COIL.test(w.getBlockState(pos))) {
|
||||
if (!isCoil(w.getBlockState(pos))) {
|
||||
return false;
|
||||
}
|
||||
pos.setPos(0, -1, 0);
|
||||
if (!IS_COIL.test(w.getBlockState(pos))) {
|
||||
if (!isCoil(w.getBlockState(pos))) {
|
||||
return false;
|
||||
}
|
||||
int offset = 1;
|
||||
for (int i = 0; i < 2; i++) {
|
||||
for (int i = -1; i <= 1; i+=2) {
|
||||
for (int y = -1; y <= 1; y++) {
|
||||
pos.setPos(offset, y, 0);
|
||||
if (!w.isAir(pos)) {
|
||||
pos.setPos(i, y, 0);
|
||||
if (!isLightEngineering(w.getBlockState(pos))) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -147,12 +153,15 @@ public class MechPartSingleCoil extends MechMBPart implements IMBPartElectric {
|
|||
|
||||
@Override
|
||||
public void disassemble(boolean failed, MechEnergy energy) {
|
||||
world.setBlockState(BlockPos.ORIGIN,
|
||||
blockMetalDecoration0.getDefaultState().withProperty(blockMetalDecoration0.property, LIGHT_ENGINEERING));
|
||||
setDefaultShaft(BlockPos.ORIGIN);
|
||||
if (!failed) {
|
||||
for (int i = -1;i<=1;i+=2) {
|
||||
world.setBlockState(BlockPos.ORIGIN.up(i),
|
||||
blockMetalDecoration0.getDefaultState().withProperty(blockMetalDecoration0.property, COIL_LV));
|
||||
setCoil(BlockPos.ORIGIN.up(i));
|
||||
}
|
||||
}
|
||||
for (int i = -1; i <= 1; i+=2) {
|
||||
for (int y = -1; y <= 1; y++) {
|
||||
setLightEngineering(new BlockPos(i, y, 0));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -161,4 +170,12 @@ public class MechPartSingleCoil extends MechMBPart implements IMBPartElectric {
|
|||
public MechanicalMBBlockType getType() {
|
||||
return MechanicalMBBlockType.COIL_1_PHASE;
|
||||
}
|
||||
|
||||
protected double getMaxBuffer() {
|
||||
return 10e3;
|
||||
}
|
||||
|
||||
protected boolean has4Phases() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,7 +24,6 @@ import malte0811.industrialWires.blocks.converter.MechanicalMBBlockType;
|
|||
import malte0811.industrialWires.util.LocalSidedWorld;
|
||||
import malte0811.industrialWires.util.NBTKeys;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
@ -39,11 +38,11 @@ import static blusunrize.immersiveengineering.common.IEContent.blockMetalDecorat
|
|||
import static blusunrize.immersiveengineering.common.blocks.metal.BlockTypes_MetalDecoration0.RS_ENGINEERING;
|
||||
import static malte0811.industrialWires.blocks.converter.MechanicalMBBlockType.SPEEDOMETER;
|
||||
import static net.minecraft.util.EnumFacing.Axis.X;
|
||||
import static net.minecraft.util.EnumFacing.AxisDirection.NEGATIVE;
|
||||
import static net.minecraft.util.EnumFacing.AxisDirection.POSITIVE;
|
||||
import static net.minecraft.util.math.BlockPos.ORIGIN;
|
||||
|
||||
public class MechPartSpeedometer extends MechMBPart implements IPlayerInteraction, IRedstoneOutput {
|
||||
private double speedFor15RS = 2 * IMBPartElectric.Waveform.ASYNC_SPEED;
|
||||
private double speedFor15RS = 2 * IMBPartElectric.Waveform.EXTERNAL_SPEED;
|
||||
private int currentOutputLin = -1;
|
||||
private int currentOutputLog = -1;
|
||||
private double logFactor = 15 / Math.log(speedFor15RS + 1);
|
||||
|
@ -93,7 +92,7 @@ public class MechPartSpeedometer extends MechMBPart implements IPlayerInteractio
|
|||
}
|
||||
|
||||
@Override
|
||||
public double getSpeedFor15RS() {
|
||||
public double getMaxSpeed() {
|
||||
return 2 * speedFor15RS;
|
||||
}
|
||||
|
||||
|
@ -139,7 +138,6 @@ public class MechPartSpeedometer extends MechMBPart implements IPlayerInteractio
|
|||
@Override
|
||||
public boolean interact(@Nonnull EnumFacing side, @Nonnull EntityPlayer player, @Nonnull EnumHand hand,
|
||||
@Nonnull ItemStack heldItem, float hitX, float hitY, float hitZ) {
|
||||
Minecraft.getMinecraft().mouseHelper.ungrabMouseCursor();
|
||||
if (Utils.isHammer(heldItem)) {
|
||||
if (!world.isRemote) {
|
||||
if (player.isSneaking()) {
|
||||
|
@ -162,7 +160,7 @@ public class MechPartSpeedometer extends MechMBPart implements IPlayerInteractio
|
|||
@Override
|
||||
public int getStrongRSOutput(@Nonnull IBlockState state, @Nonnull EnumFacing side) {
|
||||
if (side.getAxis() == X) {
|
||||
if (side.getAxisDirection() == NEGATIVE) {
|
||||
if (side.getAxisDirection() == POSITIVE) {
|
||||
return currentOutputLog;
|
||||
} else {
|
||||
return currentOutputLin;
|
||||
|
|
|
@ -38,14 +38,26 @@ import static malte0811.industrialWires.util.ConversionUtil.joulesPerIf;
|
|||
import static malte0811.industrialWires.util.NBTKeys.*;
|
||||
|
||||
public class MechPartTwoElectrodes extends MechMBPart implements IMBPartElectric {
|
||||
private final static double MAX_BUFFER = 10e3;//200kW
|
||||
private double bufferToMB;
|
||||
private boolean isACInMBBuffer;
|
||||
private double bufferToWorld;
|
||||
private boolean isACInWBuffer;
|
||||
|
||||
@Override
|
||||
public Waveform getProduced(MechEnergy state) {
|
||||
return bufferToMB>0?(isACInMBBuffer? AC_ASYNC: DC): NONE;
|
||||
if (bufferToMB > 0) {
|
||||
if (isACInMBBuffer)
|
||||
if (has4Phases()) {
|
||||
return AC_4PHASE_ASYNC;
|
||||
} else {
|
||||
return AC_ASYNC;
|
||||
}
|
||||
else {
|
||||
return DC;
|
||||
}
|
||||
} else {
|
||||
return NONE;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -60,7 +72,10 @@ public class MechPartTwoElectrodes extends MechMBPart implements IMBPartElectric
|
|||
|
||||
@Override
|
||||
public double requestEEnergy(Waveform waveform, MechEnergy energy) {
|
||||
return MAX_BUFFER-bufferToWorld;
|
||||
if (waveform.isSinglePhase()) {
|
||||
return getMaxBuffer()-bufferToWorld;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -104,7 +119,7 @@ public class MechPartTwoElectrodes extends MechMBPart implements IMBPartElectric
|
|||
}
|
||||
|
||||
@Override
|
||||
public double getSpeedFor15RS() {
|
||||
public double getMaxSpeed() {
|
||||
return Double.MAX_VALUE;//TODO
|
||||
}
|
||||
|
||||
|
@ -158,7 +173,7 @@ public class MechPartTwoElectrodes extends MechMBPart implements IMBPartElectric
|
|||
@Override
|
||||
public int receiveEnergy(int maxReceive, boolean simulate) {
|
||||
double joules = joulesPerIf()*maxReceive;
|
||||
double insert = Math.min(joules, MAX_BUFFER-bufferToMB);
|
||||
double insert = Math.min(joules, getMaxBuffer()-bufferToMB);
|
||||
if (!simulate) {
|
||||
if (!isACInMBBuffer) {
|
||||
bufferToMB = 0;
|
||||
|
@ -189,7 +204,7 @@ public class MechPartTwoElectrodes extends MechMBPart implements IMBPartElectric
|
|||
|
||||
@Override
|
||||
public int getMaxEnergyStored() {
|
||||
return (int) Math.round(MAX_BUFFER*2* ifPerJoule());
|
||||
return (int) Math.round(getMaxBuffer()*2* ifPerJoule());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -219,4 +234,12 @@ public class MechPartTwoElectrodes extends MechMBPart implements IMBPartElectric
|
|||
return CapabilityEnergy.ENERGY.cast(energy);
|
||||
return super.getCapability(cap, side, pos);
|
||||
}
|
||||
|
||||
protected double getMaxBuffer() {
|
||||
return 10e3;//200kW
|
||||
}
|
||||
|
||||
protected boolean has4Phases() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ import malte0811.industrialWires.IndustrialWires;
|
|||
import malte0811.industrialWires.blocks.converter.MechanicalMBBlockType;
|
||||
import malte0811.industrialWires.blocks.converter.TileEntityMultiblockConverter;
|
||||
import malte0811.industrialWires.util.LocalSidedWorld;
|
||||
import malte0811.industrialWires.util.MiscUtils;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
@ -89,10 +90,19 @@ public class MultiblockConverter implements MultiblockHandler.IMultiblock {
|
|||
mutPos.setPos(0, 0, lastLength);
|
||||
w.setOrigin(w.getRealPos(mutPos));
|
||||
MechMBPart next = null;
|
||||
for (String key : MechMBPart.INSTANCES.keySet()) {
|
||||
MechMBPart it = MechMBPart.INSTANCES.get(key);
|
||||
if (it.canForm(w)) {
|
||||
next = it;
|
||||
List<MechMBPart> instances = new ArrayList<>(MechMBPart.INSTANCES.values());
|
||||
instances.sort(MechMBPart.SORT_BY_COUNT);
|
||||
int lastCount = 0;
|
||||
for (MechMBPart part:instances) {
|
||||
int newCount = MiscUtils.count1Bits(part.getFormPattern());
|
||||
if (newCount==1&&lastCount>1&&checkEnd(w, mutPos)) {
|
||||
foundAll = true;
|
||||
break;
|
||||
}
|
||||
lastCount = newCount;
|
||||
if (part.canForm(w)) {
|
||||
next = part;
|
||||
String key = MechMBPart.REGISTRY.inverse().get(part.getClass());
|
||||
MechMBPart.cacheNewInstance(key);
|
||||
break;
|
||||
}
|
||||
|
@ -101,12 +111,8 @@ public class MultiblockConverter implements MultiblockHandler.IMultiblock {
|
|||
parts.add(next);
|
||||
lastLength = next.getLength();
|
||||
weight += next.getInertia();
|
||||
} else {
|
||||
if (parts.size() > 0 && checkEnd(w, mutPos)) {
|
||||
foundAll = true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} else if (!foundAll) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
double finalWeight = weight;
|
||||
|
|
|
@ -266,4 +266,12 @@ public final class MiscUtils {
|
|||
public static Vector3f withNewY(Vec2f in, float y) {
|
||||
return new Vector3f(in.x, y, in.y);
|
||||
}
|
||||
|
||||
public static int count1Bits(int i) {
|
||||
int ret = 0;
|
||||
for (int j = 0; j < 32; j++) {
|
||||
ret += (i>>>j)&1;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
}
|
|
@ -31,6 +31,18 @@
|
|||
"shaft_1_phase": {
|
||||
"model": "industrialwires:mech_mb/two_electrodes.obj"
|
||||
},
|
||||
"coil_4_phase": {
|
||||
"model": "industrialwires:mech_mb/mag_ring.obj"
|
||||
},
|
||||
"shaft_commutator_4": {
|
||||
"model": "industrialwires:mech_mb/four_electrodes.obj"
|
||||
},
|
||||
"shaft_4_phase": {
|
||||
"model": "industrialwires:mech_mb/four_electrodes.obj"
|
||||
},
|
||||
"speedometer": {
|
||||
"model": "industrialwires:mech_mb/speedometer.obj"
|
||||
},
|
||||
"shaft_basic": {
|
||||
}
|
||||
},
|
||||
|
|
|
@ -2,9 +2,4 @@
|
|||
# Material Count: 1
|
||||
|
||||
newmtl None
|
||||
Ns 0
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.8 0.8 0.8
|
||||
Ks 0.8 0.8 0.8
|
||||
d 1
|
||||
illum 2
|
||||
map_Ka industrialwires:blocks/converter/coils
|
||||
|
|
|
@ -1,70 +1,34 @@
|
|||
# Blender v2.78 (sub 0) OBJ File: 'RotaryConverter.blend'
|
||||
# Blender v2.79 (sub 0) OBJ File: 'RotaryConverter.blend'
|
||||
# www.blender.org
|
||||
mtllib four_coil.mtl
|
||||
o Rotor4Phase_Cylinder.008
|
||||
v 1.327665 0.998160 0.267005
|
||||
v 1.062500 0.732995 0.267005
|
||||
v 0.998160 1.327665 0.267005
|
||||
v 0.732995 1.062500 0.267005
|
||||
v 1.327665 0.998160 0.732995
|
||||
v 1.062500 0.732995 0.732995
|
||||
v 0.998160 1.327665 0.732995
|
||||
v 0.732995 1.062500 0.732995
|
||||
v 1.437500 0.267005 0.267005
|
||||
v 1.062500 0.267005 0.267005
|
||||
v 1.437500 0.732995 0.267005
|
||||
v 1.062500 0.732995 0.267005
|
||||
v 1.437500 0.267005 0.732995
|
||||
v 1.062500 0.267005 0.732995
|
||||
v 1.437500 0.732995 0.732995
|
||||
v 1.062500 0.732995 0.732995
|
||||
v 0.998160 -0.327665 0.267005
|
||||
v 0.732995 -0.062500 0.267005
|
||||
v 1.327665 0.001840 0.267005
|
||||
v 1.062500 0.267005 0.267005
|
||||
v 0.998160 -0.327665 0.732995
|
||||
v 0.732995 -0.062500 0.732995
|
||||
v 1.327665 0.001840 0.732995
|
||||
v 1.062500 0.267005 0.732995
|
||||
v 0.267005 -0.437500 0.267005
|
||||
v 0.267005 -0.062500 0.267005
|
||||
v 0.732995 -0.437500 0.267005
|
||||
v 0.732995 -0.062500 0.267005
|
||||
v 0.267005 -0.437500 0.732995
|
||||
v 0.267005 -0.062500 0.732995
|
||||
v 0.732995 -0.437500 0.732995
|
||||
v 0.732995 -0.062500 0.732995
|
||||
v -0.327665 0.001840 0.267005
|
||||
v -0.062500 0.267005 0.267005
|
||||
v 0.001840 -0.327665 0.267005
|
||||
v 0.267005 -0.062500 0.267005
|
||||
v -0.327665 0.001840 0.732995
|
||||
v -0.062500 0.267005 0.732995
|
||||
v 0.001840 -0.327665 0.732995
|
||||
v 0.267005 -0.062500 0.732995
|
||||
v -0.437500 0.732995 0.267005
|
||||
v -0.062500 0.732995 0.267005
|
||||
v -0.437500 0.267005 0.267005
|
||||
v -0.062500 0.267005 0.267005
|
||||
v -0.437500 0.732995 0.732995
|
||||
v -0.062500 0.732995 0.732995
|
||||
v -0.437500 0.267005 0.732995
|
||||
v -0.062500 0.267005 0.732995
|
||||
v 0.001840 1.327665 0.267005
|
||||
v 0.267005 1.062500 0.267005
|
||||
v -0.327665 0.998160 0.267005
|
||||
v -0.062500 0.732995 0.267005
|
||||
v 0.001840 1.327665 0.732995
|
||||
v 0.267005 1.062500 0.732995
|
||||
v -0.327665 0.998160 0.732995
|
||||
v -0.062500 0.732995 0.732995
|
||||
v 0.732995 1.437500 0.267005
|
||||
v 0.732995 1.062500 0.267005
|
||||
v 0.267005 1.437500 0.267005
|
||||
v 0.267005 1.062500 0.267005
|
||||
v 0.732995 1.437500 0.732995
|
||||
v 0.732995 1.062500 0.732995
|
||||
v 0.267005 1.437500 0.732995
|
||||
v 0.267005 1.062500 0.732995
|
||||
v -0.062500 0.732995 1.000000
|
||||
v -0.062500 0.732995 0.000000
|
||||
|
@ -82,73 +46,493 @@ v 0.732995 1.062500 1.000000
|
|||
v 0.732995 1.062500 0.000000
|
||||
v 0.267005 1.062500 1.000000
|
||||
v 0.267005 1.062500 0.000000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
vn 0.7071 -0.7071 -0.0000
|
||||
v 0.267005 -0.437500 0.267005
|
||||
v 0.267005 -0.062500 0.267005
|
||||
v 0.732995 -0.437500 0.267005
|
||||
v 0.732995 -0.062500 0.267005
|
||||
v 0.267005 -0.437500 0.732995
|
||||
v 0.267005 -0.062500 0.732995
|
||||
v 0.732995 -0.437500 0.732995
|
||||
v 0.732995 -0.062500 0.732995
|
||||
v -0.437500 0.732995 0.267005
|
||||
v -0.062500 0.732995 0.267005
|
||||
v -0.437500 0.267005 0.267005
|
||||
v -0.062500 0.267005 0.267005
|
||||
v -0.437500 0.732995 0.732995
|
||||
v -0.062500 0.732995 0.732995
|
||||
v -0.437500 0.267005 0.732995
|
||||
v -0.062500 0.267005 0.732995
|
||||
v -0.437500 0.732995 0.267005
|
||||
v -0.062500 0.732995 0.267005
|
||||
v -0.437500 0.267005 0.267005
|
||||
v -0.062500 0.267005 0.267005
|
||||
v -0.437500 0.732995 0.732995
|
||||
v -0.062500 0.732995 0.732995
|
||||
v -0.437500 0.267005 0.732995
|
||||
v -0.062500 0.267005 0.732995
|
||||
v 0.732995 1.437500 0.267005
|
||||
v 0.732995 1.062500 0.267005
|
||||
v 0.267005 1.437500 0.267005
|
||||
v 0.267005 1.062500 0.267005
|
||||
v 0.732995 1.437500 0.732995
|
||||
v 0.732995 1.062500 0.732995
|
||||
v 0.267005 1.437500 0.732995
|
||||
v 0.267005 1.062500 0.732995
|
||||
v 1.437500 0.267005 0.267005
|
||||
v 1.062500 0.267005 0.267005
|
||||
v 1.437500 0.732995 0.267005
|
||||
v 1.062500 0.732995 0.267005
|
||||
v 1.437500 0.267005 0.732995
|
||||
v 1.062500 0.267005 0.732995
|
||||
v 1.437500 0.732995 0.732995
|
||||
v 1.062500 0.732995 0.732995
|
||||
v 0.998160 -0.327665 0.267005
|
||||
v 0.732995 -0.062500 0.267005
|
||||
v 1.327665 0.001840 0.267005
|
||||
v 1.062500 0.267005 0.267005
|
||||
v 0.998160 -0.327665 0.732995
|
||||
v 0.732995 -0.062500 0.732995
|
||||
v 1.327665 0.001840 0.732995
|
||||
v 1.062500 0.267005 0.732995
|
||||
v -0.327665 0.001840 0.267005
|
||||
v -0.062500 0.267005 0.267005
|
||||
v 0.001840 -0.327665 0.267005
|
||||
v 0.267005 -0.062500 0.267005
|
||||
v -0.327665 0.001840 0.732995
|
||||
v -0.062500 0.267005 0.732995
|
||||
v 0.001840 -0.327665 0.732995
|
||||
v 0.267005 -0.062500 0.732995
|
||||
v 0.001840 1.327665 0.267005
|
||||
v 0.267005 1.062500 0.267005
|
||||
v -0.327665 0.998160 0.267005
|
||||
v -0.062500 0.732995 0.267005
|
||||
v 0.001840 1.327665 0.732995
|
||||
v 0.267005 1.062500 0.732995
|
||||
v -0.327665 0.998160 0.732995
|
||||
v -0.062500 0.732995 0.732995
|
||||
v -0.162912 1.162912 0.267005
|
||||
v 0.134423 1.195082 0.267005
|
||||
v 0.102252 0.897747 0.267005
|
||||
v -0.195082 0.865578 0.267005
|
||||
v -0.327665 0.998160 0.500000
|
||||
v -0.062500 0.732995 0.500000
|
||||
v -0.195083 0.865578 0.732995
|
||||
v -0.162913 1.162913 0.732995
|
||||
v 0.102252 0.897747 0.732995
|
||||
v 0.134422 1.195082 0.732995
|
||||
v 0.001840 1.327665 0.500000
|
||||
v 0.267005 1.062500 0.500000
|
||||
v -0.162912 1.162913 0.500000
|
||||
v 0.134422 1.195082 0.500000
|
||||
v -0.030330 1.030330 0.732995
|
||||
v -0.195083 0.865578 0.500000
|
||||
v -0.030330 1.030330 0.267005
|
||||
v 1.327665 0.998160 0.267005
|
||||
v 1.062500 0.732995 0.267005
|
||||
v 0.998160 1.327665 0.267005
|
||||
v 0.732995 1.062500 0.267005
|
||||
v 1.327665 0.998160 0.732995
|
||||
v 1.062500 0.732995 0.732995
|
||||
v 0.998160 1.327665 0.732995
|
||||
v 0.732995 1.062500 0.732995
|
||||
v 1.162913 1.162912 0.267005
|
||||
v 1.195082 0.865577 0.267005
|
||||
v 0.897747 0.897748 0.267005
|
||||
v 0.865578 1.195082 0.267005
|
||||
v 0.998160 1.327665 0.500000
|
||||
v 0.732995 1.062500 0.500000
|
||||
v 0.865578 1.195083 0.732995
|
||||
v 1.162913 1.162913 0.732995
|
||||
v 0.897747 0.897748 0.732995
|
||||
v 1.195082 0.865578 0.732995
|
||||
v 1.327665 0.998160 0.500000
|
||||
v 1.062500 0.732995 0.500000
|
||||
v 1.162912 1.162912 0.500000
|
||||
v 1.195082 0.865578 0.500000
|
||||
v 1.030330 1.030330 0.732995
|
||||
v 0.865578 1.195083 0.500000
|
||||
v 1.030330 1.030330 0.267005
|
||||
vt 0.375000 0.434000
|
||||
vt 0.375000 0.583333
|
||||
vt 0.041667 0.583333
|
||||
vt 0.041667 0.434000
|
||||
vt 0.375000 0.434000
|
||||
vt 0.375000 0.583333
|
||||
vt 0.041667 0.583333
|
||||
vt 0.041667 0.434000
|
||||
vt 0.041667 0.583333
|
||||
vt 0.041667 0.434000
|
||||
vt 0.375000 0.434000
|
||||
vt 0.375000 0.583333
|
||||
vt 0.041667 0.583333
|
||||
vt 0.041667 0.434000
|
||||
vt 0.375000 0.434000
|
||||
vt 0.375000 0.583333
|
||||
vt 0.375000 0.434000
|
||||
vt 0.375000 0.583333
|
||||
vt 0.041667 0.583333
|
||||
vt 0.041667 0.434000
|
||||
vt 0.041667 0.434000
|
||||
vt 0.375000 0.434000
|
||||
vt 0.375000 0.583333
|
||||
vt 0.041667 0.583333
|
||||
vt 0.041667 0.434000
|
||||
vt 0.375000 0.434000
|
||||
vt 0.375000 0.583333
|
||||
vt 0.041667 0.583333
|
||||
vt 0.520833 0.408000
|
||||
vt 0.408000 0.520833
|
||||
vt 0.408000 0.145833
|
||||
vt 0.520833 0.244333
|
||||
vt 0.145833 0.244333
|
||||
vt 0.258667 0.145833
|
||||
vt 0.258667 0.520833
|
||||
vt 0.145833 0.408000
|
||||
vt 0.375000 0.434000
|
||||
vt 0.375000 0.583333
|
||||
vt 0.041667 0.583333
|
||||
vt 0.041667 0.434000
|
||||
vt 0.258667 0.520833
|
||||
vt 0.145833 0.408000
|
||||
vt 0.145833 0.244333
|
||||
vt 0.258667 0.145833
|
||||
vt 0.408000 0.520833
|
||||
vt 0.408000 0.145833
|
||||
vt 0.520833 0.244333
|
||||
vt 0.520833 0.408000
|
||||
vt 0.758667 0.250000
|
||||
vt 0.908000 0.250000
|
||||
vt 0.908000 0.375000
|
||||
vt 0.758667 0.375000
|
||||
vt 0.758667 0.375000
|
||||
vt 0.908000 0.375000
|
||||
vt 0.908000 0.500000
|
||||
vt 0.758667 0.500000
|
||||
vt 0.908000 0.250000
|
||||
vt 0.758667 0.250000
|
||||
vt 0.758667 0.125000
|
||||
vt 0.908000 0.125000
|
||||
vt 0.758667 0.000000
|
||||
vt 0.908000 0.000000
|
||||
vt 0.758667 0.125000
|
||||
vt 0.241333 0.758667
|
||||
vt 0.241333 0.908000
|
||||
vt 0.092000 0.908000
|
||||
vt 0.092000 0.758667
|
||||
vt 0.758667 0.250000
|
||||
vt 0.908000 0.250000
|
||||
vt 0.908000 0.375000
|
||||
vt 0.758667 0.375000
|
||||
vt 0.758667 0.375000
|
||||
vt 0.908000 0.375000
|
||||
vt 0.908000 0.500000
|
||||
vt 0.758667 0.500000
|
||||
vt 0.908000 0.250000
|
||||
vt 0.758667 0.250000
|
||||
vt 0.758667 0.125000
|
||||
vt 0.908000 0.125000
|
||||
vt 0.758667 0.000000
|
||||
vt 0.908000 0.000000
|
||||
vt 0.758667 0.125000
|
||||
vt 0.241333 0.758667
|
||||
vt 0.241333 0.908000
|
||||
vt 0.092000 0.908000
|
||||
vt 0.092000 0.758667
|
||||
vt 0.758667 0.250000
|
||||
vt 0.908000 0.250000
|
||||
vt 0.908000 0.375000
|
||||
vt 0.758667 0.375000
|
||||
vt 0.758667 0.375000
|
||||
vt 0.908000 0.375000
|
||||
vt 0.908000 0.500000
|
||||
vt 0.758667 0.500000
|
||||
vt 0.908000 0.250000
|
||||
vt 0.758667 0.250000
|
||||
vt 0.758667 0.125000
|
||||
vt 0.908000 0.125000
|
||||
vt 0.758667 0.000000
|
||||
vt 0.908000 0.000000
|
||||
vt 0.758667 0.125000
|
||||
vt 0.241333 0.758667
|
||||
vt 0.241333 0.908000
|
||||
vt 0.092000 0.908000
|
||||
vt 0.092000 0.758667
|
||||
vt 0.758667 0.250000
|
||||
vt 0.908000 0.250000
|
||||
vt 0.908000 0.375000
|
||||
vt 0.758667 0.375000
|
||||
vt 0.758667 0.375000
|
||||
vt 0.908000 0.375000
|
||||
vt 0.908000 0.500000
|
||||
vt 0.758667 0.500000
|
||||
vt 0.908000 0.250000
|
||||
vt 0.758667 0.250000
|
||||
vt 0.758667 0.125000
|
||||
vt 0.908000 0.125000
|
||||
vt 0.758667 0.000000
|
||||
vt 0.908000 0.000000
|
||||
vt 0.758667 0.125000
|
||||
vt 0.241333 0.758667
|
||||
vt 0.241333 0.908000
|
||||
vt 0.092000 0.908000
|
||||
vt 0.092000 0.758667
|
||||
vt 0.758667 0.250000
|
||||
vt 0.908000 0.250000
|
||||
vt 0.908000 0.375000
|
||||
vt 0.758667 0.375000
|
||||
vt 0.758667 0.375000
|
||||
vt 0.908000 0.375000
|
||||
vt 0.908000 0.500000
|
||||
vt 0.758667 0.500000
|
||||
vt 0.908000 0.250000
|
||||
vt 0.758667 0.250000
|
||||
vt 0.758667 0.125000
|
||||
vt 0.908000 0.125000
|
||||
vt 0.758667 0.000000
|
||||
vt 0.908000 0.000000
|
||||
vt 0.758667 0.125000
|
||||
vt 0.241333 0.758667
|
||||
vt 0.241333 0.908000
|
||||
vt 0.092000 0.908000
|
||||
vt 0.092000 0.758667
|
||||
vt 0.758667 0.250000
|
||||
vt 0.908000 0.250000
|
||||
vt 0.908000 0.375000
|
||||
vt 0.758667 0.375000
|
||||
vt 0.758667 0.375000
|
||||
vt 0.908000 0.375000
|
||||
vt 0.908000 0.500000
|
||||
vt 0.758667 0.500000
|
||||
vt 0.908000 0.250000
|
||||
vt 0.758667 0.250000
|
||||
vt 0.758667 0.125000
|
||||
vt 0.908000 0.125000
|
||||
vt 0.758667 0.000000
|
||||
vt 0.908000 0.000000
|
||||
vt 0.758667 0.125000
|
||||
vt 0.241333 0.758667
|
||||
vt 0.241333 0.908000
|
||||
vt 0.092000 0.908000
|
||||
vt 0.092000 0.758667
|
||||
vt 0.758667 0.250000
|
||||
vt 0.908000 0.250000
|
||||
vt 0.908000 0.375000
|
||||
vt 0.758667 0.375000
|
||||
vt 0.758667 0.375000
|
||||
vt 0.908000 0.375000
|
||||
vt 0.908000 0.500000
|
||||
vt 0.758667 0.500000
|
||||
vt 0.908000 0.250000
|
||||
vt 0.758667 0.250000
|
||||
vt 0.758667 0.125000
|
||||
vt 0.908000 0.125000
|
||||
vt 0.758667 0.000000
|
||||
vt 0.908000 0.000000
|
||||
vt 0.758667 0.125000
|
||||
vt 0.241333 0.758667
|
||||
vt 0.241333 0.908000
|
||||
vt 0.092000 0.908000
|
||||
vt 0.092000 0.758667
|
||||
vt 0.833333 0.312500
|
||||
vt 0.908000 0.312500
|
||||
vt 0.908000 0.375000
|
||||
vt 0.833333 0.375000
|
||||
vt 0.833333 0.437500
|
||||
vt 0.908000 0.437500
|
||||
vt 0.908000 0.500000
|
||||
vt 0.833333 0.500000
|
||||
vt 0.833333 0.187500
|
||||
vt 0.758667 0.187500
|
||||
vt 0.758667 0.125000
|
||||
vt 0.833333 0.125000
|
||||
vt 0.833333 0.062500
|
||||
vt 0.908000 0.062500
|
||||
vt 0.908000 0.125000
|
||||
vt 0.833333 0.125000
|
||||
vt 0.166667 0.833333
|
||||
vt 0.166667 0.908000
|
||||
vt 0.092000 0.908000
|
||||
vt 0.092000 0.833333
|
||||
vt 0.166667 0.758667
|
||||
vt 0.092000 0.758667
|
||||
vt 0.241333 0.758667
|
||||
vt 0.241333 0.833333
|
||||
vt 0.241333 0.908000
|
||||
vt 0.758667 0.062500
|
||||
vt 0.758667 0.125000
|
||||
vt 0.758667 0.000000
|
||||
vt 0.833333 0.000000
|
||||
vt 0.908000 0.000000
|
||||
vt 0.908000 0.187500
|
||||
vt 0.908000 0.250000
|
||||
vt 0.833333 0.250000
|
||||
vt 0.758667 0.250000
|
||||
vt 0.758667 0.437500
|
||||
vt 0.758667 0.500000
|
||||
vt 0.758667 0.375000
|
||||
vt 0.833333 0.375000
|
||||
vt 0.908000 0.375000
|
||||
vt 0.758667 0.312500
|
||||
vt 0.758667 0.375000
|
||||
vt 0.758667 0.250000
|
||||
vt 0.833333 0.250000
|
||||
vt 0.908000 0.250000
|
||||
vt 0.833333 0.312500
|
||||
vt 0.908000 0.312500
|
||||
vt 0.908000 0.375000
|
||||
vt 0.833333 0.375000
|
||||
vt 0.833333 0.437500
|
||||
vt 0.908000 0.437500
|
||||
vt 0.908000 0.500000
|
||||
vt 0.833333 0.500000
|
||||
vt 0.833333 0.187500
|
||||
vt 0.758667 0.187500
|
||||
vt 0.758667 0.125000
|
||||
vt 0.833333 0.125000
|
||||
vt 0.833333 0.062500
|
||||
vt 0.908000 0.062500
|
||||
vt 0.908000 0.125000
|
||||
vt 0.833333 0.125000
|
||||
vt 0.166667 0.833333
|
||||
vt 0.166667 0.908000
|
||||
vt 0.092000 0.908000
|
||||
vt 0.092000 0.833333
|
||||
vt 0.166667 0.758667
|
||||
vt 0.092000 0.758667
|
||||
vt 0.241333 0.758667
|
||||
vt 0.241333 0.833333
|
||||
vt 0.241333 0.908000
|
||||
vt 0.758667 0.062500
|
||||
vt 0.758667 0.125000
|
||||
vt 0.758667 0.000000
|
||||
vt 0.833333 0.000000
|
||||
vt 0.908000 0.000000
|
||||
vt 0.908000 0.187500
|
||||
vt 0.908000 0.250000
|
||||
vt 0.833333 0.250000
|
||||
vt 0.758667 0.250000
|
||||
vt 0.758667 0.437500
|
||||
vt 0.758667 0.500000
|
||||
vt 0.758667 0.375000
|
||||
vt 0.833333 0.375000
|
||||
vt 0.908000 0.375000
|
||||
vt 0.758667 0.312500
|
||||
vt 0.758667 0.375000
|
||||
vt 0.758667 0.250000
|
||||
vt 0.833333 0.250000
|
||||
vt 0.908000 0.250000
|
||||
vn 0.7071 0.7071 0.0000
|
||||
vn -0.7071 -0.7071 -0.0000
|
||||
vn -0.0000 -1.0000 -0.0000
|
||||
vn 0.0000 1.0000 -0.0000
|
||||
vn 1.0000 -0.0000 -0.0000
|
||||
vn -0.7071 -0.7071 0.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 0.7071 -0.7071 -0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn -1.0000 0.0000 -0.0000
|
||||
vn -0.7071 0.7071 0.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn 1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 76//1 74//1 70//1
|
||||
f 6//2 5//2 7//2 8//2
|
||||
f 1//3 5//3 6//3 2//3
|
||||
f 77//4 75//4 76//4 78//4
|
||||
f 12//1 11//1 9//1 10//1
|
||||
f 48//5 47//5 43//5 44//5
|
||||
f 15//6 11//6 12//6 16//6
|
||||
f 13//2 15//2 16//2 14//2
|
||||
f 10//5 9//5 13//5 14//5
|
||||
f 9//7 11//7 15//7 13//7
|
||||
f 19//1 17//1 18//1 20//1
|
||||
f 23//4 19//4 20//4 24//4
|
||||
f 22//2 21//2 23//2 24//2
|
||||
f 17//8 21//8 22//8 18//8
|
||||
f 17//3 19//3 23//3 21//3
|
||||
f 28//1 27//1 25//1 26//1
|
||||
f 31//7 27//7 28//7 32//7
|
||||
f 29//2 31//2 32//2 30//2
|
||||
f 26//9 25//9 29//9 30//9
|
||||
f 25//5 27//5 31//5 29//5
|
||||
f 35//1 33//1 34//1 36//1
|
||||
f 39//3 35//3 36//3 40//3
|
||||
f 37//2 39//2 40//2 38//2
|
||||
f 33//10 37//10 38//10 34//10
|
||||
f 33//8 35//8 39//8 37//8
|
||||
f 44//1 43//1 41//1 42//1
|
||||
f 45//2 47//2 48//2 46//2
|
||||
f 41//6 45//6 46//6 42//6
|
||||
f 41//9 43//9 47//9 45//9
|
||||
f 69//8 67//8 68//8 70//8
|
||||
f 59//1 57//1 58//1 60//1
|
||||
f 53//2 55//2 56//2 54//2
|
||||
f 52//1 51//1 49//1 50//1
|
||||
f 71//5 69//5 70//5 72//5
|
||||
f 49//10 51//10 55//10 53//10
|
||||
f 3//1 1//1 2//1 4//1
|
||||
f 64//9 63//9 59//9 60//9
|
||||
f 61//2 63//2 64//2 62//2
|
||||
f 57//7 61//7 62//7 58//7
|
||||
f 57//6 59//6 63//6 61//6
|
||||
f 49//4 53//4 54//4 50//4
|
||||
f 73//3 71//3 72//3 74//3
|
||||
f 79//6 77//6 78//6 80//6
|
||||
f 68//9 67//9 65//9 66//9
|
||||
f 66//10 65//10 79//10 80//10
|
||||
f 70//1 66//1 78//1 76//1
|
||||
f 71//2 75//2 79//2 67//2
|
||||
f 70//1 68//1 66//1
|
||||
f 66//1 80//1 78//1
|
||||
f 74//1 72//1 70//1
|
||||
f 55//8 51//8 52//8 56//8
|
||||
f 75//7 73//7 74//7 76//7
|
||||
f 79//2 65//2 67//2
|
||||
f 67//2 69//2 71//2
|
||||
f 71//2 73//2 75//2
|
||||
f 75//2 77//2 79//2
|
||||
f 1//4 3//4 7//4 5//4
|
||||
f 8//10 7//10 3//10 4//10
|
||||
f 41/1/1 39/2/1 40/3/1 42/4/1
|
||||
f 33/5/2 31/6/2 32/7/2 34/8/2
|
||||
f 35/9/3 33/10/3 34/11/3 36/12/3
|
||||
f 37/13/4 35/14/4 36/15/4 38/16/4
|
||||
f 43/17/5 41/18/5 42/19/5 44/20/5
|
||||
f 32/21/6 31/22/6 29/23/6 30/24/6
|
||||
f 30/25/7 29/26/7 43/27/7 44/28/7
|
||||
f 34/29/8 32/30/8 38/31/8 36/32/8
|
||||
f 42/33/8 40/34/8 30/35/8 44/36/8
|
||||
f 32/30/8 30/35/8 40/34/8 38/31/8
|
||||
f 39/37/9 37/38/9 38/39/9 40/40/9
|
||||
f 31/41/10 33/42/10 35/43/10 37/44/10
|
||||
f 29/45/10 31/41/10 37/44/10 39/46/10
|
||||
f 39/46/10 41/47/10 43/48/10 29/45/10
|
||||
f 47/49/8 45/50/8 46/51/8 48/52/8
|
||||
f 51/53/9 47/54/9 48/55/9 52/56/9
|
||||
f 49/57/10 51/58/10 52/59/10 50/60/10
|
||||
f 45/61/6 49/62/6 50/60/6 46/63/6
|
||||
f 45/64/3 47/65/3 51/66/3 49/67/3
|
||||
f 55/68/8 53/69/8 54/70/8 56/71/8
|
||||
f 59/72/3 55/73/3 56/74/3 60/75/3
|
||||
f 57/76/10 59/77/10 60/78/10 58/79/10
|
||||
f 53/80/5 57/81/5 58/79/5 54/82/5
|
||||
f 53/83/6 55/84/6 59/85/6 57/86/6
|
||||
f 63/87/8 61/88/8 62/89/8 64/90/8
|
||||
f 67/91/3 63/92/3 64/93/3 68/94/3
|
||||
f 65/95/10 67/96/10 68/97/10 66/98/10
|
||||
f 61/99/5 65/100/5 66/98/5 62/101/5
|
||||
f 61/102/6 63/103/6 67/104/6 65/105/6
|
||||
f 71/106/8 69/107/8 70/108/8 72/109/8
|
||||
f 75/110/6 71/111/6 72/112/6 76/113/6
|
||||
f 73/114/10 75/115/10 76/116/10 74/117/10
|
||||
f 69/118/9 73/119/9 74/117/9 70/120/9
|
||||
f 69/121/5 71/122/5 75/123/5 73/124/5
|
||||
f 79/125/8 77/126/8 78/127/8 80/128/8
|
||||
f 83/129/5 79/130/5 80/131/5 84/132/5
|
||||
f 81/133/10 83/134/10 84/135/10 82/136/10
|
||||
f 77/137/3 81/138/3 82/136/3 78/139/3
|
||||
f 77/140/9 79/141/9 83/142/9 81/143/9
|
||||
f 87/144/8 85/145/8 86/146/8 88/147/8
|
||||
f 91/148/1 87/149/1 88/150/1 92/151/1
|
||||
f 89/152/10 91/153/10 92/154/10 90/155/10
|
||||
f 85/156/2 89/157/2 90/155/2 86/158/2
|
||||
f 85/159/4 87/160/4 91/161/4 89/162/4
|
||||
f 95/163/8 93/164/8 94/165/8 96/166/8
|
||||
f 99/167/4 95/168/4 96/169/4 100/170/4
|
||||
f 97/171/10 99/172/10 100/173/10 98/174/10
|
||||
f 93/175/7 97/176/7 98/174/7 94/177/7
|
||||
f 93/178/2 95/179/2 99/180/2 97/181/2
|
||||
f 125/182/8 110/183/8 102/184/8 111/185/8
|
||||
f 124/186/2 112/187/2 104/188/2 114/189/2
|
||||
f 123/190/10 115/191/10 108/192/10 117/193/10
|
||||
f 122/194/1 118/195/1 106/196/1 120/197/1
|
||||
f 121/198/7 113/199/7 107/200/7 116/201/7
|
||||
f 119/202/7 121/198/7 116/201/7 105/203/7
|
||||
f 101/204/7 109/205/7 121/198/7 119/202/7
|
||||
f 109/205/7 103/206/7 113/199/7 121/198/7
|
||||
f 110/207/1 122/194/1 120/197/1 102/208/1
|
||||
f 101/209/1 119/210/1 122/194/1 110/207/1
|
||||
f 119/210/1 105/211/1 118/195/1 122/194/1
|
||||
f 118/212/10 123/190/10 117/193/10 106/196/10
|
||||
f 105/213/10 116/214/10 123/190/10 118/212/10
|
||||
f 116/214/10 107/215/10 115/191/10 123/190/10
|
||||
f 115/216/2 124/186/2 114/189/2 108/217/2
|
||||
f 107/218/2 113/219/2 124/186/2 115/216/2
|
||||
f 113/219/2 103/220/2 112/187/2 124/186/2
|
||||
f 112/221/8 125/182/8 111/185/8 104/222/8
|
||||
f 103/223/8 109/224/8 125/182/8 112/221/8
|
||||
f 109/224/8 101/225/8 110/183/8 125/182/8
|
||||
f 150/226/8 135/227/8 127/228/8 136/229/8
|
||||
f 149/230/7 137/231/7 129/232/7 139/233/7
|
||||
f 148/234/10 140/235/10 133/236/10 142/237/10
|
||||
f 147/238/4 143/239/4 131/240/4 145/241/4
|
||||
f 146/242/1 138/243/1 132/244/1 141/245/1
|
||||
f 144/246/1 146/242/1 141/245/1 130/247/1
|
||||
f 126/248/1 134/249/1 146/242/1 144/246/1
|
||||
f 134/249/1 128/250/1 138/243/1 146/242/1
|
||||
f 135/251/4 147/238/4 145/241/4 127/252/4
|
||||
f 126/253/4 144/254/4 147/238/4 135/251/4
|
||||
f 144/254/4 130/255/4 143/239/4 147/238/4
|
||||
f 143/256/10 148/234/10 142/237/10 131/240/10
|
||||
f 130/257/10 141/258/10 148/234/10 143/256/10
|
||||
f 141/258/10 132/259/10 140/235/10 148/234/10
|
||||
f 140/260/7 149/230/7 139/233/7 133/261/7
|
||||
f 132/262/7 138/263/7 149/230/7 140/260/7
|
||||
f 138/263/7 128/264/7 137/231/7 149/230/7
|
||||
f 137/265/8 150/226/8 136/229/8 129/266/8
|
||||
f 128/267/8 134/268/8 150/226/8 137/265/8
|
||||
f 134/268/8 126/269/8 135/227/8 150/226/8
|
||||
l 2 4
|
||||
l 3 1
|
||||
l 6 8
|
||||
l 7 5
|
||||
l 10 12
|
||||
l 11 9
|
||||
l 14 16
|
||||
l 15 13
|
||||
l 18 20
|
||||
l 19 17
|
||||
l 22 24
|
||||
l 23 21
|
||||
l 26 28
|
||||
l 27 25
|
||||
|
|
|
@ -1,2 +1,5 @@
|
|||
# Blender MTL File: 'RotaryConverter.blend'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl Material.002
|
||||
map_Ka industrialwires:blocks/converter/mag_ring
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Blender v2.78 (sub 0) OBJ File: 'RotaryConverter.blend'
|
||||
# Blender v2.79 (sub 0) OBJ File: 'RotaryConverter.blend'
|
||||
# www.blender.org
|
||||
mtllib mag_ring.mtl
|
||||
o MagRing_Cube.048
|
||||
|
@ -25,7 +25,7 @@ v 1.999995 -1.000000 0.062500
|
|||
v -0.142555 1.999999 0.937500
|
||||
v -0.142555 2.000000 0.062500
|
||||
v -0.999999 1.142555 0.937500
|
||||
v -0.999999 1.142556 0.062500
|
||||
v -0.999995 -1.000001 0.062500
|
||||
v -1.000000 -1.000001 0.937500
|
||||
v -0.999995 -1.000000 0.062500
|
||||
v 2.000000 1.142555 0.062500
|
||||
|
@ -34,144 +34,117 @@ v 1.142555 1.999999 0.937500
|
|||
v 1.142555 2.000000 0.062500
|
||||
v -1.000000 0.085789 0.937500
|
||||
v -1.000000 -0.500001 0.937500
|
||||
v -0.500000 0.085786 0.062500
|
||||
v 0.085786 -0.500001 0.062500
|
||||
v 1.500000 0.085786 0.062500
|
||||
v 1.500000 0.914213 0.062500
|
||||
v -0.500000 0.914213 0.062500
|
||||
v 0.914213 1.500000 0.062500
|
||||
v 0.085786 1.500000 0.062500
|
||||
v 0.914213 -0.500001 0.062500
|
||||
v -1.000000 -0.500000 0.062500
|
||||
v -1.000000 0.085790 0.062500
|
||||
v -0.999996 -1.000000 0.062500
|
||||
v 1.142554 2.000000 0.062500
|
||||
v 1.999999 1.142555 0.062500
|
||||
v 2.000000 -1.000000 0.062500
|
||||
v 2.000000 -0.500001 0.062500
|
||||
v 1.999999 0.085789 0.062500
|
||||
v -0.142556 1.999999 0.062500
|
||||
v -0.999999 1.142556 0.062500
|
||||
v -0.142556 2.000000 0.062500
|
||||
v 1.999999 0.085790 0.062500
|
||||
v 2.000000 -0.500000 0.062500
|
||||
vt 0.3542 0.6042
|
||||
vt 0.3542 0.3333
|
||||
vt 0.6458 0.3333
|
||||
vt 0.6458 0.6042
|
||||
vt 0.6458 0.3333
|
||||
vt 0.6458 0.6042
|
||||
vt 0.3542 0.6042
|
||||
vt 0.3542 0.3333
|
||||
vt 0.3542 0.6042
|
||||
vt 0.3542 0.3333
|
||||
vt 0.6458 0.3333
|
||||
vt 0.6458 0.6042
|
||||
vt 0.6458 0.3333
|
||||
vt 0.6458 0.6042
|
||||
vt 0.3542 0.6042
|
||||
vt 0.3542 0.3333
|
||||
vt 0.5208 0.3333
|
||||
vt 0.3542 0.4167
|
||||
vt 0.6042 0.6667
|
||||
vt 0.6875 0.5000
|
||||
vt 0.3542 0.6042
|
||||
vt 0.3542 0.3333
|
||||
vt 0.6458 0.3333
|
||||
vt 0.6458 0.6042
|
||||
vt 0.3542 0.6042
|
||||
vt 0.3542 0.3333
|
||||
vt 0.6458 0.3333
|
||||
vt 0.6458 0.6042
|
||||
vt 0.6458 0.3333
|
||||
vt 0.6458 0.6042
|
||||
vt 0.3542 0.6042
|
||||
vt 0.3542 0.3333
|
||||
vt 0.6458 0.2708
|
||||
vt 0.6458 0.7292
|
||||
vt 0.3750 0.7292
|
||||
vt 0.3750 0.2708
|
||||
vt 0.4792 0.5000
|
||||
vt 0.4792 0.7708
|
||||
vt 0.6667 0.7708
|
||||
vt 0.6667 0.4167
|
||||
vt 0.6667 0.3333
|
||||
vt 0.4792 0.3333
|
||||
vt 0.4792 0.4583
|
||||
vt 0.6667 0.7083
|
||||
vt 0.5833 1.0000
|
||||
vt 0.4167 1.0000
|
||||
vt 0.4167 0.0000
|
||||
vt 0.5833 0.0000
|
||||
vt 0.0208 1.0000
|
||||
vt 0.0208 0.5625
|
||||
vt 0.3333 0.5625
|
||||
vt 0.3333 1.0000
|
||||
vt 0.6458 0.0000
|
||||
vt 0.6458 1.0000
|
||||
vt 0.3750 1.0000
|
||||
vt 0.3750 0.0000
|
||||
vt 0.0208 0.0000
|
||||
vt 0.3333 0.0000
|
||||
vt 0.3333 0.7083
|
||||
vt 0.0208 0.7083
|
||||
vt 0.0208 0.5625
|
||||
vt 0.3333 0.5625
|
||||
vt 0.3333 1.0000
|
||||
vt 0.0208 1.0000
|
||||
vt 0.3542 0.6042
|
||||
vt 0.3542 0.3333
|
||||
vt 0.6458 0.3333
|
||||
vt 0.6458 0.6042
|
||||
vt 0.5625 0.3542
|
||||
vt 0.5625 0.6458
|
||||
vt 0.4167 0.7083
|
||||
vt 0.4167 0.2917
|
||||
vt 0.6875 0.5208
|
||||
vt 0.6042 0.6667
|
||||
vt 0.3542 0.3958
|
||||
vt 0.5208 0.3333
|
||||
vt 0.4792 0.7708
|
||||
vt 0.4792 0.5000
|
||||
vt 0.6667 0.4167
|
||||
vt 0.6667 0.7708
|
||||
vt 0.6667 0.7083
|
||||
vt 0.4792 0.4583
|
||||
vt 0.4792 0.3333
|
||||
vt 0.6667 0.3333
|
||||
vt 0.0208 0.0000
|
||||
vt 0.3333 0.0000
|
||||
vt 0.3333 0.7083
|
||||
vt 0.0208 0.7083
|
||||
vt 0.5208 0.3333
|
||||
vt 0.3542 0.4167
|
||||
vt 0.6042 0.6667
|
||||
vt 0.6875 0.5000
|
||||
vt 0.4792 0.5000
|
||||
vt 0.4792 0.7708
|
||||
vt 0.6667 0.7708
|
||||
vt 0.6667 0.4167
|
||||
vt 0.6667 0.3333
|
||||
vt 0.4792 0.3333
|
||||
vt 0.4792 0.4583
|
||||
vt 0.6667 0.7083
|
||||
vt 0.5833 1.0000
|
||||
vt 0.4167 1.0000
|
||||
vt 0.4167 0.0000
|
||||
vt 0.5833 0.0000
|
||||
vt 0.5625 0.3542
|
||||
vt 0.5625 0.6458
|
||||
vt 0.4167 0.7083
|
||||
vt 0.4167 0.2917
|
||||
vt 0.6875 0.5208
|
||||
vt 0.6042 0.6667
|
||||
vt 0.3542 0.3958
|
||||
vt 0.5208 0.3333
|
||||
vt 0.4792 0.7708
|
||||
vt 0.4792 0.5000
|
||||
vt 0.6667 0.4167
|
||||
vt 0.6667 0.7708
|
||||
vt 0.6667 0.7083
|
||||
vt 0.4792 0.4583
|
||||
vt 0.4792 0.3333
|
||||
vt 0.6667 0.3333
|
||||
v 2.000000 -1.000001 0.062500
|
||||
v 1.999999 1.142555 0.062500
|
||||
v 1.142555 1.999999 0.062500
|
||||
v -0.999995 -1.000001 0.062500
|
||||
v -0.999999 0.085789 0.062500
|
||||
v -1.000000 -0.500001 0.062500
|
||||
v 0.914214 -0.500001 0.062500
|
||||
v 0.085786 1.499999 0.062500
|
||||
v 0.914213 1.499999 0.062500
|
||||
v -0.500000 0.914213 0.062500
|
||||
v 1.500000 0.914213 0.062500
|
||||
v 1.500000 0.085786 0.062500
|
||||
v 0.085786 -0.500001 0.062500
|
||||
v -0.500000 0.085786 0.062500
|
||||
v -0.999995 -1.000000 0.937500
|
||||
v -1.000000 1.142555 0.937500
|
||||
v -0.999999 1.142556 0.062500
|
||||
v -0.142556 1.999999 0.062500
|
||||
v -0.142556 2.000000 0.937500
|
||||
vt 0.093750 0.015625
|
||||
vt 0.296875 0.015625
|
||||
vt 0.296875 0.218750
|
||||
vt 0.093750 0.218750
|
||||
vt 0.703125 0.015625
|
||||
vt 0.906250 0.015625
|
||||
vt 0.906250 0.218750
|
||||
vt 0.703125 0.218750
|
||||
vt 0.500000 0.015625
|
||||
vt 0.703125 0.015625
|
||||
vt 0.703125 0.218750
|
||||
vt 0.500000 0.218750
|
||||
vt 0.500000 0.015625
|
||||
vt 0.703125 0.015625
|
||||
vt 0.703125 0.218750
|
||||
vt 0.500000 0.218750
|
||||
vt 0.728554 0.375000
|
||||
vt 0.815162 0.250000
|
||||
vt 1.000000 0.460455
|
||||
vt 0.875000 0.517540
|
||||
vt 0.500000 0.218750
|
||||
vt 0.296875 0.218750
|
||||
vt 0.296875 0.015625
|
||||
vt 0.500000 0.015625
|
||||
vt 0.093750 0.218750
|
||||
vt 0.093750 0.015625
|
||||
vt 0.906250 0.015625
|
||||
vt 0.906250 0.218750
|
||||
vt 0.250000 0.015625
|
||||
vt 0.546875 0.015625
|
||||
vt 0.546875 0.234375
|
||||
vt 0.250000 0.234375
|
||||
vt 0.521447 0.375000
|
||||
vt 0.521447 0.250000
|
||||
vt 0.375000 0.250000
|
||||
vt 0.375000 0.521447
|
||||
vt 0.250000 1.000000
|
||||
vt 0.375000 1.000000
|
||||
vt 0.375000 0.250000
|
||||
vt 0.250000 0.250000
|
||||
vt 0.250000 0.250000
|
||||
vt 0.015625 0.250000
|
||||
vt 0.015625 0.781250
|
||||
vt 0.250000 0.781250
|
||||
vt 0.000000 0.015625
|
||||
vt 1.000000 0.015625
|
||||
vt 1.000000 0.234375
|
||||
vt 0.000000 0.234375
|
||||
vt 0.250000 1.000000
|
||||
vt 0.015625 1.000000
|
||||
vt 0.015625 0.703125
|
||||
vt 0.250000 0.703125
|
||||
vt 0.250000 1.000000
|
||||
vt 0.015625 1.000000
|
||||
vt 0.015625 0.703125
|
||||
vt 0.250000 0.703125
|
||||
vt 0.875000 0.724647
|
||||
vt 1.000000 0.781732
|
||||
vt 0.815162 1.000000
|
||||
vt 0.728554 0.875000
|
||||
vt 0.521447 0.875000
|
||||
vt 0.521447 1.000000
|
||||
vt 0.375000 0.728594
|
||||
vt 0.375000 1.000000
|
||||
vt 0.250000 0.250000
|
||||
vt 0.015625 0.250000
|
||||
vt 0.015625 0.781250
|
||||
vt 0.250000 0.781250
|
||||
vt 0.375000 0.728594
|
||||
vt 0.521447 0.875000
|
||||
vt 0.521447 1.000000
|
||||
vt 0.375000 1.000000
|
||||
vt 0.728554 0.875000
|
||||
vt 0.815162 1.000000
|
||||
vt 0.875000 0.724647
|
||||
vt 1.000000 0.781732
|
||||
vt 0.875000 0.517540
|
||||
vt 1.000000 0.460455
|
||||
vt 0.250000 1.000000
|
||||
vt 0.375000 1.000000
|
||||
vt 0.375000 0.250000
|
||||
vt 0.250000 0.250000
|
||||
vt 0.375000 0.250000
|
||||
vt 0.521447 0.250000
|
||||
vt 0.521447 0.375000
|
||||
vt 0.375000 0.521447
|
||||
vt 0.728554 0.375000
|
||||
vt 0.815162 0.250000
|
||||
vn 0.7071 0.7071 0.0000
|
||||
vn -0.7071 -0.7071 -0.0000
|
||||
vn -0.7071 0.7071 0.0000
|
||||
|
@ -181,7 +154,7 @@ vn 0.7071 -0.7071 -0.0000
|
|||
vn 1.0000 0.0000 0.0000
|
||||
vn -1.0000 0.0000 -0.0000
|
||||
vn -0.0000 1.0000 0.0000
|
||||
vn 0.0000 -0.0000 -1.0000
|
||||
vn -0.0000 -0.0000 -1.0000
|
||||
usemtl Material.002
|
||||
s off
|
||||
f 5/1/1 15/2/1 16/3/1 6/4/1
|
||||
|
@ -190,27 +163,27 @@ f 3/9/3 1/10/3 2/11/3 4/12/3
|
|||
f 13/13/4 11/14/4 12/15/4 14/16/4
|
||||
f 9/17/5 28/18/5 29/19/5 13/20/5
|
||||
f 11/21/6 7/22/6 8/23/6 12/24/6
|
||||
f 7/25/7 5/26/7 6/27/7 8/28/7
|
||||
f 1/29/8 9/30/8 10/31/8 2/32/8
|
||||
f 30/33/9 22/34/9 21/35/9 29/36/9
|
||||
f 9/37/5 1/38/5 18/39/5 28/40/5
|
||||
f 17/41/5 18/42/5 1/43/5 3/44/5
|
||||
f 19/45/5 17/46/5 32/47/5 25/48/5
|
||||
f 22/49/3 24/50/3 23/51/3 21/52/3
|
||||
f 19/53/4 25/54/4 26/55/4 20/56/4
|
||||
f 26/57/8 25/58/8 23/59/8 24/60/8
|
||||
f 28/61/1 27/62/1 30/63/1 29/64/1
|
||||
f 15/65/9 3/66/9 4/67/9 16/68/9
|
||||
f 11/69/5 13/70/5 29/71/5 21/72/5
|
||||
f 11/73/5 21/74/5 23/75/5 7/76/5
|
||||
f 5/77/5 7/78/5 23/79/5 31/80/5
|
||||
f 15/81/5 5/82/5 31/83/5 32/84/5
|
||||
f 19/85/7 20/86/7 27/87/7 28/88/7
|
||||
f 37/89/10 47/90/10 48/91/10 39/92/10
|
||||
f 37/93/10 33/94/10 42/95/10 47/96/10
|
||||
f 41/97/10 42/98/10 33/99/10 34/100/10
|
||||
f 43/101/10 41/102/10 50/103/10 46/104/10
|
||||
f 38/105/10 39/106/10 48/107/10 44/108/10
|
||||
f 38/109/10 44/110/10 45/111/10 36/112/10
|
||||
f 35/113/10 36/114/10 45/115/10 49/116/10
|
||||
f 40/117/10 35/118/10 49/119/10 50/120/10
|
||||
f 7/22/7 5/25/7 6/26/7 8/23/7
|
||||
f 1/10/8 9/27/8 10/28/8 2/11/8
|
||||
f 30/29/9 22/30/9 21/31/9 29/32/9
|
||||
f 9/17/5 1/33/5 18/34/5 28/18/5
|
||||
f 17/35/5 18/34/5 1/33/5 3/36/5
|
||||
f 19/37/5 17/38/5 32/39/5 25/40/5
|
||||
f 24/41/8 51/42/8 52/43/8 53/44/8
|
||||
f 19/45/4 25/46/4 26/47/4 20/48/4
|
||||
f 53/49/3 52/50/3 55/51/3 54/52/3
|
||||
f 28/53/1 27/54/1 30/55/1 29/56/1
|
||||
f 15/2/9 3/9/9 4/12/9 16/3/9
|
||||
f 11/57/5 13/20/5 29/19/5 21/58/5
|
||||
f 11/57/5 21/58/5 23/59/5 7/60/5
|
||||
f 5/61/5 7/60/5 23/59/5 31/62/5
|
||||
f 15/63/5 5/61/5 31/62/5 32/64/5
|
||||
f 19/65/7 20/66/7 27/67/7 28/68/7
|
||||
f 43/69/10 48/70/10 34/71/10 33/72/10
|
||||
f 48/70/10 47/73/10 38/74/10 34/71/10
|
||||
f 45/75/10 39/76/10 38/74/10 47/73/10
|
||||
f 45/75/10 44/77/10 35/78/10 39/76/10
|
||||
f 40/79/10 42/80/10 33/81/10 37/82/10
|
||||
f 42/83/10 41/84/10 50/85/10 49/86/10
|
||||
f 46/87/10 50/85/10 41/84/10 36/88/10
|
||||
f 46/87/10 36/88/10 35/78/10 44/77/10
|
||||
|
|
|
@ -1,2 +1,5 @@
|
|||
# Blender MTL File: 'RotaryConverter.blend'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl None
|
||||
map_Ka industrialwires:blocks/converter/coils
|
||||
map_Ka industrialwires:blocks/converter/coils
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Blender v2.78 (sub 0) OBJ File: 'RotaryConverter.blend'
|
||||
# Blender v2.79 (sub 0) OBJ File: 'RotaryConverter.blend'
|
||||
# www.blender.org
|
||||
mtllib single_coil.mtl
|
||||
o Rotor1Phase_Cube.058
|
||||
|
@ -18,54 +18,54 @@ v 0.937500 0.375000 -0.000000
|
|||
v 0.937500 0.625000 -0.000000
|
||||
v 0.062500 0.375000 -0.000000
|
||||
v 0.062500 0.625000 -0.000000
|
||||
vt 1.0000 -0.0000
|
||||
vt 1.0000 1.0000
|
||||
vt 0.5938 1.0000
|
||||
vt 0.5938 0.0000
|
||||
vt 0.5000 1.0000
|
||||
vt 0.5000 -0.0000
|
||||
vt 1.0000 0.0000
|
||||
vt 1.0000 1.0000
|
||||
vt 0.5938 1.0000
|
||||
vt 0.5938 0.0000
|
||||
vt 1.0000 -0.0000
|
||||
vt 1.0000 1.0000
|
||||
vt 1.0000 -0.0000
|
||||
vt 1.0000 1.0000
|
||||
vt 0.5938 1.0000
|
||||
vt 0.5938 0.0000
|
||||
vt 0.0312 0.5312
|
||||
vt 0.4688 0.5312
|
||||
vt 0.4688 0.9688
|
||||
vt 0.0312 0.9688
|
||||
vt 0.0312 0.5312
|
||||
vt 0.4688 0.5312
|
||||
vt 0.4688 0.9688
|
||||
vt 0.0312 0.9688
|
||||
vt 0.5000 0.2188
|
||||
vt 0.5000 0.3438
|
||||
vt -0.0000 0.3438
|
||||
vt 0.0000 0.2188
|
||||
vt 0.5000 0.1250
|
||||
vt 0.5000 0.2500
|
||||
vt -0.0000 0.2500
|
||||
vt 0.0000 0.1250
|
||||
vt 0.5000 0.1562
|
||||
vt 0.5000 0.2812
|
||||
vt -0.0000 0.2812
|
||||
vt -0.0000 0.1562
|
||||
vt 0.5000 0.2188
|
||||
vt 0.5000 0.3438
|
||||
vt 0.0000 0.3438
|
||||
vt 0.0000 0.2188
|
||||
vt 0.0000 0.0000
|
||||
vt 0.5000 0.0000
|
||||
vt 0.5000 0.5000
|
||||
vt -0.0000 0.5000
|
||||
vt 0.0000 0.0000
|
||||
vt 0.5000 -0.0000
|
||||
vt 0.5000 0.5000
|
||||
vt 0.0000 0.5000
|
||||
vt 1.000000 -0.000000
|
||||
vt 1.000000 0.666667
|
||||
vt 0.791667 0.666667
|
||||
vt 0.791667 0.000000
|
||||
vt 0.791667 0.666667
|
||||
vt 0.791667 0.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 1.000000 0.666667
|
||||
vt 0.791667 0.666667
|
||||
vt 0.791667 -0.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 1.000000 0.666667
|
||||
vt 1.000000 0.000000
|
||||
vt 1.000000 0.666667
|
||||
vt 0.791667 0.666667
|
||||
vt 0.791667 -0.000000
|
||||
vt 0.062500 0.729167
|
||||
vt 0.270833 0.729167
|
||||
vt 0.270833 0.937500
|
||||
vt 0.062500 0.937500
|
||||
vt 0.062500 0.729167
|
||||
vt 0.270833 0.729167
|
||||
vt 0.270833 0.937500
|
||||
vt 0.062500 0.937500
|
||||
vt 0.333333 0.145833
|
||||
vt 0.333333 0.229167
|
||||
vt -0.000000 0.229167
|
||||
vt -0.000000 0.145833
|
||||
vt 0.333333 0.083333
|
||||
vt 0.333333 0.166667
|
||||
vt -0.000000 0.166667
|
||||
vt -0.000000 0.083333
|
||||
vt 0.333333 0.104167
|
||||
vt 0.333333 0.187500
|
||||
vt -0.000000 0.187500
|
||||
vt -0.000000 0.104167
|
||||
vt 0.333333 0.145833
|
||||
vt 0.333333 0.229167
|
||||
vt -0.000000 0.229167
|
||||
vt -0.000000 0.145833
|
||||
vt -0.000000 -0.000000
|
||||
vt 0.333333 -0.000000
|
||||
vt 0.333333 0.333333
|
||||
vt -0.000000 0.333333
|
||||
vt -0.000000 -0.000000
|
||||
vt 0.333333 -0.000000
|
||||
vt 0.333333 0.333333
|
||||
vt -0.000000 0.333333
|
||||
vn 0.0000 0.0000 1.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
|
@ -73,6 +73,7 @@ vn 1.0000 0.0000 0.0000
|
|||
vn 0.0000 -1.0000 0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 1/1/1 2/2/1 4/3/1 3/4/1
|
||||
f 3/5/2 4/6/2 8/7/2 7/8/2
|
||||
f 7/9/3 8/10/3 6/11/3 5/12/3
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
newmtl None
|
||||
map_Ka industrialwires:blocks/converter/speedometer
|
|
@ -0,0 +1,85 @@
|
|||
# Blender v2.79 (sub 0) OBJ File: 'RotaryConverter.blend'
|
||||
# www.blender.org
|
||||
mtllib speedometer.mtl
|
||||
o Cube.001_Cube.002
|
||||
v 0.000000 0.312500 0.687500
|
||||
v 0.000000 0.687500 0.687500
|
||||
v 0.000000 0.312500 0.312500
|
||||
v 0.000000 0.687500 0.312500
|
||||
v 1.000000 0.312500 0.687500
|
||||
v 1.000000 0.687500 0.687500
|
||||
v 1.000000 0.312500 0.312500
|
||||
v 1.000000 0.687500 0.312500
|
||||
v 0.187500 0.187500 0.750000
|
||||
v 0.187500 0.812500 0.750000
|
||||
v 0.187500 0.187500 0.250000
|
||||
v 0.187500 0.812500 0.250000
|
||||
v 0.812500 0.187500 0.750000
|
||||
v 0.812500 0.812500 0.750000
|
||||
v 0.812500 0.187500 0.250000
|
||||
v 0.812500 0.812500 0.250000
|
||||
vt 0.187500 1.000000
|
||||
vt -0.000000 1.000000
|
||||
vt -0.000000 0.812500
|
||||
vt 0.187500 0.812500
|
||||
vt 0.000000 0.812500
|
||||
vt 0.000000 0.625000
|
||||
vt 0.500000 0.625000
|
||||
vt 0.500000 0.812500
|
||||
vt 0.187500 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.812500
|
||||
vt 0.187500 0.812500
|
||||
vt 0.000000 0.812500
|
||||
vt 0.000000 0.625000
|
||||
vt 0.500000 0.625000
|
||||
vt 0.500000 0.812500
|
||||
vt 0.500000 0.812500
|
||||
vt -0.000000 0.812500
|
||||
vt -0.000000 0.625000
|
||||
vt 0.500000 0.625000
|
||||
vt 0.000000 0.625000
|
||||
vt 0.500000 0.625000
|
||||
vt 0.500000 0.812500
|
||||
vt 0.406250 0.687500
|
||||
vt 0.093750 0.687500
|
||||
vt 0.093750 0.500000
|
||||
vt 0.406250 0.500000
|
||||
vt 0.093750 0.812500
|
||||
vt 0.406250 0.500000
|
||||
vt 0.406250 0.812500
|
||||
vt 0.093750 0.812500
|
||||
vt 0.093750 0.562500
|
||||
vt 0.406250 0.562500
|
||||
vt 0.406250 0.500000
|
||||
vt 0.406250 0.812500
|
||||
vt 0.093750 0.812500
|
||||
vt 0.093750 0.500000
|
||||
vt 0.093750 0.562500
|
||||
vt 0.406250 0.562500
|
||||
vt 0.406250 0.812500
|
||||
vt 0.093750 0.812500
|
||||
vt 0.343750 0.156250
|
||||
vt 0.343750 0.468750
|
||||
vt 0.093750 0.468750
|
||||
vt 0.093750 0.156250
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn 1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 1/1/1 2/2/1 4/3/1 3/4/1
|
||||
f 3/5/2 4/6/2 8/7/2 7/8/2
|
||||
f 7/9/3 8/10/3 6/11/3 5/12/3
|
||||
f 5/13/4 6/14/4 2/15/4 1/16/4
|
||||
f 3/17/5 7/18/5 5/19/5 1/20/5
|
||||
f 8/21/6 4/22/6 2/23/6 6/11/6
|
||||
f 9/24/1 10/25/1 12/26/1 11/27/1
|
||||
f 11/28/2 12/26/2 16/29/2 15/30/2
|
||||
f 15/30/3 16/31/3 14/32/3 13/33/3
|
||||
f 13/34/4 14/35/4 10/36/4 9/37/4
|
||||
f 11/38/5 15/39/5 13/40/5 9/41/5
|
||||
f 16/42/6 12/43/6 10/44/6 14/45/6
|
Binary file not shown.
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.4 KiB |
Binary file not shown.
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 3.8 KiB |
Binary file not shown.
After Width: | Height: | Size: 524 B |
Loading…
Reference in a new issue