When geometries are being reused by mapping and placed using IfcAxis2Placement3D, they might be scaled incorrectly if Axis or RefDirection aren't normalized vectors.
DirectionRatios for axis and direction needs to be normalized here:
|
List<Double> axisDirectionRatios = (List<Double>) axis.get("DirectionRatios"); |
|
List<Double> directionDirectionRatios = (List<Double>) direction.get("DirectionRatios"); |
Can't share the model this happened with, but I can try to recreate a simple example with two cubes.
Axis and RefDirection looked like this:
#50313=IFCDIRECTION((0.,0.,110.))