Lots of small fixes for the Marx generator

Includes mirrored models. TODO: Recalculate normals for default models to fix lighting differences
This commit is contained in:
malte0811 2017-09-04 22:04:53 +02:00
parent 8d4c0fcad2
commit c8c2b5bf88
14 changed files with 2140 additions and 29 deletions

View file

@ -28,7 +28,6 @@ import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.NonNullList;
@ -43,8 +42,9 @@ import javax.annotation.Nullable;
public class BlockHVMultiblocks extends BlockIWMultiblock implements IMetaEnum {
public static final PropertyEnum<BlockTypes_HVMultiblocks> type = PropertyEnum.create("type", BlockTypes_HVMultiblocks.class);
public static final String NAME = "hv_multiblock";
public BlockHVMultiblocks() {
super(Material.IRON, "hv_multiblock");
super(Material.IRON, NAME);
}
@Override
@ -52,6 +52,8 @@ public class BlockHVMultiblocks extends BlockIWMultiblock implements IMetaEnum {
// No MB's in the creative inventory!
}
@Override
protected IProperty[] getProperties() {
return new IProperty[]{type, IWProperties.MARX_TYPE, IEProperties.FACING_HORIZONTAL, IEProperties.BOOLEANS[0]};

View file

@ -522,7 +522,7 @@ public class TileEntityMarx extends TileEntityIWMultiblock implements ITickable,
private Matrix4 getBaseTransform() {
Matrix4 transform = new Matrix4();
transform.translate(.5, 0, .5);
transform.rotate(facing.getHorizontalAngle() * Math.PI / 180, 0, 1, 0);
transform.rotate(-facing.getHorizontalAngle() * Math.PI / 180, 0, 1, 0);
if (mirrored) {
transform.scale(-1, 1, 1);
}

View file

@ -17,6 +17,7 @@
*/
package malte0811.industrialWires.client;
import blusunrize.immersiveengineering.api.IEProperties;
import blusunrize.immersiveengineering.api.Lib;
import blusunrize.immersiveengineering.client.ClientUtils;
import blusunrize.immersiveengineering.common.util.ItemNBTHelper;
@ -24,16 +25,19 @@ import malte0811.industrialWires.IndustrialWires;
import malte0811.industrialWires.blocks.BlockIWBase;
import malte0811.industrialWires.blocks.IMetaEnum;
import malte0811.industrialWires.blocks.controlpanel.TileEntityPanel;
import malte0811.industrialWires.blocks.hv.BlockHVMultiblocks;
import malte0811.industrialWires.client.panelmodel.PanelModel;
import malte0811.industrialWires.controlpanel.PanelComponent;
import malte0811.industrialWires.items.ItemIC2Coil;
import malte0811.industrialWires.items.ItemKey;
import malte0811.industrialWires.items.ItemPanelComponent;
import malte0811.industrialWires.wires.IC2Wiretype;
import net.minecraft.block.Block;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.block.model.ModelBakery;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.client.renderer.block.statemap.StateMapperBase;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
@ -54,7 +58,9 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.oredict.OreDictionary;
import org.apache.commons.lang3.tuple.Pair;
import javax.annotation.Nonnull;
import java.util.Locale;
import java.util.Map;
@Mod.EventBusSubscriber(modid = IndustrialWires.MODID, value = Side.CLIENT)
public class ClientEventHandler {
@ -150,5 +156,20 @@ public class ClientEventHandler {
}
}
}
ModelLoader.setCustomStateMapper(IndustrialWires.hvMultiblocks, new StateMapperBase()
{
@Nonnull
@Override
protected ModelResourceLocation getModelResourceLocation(@Nonnull IBlockState state)
{
Map<IProperty<?>, Comparable<?>> properties = /*new HashMap<>(*/state.getProperties();
boolean mirror = (Boolean) properties.get(IEProperties.BOOLEANS[0]);
//properties.remove(IEProperties.BOOLEANS[0]);
return new ModelResourceLocation(
new ResourceLocation(IndustrialWires.MODID,
BlockHVMultiblocks.NAME+(mirror?"_mirrored":"")),
getPropertyString(properties));
}
});
}
}

View file

@ -27,7 +27,6 @@ import blusunrize.lib.manual.ManualInstance;
import blusunrize.lib.manual.ManualPages;
import blusunrize.lib.manual.ManualPages.PositionedItemStack;
import com.google.common.collect.ImmutableMap;
import ic2.api.item.IC2Items;
import malte0811.industrialWires.CommonProxy;
import malte0811.industrialWires.IWConfig;
import malte0811.industrialWires.IWPotions;
@ -45,9 +44,9 @@ import malte0811.industrialWires.client.panelmodel.PanelModelLoader;
import malte0811.industrialWires.client.render.TileRenderJacobsLadder;
import malte0811.industrialWires.client.render.TileRenderMarx;
import malte0811.industrialWires.controlpanel.PanelComponent;
import malte0811.industrialWires.crafting.IC2TRHelper;
import malte0811.industrialWires.hv.MarxOreHandler;
import malte0811.industrialWires.hv.MultiblockMarx;
import malte0811.industrialWires.crafting.IC2TRHelper;
import malte0811.industrialWires.items.ItemIC2Coil;
import malte0811.industrialWires.items.ItemPanelComponent;
import net.minecraft.client.Minecraft;
@ -255,15 +254,19 @@ public class ClientProxy extends CommonProxy {
marxEntry.add(new ManualPages.Text(m, IndustrialWires.MODID + ".marx6"));
String text = I18n.format("ie.manual.entry.industrialwires.marx7")+"\n";
for (int i = 0; i < ores.size(); ) {
for (int j = 0; j < (i==0?12:13) && i < ores.size(); j+=4, i++) {
for (int j = 0; j < 12 && i < ores.size(); j+=4, i++) {
MarxOreHandler.OreInfo curr = ores.get(i);
text += I18n.format(IndustrialWires.MODID+".desc.input")+": §l" + curr.exampleInput.get(0).getDisplayName() + "§r\n";
text += I18n.format(IndustrialWires.MODID+".desc.output")+": " + Utils.formatDouble(curr.maxYield, "0.#") + "x" + curr.output.get().getDisplayName() + "\n";
if (curr.outputSmall!=null&&!curr.outputSmall.get().isEmpty()) {
text += I18n.format(IndustrialWires.MODID+".desc.alt")+": " + curr.smallMax + "x" + curr.outputSmall.get().getDisplayName() + "\n";
j++;
if (!curr.exampleInput.isEmpty())
{
text += I18n.format(IndustrialWires.MODID + ".desc.input") + ": §l" + curr.exampleInput.get(0).getDisplayName() + "§r\n";
text += I18n.format(IndustrialWires.MODID + ".desc.output") + ": " + Utils.formatDouble(curr.maxYield, "0.#") + "x" + curr.output.get().getDisplayName() + "\n";
if (curr.outputSmall != null && !curr.outputSmall.get().isEmpty())
{
text += I18n.format(IndustrialWires.MODID + ".desc.alt") + ": " + curr.smallMax + "x" + curr.outputSmall.get().getDisplayName() + "\n";
j++;
}
text += I18n.format(IndustrialWires.MODID + ".desc.ideal_e") + ": " + Utils.formatDouble(curr.avgEnergy * MarxOreHandler.defaultEnergy / 1000, "0.#") + " kJ\n\n";
}
text += I18n.format(IndustrialWires.MODID+".desc.ideal_e")+": " + Utils.formatDouble(curr.avgEnergy*MarxOreHandler.defaultEnergy / 1000, "0.#") + " kJ\n\n";
}
marxEntry.add(new ManualPages.Text(m, text));
text = "";
@ -296,7 +299,7 @@ public class ClientProxy extends CommonProxy {
@Override
public float getVolume() {
return .1F;
return 1F;
}
@Override

View file

@ -39,7 +39,7 @@ import static malte0811.industrialWires.blocks.hv.TileEntityMarx.FiringState.FIR
public class TileRenderMarx extends TileEntitySpecialRenderer<TileEntityMarx> {
@Override
public void render(TileEntityMarx te, double x, double y, double z, float partialTicks, int destroyStage, float alpha) {
final boolean debug = false;
final boolean debug = true;
//noinspection ConstantConditions,PointlessBooleanExpression
if (te.type == IWProperties.MarxType.BOTTOM && (debug || te.state == FIRE) && te.dischargeData!=null) {
Vec3d player = Minecraft.getMinecraft().player.getPositionEyes(partialTicks);
@ -51,12 +51,15 @@ public class TileRenderMarx extends TileEntitySpecialRenderer<TileEntityMarx> {
}
GlStateManager.popMatrix();
//draw firing spark gaps
Vec3i offset = MiscUtils.offset(BlockPos.ORIGIN, te.facing, te.mirrored, 1, 1, 0);
final float pos = .6875F;
Vec3i facing = te.facing.getDirectionVec();
Vec3d gapDir = new Vec3d(facing.getZ(), 1, facing.getX());
Vec3d up = new Vec3d(-facing.getZ(), 1, -facing.getX());
Vec3d bottomGap = new Vec3d(offset.getX()-facing.getX()*pos, offset.getY()+.75, offset.getZ()-facing.getZ() * pos);
Vec3d offset = new Vec3d(MiscUtils.offset(BlockPos.ORIGIN, te.facing, te.mirrored, 1, 1, 0));
offset = offset.addVector(-.5*oneSgn(offset.x), 0, -.5*oneSgn(offset.z));
final float pos = .3125F;
Vec3d gapDir = new Vec3d(facing.getZ()*(te.mirrored?-1:1), 1, facing.getX()*(te.mirrored?-1:1));
Vec3d up = new Vec3d(-gapDir.x, 1, -gapDir.z);
Vec3d bottomGap = new Vec3d(offset.x+facing.getX()*pos+.5, offset.y+.75, offset.z+facing.getZ() * pos+.5);
if (te.mirrored)
facing = te.facing.getOpposite().getDirectionVec();
GlStateManager.pushMatrix();
GlStateManager.translate(x + bottomGap.x, y + bottomGap.y, z + bottomGap.z);
bottomGap = bottomGap.addVector(te.getPos().getX(), te.getPos().getY(), te.getPos().getZ());
@ -68,6 +71,11 @@ public class TileRenderMarx extends TileEntitySpecialRenderer<TileEntityMarx> {
}
}
private double oneSgn(double in) {
double ret = Math.signum(in);
return ret==0?1:ret;
}
private void renderGap(int i, Vec3i facing, BufferBuilder vb, Tessellator tes, Vec3d player, Vec3d gapDir, Vec3d up, Vec3d bottomGap) {
GlStateManager.pushMatrix();
GlStateManager.translate(0, i, 0);
@ -77,7 +85,7 @@ public class TileRenderMarx extends TileEntitySpecialRenderer<TileEntityMarx> {
Vec3d playerToLine = player.subtract(gapDir.scale(t));
double angleRad = Math.acos(up.dotProduct(playerToLine)/(up.lengthVector()*playerToLine.lengthVector()));
angleRad *= Math.signum(playerToLine.dotProduct(new Vec3d(facing)));
GlStateManager.rotate((float) Math.toDegrees(angleRad)+90, 0, 1, 0);
GlStateManager.rotate((float) (oneSgn(facing.getX())*Math.toDegrees(angleRad)-90*facing.getZ()), 0, 1, 0);
vb.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_COLOR);
drawDischargeSection(new Vec3d(0, -.2F, 0), new Vec3d(0, .2F, 0), .25F, vb);
tes.draw();

View file

@ -234,6 +234,8 @@ public class MultiblockMarx implements IMultiblock {
mirrorLoop:for (int fakeI = 0; fakeI < 2; fakeI++) {
mirrored = !mirrored;
facing = facing.getOpposite();
// PSU
if (!connNoConns.test(offset(pos, facing, mirrored, 0, -3, 0), CONNECTOR_REDSTONE)) {
continue;
@ -303,9 +305,10 @@ public class MultiblockMarx implements IMultiblock {
continue mirrorLoop;
}
}
IndustrialWires.logger.info(facing);
//REPLACE STRUCTURE
if (!world.isRemote) {
IBlockState noModel = IndustrialWires.hvMultiblocks.getDefaultState().withProperty(BlockHVMultiblocks.type, MARX)
IBlockState noModel = IndustrialWires.hvMultiblocks.getDefaultState().withProperty(FACING_HORIZONTAL, facing).withProperty(BlockHVMultiblocks.type, MARX)
.withProperty(IWProperties.MARX_TYPE, NO_MODEL).withProperty(IEProperties.BOOLEANS[0], mirrored);
IBlockState stageModel = noModel.withProperty(IWProperties.MARX_TYPE, STAGE);
IBlockState connModel = noModel.withProperty(IWProperties.MARX_TYPE, CONNECTOR);

View file

@ -83,13 +83,7 @@
"boolean0":
{
"false": {},
"true": {
"transform": {
"rotation": {
"y": 0
}
}
}
"true": {}
}
}
}

View file

@ -0,0 +1,89 @@
{
"forge_marker": 1,
"defaults": {
"transform": "forge:default-block",
"custom": {
"flip-v": true
},
"textures": {
"particle": "immersiveengineering:blocks/storage_steel"
}
},
"variants": {
"inventory,type=marx": [
{
"model": "industrialwires:marx_stage.obj",
"transform": {
"scale": 0.375,
"rotation": [
{
"x": 20
},
{
"y": 135
}
],
"translation": [
0.15, 0, 0
]
}
}
],
"type": {
"marx": {
}
},
"facing": {
"north": {
"transform": {
"rotation": {
"y": 0
}
}
},
"south": {
"transform": {
"rotation": {
"y": 180
}
}
},
"west": {
"transform": {
"rotation": {
"y": 90
}
}
},
"east": {
"transform": {
"rotation": {
"y": -90
}
}
}
},
"marx_type": {
"bottom": {
"model": "industrialwires:marx_bottom_mirrored.obj"
},
"stage": {
"model": "industrialwires:marx_stage_mirrored.obj"
},
"top": {
"model": "industrialwires:marx_top_mirrored.obj"
},
"no_model": {
"model": "builtin/generated"
},
"connector": {
"model": "immersiveengineering:smartmodel/conn_empty"
}
},
"boolean0":
{
"false": {},
"true": {}
}
}
}

View file

@ -0,0 +1,35 @@
# Blender MTL File: 'None'
# Material Count: 3
newmtl connectorHV
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
map_Ka immersiveengineering:blocks/connector_connector_hv
newmtl connectorRedstone
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
map_Ka immersiveengineering:blocks/connector_connector_redstone
newmtl marx
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
map_Ka industrialwires:blocks/marx

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,13 @@
# Blender MTL File: 'None'
# Material Count: 1
newmtl marx.001
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
map_Kd industrialwires:blocks/marx

View file

@ -0,0 +1,558 @@
# Blender v2.78 (sub 0) OBJ File: ''
# www.blender.org
mtllib marx_stage_mirrored.mtl
o Cube.003_Cube.013
v -0.999999 -0.000001 0.000001
v -0.999999 -0.000001 1.000000
v 1.000000 -0.000000 1.000000
v 1.000000 0.000000 0.000000
v -1.000000 0.499999 0.000001
v 1.000000 0.500000 0.000001
v 1.000000 0.500000 1.000000
v -0.999999 0.499999 1.000000
v 0.625002 0.375000 1.437500
v 0.625002 1.125000 1.437500
v 0.625002 1.125000 1.187500
v 0.625002 0.375000 1.187500
v 0.375002 1.125000 1.187500
v 0.375002 0.375000 1.187500
v 0.375002 1.125000 1.437500
v 0.375002 0.375000 1.437500
v -0.437498 0.187500 1.375000
v -0.437498 0.312500 1.375000
v -0.437498 0.312500 1.000000
v -0.437498 0.187500 1.000000
v -0.562498 0.187500 1.000000
v -0.562498 0.312500 1.000000
v -0.562498 0.312500 1.375000
v -0.562498 0.187500 1.375000
v -0.187498 0.385723 -0.187500
v -0.010721 0.562500 -0.187500
v -0.010721 0.562500 -0.437500
v -0.187498 0.385723 -0.437500
v -0.187498 0.739277 -0.437500
v -0.364275 0.562500 -0.437500
v -0.187498 0.739277 -0.187500
v -0.364275 0.562500 -0.187500
v -0.455804 0.205806 -0.250000
v -0.102251 0.559359 -0.250000
v -0.102251 0.559359 -0.373125
v -0.455804 0.205806 -0.373125
v -0.190639 0.647748 -0.373125
v -0.544192 0.294194 -0.373125
v -0.190639 0.647748 -0.250000
v -0.544192 0.294194 -0.250000
v -0.562498 0.312500 -0.375000
v -0.437498 0.312500 -0.375000
v -0.437498 0.312500 0.000000
v -0.562498 0.312500 0.000000
v -0.562498 0.187500 0.000000
v -0.437498 0.187500 0.000000
v -0.437498 0.187500 -0.375000
v -0.562498 0.187500 -0.375000
v -0.374998 0.375000 1.437500
v -0.374998 1.125000 1.437500
v -0.374998 1.125000 1.187500
v -0.374998 0.375000 1.187500
v -0.624998 1.125000 1.187500
v -0.624998 0.375000 1.187500
v -0.624998 1.125000 1.437500
v -0.624998 0.375000 1.437500
v -0.374998 0.500000 0.625000
v -0.374998 1.000000 0.625000
v -0.374998 1.000000 0.375000
v -0.374998 0.500000 0.375000
v -0.624998 1.000000 0.375000
v -0.624998 0.500000 0.375000
v -0.624998 1.000000 0.625000
v -0.624998 0.500000 0.625000
v -0.250000 0.687500 0.750000
v -0.250000 0.812500 0.750000
v -0.250000 0.812500 0.250000
v -0.250000 0.687500 0.250000
v -0.750000 0.812500 0.250000
v -0.750000 0.687500 0.250000
v -0.750000 0.812500 0.750000
v -0.750000 0.687500 0.750000
v -0.437498 0.312500 1.375000
v -0.437498 1.187500 1.375000
v -0.437498 1.187500 1.250000
v -0.437498 0.312500 1.250000
v -0.562498 1.187500 1.250000
v -0.562498 0.312500 1.250000
v -0.562498 1.187500 1.375000
v -0.562498 0.312500 1.375000
v 0.562502 0.187500 1.375000
v 0.562502 0.312500 1.375000
v 0.562502 0.312500 1.000000
v 0.562502 0.187500 1.000000
v 0.437502 0.187500 1.000000
v 0.437502 0.312500 1.000000
v 0.437502 0.312500 1.375000
v 0.437502 0.187500 1.375000
v 0.625002 0.500000 0.625000
v 0.625002 1.000000 0.625000
v 0.625002 1.000000 0.375000
v 0.625002 0.500000 0.375000
v 0.375002 1.000000 0.375000
v 0.375002 0.500000 0.375000
v 0.375002 1.000000 0.625000
v 0.375002 0.500000 0.625000
v 0.750000 0.687500 0.750000
v 0.750000 0.812500 0.750000
v 0.750000 0.812500 0.250000
v 0.750000 0.687500 0.250000
v 0.250000 0.812500 0.250000
v 0.250000 0.687500 0.250000
v 0.250000 0.812500 0.750000
v 0.250000 0.687500 0.750000
v 0.562502 0.312500 1.375000
v 0.562501 1.187500 1.375000
v 0.562501 1.187500 1.250000
v 0.562502 0.312500 1.250000
v 0.437501 1.187500 1.250000
v 0.437502 0.312500 1.250000
v 0.437501 1.187500 1.375000
v 0.437502 0.312500 1.375000
v 0.187502 0.114277 -0.187500
v 0.010725 -0.062500 -0.187500
v 0.010725 -0.062500 -0.437500
v 0.187502 0.114276 -0.437500
v 0.187502 -0.239277 -0.437500
v 0.364278 -0.062500 -0.437500
v 0.187502 -0.239277 -0.187500
v 0.364279 -0.062500 -0.187500
v 0.455808 0.294194 -0.250000
v 0.102254 -0.059359 -0.250000
v 0.102254 -0.059359 -0.373125
v 0.455807 0.294194 -0.373125
v 0.190643 -0.147748 -0.373125
v 0.544196 0.205806 -0.373125
v 0.190643 -0.147748 -0.250000
v 0.544196 0.205806 -0.250000
v 0.562502 0.187500 -0.375000
v 0.437502 0.187500 -0.375000
v 0.437502 0.187500 0.000000
v 0.562502 0.187500 0.000000
v 0.562502 0.312500 0.000000
v 0.437502 0.312500 0.000000
v 0.437502 0.312500 -0.375000
v 0.562502 0.312500 -0.375000
vt 0.1250 0.5000
vt 0.1250 0.2500
vt 0.0000 0.2500
vt 0.0000 0.5000
vt 0.0000 0.2500
vt 0.1250 0.2500
vt 0.1250 -0.0000
vt 0.0000 -0.0000
vt -0.0000 0.5000
vt -0.0000 0.6250
vt 0.0625 0.6250
vt 0.0625 0.5000
vt 0.1250 0.1250
vt 0.3750 0.1250
vt 0.3750 0.0625
vt 0.1250 0.0625
vt 0.1250 0.6250
vt 0.1250 0.5000
vt 0.0625 0.5000
vt 0.0625 0.6250
vt 0.3750 -0.0000
vt 0.1250 -0.0000
vt 0.1250 0.0625
vt 0.3750 0.0625
vt 0.1953 0.2266
vt 0.2266 0.2266
vt 0.2266 0.1328
vt 0.1953 0.1328
vt 0.1641 0.1328
vt 0.1328 0.1328
vt 0.1328 0.2266
vt 0.1641 0.2266
vt 0.1641 0.2266
vt 0.1328 0.2266
vt 0.1328 0.3203
vt 0.1641 0.3203
vt 0.1953 0.1328
vt 0.1641 0.1328
vt 0.1641 0.2266
vt 0.1953 0.2266
vt 0.1953 0.2266
vt 0.1641 0.2266
vt 0.1641 0.2578
vt 0.1953 0.2578
vt 0.2266 0.2578
vt 0.2266 0.2266
vt 0.1953 0.2266
vt 0.1953 0.2578
vt 0.4219 0.2031
vt 0.4219 0.1562
vt 0.4062 0.1562
vt 0.4062 0.2031
vt 0.3906 0.1562
vt 0.3906 0.2031
vt 0.4062 0.2031
vt 0.4062 0.1562
vt 0.4297 0.2031
vt 0.4141 0.2031
vt 0.4141 0.2188
vt 0.4297 0.2188
vt 0.4531 0.2031
vt 0.4531 0.1562
vt 0.4375 0.1562
vt 0.4375 0.2031
vt 0.4219 0.1562
vt 0.4219 0.2031
vt 0.4375 0.2031
vt 0.4375 0.1562
vt 0.3750 0.0938
vt 0.4062 0.0938
vt 0.4062 0.0625
vt 0.3750 0.0625
vt 0.4062 0.1250
vt 0.3750 0.1250
vt 0.3750 0.1562
vt 0.4062 0.1562
vt 0.4688 0.1562
vt 0.4688 0.1250
vt 0.4375 0.1250
vt 0.4375 0.1562
vt 0.4375 0.0938
vt 0.4062 0.0938
vt 0.4062 0.1250
vt 0.3750 0.0938
vt 0.3750 0.1250
vt 0.3438 0.1250
vt 0.3438 0.1562
vt 0.4844 0.0625
vt 0.4688 0.0625
vt 0.4688 0.1250
vt 0.4844 0.1250
vt 0.4531 0.0625
vt 0.4375 0.0625
vt 0.4375 0.1250
vt 0.4531 0.1250
vt 0.4844 0.1250
vt 0.5000 0.1250
vt 0.5000 0.0625
vt 0.4844 0.0625
vt 0.4531 0.1250
vt 0.4688 0.1250
vt 0.4688 0.0625
vt 0.4531 0.0625
vt 0.4844 0.1719
vt 0.4844 0.1250
vt 0.4688 0.1250
vt 0.4688 0.1719
vt 0.4375 0.1719
vt 0.4375 0.1250
vt 0.4219 0.1250
vt 0.4219 0.1719
vt 0.3906 0.1719
vt 0.3906 0.1562
vt 0.3750 0.1562
vt 0.3750 0.1719
vt 0.4062 0.1250
vt 0.4062 0.1719
vt 0.4219 0.1719
vt 0.4219 0.1250
vt 0.5000 0.1719
vt 0.5000 0.1250
vt 0.4844 0.1250
vt 0.4844 0.1719
vt 0.1953 0.2266
vt 0.2266 0.2266
vt 0.2266 0.1328
vt 0.1953 0.1328
vt 0.1641 0.1328
vt 0.1328 0.1328
vt 0.1328 0.2266
vt 0.1641 0.2266
vt 0.1641 0.2266
vt 0.1328 0.2266
vt 0.1328 0.3203
vt 0.1641 0.3203
vt 0.1953 0.1328
vt 0.1641 0.1328
vt 0.1641 0.2266
vt 0.1953 0.2266
vt 0.1953 0.2266
vt 0.1641 0.2266
vt 0.1641 0.2578
vt 0.1953 0.2578
vt 0.2266 0.2578
vt 0.2266 0.2266
vt 0.1953 0.2266
vt 0.1953 0.2578
vt 0.2266 0.4609
vt 0.2578 0.4609
vt 0.2578 0.3984
vt 0.2266 0.3984
vt 0.2578 0.3359
vt 0.2266 0.3359
vt 0.2266 0.3984
vt 0.1953 0.3359
vt 0.1953 0.3984
vt 0.2266 0.3984
vt 0.1953 0.3984
vt 0.1953 0.4609
vt 0.2266 0.4609
vt 0.2578 0.3984
vt 0.2578 0.4609
vt 0.2734 0.4609
vt 0.2734 0.3984
vt 0.2734 0.3359
vt 0.2734 0.3984
vt 0.2891 0.3984
vt 0.2891 0.3359
vt 0.2734 0.4609
vt 0.2891 0.4609
vt 0.2578 0.3359
vt 0.2734 0.3359
vt 0.1328 0.3984
vt 0.1328 0.4609
vt 0.1953 0.4609
vt 0.1953 0.3984
vt 0.1328 0.3359
vt 0.1328 0.3984
vt 0.1953 0.3984
vt 0.1953 0.3359
vt 0.4219 0.1172
vt 0.4375 0.1172
vt 0.4375 0.0078
vt 0.4219 0.0078
vt 0.3906 0.3984
vt 0.4062 0.3984
vt 0.4062 0.2891
vt 0.3906 0.2891
vt 0.4688 0.0703
vt 0.4531 0.0703
vt 0.4531 0.1797
vt 0.4688 0.1797
vt 0.4141 0.0938
vt 0.3984 0.0938
vt 0.3984 0.2031
vt 0.4141 0.2031
vt 0.4219 0.2031
vt 0.4219 0.1562
vt 0.4062 0.1562
vt 0.4062 0.2031
vt 0.3906 0.1562
vt 0.3906 0.2031
vt 0.4062 0.2031
vt 0.4062 0.1562
vt 0.4297 0.2031
vt 0.4141 0.2031
vt 0.4141 0.2188
vt 0.4297 0.2188
vt 0.4531 0.2031
vt 0.4531 0.1562
vt 0.4375 0.1562
vt 0.4375 0.2031
vt 0.4219 0.1562
vt 0.4219 0.2031
vt 0.4375 0.2031
vt 0.4375 0.1562
vt 0.2266 0.4609
vt 0.2578 0.4609
vt 0.2578 0.3984
vt 0.2266 0.3984
vt 0.2578 0.3359
vt 0.2266 0.3359
vt 0.2266 0.3984
vt 0.1953 0.3359
vt 0.1953 0.3984
vt 0.2266 0.3984
vt 0.1953 0.3984
vt 0.1953 0.4609
vt 0.2266 0.4609
vt 0.2578 0.3984
vt 0.2578 0.4609
vt 0.2734 0.4609
vt 0.2734 0.3984
vt 0.2734 0.3359
vt 0.2734 0.3984
vt 0.2891 0.3984
vt 0.2891 0.3359
vt 0.2734 0.4609
vt 0.2891 0.4609
vt 0.2578 0.3359
vt 0.2734 0.3359
vt 0.1328 0.3984
vt 0.1328 0.4609
vt 0.1953 0.4609
vt 0.1953 0.3984
vt 0.1328 0.3359
vt 0.1328 0.3984
vt 0.1953 0.3984
vt 0.1953 0.3359
vt 0.4219 0.1172
vt 0.4375 0.1172
vt 0.4375 0.0078
vt 0.4219 0.0078
vt 0.3906 0.3984
vt 0.4062 0.3984
vt 0.4062 0.2891
vt 0.3906 0.2891
vt 0.4688 0.0703
vt 0.4531 0.0703
vt 0.4531 0.1797
vt 0.4688 0.1797
vt 0.4141 0.0938
vt 0.3984 0.0938
vt 0.3984 0.2031
vt 0.4141 0.2031
vt 0.3750 0.0938
vt 0.4062 0.0938
vt 0.4062 0.0625
vt 0.3750 0.0625
vt 0.4062 0.1250
vt 0.3750 0.1250
vt 0.3750 0.1562
vt 0.4062 0.1562
vt 0.4688 0.1562
vt 0.4688 0.1250
vt 0.4375 0.1250
vt 0.4375 0.1562
vt 0.4375 0.0938
vt 0.4062 0.0938
vt 0.4062 0.1250
vt 0.3750 0.0938
vt 0.3750 0.1250
vt 0.3438 0.1250
vt 0.3438 0.1562
vt 0.4844 0.0625
vt 0.4688 0.0625
vt 0.4688 0.1250
vt 0.4844 0.1250
vt 0.4531 0.0625
vt 0.4375 0.0625
vt 0.4375 0.1250
vt 0.4531 0.1250
vt 0.4844 0.1250
vt 0.5000 0.1250
vt 0.5000 0.0625
vt 0.4844 0.0625
vt 0.4531 0.1250
vt 0.4688 0.1250
vt 0.4688 0.0625
vt 0.4531 0.0625
vt 0.4844 0.1719
vt 0.4844 0.1250
vt 0.4688 0.1250
vt 0.4688 0.1719
vt 0.4375 0.1719
vt 0.4375 0.1250
vt 0.4219 0.1250
vt 0.4219 0.1719
vt 0.3906 0.1719
vt 0.3906 0.1562
vt 0.3750 0.1562
vt 0.3750 0.1719
vt 0.4062 0.1250
vt 0.4062 0.1719
vt 0.4219 0.1719
vt 0.4219 0.1250
vt 0.5000 0.1719
vt 0.5000 0.1250
vt 0.4844 0.1250
vt 0.4844 0.1719
vn 0.0000 -1.0000 -0.0000
vn -0.0000 1.0000 0.0000
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.7071 -0.7071 0.0000
vn -0.7071 0.7071 0.0000
vn -0.7071 -0.7071 0.0000
vn 0.7071 0.7071 0.0000
usemtl marx.001
s 1
f 1/1/1 4/2/1 3/3/1 2/4/1
f 5/5/2 8/6/2 7/7/2 6/8/2
f 1/9/3 2/10/3 8/11/3 5/12/3
f 2/13/4 3/14/4 7/15/4 8/16/4
f 3/17/5 4/18/5 6/19/5 7/20/5
f 5/21/6 6/22/6 4/23/6 1/24/6
f 9/25/5 12/26/5 11/27/5 10/28/5
f 12/29/6 14/30/6 13/31/6 11/32/6
f 14/33/3 16/34/3 15/35/3 13/36/3
f 16/37/4 9/38/4 10/39/4 15/40/4
f 12/41/1 9/42/1 16/43/1 14/44/1
f 13/45/2 15/46/2 10/47/2 11/48/2
f 17/49/5 20/50/5 19/51/5 18/52/5
f 21/53/3 24/54/3 23/55/3 22/56/3
f 24/57/4 17/58/4 18/59/4 23/60/4
f 20/61/1 17/62/1 24/63/1 21/64/1
f 22/65/2 23/66/2 18/67/2 19/68/2
f 25/69/7 28/70/7 27/71/7 26/72/7
f 28/73/6 30/74/6 29/75/6 27/76/6
f 30/77/8 32/78/8 31/79/8 29/80/8
f 32/81/4 25/82/4 26/83/4 31/79/4
f 28/73/9 25/82/9 32/84/9 30/74/9
f 29/75/10 31/85/10 26/86/10 27/87/10
f 33/88/7 36/89/7 35/90/7 34/91/7
f 36/92/6 38/93/6 37/94/6 35/95/6
f 38/96/8 40/97/8 39/98/8 37/99/8
f 40/100/4 33/101/4 34/102/4 39/103/4
f 41/104/2 44/105/2 43/106/2 42/107/2
f 45/108/1 48/109/1 47/110/1 46/111/1
f 48/112/6 41/113/6 42/114/6 47/115/6
f 44/116/3 41/117/3 48/118/3 45/119/3
f 46/120/5 47/121/5 42/122/5 43/123/5
f 49/124/5 52/125/5 51/126/5 50/127/5
f 52/128/6 54/129/6 53/130/6 51/131/6
f 54/132/3 56/133/3 55/134/3 53/135/3
f 56/136/4 49/137/4 50/138/4 55/139/4
f 52/140/1 49/141/1 56/142/1 54/143/1
f 53/144/2 55/145/2 50/146/2 51/147/2
f 57/148/5 60/149/5 59/150/5 58/151/5
f 60/152/6 62/153/6 61/154/6 59/150/6
f 62/153/3 64/155/3 63/156/3 61/154/3
f 64/157/4 57/158/4 58/159/4 63/160/4
f 65/161/5 68/162/5 67/163/5 66/164/5
f 68/165/6 70/166/6 69/167/6 67/168/6
f 70/166/3 72/169/3 71/170/3 69/167/3
f 72/171/4 65/161/4 66/164/4 71/172/4
f 68/173/1 65/174/1 72/175/1 70/176/1
f 69/177/2 71/178/2 66/179/2 67/180/2
f 73/181/5 76/182/5 75/183/5 74/184/5
f 76/185/6 78/186/6 77/187/6 75/188/6
f 78/189/3 80/190/3 79/191/3 77/192/3
f 80/193/4 73/194/4 74/195/4 79/196/4
f 81/197/5 84/198/5 83/199/5 82/200/5
f 85/201/3 88/202/3 87/203/3 86/204/3
f 88/205/4 81/206/4 82/207/4 87/208/4
f 84/209/1 81/210/1 88/211/1 85/212/1
f 86/213/2 87/214/2 82/215/2 83/216/2
f 89/217/5 92/218/5 91/219/5 90/220/5
f 92/221/6 94/222/6 93/223/6 91/219/6
f 94/222/3 96/224/3 95/225/3 93/223/3
f 96/226/4 89/227/4 90/228/4 95/229/4
f 97/230/5 100/231/5 99/232/5 98/233/5
f 100/234/6 102/235/6 101/236/6 99/237/6
f 102/235/3 104/238/3 103/239/3 101/236/3
f 104/240/4 97/230/4 98/233/4 103/241/4
f 100/242/1 97/243/1 104/244/1 102/245/1
f 101/246/2 103/247/2 98/248/2 99/249/2
f 105/250/5 108/251/5 107/252/5 106/253/5
f 108/254/6 110/255/6 109/256/6 107/257/6
f 110/258/3 112/259/3 111/260/3 109/261/3
f 112/262/4 105/263/4 106/264/4 111/265/4
f 113/266/8 116/267/8 115/268/8 114/269/8
f 116/270/6 118/271/6 117/272/6 115/273/6
f 118/274/7 120/275/7 119/276/7 117/277/7
f 120/278/4 113/279/4 114/280/4 119/276/4
f 116/270/10 113/279/10 120/281/10 118/271/10
f 117/272/9 119/282/9 114/283/9 115/284/9
f 121/285/8 124/286/8 123/287/8 122/288/8
f 124/289/6 126/290/6 125/291/6 123/292/6
f 126/293/7 128/294/7 127/295/7 125/296/7
f 128/297/4 121/298/4 122/299/4 127/300/4
f 129/301/1 132/302/1 131/303/1 130/304/1
f 133/305/2 136/306/2 135/307/2 134/308/2
f 136/309/6 129/310/6 130/311/6 135/312/6
f 132/313/5 129/314/5 136/315/5 133/316/5
f 134/317/3 135/318/3 130/319/3 131/320/3

View file

@ -0,0 +1,13 @@
# Blender MTL File: 'None'
# Material Count: 1
newmtl marx.002
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
map_Ka industrialwires:blocks/marx

View file

@ -0,0 +1,280 @@
# Blender v2.78 (sub 0) OBJ File: ''
# www.blender.org
mtllib marx_top_mirrored.mtl
o Cube.013_Cube.035
v -0.437500 0.187500 0.000000
v -0.437500 0.312500 0.000000
v -0.437500 0.312500 -3.562500
v -0.437500 0.187500 -3.562500
v -0.562500 0.312500 -3.562500
v -0.562500 0.187500 -3.562500
v -0.562500 0.312500 0.000000
v -0.562500 0.187500 0.000000
v 0.187502 0.114277 -0.187500
v 0.010725 -0.062500 -0.187500
v 0.010725 -0.062500 -0.437500
v 0.187502 0.114276 -0.437500
v 0.187502 -0.239277 -0.437500
v 0.364278 -0.062500 -0.437500
v 0.187502 -0.239277 -0.187500
v 0.364279 -0.062500 -0.187500
v 0.455808 0.294194 -0.250000
v 0.102254 -0.059359 -0.250000
v 0.102254 -0.059359 -0.373125
v 0.455807 0.294194 -0.373125
v 0.190643 -0.147748 -0.373125
v 0.544196 0.205806 -0.373125
v 0.190643 -0.147748 -0.250000
v 0.544196 0.205806 -0.250000
v 0.562502 0.187500 -0.375000
v 0.437502 0.187500 -0.375000
v 0.437502 0.187500 0.000000
v 0.562502 0.187500 0.000000
v 0.562502 0.312500 0.000000
v 0.437502 0.312500 0.000000
v 0.437502 0.312500 -0.375000
v 0.562502 0.312500 -0.375000
v 0.562502 0.187500 1.375000
v 0.562502 0.312500 1.375000
v 0.562502 0.312500 1.000000
v 0.562502 0.187500 1.000000
v 0.437502 0.187500 1.000000
v 0.437502 0.312500 1.000000
v 0.437502 0.312500 1.375000
v 0.437502 0.187500 1.375000
v -0.437498 0.187500 1.375000
v -0.437498 0.312500 1.375000
v -0.437498 0.312500 1.000000
v -0.437498 0.187500 1.000000
v -0.562498 0.187500 1.000000
v -0.562498 0.312500 1.000000
v -0.562498 0.312500 1.375000
v -0.562498 0.187500 1.375000
v -0.406250 0.062500 -3.406250
v -0.406250 0.187500 -3.406250
v -0.406250 0.187500 -3.593750
v -0.406250 0.062500 -3.593750
v -0.593750 0.187500 -3.593750
v -0.593750 0.062500 -3.593750
v -0.593750 0.187500 -3.406250
v -0.593750 0.062500 -3.406250
v -0.999999 -0.000001 0.000001
v -0.999999 -0.000001 1.000000
v 1.000000 -0.000000 1.000000
v 1.000000 0.000000 0.000000
v -1.000000 0.499999 0.000001
v 1.000000 0.500000 0.000001
v 1.000000 0.500000 1.000000
v -0.999999 0.499999 1.000000
vt 0.4219 0.4453
vt 0.4219 -0.0000
vt 0.4062 -0.0000
vt 0.4062 0.4453
vt 0.4375 0.0156
vt 0.4531 0.0156
vt 0.4531 -0.0000
vt 0.4375 -0.0000
vt 0.3906 0.4453
vt 0.3906 -0.0000
vt 0.3750 -0.0000
vt 0.3750 0.4453
vt 0.3906 -0.0000
vt 0.3906 0.4453
vt 0.4062 0.4453
vt 0.4062 -0.0000
vt 0.4375 0.4453
vt 0.4375 -0.0000
vt 0.4219 -0.0000
vt 0.4219 0.4453
vt 0.3750 0.0938
vt 0.4062 0.0938
vt 0.4062 0.0625
vt 0.3750 0.0625
vt 0.4062 0.1250
vt 0.3750 0.1250
vt 0.3750 0.1562
vt 0.4062 0.1562
vt 0.4688 0.1562
vt 0.4688 0.1250
vt 0.4375 0.1250
vt 0.4375 0.1562
vt 0.4375 0.0938
vt 0.4062 0.0938
vt 0.4062 0.1250
vt 0.3750 0.0938
vt 0.3750 0.1250
vt 0.3438 0.1250
vt 0.3438 0.1562
vt 0.4844 0.0625
vt 0.4688 0.0625
vt 0.4688 0.1250
vt 0.4844 0.1250
vt 0.4531 0.0625
vt 0.4375 0.0625
vt 0.4375 0.1250
vt 0.4531 0.1250
vt 0.4844 0.1250
vt 0.5000 0.1250
vt 0.5000 0.0625
vt 0.4844 0.0625
vt 0.4531 0.1250
vt 0.4688 0.1250
vt 0.4688 0.0625
vt 0.4531 0.0625
vt 0.4844 0.1719
vt 0.4844 0.1250
vt 0.4688 0.1250
vt 0.4688 0.1719
vt 0.4375 0.1719
vt 0.4375 0.1250
vt 0.4219 0.1250
vt 0.4219 0.1719
vt 0.3906 0.1719
vt 0.3906 0.1562
vt 0.3750 0.1562
vt 0.3750 0.1719
vt 0.4062 0.1250
vt 0.4062 0.1719
vt 0.4219 0.1719
vt 0.4219 0.1250
vt 0.5000 0.1719
vt 0.5000 0.1250
vt 0.4844 0.1250
vt 0.4844 0.1719
vt 0.4219 0.2031
vt 0.4219 0.1562
vt 0.4062 0.1562
vt 0.4062 0.2031
vt 0.3906 0.1562
vt 0.3906 0.2031
vt 0.4062 0.2031
vt 0.4062 0.1562
vt 0.4297 0.2031
vt 0.4141 0.2031
vt 0.4141 0.2188
vt 0.4297 0.2188
vt 0.4531 0.2031
vt 0.4531 0.1562
vt 0.4375 0.1562
vt 0.4375 0.2031
vt 0.4219 0.1562
vt 0.4219 0.2031
vt 0.4375 0.2031
vt 0.4375 0.1562
vt 0.4219 0.2031
vt 0.4219 0.1562
vt 0.4062 0.1562
vt 0.4062 0.2031
vt 0.3906 0.1562
vt 0.3906 0.2031
vt 0.4062 0.2031
vt 0.4062 0.1562
vt 0.4297 0.2031
vt 0.4141 0.2031
vt 0.4141 0.2188
vt 0.4297 0.2188
vt 0.4531 0.2031
vt 0.4531 0.1562
vt 0.4375 0.1562
vt 0.4375 0.2031
vt 0.4219 0.1562
vt 0.4219 0.2031
vt 0.4375 0.2031
vt 0.4375 0.1562
vt 0.4531 0.1641
vt 0.4531 0.1406
vt 0.4375 0.1406
vt 0.4375 0.1641
vt 0.4531 0.1172
vt 0.4375 0.1172
vt 0.4375 0.1406
vt 0.4375 0.1172
vt 0.4219 0.1172
vt 0.4219 0.1406
vt 0.4219 0.1406
vt 0.4219 0.1641
vt 0.4375 0.1406
vt 0.3984 0.1641
vt 0.3984 0.1406
vt 0.4219 0.1172
vt 0.3984 0.1172
vt 0.3984 0.1406
vt 0.4219 0.1406
vt 0.1250 0.5000
vt 0.1250 0.2500
vt 0.0000 0.2500
vt 0.0000 0.5000
vt 0.0000 0.2500
vt 0.1250 0.2500
vt 0.1250 -0.0000
vt 0.0000 -0.0000
vt -0.0000 0.5000
vt -0.0000 0.6250
vt 0.0625 0.6250
vt 0.0625 0.5000
vt 0.1250 0.1250
vt 0.3750 0.1250
vt 0.3750 0.0625
vt 0.1250 0.0625
vt 0.1250 0.6250
vt 0.1250 0.5000
vt 0.0625 0.5000
vt 0.0625 0.6250
vt 0.3750 -0.0000
vt 0.1250 -0.0000
vt 0.1250 0.0625
vt 0.3750 0.0625
vn 1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn -1.0000 0.0000 0.0000
vn 0.0000 -1.0000 -0.0000
vn 0.0000 1.0000 0.0000
vn -0.7071 0.7071 -0.0000
vn 0.7071 -0.7071 -0.0000
vn 0.0000 -0.0000 1.0000
vn 0.7071 0.7071 -0.0000
vn -0.7071 -0.7071 0.0000
usemtl marx.002
s 1
f 1/1/1 4/2/1 3/3/1 2/4/1
f 4/5/2 6/6/2 5/7/2 3/8/2
f 6/9/3 8/10/3 7/11/3 5/12/3
f 4/13/4 1/14/4 8/15/4 6/16/4
f 5/17/5 7/18/5 2/19/5 3/20/5
f 9/21/6 12/22/6 11/23/6 10/24/6
f 12/25/2 14/26/2 13/27/2 11/28/2
f 14/29/7 16/30/7 15/31/7 13/32/7
f 16/33/8 9/34/8 10/35/8 15/31/8
f 12/25/9 9/34/9 16/36/9 14/26/9
f 13/27/10 15/37/10 10/38/10 11/39/10
f 17/40/6 20/41/6 19/42/6 18/43/6
f 20/44/2 22/45/2 21/46/2 19/47/2
f 22/48/7 24/49/7 23/50/7 21/51/7
f 24/52/8 17/53/8 18/54/8 23/55/8
f 25/56/4 28/57/4 27/58/4 26/59/4
f 29/60/5 32/61/5 31/62/5 30/63/5
f 32/64/2 25/65/2 26/66/2 31/67/2
f 28/68/1 25/69/1 32/70/1 29/71/1
f 30/72/3 31/73/3 26/74/3 27/75/3
f 33/76/1 36/77/1 35/78/1 34/79/1
f 37/80/3 40/81/3 39/82/3 38/83/3
f 40/84/8 33/85/8 34/86/8 39/87/8
f 36/88/4 33/89/4 40/90/4 37/91/4
f 38/92/5 39/93/5 34/94/5 35/95/5
f 41/96/1 44/97/1 43/98/1 42/99/1
f 45/100/3 48/101/3 47/102/3 46/103/3
f 48/104/8 41/105/8 42/106/8 47/107/8
f 44/108/4 41/109/4 48/110/4 45/111/4
f 46/112/5 47/113/5 42/114/5 43/115/5
f 49/116/1 52/117/1 51/118/1 50/119/1
f 52/117/2 54/120/2 53/121/2 51/118/2
f 54/122/3 56/123/3 55/124/3 53/125/3
f 56/126/8 49/127/8 50/119/8 55/128/8
f 52/129/4 49/127/4 56/126/4 54/130/4
f 53/131/5 55/132/5 50/133/5 51/134/5
f 57/135/4 60/136/4 59/137/4 58/138/4
f 61/139/5 64/140/5 63/141/5 62/142/5
f 57/143/3 58/144/3 64/145/3 61/146/3
f 58/147/8 59/148/8 63/149/8 64/150/8
f 59/151/1 60/152/1 62/153/1 63/154/1
f 61/155/2 62/156/2 60/157/2 57/158/2