// ********** The Root Element ***********
Entity BIMProject;
Entity Object;
Name: String; //Name of entity
END_Entity;
// ********** The 4 SpatialStructure Classes ***********
Entity BIMSite;
Entity Object;
Name: String; //Name of entity
PSet: PSet; //Property Set of this Object
Entity Product;
Placement: Placement; //Placement of this entity
Representation: Representation; //Representation of this entity
Entity SpatialStructure;
[List of any other SpatialStructure Entity]; //a list of any SpatialStructure can be appended here
[List of any other BldgElement Entity]; //a list of any BldgElement can be appended here
Entity BIMSite;
END_Entity;
Entity BIMBldg;
Entity Object;
Name: String; //Name of entity
PSet: PSet; //Property Set of this Object
Entity Product;
Placement: Placement; //Placement of this entity
Entity SpatialStructure;
[List of any other SpatialStructure Entity]; //a list of any SpatialStructure can be appended here
[List of any other BldgElement Entity]; //a list of any BldgElement can be appended here
Entity BIMBldg;
END_Entity;
Entity BIMFloor;
Entity Object;
Name: String; //Name of entity
PSet: PSet; //Property Set of this Object
Entity Product;
Placement : Placement; //Placement of this entity
Note: the Placement of BIMFloor can only have a Z value - all other values are zero
Representation: Representation; //Representation of this entity
Entity SpatialStructure;
[List of any other SpatialStructure Entity]; //a list of any SpatialStructure can be appended here
[List of any other BldgElement Entity]; //a list of any BldgElement can be appended here
Entity BIMFloor;
FloorIndex: uint; //Floor Index
FloorHeight: double; //Floor to Floor Height
END_Entity;
Entity BIMSpace;
Entity Object;
Name: String; //Name of entity
PSet: PSet; //Property Set of this Object
Entity Product;
Placement : Placement; //Placement of this entity
Representation: Representation; //Representation of this entity
Entity SpatialStructure;
[List of any other SpatialStructure Entity]; //a list of any SpatialStructure can be appended here
[List of any other BldgElement Entity]; //a list of any BldgElement can be appended here
Entity BIMSpace;
CATName:String //Name of the Category Name of a space entry , must present here in this version, can be set as empty string
CATCode:String //Code of the Category Name of a space entry , must present here in this version, can be set as empty string
END_Entity;
//*********** End of the 4 Spatial Structure Classes **************/
//**************** BldgElement Class**********************/
Entity BIMSlab;
Entity Object;
Name: String; //Name of entity
PSet: PSet; //Property Set of this Object
Entity Product;
Placement : Placement; //Placement of this entity
Representation: Representation; //Representation of this entity
Entity BldgElement;
Entity BIMSlab;
END_Entity;
Entity BIMFurn;
Entity Object;
Name: String; //Name of entity
PSet: PSet; //Property Set of this Object
Entity Product;
Placement : Placement; //Placement of this entity
Representation: Representation; //Representation of this entity
Entity BldgElement;
Entity BIMFurn;
END_Entity;
//**************** End of the BldgElement Class ****************/
//*********** PSet related Class*********************/
Entity PSet
Entity PSet;
[List of PSetAttrib: PSetAttrib ]; //A List of PSetAttrib, the list can be a mix of simple Attribute : Attrib and complex Attribute: ComplexAttrib
EndEntity;
Entity Attrib;
Entity PSetAttrib;
Entity Attrib;
Name: String; //Name of this PSet Attribute
Value: String; //Value of this PSet Attribute
EndEntity;
Entity ComplexAttrib;
Entity PSetAttrib;
Entity ComplexAttrib;
Name: String; //Name of this ComplexAttrib Attribue
[List of PSetAttrib: PSetAttrib ]; //A List of PSetAttrib, the list can be a mix of simple Attribute : Attrib and complex Attribute: ComplexAttrib
EndEntity;
//Note that ComplexAttrib is for Array type of Pset Attribute, usage example is as follow:
For One dimension array, the XML is set like this:
Note that the "Name" of should match with the name of the parameter of the Space/Object.
For each of the inside this , the "Name" of will be the row number, and the will be its value.
So the above example will push parameters to an Array param called "testArray_1D" like this:
testArray_1D[1]="D"
testArray_1D[2]="E"
testArray_1D[3]="F"
For Two dimensional array, the XML is set like this:
Note that the "Name" of first should match with the name of the parameter of the Space/Object.
In the next level of , its "Name" will be the Column number of the array.
Then for each of the inside this , the "Name" of will be the row number, and the will be its value.
So the above example will push parameters to an Array param called "testArray_2D" like this:
testArray_2D[1][1]="1"
testArray_2D[2][1]="3"
testArray_2D[3][1]="5"
testArray_2D[1][2]="2"
testArray_2D[2][2]="4"
testArray_2D[3][2]="6"
//************ End of PSet related class************/
//*********** Geometry Structure Class **************/
Entity Placement;
Entity Placement;
Rotation:double; //Rotation Angle, in radian
MirrorY:Boolean; //Is it being mirror in Y Axis , this is only used for furnishing element and is irrelevant with the SpatialStructure classes
x: double; //x coordinate of the placement;
y: double; //y coordinate of the placement;
z: double; //z coordinate of the placement;
END_Entity;
Entity ExtrudedAreaSolid;
Entity Representation;
Entity ExtrudedAreaSolid;
Depth: double ; // Depth of the extrusion
[List of CurveProfile]; // 1st CurveProfile is the outter profile of this extrusion| Addition CurveProfile is the inner profile (holes) of this extrusion
END_Entity;
Entity CurveProfile;
Entity Representaion;
Entity CurveProfile;
[List of Points];
[List of Arcs];
EndEntity;
Entity Points;
Entity Representation;
Entity Points;
[List of
x: double; //X coordinates of Point
y: double; //Y coordinates of Point
] //Build the Points Entity list like x1,y1,;x2,y2;x3,y3 etc
EndEntity;
Entity Arcs;
Entity Representation;
Entity Arcs;
[List of
Start Point Index: uint; //Starting Point index of this Arc
centerX:double; X coordinate of the center of this arc
centerY:double; Y coordinate of the center of this arc
bIsAntiClockwise:boolean; is this arc Anticlockwise, 0=false (clockwise), 1=true (anitclockwise)
EndEntity;
//*********** End of Geometry Structure class **************/