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);
            }
        }