use of org.bimserver.models.ifc2x3tc1.IfcGeometricRepresentationContext in project BIMserver by opensourceBIM.
the class RichIfcModel method createDefaultProjectStructure.
public IfcBuilding createDefaultProjectStructure() throws IfcModelInterfaceException {
IfcPerson person = create(IfcPerson.class);
IfcOrganization organization = create(IfcOrganization.class);
organization.setName("Required");
IfcPersonAndOrganization owningUser = create(IfcPersonAndOrganization.class);
owningUser.setTheOrganization(organization);
owningUser.setThePerson(person);
IfcOrganization developer = create(IfcOrganization.class);
developer.setName("Required");
IfcApplication application = create(IfcApplication.class);
application.setApplicationDeveloper(developer);
application.setApplicationFullName("Required");
application.setApplicationIdentifier("Required");
application.setVersion("1.0");
IfcOwnerHistory ownerHistory = create(IfcOwnerHistory.class);
ownerHistory.setChangeAction(IfcChangeActionEnum.ADDED);
ownerHistory.setCreationDate(System.currentTimeMillis() / 1000);
ownerHistory.setOwningApplication(application);
ownerHistory.setOwningUser(owningUser);
setDefaultOwnerHistory(ownerHistory);
IfcAxis2Placement3D contextAxisPlacement = create(IfcAxis2Placement3D.class);
contextAxisPlacement.setLocation(createIfcCartesianPoint(0, 0, 0));
IfcGeometricRepresentationContext representationContext = create(IfcGeometricRepresentationContext.class);
representationContext.setCoordinateSpaceDimension(3);
representationContext.setPrecision(0.00001);
representationContext.setWorldCoordinateSystem(contextAxisPlacement);
representationContext.setContextType("Model");
setDefaultRepresentationContext(representationContext);
IfcUnitAssignment ifcUnitAssigment = create(IfcUnitAssignment.class);
ifcUnitAssigment.getUnits().add(createIfcSiUnit(IfcUnitEnum.LENGTHUNIT, IfcSIPrefix.MILLI, IfcSIUnitName.METRE));
ifcUnitAssigment.getUnits().add(createIfcSiUnit(IfcUnitEnum.VOLUMEUNIT, IfcSIPrefix.NULL, IfcSIUnitName.CUBIC_METRE));
ifcUnitAssigment.getUnits().add(createIfcSiUnit(IfcUnitEnum.PLANEANGLEUNIT, IfcSIPrefix.NULL, IfcSIUnitName.RADIAN));
ifcUnitAssigment.getUnits().add(createIfcSiUnit(IfcUnitEnum.SOLIDANGLEUNIT, IfcSIPrefix.NULL, IfcSIUnitName.STERADIAN));
ifcUnitAssigment.getUnits().add(createIfcSiUnit(IfcUnitEnum.MASSUNIT, IfcSIPrefix.NULL, IfcSIUnitName.GRAM));
ifcUnitAssigment.getUnits().add(createIfcSiUnit(IfcUnitEnum.TIMEUNIT, IfcSIPrefix.NULL, IfcSIUnitName.SECOND));
ifcUnitAssigment.getUnits().add(createIfcSiUnit(IfcUnitEnum.THERMODYNAMICTEMPERATUREUNIT, IfcSIPrefix.NULL, IfcSIUnitName.DEGREE_CELSIUS));
ifcUnitAssigment.getUnits().add(createIfcSiUnit(IfcUnitEnum.LUMINOUSINTENSITYUNIT, IfcSIPrefix.NULL, IfcSIUnitName.LUMEN));
IfcProject ifcProject = create(IfcProject.class);
ifcProject.getRepresentationContexts().add(representationContext);
ifcProject.setUnitsInContext(ifcUnitAssigment);
ifcProject.setName("Demo Project");
IfcSite ifcSite = create(IfcSite.class);
ifcSite.setCompositionType(IfcElementCompositionEnum.ELEMENT);
ifcSite.setName("Default site");
IfcBuilding ifcBuilding = create(IfcBuilding.class);
ifcBuilding.setCompositionType(IfcElementCompositionEnum.ELEMENT);
ifcBuilding.setName("Default building");
addDecomposes(ifcProject, ifcSite);
addDecomposes(ifcSite, ifcBuilding);
return ifcBuilding;
}
Aggregations