コード例 #1
0
        // 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);
        }
コード例 #2
0
        // Token: 0x06000073 RID: 115 RVA: 0x000054A0 File Offset: 0x000036A0
        private static void DetermineDoubleWallGap(ItMachineDataWallDB.DbwElementData data)
        {
            double num  = data.FirstShell.Part.thickness();
            double num2 = data.SecondShell.Part.thickness();
            double num3 = data.BoxOnPalette.maxPoint.z - data.BoxOnPalette.minPoint.z;
            double gap  = num3 - num - num2;

            data.Gap = gap;
        }
コード例 #3
0
        // Token: 0x06000074 RID: 116 RVA: 0x00005500 File Offset: 0x00003700
        private static void DetermineCombinedBoundingBox(ItMachineDataWallDB.DbwElementData data)
        {
            ItDebug.assert(data != null, "Failure in: ");
            data.FirstShell.BoxOnPalette  = data.FirstShell.Part.getWorldExtents(false).GetTransformed(data.MatWcsToPalette);
            data.SecondShell.BoxOnPalette = data.SecondShell.Part.getWorldExtents(false).GetTransformed(data.MatWcsToPalette);
            ItGeBoundBlock3d boxOnPalette = data.FirstShell.BoxOnPalette;

            ItDebug.assert(boxOnPalette != null && data.SecondShell.BoxOnPalette != null, "Failure in: ");
            boxOnPalette.extend(data.SecondShell.BoxOnPalette.minPoint);
            boxOnPalette.extend(data.SecondShell.BoxOnPalette.maxPoint);
            data.BoxOnPalette = boxOnPalette;
        }
コード例 #4
0
        // Token: 0x06000070 RID: 112 RVA: 0x00005364 File Offset: 0x00003564
        private static void DetermineShellTransformations(ItMachineDataWallDB.DbwElementData data)
        {
            Action <ItMachineDataWallDB.DbwElementData.Shell, ItGePoint3d, ItGeMatrix3d> action = delegate(ItMachineDataWallDB.DbwElementData.Shell shellData, ItGePoint3d absoluteZero, ItGeMatrix3d matWcsToPalette)
            {
                ItGePoint3d minPoint = shellData.BoxOnPalette.minPoint;
                shellData.ZeroOffset     = absoluteZero - minPoint;
                shellData.Transformation = ItGeMatrix3d.translation(shellData.ZeroOffset) * matWcsToPalette;
            };

            action(data.FirstShell, data.BoxOnPalette.minPoint, data.MatWcsToPalette);
            action(data.SecondShell, data.BoxOnPalette.minPoint, data.MatWcsToPalette);
        }