Search in sources :

Example 1 with IfcExtrudedAreaSolid

use of org.bimserver.models.ifc2x3tc1.IfcExtrudedAreaSolid 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);
        }
    }
}
Also used : IfcCenterLineProfileDef(org.bimserver.models.ifc2x3tc1.IfcCenterLineProfileDef) IfcCircleHollowProfileDef(org.bimserver.models.ifc2x3tc1.IfcCircleHollowProfileDef) IfcQuantityLength(org.bimserver.models.ifc2x3tc1.IfcQuantityLength) IfcStructuralSurfaceMember(org.bimserver.models.ifc2x3tc1.IfcStructuralSurfaceMember) IfcReinforcementBarProperties(org.bimserver.models.ifc2x3tc1.IfcReinforcementBarProperties) IfcStairFlight(org.bimserver.models.ifc2x3tc1.IfcStairFlight) IfcRibPlateProfileProperties(org.bimserver.models.ifc2x3tc1.IfcRibPlateProfileProperties) IfcUShapeProfileDef(org.bimserver.models.ifc2x3tc1.IfcUShapeProfileDef) IfcCraneRailAShapeProfileDef(org.bimserver.models.ifc2x3tc1.IfcCraneRailAShapeProfileDef) IfcRectangleHollowProfileDef(org.bimserver.models.ifc2x3tc1.IfcRectangleHollowProfileDef) IfcStructuralSurfaceMemberVarying(org.bimserver.models.ifc2x3tc1.IfcStructuralSurfaceMemberVarying) IfcMaterialLayer(org.bimserver.models.ifc2x3tc1.IfcMaterialLayer) IfcCraneRailFShapeProfileDef(org.bimserver.models.ifc2x3tc1.IfcCraneRailFShapeProfileDef) IfcRightCircularCylinder(org.bimserver.models.ifc2x3tc1.IfcRightCircularCylinder) IfcExtrudedAreaSolid(org.bimserver.models.ifc2x3tc1.IfcExtrudedAreaSolid) IfcBuilding(org.bimserver.models.ifc2x3tc1.IfcBuilding) IfcCircle(org.bimserver.models.ifc2x3tc1.IfcCircle) IfcSurfaceOfLinearExtrusion(org.bimserver.models.ifc2x3tc1.IfcSurfaceOfLinearExtrusion) IfcCShapeProfileDef(org.bimserver.models.ifc2x3tc1.IfcCShapeProfileDef) IfcTextStyleWithBoxCharacteristics(org.bimserver.models.ifc2x3tc1.IfcTextStyleWithBoxCharacteristics) IdEObject(org.bimserver.emf.IdEObject) IfcRightCircularCone(org.bimserver.models.ifc2x3tc1.IfcRightCircularCone) IfcWindowPanelProperties(org.bimserver.models.ifc2x3tc1.IfcWindowPanelProperties) IfcLightSourcePositional(org.bimserver.models.ifc2x3tc1.IfcLightSourcePositional) IfcConnectionPointEccentricity(org.bimserver.models.ifc2x3tc1.IfcConnectionPointEccentricity) IfcRectangularPyramid(org.bimserver.models.ifc2x3tc1.IfcRectangularPyramid) IfcTendon(org.bimserver.models.ifc2x3tc1.IfcTendon) IfcReinforcingMesh(org.bimserver.models.ifc2x3tc1.IfcReinforcingMesh) IfcCircleProfileDef(org.bimserver.models.ifc2x3tc1.IfcCircleProfileDef) IfcZShapeProfileDef(org.bimserver.models.ifc2x3tc1.IfcZShapeProfileDef) IfcEllipseProfileDef(org.bimserver.models.ifc2x3tc1.IfcEllipseProfileDef) IfcBoundingBox(org.bimserver.models.ifc2x3tc1.IfcBoundingBox) IfcIShapeProfileDef(org.bimserver.models.ifc2x3tc1.IfcIShapeProfileDef) IfcVirtualGridIntersection(org.bimserver.models.ifc2x3tc1.IfcVirtualGridIntersection) IfcAsymmetricIShapeProfileDef(org.bimserver.models.ifc2x3tc1.IfcAsymmetricIShapeProfileDef) IfcRelConnectsStructuralMember(org.bimserver.models.ifc2x3tc1.IfcRelConnectsStructuralMember) IfcDoorPanelProperties(org.bimserver.models.ifc2x3tc1.IfcDoorPanelProperties) IfcOffsetCurve2D(org.bimserver.models.ifc2x3tc1.IfcOffsetCurve2D) IfcChamferEdgeFeature(org.bimserver.models.ifc2x3tc1.IfcChamferEdgeFeature) IfcMechanicalFastener(org.bimserver.models.ifc2x3tc1.IfcMechanicalFastener) IfcRectangleProfileDef(org.bimserver.models.ifc2x3tc1.IfcRectangleProfileDef) IfcRoundedRectangleProfileDef(org.bimserver.models.ifc2x3tc1.IfcRoundedRectangleProfileDef) IfcSpace(org.bimserver.models.ifc2x3tc1.IfcSpace) IfcBlock(org.bimserver.models.ifc2x3tc1.IfcBlock) IfcLShapeProfileDef(org.bimserver.models.ifc2x3tc1.IfcLShapeProfileDef) IfcTrapeziumProfileDef(org.bimserver.models.ifc2x3tc1.IfcTrapeziumProfileDef) IfcSweptDiskSolid(org.bimserver.models.ifc2x3tc1.IfcSweptDiskSolid) IfcWindowLiningProperties(org.bimserver.models.ifc2x3tc1.IfcWindowLiningProperties) IfcBuildingStorey(org.bimserver.models.ifc2x3tc1.IfcBuildingStorey) IfcDoor(org.bimserver.models.ifc2x3tc1.IfcDoor) IfcDoorLiningProperties(org.bimserver.models.ifc2x3tc1.IfcDoorLiningProperties) IfcMaterialLayerSetUsage(org.bimserver.models.ifc2x3tc1.IfcMaterialLayerSetUsage) IfcTShapeProfileDef(org.bimserver.models.ifc2x3tc1.IfcTShapeProfileDef) IfcCurveStyleFontPattern(org.bimserver.models.ifc2x3tc1.IfcCurveStyleFontPattern) IfcSlippageConnectionCondition(org.bimserver.models.ifc2x3tc1.IfcSlippageConnectionCondition) IfcSite(org.bimserver.models.ifc2x3tc1.IfcSite) IfcWindow(org.bimserver.models.ifc2x3tc1.IfcWindow) IfcReinforcingBar(org.bimserver.models.ifc2x3tc1.IfcReinforcingBar) IfcEdgeFeature(org.bimserver.models.ifc2x3tc1.IfcEdgeFeature) IfcGeneralProfileProperties(org.bimserver.models.ifc2x3tc1.IfcGeneralProfileProperties) IfcPermeableCoveringProperties(org.bimserver.models.ifc2x3tc1.IfcPermeableCoveringProperties) IfcRoundedEdgeFeature(org.bimserver.models.ifc2x3tc1.IfcRoundedEdgeFeature) IfcVector(org.bimserver.models.ifc2x3tc1.IfcVector) IfcStructuralProfileProperties(org.bimserver.models.ifc2x3tc1.IfcStructuralProfileProperties) IfcOffsetCurve3D(org.bimserver.models.ifc2x3tc1.IfcOffsetCurve3D) IfcStructuralLoadSingleDisplacement(org.bimserver.models.ifc2x3tc1.IfcStructuralLoadSingleDisplacement) IfcSphere(org.bimserver.models.ifc2x3tc1.IfcSphere) IfcPlanarExtent(org.bimserver.models.ifc2x3tc1.IfcPlanarExtent) IfcCartesianPoint(org.bimserver.models.ifc2x3tc1.IfcCartesianPoint) IfcMechanicalConcreteMaterialProperties(org.bimserver.models.ifc2x3tc1.IfcMechanicalConcreteMaterialProperties) IfcEllipse(org.bimserver.models.ifc2x3tc1.IfcEllipse) IfcSectionReinforcementProperties(org.bimserver.models.ifc2x3tc1.IfcSectionReinforcementProperties)

Example 2 with IfcExtrudedAreaSolid

use of org.bimserver.models.ifc2x3tc1.IfcExtrudedAreaSolid in project BIMserver by opensourceBIM.

the class IfcTools2D method getArea.

private Area getArea(double multiplierMillimeters, double[] productMatrix, IfcRepresentationItem ifcRepresentationItem) {
    if (ifcRepresentationItem instanceof IfcExtrudedAreaSolid) {
        IfcExtrudedAreaSolid ifcExtrudedAreaSolid = (IfcExtrudedAreaSolid) ifcRepresentationItem;
        IfcAxis2Placement3D position = ifcExtrudedAreaSolid.getPosition();
        // 1 0 0 0 <- 3de argument
        // 0 1 0 0 <- cross product van 2 en 3 (levert ortogonale vector op)
        // 0 0 1 0 <- 2st argument
        // 5 0 0 1 <- 1st argument
        double[] matrix = placement3DToMatrix(position);
        if (productMatrix != null) {
            double[] rhs = matrix;
            matrix = Matrix.identity();
            Matrix.multiplyMM(matrix, 0, productMatrix, 0, rhs, 0);
        }
        IfcDirection extrudedDirection = ifcExtrudedAreaSolid.getExtrudedDirection();
        // TODO do something with this
        IfcProfileDef ifcProfileDef = ifcExtrudedAreaSolid.getSweptArea();
        if (ifcProfileDef instanceof IfcArbitraryProfileDefWithVoids) {
            IfcArbitraryProfileDefWithVoids ifcArbitraryProfileDefWithVoids = (IfcArbitraryProfileDefWithVoids) ifcProfileDef;
            IfcCurve outerCurve = ifcArbitraryProfileDefWithVoids.getOuterCurve();
            Path2D outerPath = null;
            if (outerCurve instanceof IfcPolyline) {
                outerPath = curveToPath(matrix, outerCurve, multiplierMillimeters);
            } else {
                storeUnimplemented(outerCurve);
            }
            if (outerPath != null) {
                Area area = new Area(outerPath);
                for (IfcCurve innerCurve : ifcArbitraryProfileDefWithVoids.getInnerCurves()) {
                    Path2D.Float innerPath = curveToPath(matrix, innerCurve, multiplierMillimeters);
                    if (innerPath != null) {
                        area.subtract(new Area(innerPath));
                    }
                }
                return area;
            }
        } else if (ifcProfileDef instanceof IfcArbitraryClosedProfileDef) {
            IfcArbitraryClosedProfileDef ifcArbitraryClosedProfileDef = (IfcArbitraryClosedProfileDef) ifcProfileDef;
            Path2D.Float path2d = new Path2D.Float();
            IfcCurve outerCurve = ifcArbitraryClosedProfileDef.getOuterCurve();
            boolean first = true;
            if (outerCurve instanceof IfcPolyline) {
                IfcPolyline ifcPolyline = (IfcPolyline) outerCurve;
                double[] res = new double[4];
                int i = 0;
                for (IfcCartesianPoint cartesianPoint : ifcPolyline.getPoints()) {
                    EList<Double> coords = cartesianPoint.getCoordinates();
                    Matrix.multiplyMV(res, 0, matrix, 0, new double[] { coords.get(0), coords.get(1), 0, 1 }, 0);
                    if (first) {
                        path2d.moveTo(res[0] * multiplierMillimeters, res[1] * multiplierMillimeters);
                        first = false;
                    } else {
                        if (i > 1) {
                        }
                        path2d.lineTo(res[0] * multiplierMillimeters, res[1] * multiplierMillimeters);
                    }
                    i++;
                }
                path2d.closePath();
                return new Area(path2d);
            } else if (outerCurve instanceof IfcCompositeCurve) {
                IfcCompositeCurve ifcCompositeCurve = (IfcCompositeCurve) outerCurve;
                for (IfcCompositeCurveSegment ifcCompositeCurveSegment : ifcCompositeCurve.getSegments()) {
                    IfcCurve curve = ifcCompositeCurveSegment.getParentCurve();
                    if (curve instanceof IfcPolyline) {
                        IfcPolyline ifcPolyline = (IfcPolyline) curve;
                        double[] res = new double[4];
                        for (IfcCartesianPoint cartesianPoint : ifcPolyline.getPoints()) {
                            EList<Double> coords = cartesianPoint.getCoordinates();
                            Matrix.multiplyMV(res, 0, matrix, 0, new double[] { coords.get(0), coords.get(1), 0, 1 }, 0);
                            if (first) {
                                path2d.moveTo(res[0] * multiplierMillimeters, res[1] * multiplierMillimeters);
                                first = false;
                            } else {
                                path2d.lineTo(res[0] * multiplierMillimeters, res[1] * multiplierMillimeters);
                            }
                        }
                    } else if (curve instanceof IfcTrimmedCurve) {
                        storeUnimplemented(curve);
                    } else {
                        storeUnimplemented(curve);
                    }
                }
                try {
                    path2d.closePath();
                    return new Area(path2d);
                } catch (Exception e) {
                // 
                }
            }
        } else if (ifcProfileDef instanceof IfcRectangleProfileDef) {
            IfcRectangleProfileDef ifcRectangleProfileDef = (IfcRectangleProfileDef) ifcProfileDef;
            double[] min = new double[] { ifcRectangleProfileDef.getPosition().getLocation().getCoordinates().get(0) - ifcRectangleProfileDef.getXDim() / 2, ifcRectangleProfileDef.getPosition().getLocation().getCoordinates().get(1) - ifcRectangleProfileDef.getYDim() / 2, 0, 1 };
            double[] max = new double[] { ifcRectangleProfileDef.getPosition().getLocation().getCoordinates().get(0) + ifcRectangleProfileDef.getXDim() / 2, ifcRectangleProfileDef.getPosition().getLocation().getCoordinates().get(1) + ifcRectangleProfileDef.getYDim() / 2, 0, 1 };
            Cube cube = new Cube(min, max);
            cube.transform(matrix);
            double[] transformedMin = cube.getMin();
            double[] transformedMax = cube.getMax();
            Path2D.Float path2d = new Path2D.Float();
            path2d.moveTo(transformedMin[0] * multiplierMillimeters, transformedMin[1] * multiplierMillimeters);
            path2d.lineTo(transformedMax[0] * multiplierMillimeters, transformedMin[1] * multiplierMillimeters);
            path2d.lineTo(transformedMax[0] * multiplierMillimeters, transformedMax[1] * multiplierMillimeters);
            path2d.lineTo(transformedMin[0] * multiplierMillimeters, transformedMax[1] * multiplierMillimeters);
            path2d.lineTo(transformedMin[0] * multiplierMillimeters, transformedMin[1] * multiplierMillimeters);
            path2d.closePath();
            return new Area(path2d);
        } else {
            storeUnimplemented(ifcProfileDef);
        }
    } else if (ifcRepresentationItem instanceof IfcPolyline) {
        IfcPolyline ifcPolyline = (IfcPolyline) ifcRepresentationItem;
        double[] res = new double[4];
        Path2D.Float path2d = new Path2D.Float();
        boolean first = true;
        for (IfcCartesianPoint cartesianPoint : ifcPolyline.getPoints()) {
            EList<Double> coords = cartesianPoint.getCoordinates();
            Matrix.multiplyMV(res, 0, productMatrix, 0, new double[] { coords.get(0), coords.get(1), 0, 1 }, 0);
            if (first) {
                path2d.moveTo(res[0] * multiplierMillimeters, res[1] * multiplierMillimeters);
                first = false;
            } else {
                path2d.lineTo(res[0] * multiplierMillimeters, res[1] * multiplierMillimeters);
            }
        }
        path2d.closePath();
        return new Area(path2d);
    } else {
        storeUnimplemented(ifcRepresentationItem);
    }
    return null;
}
Also used : IfcCurve(org.bimserver.models.ifc2x3tc1.IfcCurve) IfcArbitraryClosedProfileDef(org.bimserver.models.ifc2x3tc1.IfcArbitraryClosedProfileDef) IfcRectangleProfileDef(org.bimserver.models.ifc2x3tc1.IfcRectangleProfileDef) IfcArbitraryProfileDefWithVoids(org.bimserver.models.ifc2x3tc1.IfcArbitraryProfileDefWithVoids) Path2D(java.awt.geom.Path2D) IfcTrimmedCurve(org.bimserver.models.ifc2x3tc1.IfcTrimmedCurve) IfcProfileDef(org.bimserver.models.ifc2x3tc1.IfcProfileDef) IfcPolyline(org.bimserver.models.ifc2x3tc1.IfcPolyline) Area(java.awt.geom.Area) EList(org.eclipse.emf.common.util.EList) IfcCompositeCurve(org.bimserver.models.ifc2x3tc1.IfcCompositeCurve) IfcAxis2Placement3D(org.bimserver.models.ifc2x3tc1.IfcAxis2Placement3D) IfcCompositeCurveSegment(org.bimserver.models.ifc2x3tc1.IfcCompositeCurveSegment) IfcCartesianPoint(org.bimserver.models.ifc2x3tc1.IfcCartesianPoint) IfcDirection(org.bimserver.models.ifc2x3tc1.IfcDirection) IfcExtrudedAreaSolid(org.bimserver.models.ifc2x3tc1.IfcExtrudedAreaSolid)

Example 3 with IfcExtrudedAreaSolid

use of org.bimserver.models.ifc2x3tc1.IfcExtrudedAreaSolid in project BIMserver by opensourceBIM.

the class RichIfcModel method createRectangularExtrusionProductRepresentation.

public IfcProductRepresentation createRectangularExtrusionProductRepresentation(double width, double depth, double height) throws IfcModelInterfaceException {
    IfcPolyline ifcPolyline = create(IfcPolyline.class);
    EList<IfcCartesianPoint> points = ifcPolyline.getPoints();
    points.add(createIfcCartesianPoint(0, 0, 0));
    points.add(createIfcCartesianPoint(width, 0, 0));
    points.add(createIfcCartesianPoint(width, depth, 0));
    points.add(createIfcCartesianPoint(0, depth, 0));
    points.add(createIfcCartesianPoint(0, 0, 0));
    IfcArbitraryClosedProfileDef def = create(IfcArbitraryClosedProfileDef.class);
    def.setProfileType(IfcProfileTypeEnum.AREA);
    def.setOuterCurve(ifcPolyline);
    IfcExtrudedAreaSolid extrudedAreaSolid = create(IfcExtrudedAreaSolid.class);
    extrudedAreaSolid.setDepth(height);
    extrudedAreaSolid.setSweptArea(def);
    extrudedAreaSolid.setPosition(createBasicPosition(0, 0, 0));
    extrudedAreaSolid.setExtrudedDirection(createDirection(0, 0, 1));
    IfcProductRepresentation productRepresentation = create(IfcProductRepresentation.class);
    IfcShapeRepresentation shapeRepresentation = create(IfcShapeRepresentation.class);
    if (defaultRepresentationContext != null) {
        shapeRepresentation.setContextOfItems(defaultRepresentationContext);
    }
    shapeRepresentation.setRepresentationType("SweptSolid");
    shapeRepresentation.setRepresentationIdentifier("Body");
    shapeRepresentation.getItems().add(extrudedAreaSolid);
    productRepresentation.getRepresentations().add(shapeRepresentation);
    return productRepresentation;
}
Also used : IfcArbitraryClosedProfileDef(org.bimserver.models.ifc2x3tc1.IfcArbitraryClosedProfileDef) IfcProductRepresentation(org.bimserver.models.ifc2x3tc1.IfcProductRepresentation) IfcCartesianPoint(org.bimserver.models.ifc2x3tc1.IfcCartesianPoint) IfcShapeRepresentation(org.bimserver.models.ifc2x3tc1.IfcShapeRepresentation) IfcExtrudedAreaSolid(org.bimserver.models.ifc2x3tc1.IfcExtrudedAreaSolid) IfcPolyline(org.bimserver.models.ifc2x3tc1.IfcPolyline)

Example 4 with IfcExtrudedAreaSolid

use of org.bimserver.models.ifc2x3tc1.IfcExtrudedAreaSolid in project BIMserver by opensourceBIM.

the class Scaler method setIfcExtrudedAreaSolid.

private void setIfcExtrudedAreaSolid(IdEObject idEObject, float scale) {
    IfcExtrudedAreaSolid ifcExtrudedAreaSolid = (IfcExtrudedAreaSolid) idEObject;
    ifcExtrudedAreaSolid.setDepth(ifcExtrudedAreaSolid.getDepth() * scale);
}
Also used : IfcExtrudedAreaSolid(org.bimserver.models.ifc2x3tc1.IfcExtrudedAreaSolid)

Aggregations

IfcExtrudedAreaSolid (org.bimserver.models.ifc2x3tc1.IfcExtrudedAreaSolid)4 IfcCartesianPoint (org.bimserver.models.ifc2x3tc1.IfcCartesianPoint)3 IfcArbitraryClosedProfileDef (org.bimserver.models.ifc2x3tc1.IfcArbitraryClosedProfileDef)2 IfcPolyline (org.bimserver.models.ifc2x3tc1.IfcPolyline)2 IfcRectangleProfileDef (org.bimserver.models.ifc2x3tc1.IfcRectangleProfileDef)2 Area (java.awt.geom.Area)1 Path2D (java.awt.geom.Path2D)1 IdEObject (org.bimserver.emf.IdEObject)1 IfcArbitraryProfileDefWithVoids (org.bimserver.models.ifc2x3tc1.IfcArbitraryProfileDefWithVoids)1 IfcAsymmetricIShapeProfileDef (org.bimserver.models.ifc2x3tc1.IfcAsymmetricIShapeProfileDef)1 IfcAxis2Placement3D (org.bimserver.models.ifc2x3tc1.IfcAxis2Placement3D)1 IfcBlock (org.bimserver.models.ifc2x3tc1.IfcBlock)1 IfcBoundingBox (org.bimserver.models.ifc2x3tc1.IfcBoundingBox)1 IfcBuilding (org.bimserver.models.ifc2x3tc1.IfcBuilding)1 IfcBuildingStorey (org.bimserver.models.ifc2x3tc1.IfcBuildingStorey)1 IfcCShapeProfileDef (org.bimserver.models.ifc2x3tc1.IfcCShapeProfileDef)1 IfcCenterLineProfileDef (org.bimserver.models.ifc2x3tc1.IfcCenterLineProfileDef)1 IfcChamferEdgeFeature (org.bimserver.models.ifc2x3tc1.IfcChamferEdgeFeature)1 IfcCircle (org.bimserver.models.ifc2x3tc1.IfcCircle)1 IfcCircleHollowProfileDef (org.bimserver.models.ifc2x3tc1.IfcCircleHollowProfileDef)1