Пример #1
0
        // Token: 0x060001EB RID: 491 RVA: 0x0000D8A8 File Offset: 0x0000BAA8
        public override double GetSteelVolumeInPart(RevitElement <Part> part, ItSolid partSolid)
        {
            Rebar  element = this.Rebar.Element;
            double radius  = base.RebarBarType.BarDiameter / 2.0;
            int    num;
            int    num2;

            SteelGroupElementRebar.GetRebarIndices(element, out num, out num2);
            double num3 = 0.0;
            int    num4;

            for (int i = num; i < num2; i = num4 + 1)
            {
                List <Curve>     centerLineCurvesForVolumeCalculation = SteelGroupElementRebar.GetCenterLineCurvesForVolumeCalculation(this.Rebar, i);
                List <CurveLoop> sweepProfile = SteelGroupElementRebar.GetSweepProfile(centerLineCurvesForVolumeCalculation, radius);
                bool             flag         = sweepProfile.none <CurveLoop>();
                if (!flag)
                {
                    Solid solid = SteelGroupElementRebar.GetSolid(centerLineCurvesForVolumeCalculation, sweepProfile);
                    bool  flag2 = solid == null;
                    if (!flag2)
                    {
                        Solid solid2 = solid.intersect(partSolid.Solid);
                        bool  flag3  = solid2 == null || solid2.Volume.Lt(0.0, -1.0);
                        if (!flag3)
                        {
                            num3 += solid2.Volume;
                        }
                    }
                }
                num4 = i;
            }
            return(num3);
        }
Пример #2
0
        // Token: 0x060000F3 RID: 243 RVA: 0x000094E0 File Offset: 0x000076E0
        protected override bool IsMountPartOfThisShell(RevitElement <FamilyInstance> mountingPart, RevitElement <Part> part)
        {
            bool flag = mountingPart.Element.getHostId() == part.Id;
            bool result;

            if (flag)
            {
                result = true;
            }
            else
            {
                List <ItSolid> solids = ItSolid.getSolids(mountingPart, ItGeMatrix3d.kIdentity, false);
                bool           flag2  = solids.none <ItSolid>();
                if (flag2)
                {
                    ItFailures.PostFailure(ItFailures.CAMMountPartInUnknownShell, mountingPart.Id);
                    result = (part.shellType() == ShellType.FirstShell);
                }
                else
                {
                    result = this.hasSolidIntersection(part, solids);
                }
            }
            return(result);
        }
Пример #3
0
        // Token: 0x06000241 RID: 577 RVA: 0x0000F9A8 File Offset: 0x0000DBA8
        public override double GetSteelVolumeInPart(RevitElement <Part> part, ItSolid partSolid)
        {
            IEnumerable <double> source = from wire in base.WireItemsMinor.Union(base.WireItemsMajor)
                                          select wire.GetSteelVolumeInPart(partSolid);

            return(source.Sum());
        }
Пример #4
0
        // Token: 0x060001AB RID: 427 RVA: 0x0000BC8C File Offset: 0x00009E8C
        public override double GetSteelVolumeInPart(RevitElement <Part> part, ItSolid partSolid)
        {
            IEnumerable <WireItem> source  = base.WireItemsMajor.Union(base.WireItemsMinor);
            IEnumerable <double>   source2 = from item in source
                                             select item.GetSteelVolumeInPart(partSolid);

            return(source2.Sum());
        }
Пример #5
0
        // Token: 0x06000154 RID: 340 RVA: 0x0000A4DC File Offset: 0x000086DC
        public double GetSteelVolumeInPart(RevitElement <Part> part)
        {
            double  num       = 0.0;
            ItSolid partSolid = part.getSolid(false, null, false, true).DeepClone();

            foreach (SteelGroupElement steelGroupElement in this.steelGroupElements)
            {
                num += steelGroupElement.GetSteelVolumeInPart(part, partSolid);
            }
            return(num);
        }
Пример #6
0
        // Token: 0x060001CE RID: 462 RVA: 0x0000C334 File Offset: 0x0000A534
        public override double GetSteelVolumeInPart(RevitElement <Part> part, ItSolid partSolid)
        {
            List <ItSolid> solidListFromFamilyInstance = ItSolid.getSolidListFromFamilyInstance(this.Girder.Element, this.Girder.Element.ecs(), false, null, false);
            double         num = 0.0;

            foreach (ItSolid itSolid in solidListFromFamilyInstance)
            {
                Solid solid = partSolid.Solid.intersect(itSolid.Solid);
                bool  flag  = solid != null && solid.Volume.Gt(0.0, -1.0);
                if (flag)
                {
                    num += solid.Volume;
                }
            }
            return(num);
        }
Пример #7
0
		// Token: 0x06000273 RID: 627 RVA: 0x000101A8 File Offset: 0x0000E3A8
		public double GetSteelVolumeInPart(ItSolid partSolid)
		{
			Solid wcssolid = this.GetWCSSolid();
			Solid solid = wcssolid.intersect(partSolid.Solid);
			bool flag = solid != null && solid.Volume.Gt(0.0, -1.0);
			double result;
			if (flag)
			{
				result = solid.Volume;
			}
			else
			{
				result = 0.0;
			}
			return result;
		}
        // Token: 0x06000195 RID: 405 RVA: 0x0000B13C File Offset: 0x0000933C
        public override double GetSteelVolumeInPart(RevitElement <Part> part, ItSolid partSolid)
        {
            Part   hostingPart = this.RebarInSystem.Element.getHostingPart();
            bool   flag        = hostingPart != null && part.Id == hostingPart.Id;
            double result;

            if (flag)
            {
                result = this.RebarInSystem.Element.Volume;
            }
            else
            {
                result = 0.0;
            }
            return(result);
        }
Пример #9
0
 // Token: 0x06000187 RID: 391
 public abstract double GetSteelVolumeInPart(RevitElement <Part> part, ItSolid partSolid);
Пример #10
0
        // Token: 0x060000F4 RID: 244 RVA: 0x00009554 File Offset: 0x00007754
        private bool hasSolidIntersection(RevitElement <Part> part, List <ItSolid> solids)
        {
            ItSolid partSolid = part.getSolid(true, Transform.Identity, false, false);

            return(solids.any((ItSolid solid) => solid.Solid.hasIntersection(partSolid.Solid)));
        }