Relocating / positioning an IFC file in Bonsai 0.8.1
Hi folks,
Prior to Bonsai 0.8, repositioning an IFC file was quite easy. Now, I miss something trivial.
I have some IFC models in IFC2x3, produced mainly in Revit, and I need to align them with the IFC4 file from Civil3D, which exposes the right coordinates. I have the transposition numbers from Trimble Connect, but I can't find the proper way to apply them. The only place I can alter values is the 'True North' Section. Entering values into the 'Georeferencing Calculator' will set both the 'Local' and 'Map' points to the same values. I think, I need my 'Local coordinates' of the IFC file to be set to the 'Project Origin' coordinates, which should be equal to setting
IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,0.01,#18,#19);
#10= IFCCARTESIANPOINT((0.,0.,0.));
#14= IFCDIRECTION((1.,0.,0.));
#16= IFCDIRECTION((0.,0.,1.));
#18= IFCAXIS2PLACEMENT3D(#10,#16,#14);
to the required coordinates, eg. #10= IFCCARTESIANPOINT((6063318057.0, 584013164.0, 101200.0));
. But maybe I'm digging in the wrong place?
Re-exporting the IFC files is not an option.
Comments
@ejs have you read this?
https://docs.bonsaibim.org/guides/authoring/georeferencing.html
@ejs please see if also this thread might be of help
Sure. And no meaningful results for two hours. I'm trying to keep on IFC2x3 right now, but even when converted to IFC4 its not working as I expect.
For now, I've separated origin point for IFCSITE and IFCBUILDING into a separate point, and left origin points for the other elements in the 0,0,0 or the original positions.
Testing time now. Need to introduce TrueNorth Rotation :)
And that actually worked. The third parameter in IFCAXIS2PLACEMENT3D() is the unit vectors projections to X and Y axes, and may be defined by IFCDIRECTION(). So, add the required base point and rotation to the end of IFC file, find the IFCSITE definition and hack its reference point.
I highly, highly recommend not manually editing the IFC SPF file to change coordinates. Instead, use the SetFalseOrigin recipe in the IfcPatch panel: https://docs.ifcopenshell.org/autoapi/ifcpatch/recipes/SetFalseOrigin/index.html