// Token: 0x06000210 RID: 528 RVA: 0x0000E648 File Offset: 0x0000C848
        private ItSegment GetSegmentFromLineSeg(ItBar xmlBar, ItSegment prevSegment, ItGeLineSeg3d lineSeg, ItGeCurve3d nextCurve, ref bool flipFutureYs)
        {
            ItGeVector3d itGeVector3d  = lineSeg.direction();
            ItGeVector3d xvector       = prevSegment.XVector;
            ItGeVector3d itGeVector3d2 = itGeVector3d.orthoProject(xvector);
            double       num;
            double       num2;

            this.GetRotationsInDegree(xmlBar.CurrentNormal, prevSegment, itGeVector3d, ref flipFutureYs, out num, out num2);
            this.SetCurrentNormal(xmlBar, num, num2, prevSegment);
            ItGeVector3d xAxis;
            ItGeVector3d yAxis;
            ItGeVector3d zAxis;

            this.GetNewDirections(num, num2, prevSegment, out xAxis, out yAxis, out zAxis);
            double len = lineSeg.len;
            double r   = 0.0;

            num  = Math.Round(num, 10);
            num2 = Math.Round(num2, 10);
            ItGeMatrix3d kIdentity = ItGeMatrix3d.kIdentity;

            kIdentity.setCoordSystem(ItGePoint3d.kOrigin, xAxis, yAxis, zAxis);
            ItSegment itSegment = new ItSegment(len, r, num, num2, kIdentity, "normal");

            this.FixSegmentLength(itSegment, nextCurve);
            return(itSegment);
        }
Exemple #2
0
        // Token: 0x060000EA RID: 234 RVA: 0x000092AC File Offset: 0x000074AC
        protected override MountingPartData getDoorWindowData(RevitElement <FamilyInstance> familyInstance, RevitElement <Part> part)
        {
            ItGeBoundBlock3d   localExtents  = familyInstance.Element.getLocalExtents();
            ItGeVector3d       viewDirection = base.getViewDirection();
            ItGeMatrix3d       ecsToWcs      = familyInstance.Element.ecs();
            bool               flag;
            List <ItGePoint3d> contourFromElement = ItMachineDataBase.getContourFromElement(familyInstance.To <Element>(), part, ecsToWcs, viewDirection, out flag);
            bool               flag2 = contourFromElement.none <ItGePoint3d>() || contourFromElement.Count < 3;
            MountingPartData   result;

            if (flag2)
            {
                ItFailures.PostFailure(ItFailures.CAMObjectWithoutValidGeometry, familyInstance.Id);
                result = null;
            }
            else
            {
                contourFromElement.transformBy(base.MatWcsToPalette);
                localExtents.transformBy(base.MatWcsToPalette);
                MountingPartData mountingPartData = new MountingPartData
                {
                    ElementId = familyInstance.Id,
                    Contour   = contourFromElement,
                    Height    = localExtents.maxPoint.z - localExtents.minPoint.z,
                    IsOpeningWithoutGeometry = !flag,
                    Type = MountingPartData.Types.DoorWindow,
                    InstallationHeight = localExtents.minPoint.z,
                    Name     = familyInstance.Element.Name,
                    UniqueId = familyInstance.UniqueId
                };
                result = mountingPartData;
            }
            return(result);
        }
        // Token: 0x06000071 RID: 113 RVA: 0x000053D0 File Offset: 0x000035D0
        private bool ExportShellToUnitechnik(AssemblyInstance assemblyInstance, int iProdNo, CNCProjectData projectData, ItMachineDataWallDB.DbwElementData.Shell shell, int doubleWallGapInMM)
        {
            ItGeMatrix3d matWcsToPalette = base.MatWcsToPalette;

            base.MatWcsToPalette = shell.Transformation;
            this.Mode            = shell.Mode;
            bool flag = base.ExportUnitechnik(assemblyInstance, new RevitElement <Part>[]
            {
                shell.Part
            }, iProdNo, projectData);

            ItUniWrapperImpl.SetDoubleWallGap(doubleWallGapInMM);
            bool flag2 = !flag;
            bool result;

            if (flag2)
            {
                result = flag;
            }
            else
            {
                base.MatWcsToPalette = matWcsToPalette;
                result = true;
            }
            return(result);
        }
        // Token: 0x06000219 RID: 537 RVA: 0x0000EB58 File Offset: 0x0000CD58
        private void GetAdditionalSegment(ItBar xmlBar, ItSegment prevSegment, out ItSegment additionalSegment, ItGeVector3d startDirection, ref bool flipFutureYs)
        {
            additionalSegment = null;
            bool flag = startDirection.isCodirectionalTo(prevSegment.XVector, null);

            if (!flag)
            {
                double num;
                double num2;
                this.GetRotationsInDegree(xmlBar.CurrentNormal, prevSegment, startDirection, ref flipFutureYs, out num, out num2);
                this.SetCurrentNormal(xmlBar, num, 0.0, prevSegment);
                ItGeVector3d itGeVector3d;
                ItGeVector3d yAxis;
                ItGeVector3d zAxis;
                this.GetNewDirections(num, num2, prevSegment, out itGeVector3d, out yAxis, out zAxis);
                ItDebug.assert(itGeVector3d.isCodirectionalTo(startDirection, null), "Failure in: ");
                double l = 0.0;
                double r = 0.0;
                num  = Math.Round(num, 10);
                num2 = Math.Round(num2, 10);
                ItGeMatrix3d kIdentity = ItGeMatrix3d.kIdentity;
                kIdentity.setCoordSystem(ItGePoint3d.kOrigin, startDirection, yAxis, zAxis);
                additionalSegment = new ItSegment(l, r, num, num2, kIdentity, "normal");
            }
        }
 // Token: 0x0600056C RID: 1388 RVA: 0x000156F8 File Offset: 0x000138F8
 public DbwElementData(ItGeMatrix3d matWcsToPalette, RevitElement <Part> firstShell, RevitElement <Part> secondShell)
 {
     ItDebug.assert(matWcsToPalette != null && firstShell != null && secondShell != null, "Failure in: ");
     this.MatWcsToPalette = matWcsToPalette;
     this.FirstShell      = new ItMachineDataWallDB.DbwElementData.Shell(ItMachineDataWallDB.DoubleWallMode.FirstShell, firstShell);
     this.SecondShell     = new ItMachineDataWallDB.DbwElementData.Shell(ItMachineDataWallDB.DoubleWallMode.SecondShell, secondShell);
 }
Exemple #6
0
        // Token: 0x060000E9 RID: 233 RVA: 0x000091B8 File Offset: 0x000073B8
        protected internal override void InitializeFromAssembly(AssemblyInstance assemblyInstance)
        {
            bool flag = assemblyInstance == null;

            if (!flag)
            {
                Wall                wall         = assemblyInstance.getMainElement() as Wall;
                ItGeMatrix3d        mat          = ItGeMatrix3d.rotation(-1.5707963267948966, ItGeVector3d.kXAxis, ItGePoint3d.kOrigin);
                ItGeMatrix3d        itGeMatrix3d = ItGeMatrix3d.translation(new ItGeVector3d(0.0, 0.0, wall.thickness()));
                Position            position     = Position.Undefined;
                RevitElement <Part> part         = assemblyInstance.getPart(null);
                bool                flag2        = part.isNotNull();
                if (flag2)
                {
                    position = part.getViewsidePosition();
                }
                ItGeMatrix3d mat2  = ItGeMatrix3d.kIdentity;
                bool         flag3 = position != Position.Right;
                if (flag3)
                {
                    ItGeBoundBlock3d localExtents = assemblyInstance.getLocalExtents();
                    ItGePoint3d      itGePoint3d  = localExtents.midPoint;
                    itGePoint3d = itGeMatrix3d * mat * itGePoint3d;
                    mat2        = ItGeMatrix3d.rotation(3.1415926535897931, ItGeVector3d.kYAxis, itGePoint3d);
                }
                base.MatAssemblyToPalette = mat2 * itGeMatrix3d * mat;
                base.InitializeFromAssembly(assemblyInstance);
            }
        }
Exemple #7
0
 // Token: 0x06000153 RID: 339 RVA: 0x0000A4A8 File Offset: 0x000086A8
 public void TransformBy(ItGeMatrix3d transformation)
 {
     this.steelGroupElements.ForEach(delegate(SteelGroupElement elem)
     {
         elem.TransformBy(transformation);
     });
 }
Exemple #8
0
		// Token: 0x0600026E RID: 622 RVA: 0x0000FE00 File Offset: 0x0000E000
		public void transformToSteelmat()
		{
			ItGeVector3d vec = -this.ParentMesh.PosPalette.asVector();
			ItGeMatrix3d mat = ItGeMatrix3d.translation(vec);
			this.StartPoint.transformBy(mat);
			this.EndPoint.transformBy(mat);
			this.status = WireItem.Status.RelativeToSteelmat;
		}
        // Token: 0x060000D6 RID: 214 RVA: 0x00008F20 File Offset: 0x00007120
        protected internal override void InitializeFromAssembly(AssemblyInstance assemblyInstance)
        {
            ItGeMatrix3d     itGeMatrix3d     = ItGeMatrix3d.rotation(-1.5707963267948966, ItGeVector3d.kZAxis, ItGePoint3d.kOrigin);
            ItGeBoundBlock3d itGeBoundBlock3d = assemblyInstance.getLocalExtents().transformBy(itGeMatrix3d);

            base.MatAssemblyToPalette = ItGeMatrix3d.translation(itGeBoundBlock3d.minPoint.asVector().negate()) * itGeMatrix3d;
            base.InitializeFromAssembly(assemblyInstance);
        }
Exemple #10
0
        // Token: 0x060003D0 RID: 976 RVA: 0x00011D38 File Offset: 0x0000FF38
        public void TranslateBy(ItGeMatrix3d translation)
        {
            ItGePoint3d itGePoint3d = new ItGePoint3d(this.X, this.Y, this.Z, null);

            itGePoint3d.transformBy(translation);
            this.X = itGePoint3d.x;
            this.Y = itGePoint3d.y;
            this.Z = itGePoint3d.z;
        }
        // Token: 0x0600020A RID: 522 RVA: 0x0000E160 File Offset: 0x0000C360
        private ItSegment GetFirstSegFromCircArc(ItBar xmlBar, ItGeCircArc3d firstCirc, ItGeVector3d xzPlaneNormal, ref bool flipFutureYs, out ItSegment additionalSegment)
        {
            ItGeLine3d itGeLine3d;

            firstCirc.tangent(firstCirc.startPoint(), out itGeLine3d, null);
            ItGeVector3d itGeVector3d = itGeLine3d.direction().negate();
            ItSegment    startSegment = this.GetStartSegment(xmlBar);
            double       num;
            double       num2;

            this.GetRotationsInDegree(xzPlaneNormal, startSegment, itGeVector3d, ref flipFutureYs, out num, out num2);
            ItGeVector3d itGeVector3d2;
            ItGeVector3d yAxis;
            ItGeVector3d zAxis;

            this.GetNewDirections(num, num2, startSegment, out itGeVector3d2, out yAxis, out zAxis);
            this.SetCurrentNormal(xmlBar, num, num2, startSegment);
            ItDebug.assert(itGeVector3d2.isCodirectionalTo(itGeVector3d, null), "Failure in: ");
            double       l         = 0.0;
            double       r         = 0.0;
            double       rotX      = Math.Round(num, 10);
            double       bendY     = Math.Round(num2, 10);
            ItGeMatrix3d kIdentity = ItGeMatrix3d.kIdentity;

            kIdentity.setCoordSystem(ItGePoint3d.kOrigin, itGeVector3d, yAxis, zAxis);
            additionalSegment = new ItSegment(l, r, rotX, bendY, kIdentity, "normal");
            double circleSign = this.GetCircleSign(xmlBar, firstCirc);
            double num3;
            double num4;

            this.GetRotationsInDegree(xzPlaneNormal, additionalSegment, itGeVector3d, ref flipFutureYs, out num3, out num4);
            ItGeVector3d itGeVector3d3;
            ItGeVector3d itGeVector3d4;
            ItGeVector3d itGeVector3d5;

            this.GetNewDirections(num3, 0.0, startSegment, out itGeVector3d3, out itGeVector3d4, out itGeVector3d5);
            this.SetCurrentNormal(xmlBar, num3, 0.0, additionalSegment);
            double num5 = this.GetCentralAngleWithSign(firstCirc, circleSign);

            num5 = ItAngle.toDegree(num5);
            ItGeLine3d itGeLine3d2;

            firstCirc.tangent(firstCirc.startPoint(), out itGeLine3d2, null);
            ItGeVector3d itGeVector3d6 = itGeLine3d2.direction();
            ItGeVector3d zAxis2        = itGeVector3d6.crossProduct(xzPlaneNormal);
            double       l2            = 0.0;
            double       r2            = firstCirc.radius();
            double       rotX2         = Math.Round(num3, 10);
            double       bendY2        = Math.Round(num5, 10);

            kIdentity = ItGeMatrix3d.kIdentity;
            kIdentity.setCoordSystem(ItGePoint3d.kOrigin, itGeVector3d6, xzPlaneNormal, zAxis2);
            return(new ItSegment(l2, r2, rotX2, bendY2, kIdentity, "normal"));
        }
 // Token: 0x0600022B RID: 555 RVA: 0x0000F3D0 File Offset: 0x0000D5D0
 public override void TransformBy(ItGeMatrix3d transform)
 {
     this.IronSetsRealistic.ForEach(delegate(List <ItGeCurve3d> list)
     {
         list.transformBy(transform);
     });
     this.IronSetsSchematic.ForEach(delegate(List <ItGeCurve3d> list)
     {
         list.transformBy(transform);
     });
 }
        // Token: 0x060001BD RID: 445 RVA: 0x0000BEE8 File Offset: 0x0000A0E8
        private static void AddSegmentsToBar(ItBar bar, WireItem wire)
        {
            double       length    = wire.Length;
            double       r         = 0.0;
            double       rotX      = 0.0;
            double       bendY     = 0.0;
            ItGeMatrix3d kIdentity = ItGeMatrix3d.kIdentity;
            ItSegment    item      = new ItSegment(length, r, rotX, bendY, kIdentity, "normal");

            bar.segmentList.Add(item);
        }
        // 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);
        }
        // Token: 0x060000FB RID: 251 RVA: 0x0000960C File Offset: 0x0000780C
        protected override void setZPositionOfContour(RevitElement <Part> part, ItOutline outline)
        {
            bool flag = part == null || outline == null;

            if (!flag)
            {
                ItGeBoundBlock3d localExtents = part.getLocalExtents(false);
                ItGeMatrix3d     mat          = part.ecs(false);
                ItGeBoundBlock3d transformed  = localExtents.GetTransformed(base.MatWcsToPalette * mat);
                outline.Z = transformed.minPoint.z;
            }
        }
        // Token: 0x060001CC RID: 460 RVA: 0x0000C2B4 File Offset: 0x0000A4B4
        public override IEnumerable <ItGePoint3d> GetPoints(bool schematic)
        {
            ItGeBoundBlock3d localExtents     = this.Girder.Element.getLocalExtents();
            ItGeMatrix3d     mat              = base.MatWcsToPalette * this.Girder.Element.ecs();
            ItGeBoundBlock3d itGeBoundBlock3d = localExtents.transformBy(mat);

            return(new List <ItGePoint3d>
            {
                itGeBoundBlock3d.minPoint,
                itGeBoundBlock3d.maxPoint
            });
        }
        // Token: 0x06000215 RID: 533 RVA: 0x0000E988 File Offset: 0x0000CB88
        private ItSegment GetStartSegment(ItBar xmlBar)
        {
            ItGeMatrix3d mat       = ItGeMatrix3d.rotation(xmlBar.RotZ * 3.1415926535897931 / 180.0, ItGeVector3d.kZAxis, ItGePoint3d.kOrigin);
            ItGeVector3d xAxis     = mat * ItGeVector3d.kXAxis;
            ItGeVector3d yAxis     = mat * ItGeVector3d.kYAxis;
            ItGeVector3d zAxis     = mat * ItGeVector3d.kZAxis;
            double       l         = 0.0;
            double       r         = 0.0;
            double       rotX      = 0.0;
            double       bendY     = 0.0;
            ItGeMatrix3d kIdentity = ItGeMatrix3d.kIdentity;

            kIdentity.setCoordSystem(ItGePoint3d.kOrigin, xAxis, yAxis, zAxis);
            return(new ItSegment(l, r, rotX, bendY, kIdentity, "normal"));
        }
Exemple #18
0
        // Token: 0x0600043E RID: 1086 RVA: 0x00013B0C File Offset: 0x00011D0C
        public ItSegment(double l, double r, double rotX, double bendY, ItGeMatrix3d matrix, string segmentType = "normal")
        {
            this.type  = segmentType;
            this.L     = l;
            this.R     = r;
            this.RotX  = rotX;
            this.BendY = bendY;
            ItGePoint3d  itGePoint3d;
            ItGeVector3d xvector;
            ItGeVector3d yvector;
            ItGeVector3d zvector;

            matrix.getCoordSystem(out itGePoint3d, out xvector, out yvector, out zvector);
            this.XVector = xvector;
            this.YVector = yvector;
            this.ZVector = zvector;
        }
Exemple #19
0
        // Token: 0x06000004 RID: 4 RVA: 0x00002228 File Offset: 0x00000428
        private static string ExportReinforcementToPXML(AssemblyInstance assembly, ICollection <ExportReinfData> exportedElements, Func <Element, bool> filter)
        {
            ICamExportIntOptions options       = new CamExporter.CamExportOptionsOnlyFileFormat(FileFormat.PXML13);
            ItMachineDataBase    cncdocCreator = ItCNCDataFactory.getCNCDocCreator(assembly, options);

            cncdocCreator.InitializeFromAssembly(assembly);
            ItGeMatrix3d matWcsToPalette = cncdocCreator.MatWcsToPalette;
            ILookup <SteelGroup, SteelGroupElement> steelGroups;

            using (ItTransaction itTransaction = ItTransactionManager.Instance.start(assembly.Document, "RevitPrecast Internal Transaction", null))
            {
                ReinfSorter reinfSorter = new ReinfSorter(assembly, new ItMachineDataBase.CNCElementData(), matWcsToPalette, filter);
                reinfSorter.SortElements();
                steelGroups = reinfSorter.GetSteelGroups();
                itTransaction.rollback("Planned rollback.");
            }
            IEnumerable <ItSteel> collection = from steelGroup in steelGroups
                                               select steelGroup.Key.ToPXML(exportedElements);

            ItSlab itSlab = new ItSlab();

            itSlab.steelList.AddRange(collection);
            XmlRootAttribute root = new XmlRootAttribute("Slab")
            {
                Namespace = "http://progress-m.com/ProgressXML/Version1"
            };
            XmlSerializer xmlSerializer = new XmlSerializer(typeof(ItSlab), root);
            StringWriter  stringWriter  = new StringWriter();
            XmlWriter     xmlWriter     = XmlWriter.Create(stringWriter, new XmlWriterSettings
            {
                Indent             = false,
                OmitXmlDeclaration = true,
                NewLineHandling    = NewLineHandling.None
            });

            xmlSerializer.Serialize(xmlWriter, itSlab, ItDocument.StaticNamespaces);
            string text = stringWriter.ToString();

            text = text.Replace("</Slab>", string.Empty);
            int startIndex = text.IndexOf("<Steel ", StringComparison.Ordinal);

            return(text.Substring(startIndex));
        }
Exemple #20
0
        // Token: 0x06000426 RID: 1062 RVA: 0x00012BFC File Offset: 0x00010DFC
        public void Initialize(ItMachineDataBase machineDataBase, AssemblyInstance assemblyInstance, IEnumerable <RevitElement <Part> > partsList, ItGeMatrix3d matTranslateToOrigin, ItGePoint3d startPoint, ItGeVector3d spanDirection, ItGeVector3d shiftingDirection, Parameter paramProdNo)
        {
            double totalThickness = partsList.isNotNull() ? partsList.Sum((RevitElement <Part> part) => machineDataBase.getThickness(part.getLocalExtents(false))) : -1.0;

            startPoint.transformBy(matTranslateToOrigin);
            ItGeBoundBlock3d   buildingExtents    = machineDataBase.getBuildingExtents(assemblyInstance.Document);
            ProjectCoordinates projectCoordinates = new ProjectCoordinates();
            ItGeMatrix3d       mat                = assemblyInstance.ecs();
            ItGeVector3d       spanDirection2     = mat * spanDirection;
            ItGeVector3d       shiftingDirection2 = mat * shiftingDirection;
            ItGePoint3d        startPoint2        = mat * startPoint;

            machineDataBase.setProjectCoordinates(projectCoordinates, startPoint2, buildingExtents, spanDirection2, shiftingDirection2);
            this.ProductType        = machineDataBase.ProductTypeString;
            this.ElementNo          = paramProdNo.AsString();
            this.TotalThickness     = totalThickness;
            this.PieceCount         = assemblyInstance.assemblyType().instances().Count;
            this.ProjectCoordinates = projectCoordinates;
            this.IsInitialized      = true;
        }
        // Token: 0x0600020F RID: 527 RVA: 0x0000E4EC File Offset: 0x0000C6EC
        private ItSegment GetSegmentFromCircArc(ItBar xmlBar, ItSegment prevSegment, ItGeCircArc3d circArc, ref bool flipFutureYs, out ItSegment additionalSegment)
        {
            additionalSegment = null;
            ItGeLine3d itGeLine3d  = null;
            ItGeLine3d itGeLine3d2 = null;
            bool       flag        = !circArc.tangent(circArc.endPoint(), out itGeLine3d, null) || !circArc.tangent(circArc.startPoint(), out itGeLine3d2, null);
            ItSegment  result;

            if (flag)
            {
                result = null;
            }
            else
            {
                ItGeVector3d itGeVector3d = (itGeLine3d2 != null) ? itGeLine3d2.direction().negate() : prevSegment.XVector;
                this.GetAdditionalSegment(xmlBar, prevSegment, out additionalSegment, itGeVector3d, ref flipFutureYs);
                ItGeVector3d rebarPlaneNormal = circArc.normal();
                double       num;
                double       num2;
                this.GetRotationsInDegree(rebarPlaneNormal, additionalSegment ?? prevSegment, itGeVector3d, ref flipFutureYs, out num, out num2);
                this.SetCurrentNormal(xmlBar, num, 0.0, additionalSegment ?? prevSegment);
                double circleSign = this.GetCircleSign(xmlBar, circArc);
                double num3       = this.GetCentralAngleWithSign(circArc, circleSign);
                num3 = ItAngle.toDegree(num3);
                ItGeVector3d itGeVector3d2 = -1.0 * itGeLine3d.direction();
                ItGeVector3d itGeVector3d3 = circleSign * circArc.normal();
                ItGeVector3d zAxis         = itGeVector3d2.crossProduct(itGeVector3d3);
                double       l             = 0.0;
                double       r             = circArc.radius();
                num = Math.Round(num, 10);
                double       bendY     = Math.Round(num3, 10);
                ItGeMatrix3d kIdentity = ItGeMatrix3d.kIdentity;
                kIdentity.setCoordSystem(ItGePoint3d.kOrigin, itGeVector3d2, itGeVector3d3, zAxis);
                ItSegment itSegment = new ItSegment(l, r, num, bendY, kIdentity, "normal");
                result = itSegment;
            }
            return(result);
        }
        // Token: 0x0600020B RID: 523 RVA: 0x0000E310 File Offset: 0x0000C510
        private ItSegment GetFirstSegFromLineSeg(ItBar xmlBar, ItGeLineSeg3d firstSeg, ItGeVector3d xzPlaneNormal, ItGeCurve3d nextCurve, ref bool flipFutureYs)
        {
            ItGeVector3d direction    = firstSeg.direction();
            ItSegment    startSegment = this.GetStartSegment(xmlBar);
            double       num;
            double       num2;

            this.GetRotationsInDegree(xzPlaneNormal, startSegment, direction, ref flipFutureYs, out num, out num2);
            this.SetCurrentNormal(xmlBar, num, num2, startSegment);
            ItGeVector3d xAxis;
            ItGeVector3d yAxis;
            ItGeVector3d zAxis;

            this.GetNewDirections(num, num2, startSegment, out xAxis, out yAxis, out zAxis);
            double       len       = firstSeg.len;
            ItGeMatrix3d kIdentity = ItGeMatrix3d.kIdentity;

            kIdentity.setCoordSystem(ItGePoint3d.kOrigin, xAxis, yAxis, zAxis);
            ItSegment itSegment = new ItSegment(len, 0.0, Math.Round(num, 10), Math.Round(num2, 10), kIdentity, "normal");

            this.FixSegmentLength(itSegment, nextCurve);
            return(itSegment);
        }
Exemple #23
0
        // 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: 0x06000072 RID: 114 RVA: 0x0000543C File Offset: 0x0000363C
        private bool ExportShellToPxml(ItDocument cncDoc, AssemblyInstance assemblyInstance, CNCProjectData projectData, ItMachineDataWallDB.DbwElementData.Shell shell, int doubleWallGapInMM)
        {
            ItGeMatrix3d matWcsToPalette = base.MatWcsToPalette;

            base.MatWcsToPalette = shell.Transformation;
            this.Mode            = shell.Mode;
            bool flag = base.ExportPxml(assemblyInstance, new RevitElement <Part>[]
            {
                shell.Part
            }, cncDoc, projectData);
            bool flag2 = !flag;
            bool result;

            if (flag2)
            {
                result = flag;
            }
            else
            {
                base.MatWcsToPalette = matWcsToPalette;
                result = true;
            }
            return(result);
        }
        // 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)
 {
 }
Exemple #27
0
 // Token: 0x060001AA RID: 426 RVA: 0x0000BC79 File Offset: 0x00009E79
 public override void TransformBy(ItGeMatrix3d transform)
 {
     base.PosPalette.transformBy(transform);
 }
Exemple #28
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);
        }
        // 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: 0x060001CD RID: 461 RVA: 0x0000C31E File Offset: 0x0000A51E
 public override void TransformBy(ItGeMatrix3d transform)
 {
     base.MatWcsToPalette = transform * base.MatWcsToPalette;
 }