Exemplo n.º 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);
        }
Exemplo n.º 2
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);
            }
        }
Exemplo n.º 3
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;
        }
Exemplo n.º 4
0
        // 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);
        }
Exemplo n.º 5
0
        // Token: 0x06000066 RID: 102 RVA: 0x00004FF4 File Offset: 0x000031F4
        public static bool extents(this List <ItBracedGirderData> list, out ItGePoint3d ptMin, out ItGePoint3d ptMax)
        {
            ptMin = null;
            ptMax = null;
            bool flag = list.none <ItBracedGirderData>();
            bool result;

            if (flag)
            {
                result = false;
            }
            else
            {
                foreach (ItBracedGirderData itBracedGirderData in list)
                {
                    bool flag2 = itBracedGirderData.midline.isNull();
                    if (!flag2)
                    {
                        ItGeBoundBlock3d itGeBoundBlock3d = itBracedGirderData.midline.boundBlock();
                        bool             flag3            = itGeBoundBlock3d == null;
                        if (!flag3)
                        {
                            ItGePoint3d minPoint = itGeBoundBlock3d.minPoint;
                            ItGePoint3d maxPoint = itGeBoundBlock3d.maxPoint;
                            bool        flag4    = ptMin == null;
                            if (flag4)
                            {
                                ptMin = new ItGePoint3d(minPoint);
                            }
                            else
                            {
                                ptMin.x = Math.Min(ptMin.x, minPoint.x);
                                ptMin.y = Math.Min(ptMin.y, minPoint.y);
                                ptMin.z = Math.Min(ptMin.z, minPoint.z);
                            }
                            bool flag5 = ptMax == null;
                            if (flag5)
                            {
                                ptMax = new ItGePoint3d(maxPoint);
                            }
                            else
                            {
                                ptMax.x = Math.Max(ptMax.x, maxPoint.x);
                                ptMax.y = Math.Max(ptMax.y, maxPoint.y);
                                ptMax.z = Math.Max(ptMax.z, maxPoint.z);
                            }
                        }
                    }
                }
                result = (ptMin.isNotNull() && ptMax.isNotNull());
            }
            return(result);
        }
Exemplo n.º 6
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
            });
        }
Exemplo n.º 7
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;
        }
Exemplo n.º 8
0
        // 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;
            }
        }
Exemplo n.º 9
0
        // Token: 0x0600019A RID: 410 RVA: 0x0000B548 File Offset: 0x00009748
        private static void addPointToBoundBlock(ref ItGeBoundBlock3d result, ItGePoint3d point)
        {
            bool flag = result == null;

            if (flag)
            {
                result = new ItGeBoundBlock3d(point, point);
                result.setToBox(false);
            }
            else
            {
                result.extend(point);
            }
        }
Exemplo n.º 10
0
        // Token: 0x06000199 RID: 409 RVA: 0x0000B458 File Offset: 0x00009658
        private static void addWireToBoundBlock(ref ItGeBoundBlock3d result, WireItem wireItem, ItGeVector3d xVector, ItGeVector3d normal)
        {
            double scl = wireItem.WireDiameter / 2.0;

            ItGePoint3d[] array = new ItGePoint3d[]
            {
                wireItem.StartPoint + xVector * scl,
                wireItem.StartPoint - xVector * scl,
                wireItem.StartPoint + normal * scl,
                wireItem.StartPoint - normal * scl,
                wireItem.EndPoint + xVector * scl,
                wireItem.EndPoint - xVector * scl,
                wireItem.EndPoint + normal * scl,
                wireItem.EndPoint - normal * scl
            };
            foreach (ItGePoint3d point in array)
            {
                SteelGroupElementMeshCFS.addPointToBoundBlock(ref result, point);
            }
        }
Exemplo n.º 11
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;
        }
Exemplo n.º 12
0
        // Token: 0x06000198 RID: 408 RVA: 0x0000B398 File Offset: 0x00009598
        private static ItGeBoundBlock3d sheetLocalExtents(List <WireItem> wireItemsMajor, List <WireItem> wireItemsMinor)
        {
            ItGeBoundBlock3d result = null;
            ItGeVector3d     xVector;
            ItGeVector3d     xVector2;
            ItGeVector3d     normal;
            bool             directions = SteelGroupElementMeshCFS.getDirections(wireItemsMajor, wireItemsMinor, out xVector, out xVector2, out normal);

            if (directions)
            {
                foreach (WireItem wireItem in wireItemsMajor)
                {
                    SteelGroupElementMeshCFS.addWireToBoundBlock(ref result, wireItem, xVector, normal);
                }
                foreach (WireItem wireItem2 in wireItemsMinor)
                {
                    SteelGroupElementMeshCFS.addWireToBoundBlock(ref result, wireItem2, xVector2, normal);
                }
            }
            return(result);
        }
Exemplo n.º 13
0
        // Token: 0x060001DF RID: 479 RVA: 0x0000D098 File Offset: 0x0000B298
        private ItGeBoundBlock3d GetBoundBlockOfIrons()
        {
            ItGeBoundBlock3d itGeBoundBlock3d = null;

            foreach (List <ItGeCurve3d> list in base.IronSetsSchematic)
            {
                foreach (ItGeCurve3d itGeCurve3d in list)
                {
                    ItGeBoundBlock3d itGeBoundBlock3d2 = itGeCurve3d.orthoBoundBlock();
                    bool             flag = itGeBoundBlock3d == null;
                    if (flag)
                    {
                        itGeBoundBlock3d = itGeBoundBlock3d2;
                    }
                    else
                    {
                        itGeBoundBlock3d.extend(itGeBoundBlock3d2.minPoint).extend(itGeBoundBlock3d2.maxPoint);
                    }
                }
            }
            return(itGeBoundBlock3d);
        }
Exemplo n.º 14
0
        // Token: 0x060001DE RID: 478 RVA: 0x0000CED8 File Offset: 0x0000B0D8
        private void UnitechnikWriteRebarAsMountPart()
        {
            bool flag = base.IronSetsSchematic.none <List <ItGeCurve3d> >();

            if (!flag)
            {
                ItGeBoundBlock3d boundBlockOfIrons = this.GetBoundBlockOfIrons();
                bool             flag2             = boundBlockOfIrons.isNull();
                if (!flag2)
                {
                    List <ItGePoint3d> list  = new List <ItGePoint3d>();
                    ItGePoint3d        item  = new ItGePoint3d(boundBlockOfIrons.minPoint);
                    ItGePoint3d        item2 = new ItGePoint3d(boundBlockOfIrons.minPoint.x, boundBlockOfIrons.maxPoint.y, boundBlockOfIrons.minPoint.z, null);
                    ItGePoint3d        item3 = new ItGePoint3d(boundBlockOfIrons.maxPoint.x, boundBlockOfIrons.maxPoint.y, boundBlockOfIrons.minPoint.z, null);
                    ItGePoint3d        item4 = new ItGePoint3d(boundBlockOfIrons.maxPoint.x, boundBlockOfIrons.minPoint.y, boundBlockOfIrons.minPoint.z, null);
                    list.Add(item);
                    list.Add(item2);
                    list.Add(item3);
                    list.Add(item4);
                    double           height             = boundBlockOfIrons.maxPoint.z - boundBlockOfIrons.minPoint.z + base.RebarBarType.BarDiameter;
                    double           installationHeight = boundBlockOfIrons.minPoint.z - base.RebarBarType.BarDiameter / 2.0;
                    MountingPartData item5 = new MountingPartData
                    {
                        Contour            = list,
                        Height             = height,
                        InstallationHeight = installationHeight,
                        Name      = this.Rebar.Element.Name,
                        Type      = MountingPartData.Types.Rebar,
                        ElementId = this.Rebar.Id,
                        IsOpeningWithoutGeometry = false,
                        UniqueId = this.Rebar.UniqueId
                    };
                    base.CNCElementData.MountingParts.Add(item5);
                }
            }
        }
Exemplo n.º 15
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);
        }
Exemplo n.º 16
0
 // Token: 0x060000DC RID: 220 RVA: 0x00009034 File Offset: 0x00007234
 protected override double getAssemblyThickness(ItGeBoundBlock3d bb)
 {
     ItDebug.assert(bb.isNotNull(), "input parameter is null");
     return(bb.maxPoint.z - bb.minPoint.z);
 }
Exemplo n.º 17
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();
                    }
                }
            }
        }
Exemplo n.º 18
0
 // Token: 0x060000EE RID: 238 RVA: 0x0000942C File Offset: 0x0000762C
 public override double getThickness(ItGeBoundBlock3d bb)
 {
     ItDebug.assert(bb.isNotNull(), "input parameter is null");
     return(bb.maxPoint.y - bb.minPoint.y);
 }