override protected void Process(IFCAnyHandle solid) { base.Process(solid); // We will not fail if the axis is not given, but instead assume it to be the identity in the LCS. IFCAnyHandle axis = IFCImportHandleUtil.GetRequiredInstanceAttribute(solid, "Axis", false); if (axis != null) { Axis = IFCLocation.ProcessIFCAxis1Placement(axis); } else { Axis = Transform.Identity; } bool found = false; Angle = IFCImportHandleUtil.GetRequiredScaledAngleAttribute(solid, "Angle", out found); // TODO: IFCImportFile.TheFile.Document.Application.IsValidAngle(Angle) if (!found || Angle < MathUtil.Eps()) { Importer.TheLog.LogError(solid.StepId, "revolve angle is invalid, aborting.", true); } }