Ejemplo n.º 1
0
        // Token: 0x060001BE RID: 446 RVA: 0x0000BF44 File Offset: 0x0000A144
        private static double GetRotZ(WireItem wire)
        {
            ItGeVector3d vec = wire.EndPoint - wire.StartPoint;
            double       num = ItGeVector3d.kXAxis.angleTo(vec, ItGeVector3d.kZAxis);

            num = SteelGroupElement.FixAngleRange(num, false);
            return(ItAngle.toDegree(num));
        }
        // Token: 0x0600022E RID: 558 RVA: 0x0000F4DC File Offset: 0x0000D6DC
        protected short GetUnitechnikAngleOfFreeForm(ItGeCurve3d first, out ItGeVector3d normal)
        {
            ItGeVector3d directionFromCurve = SteelGroupElementRebarBase.GetDirectionFromCurve(first);
            double       num = ItGeVector3d.kXAxis.angleTo(directionFromCurve, ItGeVector3d.kZAxis);

            normal = ItGeVector3d.kYAxis.rotateBy(num, ItGeVector3d.kZAxis);
            num    = SteelGroupElement.FixAngleRange(num, false);
            num    = ItAngle.toDegree(num);
            return((short)Math.Round(num, 0));
        }
        // Token: 0x0600021A RID: 538 RVA: 0x0000EC24 File Offset: 0x0000CE24
        private static double FixRotX(double angle, ref bool flipFutureYs)
        {
            angle = SteelGroupElement.FixAngleRange(angle, false);
            bool flag = Math.Abs(angle).Gt(1.5707963267948966, -1.0);

            if (flag)
            {
                angle       -= (double)Math.Sign(angle) * 3.1415926535897931;
                flipFutureYs = !flipFutureYs;
            }
            return(angle);
        }
        // Token: 0x0600020E RID: 526 RVA: 0x0000E48C File Offset: 0x0000C68C
        private void GetRotationsSimple(ItGeVector3d rebarPlaneNormal, ItSegment prevSegment, ItGeVector3d direction, ref bool flipFutureYs, out double rotX, out double bendY)
        {
            ItGeVector3d xvector = prevSegment.XVector;
            ItGeVector3d yvector = prevSegment.YVector;

            rotX = yvector.angleTo(rebarPlaneNormal, xvector);
            rotX = SteelGroupElementRebarBase.FixRotX(rotX, ref flipFutureYs);
            ItGeVector3d refVec = new ItGeVector3d(yvector).rotateBy(rotX, xvector);

            bendY = xvector.angleTo(direction, refVec);
            bendY = SteelGroupElement.FixAngleRange(bendY, flipFutureYs);
        }
        // Token: 0x0600020D RID: 525 RVA: 0x0000E42C File Offset: 0x0000C62C
        private void GetRotationComplex(ItGeVector3d rebarPlaneNormal, ItSegment prevSegment, ItGeVector3d direction, ref bool flipFutureYs, out double rotX, out double bendY)
        {
            ItGeVector3d xvector       = prevSegment.XVector;
            ItGeVector3d yvector       = prevSegment.YVector;
            ItGeVector3d itGeVector3d  = yvector.orthoProject(rebarPlaneNormal);
            ItGeVector3d itGeVector3d2 = direction.crossProduct(rebarPlaneNormal);

            rotX  = itGeVector3d.angleTo(itGeVector3d2, xvector);
            rotX  = SteelGroupElementRebarBase.FixRotX(rotX, ref flipFutureYs);
            bendY = xvector.angleTo(direction, itGeVector3d2);
            bendY = SteelGroupElement.FixAngleRange(bendY, flipFutureYs);
        }
Ejemplo n.º 6
0
        // Token: 0x0600014E RID: 334 RVA: 0x0000A1CC File Offset: 0x000083CC
        private void SortGirders()
        {
            List <FamilyInstance> list = null;           // this.members.OfType<FamilyInstance>().Where(this.AdditionalFilter).ToList<FamilyInstance>();

            foreach (FamilyInstance element in list)
            {
                SteelGroupElement instance = SteelGroupElement.GetInstance(element, this.CNCElementData, this.MatWcsToPalette, this.steelGroupElements);
                bool flag = instance != null;
                if (flag)
                {
                    this.steelGroupElements.Add(instance);
                }
            }
        }
Ejemplo n.º 7
0
        // Token: 0x06000151 RID: 337 RVA: 0x0000A3A4 File Offset: 0x000085A4
        private void SortAreaReinforcement()
        {
            List <RebarInSystem> list = null;           // this.members.OfType<RebarInSystem>().Where(this.AdditionalFilter).ToList<RebarInSystem>();

            foreach (RebarInSystem element in list)
            {
                SteelGroupElement instance = SteelGroupElement.GetInstance(element, this.CNCElementData, this.MatWcsToPalette);
                bool flag = instance != null;
                if (flag)
                {
                    this.steelGroupElements.Add(instance);
                }
            }
        }
Ejemplo n.º 8
0
        // Token: 0x06000150 RID: 336 RVA: 0x0000A30C File Offset: 0x0000850C
        private void SortFabricReinforcement()
        {
            List <FabricSheet> list = null;// (this.members.OfType<FabricSheet>().Where(this.AdditionalFilter)).ToList<FabricSheet>();

            foreach (FabricSheet element in list)
            {
                SteelGroupElement instance = SteelGroupElement.GetInstance(element, this.CNCElementData, this.MatWcsToPalette);
                bool flag = instance != null;
                if (flag)
                {
                    this.steelGroupElements.Add(instance);
                }
            }
        }
Ejemplo n.º 9
0
 // Token: 0x0600017B RID: 379 RVA: 0x0000AAC8 File Offset: 0x00008CC8
 protected static ItReinforcement GetEmptyData(SteelGroupElement steelGroupElement)
 {
     return(new ItReinforcement
     {
         reinforcementType = ReinforcementType.NotDefined,
         LayerPosition = PosReinfLayer.Undefined,
         insertPoint = null,
         owner = -1,
         uniqueOwner = null,
         isIdatCreated = false,
         productType = steelGroupElement.Host.productType(),
         resetWithPart = false,
         hostMayNotBeNull = true
     });
 }
Ejemplo n.º 10
0
        // Token: 0x06000235 RID: 565 RVA: 0x0000F570 File Offset: 0x0000D770
        internal new static SteelGroupElementMeshSFS GetInstance(RevitElement <FabricSheet> fabricSheet, ItMachineDataBase.CNCElementData cncElementData, ItGeMatrix3d matWcsToPalette)
        {
            bool flag = fabricSheet.IsInvalid() || SteelGroupElementMeshBase.IsCFS(fabricSheet);
            SteelGroupElementMeshSFS result;

            if (flag)
            {
                result = null;
            }
            else
            {
                FabricSheetType          sheetType = SteelGroupElementMeshBase.GetSheetType(fabricSheet.Element);
                SteelGroupElementMeshSFS steelGroupElementMeshSFS = new SteelGroupElementMeshSFS(cncElementData, matWcsToPalette);
                steelGroupElementMeshSFS.FabricSheet = fabricSheet;
                steelGroupElementMeshSFS.Host        = fabricSheet.Element.getHostingPart();
                bool flag2 = steelGroupElementMeshSFS.Host == null;
                if (flag2)
                {
                    result = null;
                }
                else
                {
                    steelGroupElementMeshSFS.FabricArea = (fabricSheet.Document.GetElement(fabricSheet.Element.FabricAreaOwnerId) as FabricArea);
                    SteelGroupElement         steelGroupElement = steelGroupElementMeshSFS;
                    RevitElement <FabricArea> fabricArea        = steelGroupElementMeshSFS.FabricArea;
                    steelGroupElement.Data = (((fabricArea != null) ? fabricArea.load <ItReinforcement>(null, false) : null) ?? SteelGroupElement.GetEmptyData(steelGroupElementMeshSFS));
                    steelGroupElementMeshSFS.WireItemsMajor  = steelGroupElementMeshSFS.getWireItems(fabricSheet.Element, 0, sheetType).ToList <WireItem>();
                    steelGroupElementMeshSFS.WireItemsMinor  = steelGroupElementMeshSFS.getWireItems(fabricSheet.Element, (WireDistributionDirection)1, sheetType).ToList <WireItem>();
                    steelGroupElementMeshSFS._type           = 1;
                    steelGroupElementMeshSFS.Count           = 1;
                    steelGroupElementMeshSFS.Weight          = SteelGroupElementMeshSFS.GetWeight(fabricSheet.Element);
                    steelGroupElementMeshSFS._name           = fabricSheet.Element.Name;
                    steelGroupElementMeshSFS._typeId         = fabricSheet.Element.GetTypeId();
                    steelGroupElementMeshSFS.MatWcsToPalette = ItGeMatrix3d.kIdentity;
                    steelGroupElementMeshSFS.PosPalette      = ItGePoint3d.kOrigin;
                    steelGroupElementMeshSFS.SetMinMaxZ();
                    steelGroupElementMeshSFS.SetGroup();
                    result = steelGroupElementMeshSFS;
                }
            }
            return(result);
        }
Ejemplo n.º 11
0
        // Token: 0x060001D9 RID: 473 RVA: 0x0000CC6C File Offset: 0x0000AE6C
        private short GetUnitechnikAngleOfNextSegment(ItGeCurve3d thisCurve, ItGeCurve3d nextCurve, ItGeVector3d normal)
        {
            bool  flag = nextCurve == null;
            short result;

            if (flag)
            {
                result = 0;
            }
            else
            {
                ItGeVector3d directionFromCurve  = SteelGroupElementRebarBase.GetDirectionFromCurve(thisCurve);
                ItGeVector3d directionFromCurve2 = SteelGroupElementRebarBase.GetDirectionFromCurve(nextCurve);
                double       num = directionFromCurve.angleTo(directionFromCurve2, normal);
                num = SteelGroupElement.FixAngleRange(num, false);
                num = ItAngle.toDegree(num);
                short num2 = (short)Math.Round(num, 0);
                result = num2;
            }
            return(result);
        }
Ejemplo n.º 12
0
        // Token: 0x060001D2 RID: 466 RVA: 0x0000C41C File Offset: 0x0000A61C
        internal new static SteelGroupElementRebar GetInstance(RevitElement <Rebar> rebar, ItMachineDataBase.CNCElementData cncElementData, ItGeMatrix3d matWcsToPalette, List <SteelGroupElement> existingElements)
        {
            bool flag = rebar.IsInvalid() || !SteelGroupElementRebar.CanBeExported(rebar);
            SteelGroupElementRebar result;

            if (flag)
            {
                result = null;
            }
            else
            {
                SteelGroupElementRebar steelGroupElementRebar = new SteelGroupElementRebar(cncElementData, matWcsToPalette);
                steelGroupElementRebar.Rebar = rebar;
                steelGroupElementRebar.Host  = rebar.Element.getHostingPart();
                bool flag2 = steelGroupElementRebar.Host == null;
                if (flag2)
                {
                    result = null;
                }
                else
                {
                    steelGroupElementRebar.RebarBarType = (rebar.Document.GetElement(rebar.Element.GetTypeId()) as RebarBarType);
                    steelGroupElementRebar.Data         = (rebar.load <ItReinforcement>(null, false) ?? SteelGroupElement.GetEmptyData(steelGroupElementRebar));
                    bool flag3;
                    steelGroupElementRebar.IronSetsSchematic           = rebar.Element.getIronSets(out flag3, RebarMode.Schematic, false);
                    steelGroupElementRebar.IronSetsSchematicAreInvalid = flag3;
                    steelGroupElementRebar.IronSetsRealistic           = rebar.Element.getIronSets(out flag3, RebarMode.Realistic, false);
                    steelGroupElementRebar.IronSetsRealisticAreInvalid = flag3;
                    steelGroupElementRebar.TransformToPalette();
                    steelGroupElementRebar.SetMinMaxZ(steelGroupElementRebar.IronSetsRealistic);
                    steelGroupElementRebar.SetGroup(existingElements);
                    result = steelGroupElementRebar;
                }
            }
            return(result);
        }
Ejemplo n.º 13
0
        // Token: 0x06000197 RID: 407 RVA: 0x0000B1A4 File Offset: 0x000093A4
        internal new static SteelGroupElementMeshCFS GetInstance(RevitElement <FabricSheet> fabricSheet, ItMachineDataBase.CNCElementData cncElementData, ItGeMatrix3d matWcsToPalette)
        {
            bool flag = fabricSheet.IsInvalid() || !SteelGroupElementMeshBase.IsCFS(fabricSheet);
            SteelGroupElementMeshCFS result;

            if (flag)
            {
                result = null;
            }
            else
            {
                FabricSheetType          sheetType = SteelGroupElementMeshBase.GetSheetType(fabricSheet.Element);
                SteelGroupElementMeshCFS steelGroupElementMeshCFS = new SteelGroupElementMeshCFS(cncElementData, matWcsToPalette);
                steelGroupElementMeshCFS.FabricSheet = fabricSheet;
                steelGroupElementMeshCFS.Host        = fabricSheet.Element.getHostingPart();
                bool flag2 = steelGroupElementMeshCFS.Host == null;
                if (flag2)
                {
                    result = null;
                }
                else
                {
                    steelGroupElementMeshCFS.FabricArea = (fabricSheet.Document.GetElement(fabricSheet.Element.FabricAreaOwnerId) as FabricArea);
                    SteelGroupElement         steelGroupElement = steelGroupElementMeshCFS;
                    RevitElement <FabricArea> fabricArea        = steelGroupElementMeshCFS.FabricArea;
                    steelGroupElement.Data                  = (((fabricArea != null) ? fabricArea.load <ItReinforcement>(null, false) : null) ?? SteelGroupElement.GetEmptyData(steelGroupElementMeshCFS));
                    steelGroupElementMeshCFS._cfsName       = sheetType.Name;
                    steelGroupElementMeshCFS.WireItemsMajor = steelGroupElementMeshCFS.getWireItems(fabricSheet.Element, (WireDistributionDirection)0, sheetType).ToList <WireItem>();
                    steelGroupElementMeshCFS.WireItemsMinor = steelGroupElementMeshCFS.getWireItems(fabricSheet.Element, (WireDistributionDirection)1, sheetType).ToList <WireItem>();
                    ItGeBoundBlock3d itGeBoundBlock3d = SteelGroupElementMeshCFS.sheetLocalExtents(steelGroupElementMeshCFS.WireItemsMajor, steelGroupElementMeshCFS.WireItemsMinor);
                    bool             flag3            = itGeBoundBlock3d == null;
                    if (flag3)
                    {
                        result = null;
                    }
                    else
                    {
                        steelGroupElementMeshCFS.PosPalette  = itGeBoundBlock3d.minPoint;
                        steelGroupElementMeshCFS._maxLength  = itGeBoundBlock3d.length;
                        steelGroupElementMeshCFS._maxWidth   = itGeBoundBlock3d.width;
                        steelGroupElementMeshCFS._toTurn     = 0;
                        steelGroupElementMeshCFS._stopOnTurn = 0;
                        steelGroupElementMeshCFS._matType    = 0;
                        steelGroupElementMeshCFS.WireItemsMajor.ForEach(delegate(WireItem item)
                        {
                            item.transformToSteelmat();
                        });
                        steelGroupElementMeshCFS.WireItemsMinor.ForEach(delegate(WireItem item)
                        {
                            item.transformToSteelmat();
                        });
                        bool flag4 = steelGroupElementMeshCFS.Data.LayerPosition == PosReinfLayer.Undefined;
                        if (flag4)
                        {
                            steelGroupElementMeshCFS.SetLayerPositionFromCFS();
                        }
                        steelGroupElementMeshCFS.SetMinMaxZ();
                        steelGroupElementMeshCFS.SetGroup();
                        result = steelGroupElementMeshCFS;
                    }
                }
            }
            return(result);
        }
Ejemplo n.º 14
0
        // Token: 0x060001C3 RID: 451 RVA: 0x0000C02C File Offset: 0x0000A22C
        private static ItReinforcement GetReinforcementDataInstance(RevitElement <FamilyInstance> girder, SteelGroupElementGirder result)
        {
            ItReinforcement itReinforcement = girder.load <ItReinforcement>(null, false) ?? SteelGroupElement.GetEmptyData(result);
            bool            flag            = SteelGroupElementGirder.IsManualGirder(girder, itReinforcement);

            if (flag)
            {
                itReinforcement = SteelGroupElementGirder.GetManualGirderData(girder);
            }
            return(itReinforcement);
        }
Ejemplo n.º 15
0
        // Token: 0x0600018D RID: 397 RVA: 0x0000ACEC File Offset: 0x00008EEC
        internal new static SteelGroupElementAreaReinf GetInstance(RevitElement <RebarInSystem> rebarInSystem, ItMachineDataBase.CNCElementData cncElementData, ItGeMatrix3d matWcsToPalette)
        {
            bool flag = rebarInSystem.IsInvalid();
            SteelGroupElementAreaReinf result;

            if (flag)
            {
                result = null;
            }
            else
            {
                SteelGroupElementAreaReinf steelGroupElementAreaReinf = new SteelGroupElementAreaReinf(cncElementData, matWcsToPalette);
                steelGroupElementAreaReinf.RebarInSystem = rebarInSystem;
                steelGroupElementAreaReinf.Host          = rebarInSystem.Element.getHostingPart();
                bool flag2 = steelGroupElementAreaReinf.Host == null;
                if (flag2)
                {
                    result = null;
                }
                else
                {
                    steelGroupElementAreaReinf.AreaReinforcement = (rebarInSystem.Document.GetElement(rebarInSystem.Element.SystemId) as AreaReinforcement);
                    steelGroupElementAreaReinf.RebarBarType      = (rebarInSystem.Document.GetElement(rebarInSystem.Element.GetTypeId()) as RebarBarType);
                    steelGroupElementAreaReinf.Data = (steelGroupElementAreaReinf.AreaReinforcement.load <ItReinforcement>(null, false) ?? SteelGroupElement.GetEmptyData(steelGroupElementAreaReinf));
                    steelGroupElementAreaReinf.IronSetsSchematic = rebarInSystem.Element.getIronSets(RebarMode.Schematic);
                    steelGroupElementAreaReinf.IronSetsRealistic = rebarInSystem.Element.getIronSets(RebarMode.Realistic);
                    steelGroupElementAreaReinf.TransformToPalette();
                    steelGroupElementAreaReinf.SetMinMaxZ(steelGroupElementAreaReinf.IronSetsRealistic);
                    steelGroupElementAreaReinf.SetGroup();
                    result = steelGroupElementAreaReinf;
                }
            }
            return(result);
        }