예제 #1
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);
        }
예제 #2
0
        // Token: 0x060001C8 RID: 456 RVA: 0x0000C0E4 File Offset: 0x0000A2E4
        private void SetMinMaxZ()
        {
            ItGeBoundBlock3d localExtents = this.Girder.Element.getLocalExtents();

            localExtents.transformBy(base.MatWcsToPalette * this.Girder.Element.ecs());
            base.MinZ = localExtents.minPoint.z;
            base.MaxZ = localExtents.maxPoint.z;
        }
예제 #3
0
        // 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
            });
        }
예제 #4
0
        // Token: 0x06000042 RID: 66 RVA: 0x00003AB0 File Offset: 0x00001CB0
        public ItBracedGirderData(RevitElement <FamilyInstance> famInst, ItGeMatrix3d matWcsToPalette, double minZOfPartOnPalette)
        {
            bool flag = famInst.IsInvalid() || famInst.Element.Symbol.isNull() || matWcsToPalette.isNull();

            if (flag)
            {
                ItDebug.assert(false, "Constructor");
            }
            else
            {
                this.famInst = famInst;
                LocationCurve locationCurve = famInst.isNotNull() ? (famInst.Element.Location as LocationCurve) : null;
                bool          flag2         = locationCurve.isNull() || locationCurve.Curve.isNull() || !locationCurve.Curve.IsBound || locationCurve.Curve.Length.Eq(0.0, -1.0);
                if (flag2)
                {
                    ItDebug.assert(false, "Location of the girder is not a Curve Type or other geometric inconsistency");
                }
                else
                {
                    ItGeMatrix3d     mat              = matWcsToPalette * famInst.Element.ecs();
                    ItGeBoundBlock3d localExtents     = famInst.Element.getLocalExtents();
                    ItGeBoundBlock3d itGeBoundBlock3d = localExtents.transformBy(mat);
                    localExtents.transformBy(mat);
                    this.installationHeight = itGeBoundBlock3d.minPoint.z - minZOfPartOnPalette;
                    this.height             = itGeBoundBlock3d.maxPoint.z - itGeBoundBlock3d.minPoint.z;
                    XYZ point  = locationCurve.Curve.Evaluate(0.0, true);
                    XYZ point2 = locationCurve.Curve.Evaluate(1.0, true);
                    this.midline = new ItGeLineSeg3d(point.asPoint(), point2.asPoint());
                    this.midline.transformBy(matWcsToPalette);
                    bool flag3 = this.midline.startPoint.x.Eq(this.midline.endPoint.x, -1.0);
                    if (flag3)
                    {
                        bool flag4 = this.midline.startPoint.y > this.midline.endPoint.y;
                        if (flag4)
                        {
                            this.midline.reverseParam();
                        }
                    }
                    else
                    {
                        bool flag5 = this.midline.startPoint.y.Eq(this.midline.endPoint.y, -1.0);
                        if (flag5)
                        {
                            bool flag6 = this.midline.startPoint.x > this.midline.endPoint.x;
                            if (flag6)
                            {
                                this.midline.reverseParam();
                            }
                        }
                    }
                    Parameter parameter  = famInst.Element.Symbol.getParameter(ItBracedGirderData._lclParamHeight, true);
                    Parameter parameter2 = famInst.Element.Symbol.getParameter(ItBracedGirderData._lclParamLinealWeight, true);
                    Parameter parameter3 = famInst.Element.Symbol.getParameter(ItBracedGirderData._lclParamUpperChordDiam, true);
                    bool      flag7      = parameter.isNotNull();
                    if (flag7)
                    {
                        this.height = parameter.AsDouble();
                    }
                    bool flag8 = parameter2.isNotNull();
                    if (flag8)
                    {
                        this.linealWeight = parameter2.AsDouble();
                    }
                    bool flag9 = parameter3.isNotNull();
                    if (flag9)
                    {
                        this.upperChordDiameter = parameter3.AsDouble();
                    }
                }
            }
        }