// Token: 0x0600006E RID: 110 RVA: 0x0000522C File Offset: 0x0000342C
        protected override bool ExportPxml(AssemblyInstance assemblyInstance, IEnumerable <RevitElement <Part> > part, ItDocument cncDoc, CNCProjectData projectData)
        {
            RevitElement <Part> firstShell;
            RevitElement <Part> secondShell;

            ItMachineDataWallML.GetShells(assemblyInstance, out firstShell, out secondShell);
            ItMachineDataWallDB.DbwElementData dbwElementData = new ItMachineDataWallDB.DbwElementData(base.MatWcsToPalette, firstShell, secondShell);
            ItMachineDataWallDB.DetermineCombinedBoundingBox(dbwElementData);
            ItMachineDataWallDB.DetermineDoubleWallGap(dbwElementData);
            int doubleWallGapInMM = (int)Math.Round(dbwElementData.Gap.FeetToMeter() * 1000.0);

            ItMachineDataWallDB.DetermineShellTransformations(dbwElementData);
            bool flag  = this.ExportShellToPxml(cncDoc, assemblyInstance, projectData, dbwElementData.FirstShell, doubleWallGapInMM);
            bool flag2 = !flag;
            bool result;

            if (flag2)
            {
                result = false;
            }
            else
            {
                flag   = this.ExportShellToPxml(cncDoc, assemblyInstance, projectData, dbwElementData.SecondShell, doubleWallGapInMM);
                result = flag;
            }
            return(result);
        }
        // Token: 0x06000048 RID: 72 RVA: 0x0000407C File Offset: 0x0000227C
        public static ItMachineDataBase getCNCDocCreator(AssemblyInstance assemblyInstance, ICamExportIntOptions options)
        {
            ItMachineDataBase itMachineDataBase = null;
            ProductType       productType       = assemblyInstance.productType();
            bool flag = ProductType.WallSD == productType;

            if (flag)
            {
                itMachineDataBase = new ItMachineDataWallSD(options);
            }
            bool flag2 = ProductType.WallSW == productType;

            if (flag2)
            {
                itMachineDataBase = new ItMachineDataWallSW(options);
            }
            bool flag3 = ProductType.WallDB == productType;

            if (flag3)
            {
                itMachineDataBase = new ItMachineDataWallDB(options);
            }
            bool flag4 = ProductType.SlabHC == productType;

            if (flag4)
            {
                itMachineDataBase = new ItMachineDataSlabHC(options);
            }
            bool flag5 = ProductType.SlabSD == productType;

            if (flag5)
            {
                itMachineDataBase = new ItMachineDataSlabSD(options);
            }
            bool flag6 = ProductType.SlabGD == productType;

            if (flag6)
            {
                itMachineDataBase = new ItMachineDataSlabGD(options);
            }
            bool flag7 = itMachineDataBase == null;

            if (flag7)
            {
                ItFailures.PostFailure(ItFailures.CAMManualCreatedAssemblyNotSupported, assemblyInstance.Id);
            }
            return(itMachineDataBase);
        }