// Token: 0x06000003 RID: 3 RVA: 0x000021B4 File Offset: 0x000003B4 internal static string ExportReinforcementSnippet(AssemblyInstance assembly, FileFormat fileFormat, ICollection <ExportReinfData> exportedElements, Func <Element, bool> filter = null) { bool flag = filter == null; if (flag) { filter = ((Element element) => true); } string result; switch (fileFormat) { case FileFormat.Unitechnik52: case FileFormat.Unitechnik60: result = CamExporter.ExportReinforcementToUnitechnik(assembly, fileFormat, exportedElements, filter); break; case FileFormat.PXML13: result = CamExporter.ExportReinforcementToPXML(assembly, exportedElements, filter); break; default: throw new InvalidOperationException("Unknown file format for CAM export."); } return(result); }
// Token: 0x06000001 RID: 1 RVA: 0x00002050 File Offset: 0x00000250 internal static CmdResult Export(Document document, ref string message, IEnumerable <AssemblyInstance> assemblies, ICamExportIntOptions options, bool variedFormats, out bool bCancelCommand) { bCancelCommand = false; assemblies = ((assemblies != null) ? assemblies.ToList <AssemblyInstance>() : null); bool flag = assemblies == null || assemblies.none <AssemblyInstance>(); CmdResult result; if (flag) { result = CmdResult.Succeeded; } else { IEnumerable <ElementId> assemblyInstanceIds = (from element in assemblies select element.Id).ToList <ElementId>(); bool flag2; CamIntEvents.OnExporting(document, assemblyInstanceIds, options, out flag2); CmdResult cmdResult = CmdResult.Succeeded; bool flag3 = !flag2; if (flag3) { CNCProjectData cncprojectData = CamExporter.GetCNCProjectData(document, options.FileFormat); switch (options.FileFormat) { case FileFormat.Unitechnik52: case FileFormat.Unitechnik60: cmdResult = CamExporter.executeUniCAM(ref message, assemblies, options, cncprojectData, out bCancelCommand); break; case FileFormat.PXML13: cmdResult = CamExporter.executePXML(ref message, assemblies, options, cncprojectData, out bCancelCommand); break; default: throw new InvalidOperationException("Unknown file format for CAM export."); } bool flag4 = cmdResult == CmdResult.Failed; if (flag4) { CamExporter.showError(options.FileFormat); } } CamIntExportStatus status = CamExporter.DetermineStatus(cmdResult, bCancelCommand, flag2); CamIntEvents.OnExported(document, assemblyInstanceIds, options, status); result = cmdResult; } return(result); }
// Token: 0x06000006 RID: 6 RVA: 0x00002514 File Offset: 0x00000714 private static CNCProjectData GetCNCProjectData(Document document, FileFormat format) { ItXmlConfig configData = new ItConfig(document).getConfigData(); string formatNodeName = CamExporter.GetFormatNodeName(format); bool flag = string.IsNullOrEmpty(formatNodeName); CNCProjectData result; if (flag) { result = null; } else { ItCfgNode node = configData.CamRootNode[formatNodeName]; CNCProjectData cncprojectData = CNCProjectData.Create(document, node); result = cncprojectData; } return(result); }
// Token: 0x06000009 RID: 9 RVA: 0x000025D4 File Offset: 0x000007D4 public static CmdResult executeUniCAM(ref string message, IEnumerable <AssemblyInstance> assemblies, ICamExportIntOptions options, CNCProjectData projectData, out bool bExit) { assemblies = assemblies.ToList <AssemblyInstance>(); bool flag = assemblies.none <AssemblyInstance>(); CmdResult result; if (flag) { bExit = true; result = CmdResult.Failed; } else { Document document = assemblies.First <AssemblyInstance>().Document; bExit = false; bool flag2 = projectData == null; if (flag2) { ItFailures.PostFailure(ItFailures.CAMMissingProjectData, ElementId.InvalidElementId); } ItTransactionManager.Instance.reset(document); using (ItTransaction itTransaction = ItTransactionManager.Instance.start(document, CamExporter._lclExportCNCTransaction, null)) { try { int val = 0; int val2 = 0; foreach (AssemblyInstance assemblyInstance in assemblies) { Parameter parameter = assemblyInstance.getParameter(ItGlobals.PRODNUMBERPARAM, true, true); bool flag3 = parameter.isNull(); if (!flag3) { bool hasValue = parameter.HasValue; if (hasValue) { RevitElement <Part> part = assemblyInstance.getPart(null); bool flag4 = part == null; if (!flag4) { Element mainElement = part.getMainElement(); int val3; int.TryParse(parameter.AsString(), out val3); bool flag5 = mainElement is Wall; if (flag5) { val = Math.Max(val, val3); } else { bool flag6 = mainElement is Floor; if (flag6) { val2 = Math.Max(val2, val3); } } } } } } options.TargetDirectory.Create(); DirectoryInfo targetDirectory = options.TargetDirectory; foreach (AssemblyInstance assemblyInstance2 in assemblies) { try { Parameter parameter2 = assemblyInstance2.getParameter(ItGlobals.PRODNUMBERPARAM, true, true); bool flag7 = parameter2 == null; if (!flag7) { RevitElement <Part> part2 = assemblyInstance2.getPart(null); bool flag8 = part2 == null; if (!flag8) { Element mainElement2 = part2.getMainElement(); ProductType product = part2.productType(); bool subdirectoryPerProductType = options.SubdirectoryPerProductType; if (subdirectoryPerProductType) { options.TargetDirectory = targetDirectory.CreateSubdirectory(product.ToString()); } ItMachineDataBase cncdocCreator = ItCNCDataFactory.getCNCDocCreator(assemblyInstance2, options); bool flag9 = cncdocCreator.isNull(); if (!flag9) { bool flag10 = mainElement2 is Wall; if (flag10) { CamExporter.FixProdNumber(parameter2, ref val); } else { bool flag11 = mainElement2 is Floor; if (flag11) { CamExporter.FixProdNumber(parameter2, ref val2); } } int iProdNo = Convert.ToInt32(parameter2.AsString()); string unitechnikFilename = ItMachineDataBase.GetUnitechnikFilename(assemblyInstance2, options, projectData); bool flag12; CamIntEvents.OnExportingAssembly(document, assemblyInstance2.Id, options, product, unitechnikFilename, out flag12); bool flag13 = flag12; if (!flag13) { bool flag14 = CamExporter.CheckUnitechnikFilename(options, unitechnikFilename, out bExit); bool success = false; bool flag15 = flag14 && !bExit; if (flag15) { success = cncdocCreator.createMachineDataUnitechnik(assemblyInstance2, iProdNo, projectData, unitechnikFilename); } CamIntExportStatus status = CamExporter.DetermineStatus(success, bExit, flag14); CamIntEvents.OnExportedAssembly(document, assemblyInstance2.Id, options, product, unitechnikFilename, status); bool flag16 = bExit; if (flag16) { break; } } } } } } catch (SplitByOpeningNotSupportedException ex) { ItFailures.PostFailure(ItFailures.SplitByOpeningNotSupported, ex.ElementId); } } itTransaction.commit(); } catch (Exception ex2) { message = ex2.Message; ItLogging.print("Exception in ItCmdCreateMaschData"); ItLogging.printException(ex2); itTransaction.rollback("Exception"); return(CmdResult.Failed); } } result = (bExit ? CmdResult.Cancelled : CmdResult.Succeeded); } return(result); }