use of org.bimserver.models.ifc2x3tc1.IfcSpace in project BIMserver by opensourceBIM.
the class Scaler method scale.
public void scale(float scale) {
if (scale != 1.0f) {
for (long key : ifcModel.keySet()) {
IdEObject idEObject = (IdEObject) ifcModel.get(key);
if (idEObject instanceof IfcAsymmetricIShapeProfileDef) {
setIfcAsymmetricIShapeProfileDef(idEObject, scale);
} else if (idEObject instanceof IfcBlock) {
setIfcBlock(idEObject, scale);
} else if (idEObject instanceof IfcBoundingBox) {
setIfcBoundingBox(idEObject, scale);
} else if (idEObject instanceof IfcBuilding) {
setIfcBuilding(idEObject, scale);
} else if (idEObject instanceof IfcBuildingStorey) {
setIfcBuildingStorey(idEObject, scale);
} else if (idEObject instanceof IfcCartesianPoint) {
setIfcCartesianPoint(idEObject, scale);
} else if (idEObject instanceof IfcCenterLineProfileDef) {
setIfcCenterLineProfileDef(idEObject, scale);
} else if (idEObject instanceof IfcChamferEdgeFeature) {
setIfcChamferEdgeFeature(idEObject, scale);
} else if (idEObject instanceof IfcCircle) {
setIfcCircle(idEObject, scale);
} else if (idEObject instanceof IfcCircleHollowProfileDef) {
setIfcCircleHollowProfileDef(idEObject, scale);
} else if (idEObject instanceof IfcCircleProfileDef) {
setIfcCircleProfileDef(idEObject, scale);
} else if (idEObject instanceof IfcCraneRailAShapeProfileDef) {
setIfcCraneRailAShapeProfileDef(idEObject, scale);
} else if (idEObject instanceof IfcCraneRailFShapeProfileDef) {
setIfcCraneRailFShapeProfileDef(idEObject, scale);
} else if (idEObject instanceof IfcConnectionPointEccentricity) {
setIfcConnectionPointEccentricity(idEObject, scale);
} else if (idEObject instanceof IfcCShapeProfileDef) {
setIfcCShapeProfileDef(idEObject, scale);
} else if (idEObject instanceof IfcCurveStyleFontPattern) {
setIfcCurveStyleFontPattern(idEObject, scale);
} else if (idEObject instanceof IfcDoor) {
setIfcDoor(idEObject, scale);
} else if (idEObject instanceof IfcDoorLiningProperties) {
setIfcDoorLiningProperties(idEObject, scale);
} else if (idEObject instanceof IfcDoorPanelProperties) {
setIfcDoorPanelProperties(idEObject, scale);
} else if (idEObject instanceof IfcEdgeFeature) {
setIfcEdgeFeature(idEObject, scale);
} else if (idEObject instanceof IfcEllipse) {
setIfcEllipse(idEObject, scale);
} else if (idEObject instanceof IfcEllipseProfileDef) {
setIfcEllipseProfileDef(idEObject, scale);
} else if (idEObject instanceof IfcExtrudedAreaSolid) {
setIfcExtrudedAreaSolid(idEObject, scale);
} else if (idEObject instanceof IfcGeneralProfileProperties) {
setIfcGeneralProfileProperties(idEObject, scale);
} else if (idEObject instanceof IfcIShapeProfileDef) {
setIfcIShapeProfileDef(idEObject, scale);
} else if (idEObject instanceof IfcLightSourcePositional) {
setIfcLightSourcePositional(idEObject, scale);
} else if (idEObject instanceof IfcLShapeProfileDef) {
setIfcLShapeProfileDef(idEObject, scale);
} else if (idEObject instanceof IfcMaterialLayer) {
setIfcMaterialLayer(idEObject, scale);
} else if (idEObject instanceof IfcMaterialLayerSetUsage) {
setIfcMaterialLayerSetUsage(idEObject, scale);
} else if (idEObject instanceof IfcMechanicalConcreteMaterialProperties) {
setIfcMechanicalConcreteMaterialProperties(idEObject, scale);
} else if (idEObject instanceof IfcMechanicalFastener) {
setIfcMechanicalFastener(idEObject, scale);
} else if (idEObject instanceof IfcOffsetCurve2D) {
setIfcOffsetCurve2D(idEObject, scale);
} else if (idEObject instanceof IfcOffsetCurve3D) {
setIfcOffsetCurve3D(idEObject, scale);
} else if (idEObject instanceof IfcPermeableCoveringProperties) {
setIfcPermeableCoveringProperties(idEObject, scale);
} else if (idEObject instanceof IfcPlanarExtent) {
setIfcPlanarExtent(idEObject, scale);
} else if (idEObject instanceof IfcQuantityLength) {
setIfcQuantityLength(idEObject, scale);
} else if (idEObject instanceof IfcRectangleHollowProfileDef) {
setIfcRectangleHollowProfileDef(idEObject, scale);
} else if (idEObject instanceof IfcRectangleProfileDef) {
setIfcRectangleProfileDef(idEObject, scale);
} else if (idEObject instanceof IfcRectangularPyramid) {
setIfcRectangularPyramid(idEObject, scale);
} else if (idEObject instanceof IfcReinforcementBarProperties) {
setIfcReinforcementBarProperties(idEObject, scale);
} else if (idEObject instanceof IfcReinforcingBar) {
setIfcReinforcingBar(idEObject, scale);
} else if (idEObject instanceof IfcReinforcingMesh) {
setIfcReinforcingMesh(idEObject, scale);
} else if (idEObject instanceof IfcRelConnectsStructuralMember) {
setIfcRelConnectsStructuralMember(idEObject, scale);
} else if (idEObject instanceof IfcRibPlateProfileProperties) {
setIfcRibPlateProfileProperties(idEObject, scale);
} else if (idEObject instanceof IfcRightCircularCone) {
setIfcRightCircularCone(idEObject, scale);
} else if (idEObject instanceof IfcRightCircularCylinder) {
setIfcRightCircularCylinder(idEObject, scale);
} else if (idEObject instanceof IfcRoundedEdgeFeature) {
setIfcRoundedEdgeFeature(idEObject, scale);
} else if (idEObject instanceof IfcRoundedRectangleProfileDef) {
setIfcRoundedRectangleProfileDef(idEObject, scale);
} else if (idEObject instanceof IfcSectionReinforcementProperties) {
setIfcSectionReinforcementProperties(idEObject, scale);
} else if (idEObject instanceof IfcSite) {
setIfcSite(idEObject, scale);
} else if (idEObject instanceof IfcSlippageConnectionCondition) {
setIfcSlippageConnectionCondition(idEObject, scale);
} else if (idEObject instanceof IfcSpace) {
setIfcSpace(idEObject, scale);
} else if (idEObject instanceof IfcSphere) {
setIfcSphere(idEObject, scale);
} else if (idEObject instanceof IfcStairFlight) {
setIfcStairFlight(idEObject, scale);
} else if (idEObject instanceof IfcStructuralLoadSingleDisplacement) {
setIfcStructuralLoadSingleDisplacement(idEObject, scale);
} else if (idEObject instanceof IfcStructuralProfileProperties) {
setIfcStructuralProfileProperties(idEObject, scale);
} else if (idEObject instanceof IfcStructuralSurfaceMember) {
setIfcStructuralSurfaceMember(idEObject, scale);
} else if (idEObject instanceof IfcStructuralSurfaceMemberVarying) {
setIfcStructuralSurfaceMemberVarying(idEObject, scale);
} else if (idEObject instanceof IfcSurfaceOfLinearExtrusion) {
setIfcSurfaceOfLinearExtrusion(idEObject, scale);
} else if (idEObject instanceof IfcSweptDiskSolid) {
setIfcSweptDiskSolid(idEObject, scale);
} else if (idEObject instanceof IfcTendon) {
setIfcTendon(idEObject, scale);
} else if (idEObject instanceof IfcTextStyleWithBoxCharacteristics) {
setIfcTextStyleWithBoxCharacteristics(idEObject, scale);
} else if (idEObject instanceof IfcTrapeziumProfileDef) {
setIfcTrapeziumProfileDef(idEObject, scale);
} else if (idEObject instanceof IfcTShapeProfileDef) {
setIfcTShapeProfileDef(idEObject, scale);
} else if (idEObject instanceof IfcUShapeProfileDef) {
setIfcUShapeProfileDef(idEObject, scale);
} else if (idEObject instanceof IfcVector) {
setIfcVector(idEObject, scale);
} else if (idEObject instanceof IfcVirtualGridIntersection) {
setIfcVirtualGridIntersection(idEObject, scale);
} else if (idEObject instanceof IfcWindow) {
setIfcWindow(idEObject, scale);
} else if (idEObject instanceof IfcWindowLiningProperties) {
setIfcWindowLiningProperties(idEObject, scale);
} else if (idEObject instanceof IfcWindowPanelProperties) {
setIfcWindowPanelProperties(idEObject, scale);
} else if (idEObject instanceof IfcZShapeProfileDef) {
setIfcZShapeProfileDef(idEObject, scale);
}
setDoubleAsStringValues(idEObject);
}
}
}
use of org.bimserver.models.ifc2x3tc1.IfcSpace in project BIMserver by opensourceBIM.
the class AddFurniture method main.
public static void main(String[] args) {
try {
PluginManager pluginManager = LocalDevPluginLoader.createPluginManager(Paths.get("home"));
DeserializerPlugin deserializerPlugin = pluginManager.getFirstDeserializer("ifc", Schema.IFC2X3TC1, true);
Deserializer deserializer = deserializerPlugin.createDeserializer(null);
deserializer.init(pluginManager.getMetaDataManager().getPackageMetaData("ifc2x3tc1"));
IfcModelInterface model = DeserializerUtils.readFromFile(deserializer, Paths.get("../TestData/data/AC9R1-Haus-G-H-Ver2-2x3.ifc"));
deserializer = deserializerPlugin.createDeserializer(null);
deserializer.init(pluginManager.getMetaDataManager().getPackageMetaData("ifc2x3tc1"));
IfcModelInterface furnishingModel = DeserializerUtils.readFromFile(deserializer, Paths.get("test.ifc"));
model.fixOids(new IncrementingOidProvider());
long oid = model.getHighestOid();
IncrementingOidProvider oidProvider = new IncrementingOidProvider(oid + 1);
IfcFurnishingElement picknick = (IfcFurnishingElement) furnishingModel.getByName(Ifc2x3tc1Package.eINSTANCE.getIfcFurnishingElement(), "Picknik Bank");
ModelHelper modelHelper = new ModelHelper(pluginManager.getMetaDataManager(), new HideAllInversesObjectIDM(CollectionUtils.singleSet(Ifc2x3tc1Package.eINSTANCE), pluginManager.getMetaDataManager().getPackageMetaData("ifc2x3tc1")), model);
IfcProductDefinitionShape representation = (IfcProductDefinitionShape) picknick.getRepresentation();
IfcRepresentation surfaceModel = null;
IfcRepresentation boundingBox = null;
for (IfcRepresentation ifcRepresentation : representation.getRepresentations()) {
IfcShapeRepresentation ifcShapeRepresentation = (IfcShapeRepresentation) ifcRepresentation;
if (ifcShapeRepresentation.getRepresentationType().equals("SurfaceModel")) {
surfaceModel = (IfcRepresentation) modelHelper.copy(ifcShapeRepresentation, false);
} else if (ifcShapeRepresentation.getRepresentationType().equals("BoundingBox")) {
boundingBox = (IfcRepresentation) modelHelper.copy(ifcShapeRepresentation, false);
}
}
IfcOwnerHistory ownerHistory = null;
List<IfcOwnerHistory> all = model.getAll(IfcOwnerHistory.class);
if (all.size() > 0) {
ownerHistory = all.get(0);
}
for (IfcBuildingStorey ifcBuildingStorey : model.getAll(IfcBuildingStorey.class)) {
for (IfcRelDecomposes ifcRelDecomposes : ifcBuildingStorey.getIsDecomposedBy()) {
for (IfcObjectDefinition ifcObjectDefinition : ifcRelDecomposes.getRelatedObjects()) {
if (ifcObjectDefinition instanceof IfcSpace) {
IfcSpace ifcSpace = (IfcSpace) ifcObjectDefinition;
// IfcProductDefinitionShape slabRepr = (IfcProductDefinitionShape) ifcSpace.getRepresentation();
// IfcBoundingBox box = null;
// for (IfcRepresentation representation2 : slabRepr.getRepresentations()) {
// IfcShapeRepresentation shapeRepresentation = (IfcShapeRepresentation)representation2;
// if (shapeRepresentation.getRepresentationType().equals("BoundingBox")) {
// for (IfcRepresentationItem i2 : shapeRepresentation.getItems()) {
// box = (IfcBoundingBox)i2;
// }
// }
// }
IfcFurnishingElement newFurnishing = model.create(IfcFurnishingElement.class, oidProvider);
IfcRelContainedInSpatialStructure containedInSpatialStructure2 = model.create(IfcRelContainedInSpatialStructure.class, oidProvider);
containedInSpatialStructure2.setRelatingStructure(ifcBuildingStorey);
containedInSpatialStructure2.getRelatedElements().add(newFurnishing);
newFurnishing.setName("Generated");
newFurnishing.setGlobalId("TEST");
newFurnishing.setOwnerHistory(ownerHistory);
IfcProductDefinitionShape definitionShape = model.create(IfcProductDefinitionShape.class, oidProvider);
newFurnishing.setRepresentation(definitionShape);
definitionShape.getRepresentations().add(boundingBox);
definitionShape.getRepresentations().add(surfaceModel);
IfcLocalPlacement localPlacement = model.create(IfcLocalPlacement.class, oidProvider);
localPlacement.setPlacementRelTo(ifcSpace.getObjectPlacement());
IfcAxis2Placement3D axis2Placement3D = model.create(IfcAxis2Placement3D.class, oidProvider);
localPlacement.setRelativePlacement(axis2Placement3D);
IfcCartesianPoint pos = model.create(IfcCartesianPoint.class, oidProvider);
pos.getCoordinates().add(-3d);
pos.getCoordinates().add(+0.5d);
pos.getCoordinates().add(0d);
axis2Placement3D.setLocation(pos);
newFurnishing.setObjectPlacement(localPlacement);
}
}
}
}
model.resetExpressIds();
SerializerPlugin serializerPlugin = pluginManager.getSerializerPlugin("org.bimserver.ifc.step.serializer.IfcStepSerializerPlugin", true);
Serializer serializer = serializerPlugin.createSerializer(null);
serializer.init(model, null, true);
SerializerUtils.writeToFile(serializer, Paths.get("withfurn.ifc"));
} catch (PluginException e) {
e.printStackTrace();
} catch (DeserializeException e) {
e.printStackTrace();
} catch (IfcModelInterfaceException e) {
e.printStackTrace();
} catch (SerializerException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
use of org.bimserver.models.ifc2x3tc1.IfcSpace in project BIMserver by opensourceBIM.
the class TestBigModelEmf method createFurnishing.
private void createFurnishing(RichIfcModel richIfcModel, IfcRepresentationContext representationContext, int number, IfcSpace ifcSpace, IfcLocalPlacement spacePlacement) throws IfcModelInterfaceException {
IfcFurnishingElement furnishing = richIfcModel.create(IfcFurnishingElement.class);
furnishing.setName("Furnishing " + number);
IfcLocalPlacement furnishingPlacement = richIfcModel.create(IfcLocalPlacement.class);
furnishingPlacement.setPlacementRelTo(spacePlacement);
IfcAxis2Placement3D furnitureAxisPlacement = richIfcModel.create(IfcAxis2Placement3D.class);
furnitureAxisPlacement.setLocation(richIfcModel.createIfcCartesianPoint(500, 500, 2));
furnishingPlacement.setRelativePlacement(furnitureAxisPlacement);
furnishing.setObjectPlacement(furnishingPlacement);
furnishing.setRepresentation(richIfcModel.createRectangularExtrusionProductRepresentation(4000, 4000, 1200));
richIfcModel.addContains(ifcSpace, furnishing);
}
use of org.bimserver.models.ifc2x3tc1.IfcSpace in project BIMserver by opensourceBIM.
the class TestBigModelEmf method createSpace.
private void createSpace(RichIfcModel richIfcModel, IfcRepresentationContext representationContext, IfcLocalPlacement storeyPlacement, IfcRelAggregates storeyAggregation, int x, int y) throws IfcModelInterfaceException {
IfcSpace ifcSpace = richIfcModel.create(IfcSpace.class);
ifcSpace.setName("Space " + ((y * 10) + x));
ifcSpace.setCompositionType(IfcElementCompositionEnum.ELEMENT);
ifcSpace.setInteriorOrExteriorSpace(IfcInternalOrExternalEnum.INTERNAL);
IfcLocalPlacement spacePlacement = richIfcModel.create(IfcLocalPlacement.class);
spacePlacement.setPlacementRelTo(storeyPlacement);
spacePlacement.setRelativePlacement(richIfcModel.createBasicPosition(x * 6000, y * 6000, 0));
ifcSpace.setObjectPlacement(spacePlacement);
storeyAggregation.getRelatedObjects().add(ifcSpace);
ifcSpace.setRepresentation(richIfcModel.createRectangularExtrusionProductRepresentation(5000, 5000, 2000));
createFurnishing(richIfcModel, representationContext, y, ifcSpace, spacePlacement);
}
Aggregations