Open JohnO3535 opened 4 years ago
This is hard to tell when we don't see the actual numbers.
There are a lot of numbers for the direction and stuff. But basically the origin for each wall is (0, -762.0, 0). The ax3D.axis for all walls is (0,0,1). The RefDirections are (1,0,0), (0,-1,0), (-1,0,0) and (0,1,0). I think that is all of the numbers involved other than the various wall lengths. But that doesn't factor in here. The only numbers that changed in the "good" picture are the origins. They were all (0, 0, 0). I want all the corners to meet like they do in that first picture. Just not in what I think is the center of the model.
But to give you everything, here is the ifc file. Thanks for your help. TestBuilding.ifc.txt
I think I now have a better example. In this file I have 4 walls of varying heights and lengths. I believe I have lined them up so that they form 1 long wall as shown in sketchup here:
The tallest wall is 5000 mm wide and set at coordinates 0,0,0. The next wall is 15000 mm wide and set at coordinates 5000,0,0. The next wall is 5000 mm wide and set at coordinates 20000,0,0. The final wall is 15000 mm wide and set at coordinates 25000,0,0.
However, if I create 4 IFCWALL objects and place them at (0,0,0), (5000,0,0), (20000,0,0), (25000,0,0) they line up like this in BIMVision:
And the part I really do not understand is, in BIMVision's location tab under the Geometry heading, the values for Global X for my walls are -10000, -5000, 15000 and 10000. Based on those values, I see why the walls line up like they do. But I have no idea where these numbers are coming from.
I attached a copy of the IFC file (renamed to with a .txt extension since I cannot attach IFC files). Any insights into why the walls do not line up like the sketchup example would be greatly appreciated.
Hi @JohnO3535,
there are multiple issues. If you try to open your model with Xbim nothing shows up. However BIMvision seems to hava a deeper imagination and a better guess on missing information...
First, some instances are missing. It seems you haven't properly saved/stored the models transaction. Instance 762 and 768 seem to be missing owner history entries. Instance 200 is an orphan ... don't know where it belongs to ...
At a first check, the wall placements are rooted. Means, they don't have a placement transform parent. Guess it should be the one of the building storey (instance 38). After all there are still validation errors (see below).
Both parts of the transform - rotation and translation - performed within matrix operations using the placements direction and reference direction (unit direction vectors). Based on the homogenous transformation approach, the rotation part is applied first for each source coordinate and than shifted by the translation part. Building scene graphs by hand isn't easy ...
Entity #48 (IfcLocalPlacement) has validation failures.
IfcLocalPlacement.PlacesObject: Must have at least 1 item(s). It has 0 or more.
Entity #235 (IfcLocalPlacement) has validation failures.
IfcLocalPlacement.PlacesObject: Must have at least 1 item(s). It has 0 or more.
Entity #848 (IfcExtrudedAreaSolid) has validation failures.
IfcExtrudedAreaSolid.Position is not optional.
Entity #849 (IfcShapeRepresentation) has validation failures.
IfcShapeRepresentation.ContextOfItems is not optional.
Issue of type EntityWhereClauses on IfcShapeRepresentation.WR21.
Entity #937 (IfcExtrudedAreaSolid) has validation failures.
IfcExtrudedAreaSolid.Position is not optional.
Entity #938 (IfcShapeRepresentation) has validation failures.
IfcShapeRepresentation.ContextOfItems is not optional.
Issue of type EntityWhereClauses on IfcShapeRepresentation.WR21.
Entity #1026 (IfcExtrudedAreaSolid) has validation failures.
IfcExtrudedAreaSolid.Position is not optional.
Entity #1027 (IfcShapeRepresentation) has validation failures.
IfcShapeRepresentation.ContextOfItems is not optional.
Issue of type EntityWhereClauses on IfcShapeRepresentation.WR21.
Entity #1115 (IfcExtrudedAreaSolid) has validation failures.
IfcExtrudedAreaSolid.Position is not optional.
Entity #1116 (IfcShapeRepresentation) has validation failures.
IfcShapeRepresentation.ContextOfItems is not optional.
Issue of type EntityWhereClauses on IfcShapeRepresentation.WR21.
I am wondering how to properly place walls within my my model if I am starting from scratch. I thought that you used "local" coordinates to draw the polyline that defines the extrusion. (For example, every wall I draw has a starting coordinate of 0,0,0).
Then once the shape is defined I thought it was placed with by setting the wall's ObjectPlacement property like so...
However, this only works when I place walls at 0,0,0 in the model. If they are offset, then my results are skewed. The farther away from 0,0,0 I get, the worse things look.
Here is a look at the model if I place all of the walls at origin 0,0,0:
And here is a look at the model if I offset the origin to 0,762,0 (762 is the width of the wall)
Can anyone tell me what I am doing wrong? Thanks in advance for your help.