// 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);
        }
예제 #2
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);
        }
예제 #3
0
        // Token: 0x060001C2 RID: 450 RVA: 0x0000BF9C File Offset: 0x0000A19C
        internal new static SteelGroupElementGirder GetInstance(RevitElement <FamilyInstance> girder, ItMachineDataBase.CNCElementData cncElementData, ItGeMatrix3d matWcsToPalette, List <SteelGroupElement> existingElements)
        {
            bool flag = girder.IsInvalid();
            SteelGroupElementGirder result;

            if (flag)
            {
                result = null;
            }
            else
            {
                SteelGroupElementGirder steelGroupElementGirder = new SteelGroupElementGirder(cncElementData, matWcsToPalette);
                steelGroupElementGirder.Girder = girder;
                steelGroupElementGirder.Host   = girder.Element.getHostingPart();
                bool flag2 = steelGroupElementGirder.Host == null;
                if (flag2)
                {
                    result = null;
                }
                else
                {
                    steelGroupElementGirder.Data = SteelGroupElementGirder.GetReinforcementDataInstance(girder, steelGroupElementGirder);
                    bool flag3 = !SteelGroupElementGirder.IsGirderData(steelGroupElementGirder.Data);
                    if (flag3)
                    {
                        result = null;
                    }
                    else
                    {
                        steelGroupElementGirder.SetMinMaxZ();
                        steelGroupElementGirder.SetGroup();
                        result = steelGroupElementGirder;
                    }
                }
            }
            return(result);
        }
예제 #4
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);
        }
예제 #5
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);
        }
예제 #6
0
        // Token: 0x06000042 RID: 66 RVA: 0x00003AB0 File Offset: 0x00001CB0
        public ItBracedGirderData(RevitElement <FamilyInstance> famInst, ItGeMatrix3d matWcsToPalette, double minZOfPartOnPalette)
        {
            bool flag = famInst.IsInvalid() || famInst.Element.Symbol.isNull() || matWcsToPalette.isNull();

            if (flag)
            {
                ItDebug.assert(false, "Constructor");
            }
            else
            {
                this.famInst = famInst;
                LocationCurve locationCurve = famInst.isNotNull() ? (famInst.Element.Location as LocationCurve) : null;
                bool          flag2         = locationCurve.isNull() || locationCurve.Curve.isNull() || !locationCurve.Curve.IsBound || locationCurve.Curve.Length.Eq(0.0, -1.0);
                if (flag2)
                {
                    ItDebug.assert(false, "Location of the girder is not a Curve Type or other geometric inconsistency");
                }
                else
                {
                    ItGeMatrix3d     mat              = matWcsToPalette * famInst.Element.ecs();
                    ItGeBoundBlock3d localExtents     = famInst.Element.getLocalExtents();
                    ItGeBoundBlock3d itGeBoundBlock3d = localExtents.transformBy(mat);
                    localExtents.transformBy(mat);
                    this.installationHeight = itGeBoundBlock3d.minPoint.z - minZOfPartOnPalette;
                    this.height             = itGeBoundBlock3d.maxPoint.z - itGeBoundBlock3d.minPoint.z;
                    XYZ point  = locationCurve.Curve.Evaluate(0.0, true);
                    XYZ point2 = locationCurve.Curve.Evaluate(1.0, true);
                    this.midline = new ItGeLineSeg3d(point.asPoint(), point2.asPoint());
                    this.midline.transformBy(matWcsToPalette);
                    bool flag3 = this.midline.startPoint.x.Eq(this.midline.endPoint.x, -1.0);
                    if (flag3)
                    {
                        bool flag4 = this.midline.startPoint.y > this.midline.endPoint.y;
                        if (flag4)
                        {
                            this.midline.reverseParam();
                        }
                    }
                    else
                    {
                        bool flag5 = this.midline.startPoint.y.Eq(this.midline.endPoint.y, -1.0);
                        if (flag5)
                        {
                            bool flag6 = this.midline.startPoint.x > this.midline.endPoint.x;
                            if (flag6)
                            {
                                this.midline.reverseParam();
                            }
                        }
                    }
                    Parameter parameter  = famInst.Element.Symbol.getParameter(ItBracedGirderData._lclParamHeight, true);
                    Parameter parameter2 = famInst.Element.Symbol.getParameter(ItBracedGirderData._lclParamLinealWeight, true);
                    Parameter parameter3 = famInst.Element.Symbol.getParameter(ItBracedGirderData._lclParamUpperChordDiam, true);
                    bool      flag7      = parameter.isNotNull();
                    if (flag7)
                    {
                        this.height = parameter.AsDouble();
                    }
                    bool flag8 = parameter2.isNotNull();
                    if (flag8)
                    {
                        this.linealWeight = parameter2.AsDouble();
                    }
                    bool flag9 = parameter3.isNotNull();
                    if (flag9)
                    {
                        this.upperChordDiameter = parameter3.AsDouble();
                    }
                }
            }
        }