// Token: 0x0600014A RID: 330 RVA: 0x00009FF0 File Offset: 0x000081F0 internal ReinfSorter(AssemblyInstance assembly, ItMachineDataBase.CNCElementData cncElementData, ItGeMatrix3d matWcsToPalette, Func <Element, bool> additionalFilter) { this.CNCElementData = cncElementData; this.MatWcsToPalette = matWcsToPalette; this.AdditionalFilter = additionalFilter; ICollection <ElementId> memberIds = assembly.GetMemberIds(); this.members = (from id in memberIds select assembly.Document.GetElement(id)).ToList <Element>(); this.steelGroupElements = new List <SteelGroupElement>(); }
// Token: 0x06000005 RID: 5 RVA: 0x000023A8 File Offset: 0x000005A8 private static string ExportReinforcementToUnitechnik(AssemblyInstance assembly, FileFormat fileFormat, ICollection <ExportReinfData> exportedElements, Func <Element, bool> filter) { ICamExportIntOptions options = new CamExporter.CamExportOptionsOnlyFileFormat(fileFormat); ItMachineDataBase cncdocCreator = ItCNCDataFactory.getCNCDocCreator(assembly, options); cncdocCreator.InitializeFromAssembly(assembly); ItGeMatrix3d matWcsToPalette = cncdocCreator.MatWcsToPalette; ItMachineDataBase.CNCElementData cncelementData = new ItMachineDataBase.CNCElementData(); ILookup <SteelGroup, SteelGroupElement> steelGroups; using (ItTransaction itTransaction = ItTransactionManager.Instance.start(assembly.Document, "RevitPrecast Internal Transaction", null)) { ReinfSorter reinfSorter = new ReinfSorter(assembly, cncelementData, matWcsToPalette, filter); reinfSorter.SortElements(); steelGroups = reinfSorter.GetSteelGroups(); itTransaction.rollback("Planned rollback."); } short iVersion = (fileFormat == FileFormat.Unitechnik52) ? (short)502 : (short)600; ItUniWrapperImpl.StartDocument(1, 1, ProjectCoordinates.Empty, iVersion, "", 1.0, true); ItUniWrapperImpl.AddLayer(0, 1.0, 1.0, 1.0, "x"); foreach (IGrouping <SteelGroup, SteelGroupElement> grouping in steelGroups) { grouping.Key.WriteUnitechnik(exportedElements); } ItMachineDataBase.UnitechnikWriteMountingPartData(cncelementData); ItMachineDataBase.UnitechnikWriteBRGirdersData(cncelementData); string fullReinforcementString = ItUniWrapperImpl.GetFullReinforcementString(); bool flag = fullReinforcementString.Contains("ERROR"); if (flag) { throw new CamExportException(fullReinforcementString); } return(fullReinforcementString); }
// 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); }
// Token: 0x060001D1 RID: 465 RVA: 0x0000ACDE File Offset: 0x00008EDE internal SteelGroupElementRebar(ItMachineDataBase.CNCElementData cncElementData, ItGeMatrix3d matWcsToPalette) : base(cncElementData, matWcsToPalette) { }
// 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); }
// 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); }
// 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); }
// Token: 0x06000179 RID: 377 RVA: 0x0000AA78 File Offset: 0x00008C78 internal static SteelGroupElement GetInstance(RevitElement <RebarInSystem> rebarInSystem, ItMachineDataBase.CNCElementData cncElementData, ItGeMatrix3d matWcsToPalette) { return(SteelGroupElementAreaReinf.GetInstance(rebarInSystem, cncElementData, matWcsToPalette)); }
// Token: 0x06000178 RID: 376 RVA: 0x0000AA58 File Offset: 0x00008C58 internal static SteelGroupElement GetInstance(RevitElement <Rebar> rebar, ItMachineDataBase.CNCElementData cncElementData, ItGeMatrix3d matWcsToPalette, List <SteelGroupElement> steelGroupElements) { return(SteelGroupElementRebar.GetInstance(rebar, cncElementData, matWcsToPalette, steelGroupElements)); }
// Token: 0x06000177 RID: 375 RVA: 0x0000AA38 File Offset: 0x00008C38 internal static SteelGroupElement GetInstance(RevitElement <FamilyInstance> instance, ItMachineDataBase.CNCElementData cncElementData, ItGeMatrix3d matWcsToPalette, List <SteelGroupElement> steelGroupElements) { return(SteelGroupElementGirder.GetInstance(instance, cncElementData, matWcsToPalette, steelGroupElements)); }
// Token: 0x06000176 RID: 374 RVA: 0x0000AA1E File Offset: 0x00008C1E internal SteelGroupElement(ItMachineDataBase.CNCElementData cncElementData, ItGeMatrix3d matWcsToPalette) { this.CNCElementData = cncElementData; this.MatWcsToPalette = matWcsToPalette; }
// Token: 0x0600017A RID: 378 RVA: 0x0000AA94 File Offset: 0x00008C94 internal static SteelGroupElement GetInstance(RevitElement <FabricSheet> sheet, ItMachineDataBase.CNCElementData cncElementData, ItGeMatrix3d matWcsToPalette) { bool flag = SteelGroupElementMeshBase.IsCFS(sheet); SteelGroupElement instance; if (flag) { instance = SteelGroupElementMeshCFS.GetInstance(sheet, cncElementData, matWcsToPalette); } else { instance = SteelGroupElementMeshSFS.GetInstance(sheet, cncElementData, matWcsToPalette); } return(instance); }
// 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); }