Ejemplo n.º 1
0
            private static int[, ,] _record = new int[4, 2, _numLevel];              //Global Recorder : [X1/X2/Y1/Y2,W27/W30,levels]

            private static void GetIntersectBeams()
            {
                FilteredElementCollector    tempCollector = new FilteredElementCollector(_doc);
                ElementStructuralTypeFilter BeamFilter    = new ElementStructuralTypeFilter(StructuralType.Beam);

                _intersectedBeams.Clear();
                //Do not consider lower beams
                XYZ left = new XYZ(_columnBox.Min.X - ErrorCTRL_BoundingBox,
                                   _columnBox.Min.Y - ErrorCTRL_BoundingBox, 0.5 * (_myLevel.GetElevation(_bottom_floor) + _myLevel.GetElevation(_bottom_floor + 1)));
                XYZ right = new XYZ(_columnBox.Max.X + ErrorCTRL_BoundingBox,
                                    _columnBox.Max.Y + ErrorCTRL_BoundingBox, _columnBox.Max.Z + ErrorCTRL_BoundingBox);
                Outline outline = new Outline(left, right);
                BoundingBoxIntersectsFilter bbfilter = new BoundingBoxIntersectsFilter(outline);

                tempCollector.WherePasses(bbfilter).WherePasses(BeamFilter);
                foreach (FamilyInstance beam in tempCollector)
                {
                    if (beam.StructuralMaterialType == StructuralMaterialType.Steel)
                    {
                        _intersectedBeams.Add(beam);
                    }
                    else
                    {
                        _abandonWriter.WriteAbandonment(beam, AbandonmentTable.SteelJoint_BeamNotSteel);
                    }
                }
            }
Ejemplo n.º 2
0
        private static void ExtractObjects()
        {
            FilteredElementCollector    ColumnCollector        = new FilteredElementCollector(_doc);
            ElementStructuralTypeFilter StruColumnFilter       = new ElementStructuralTypeFilter(StructuralType.Column);
            IList <ElementFilter>       StruMaterialFilterList = new List <ElementFilter>();

            StruMaterialFilterList.Add(new StructuralMaterialTypeFilter(StructuralMaterialType.Concrete));
            StruMaterialFilterList.Add(new StructuralMaterialTypeFilter(StructuralMaterialType.PrecastConcrete));
            LogicalOrFilter StruMaterialFilter = new LogicalOrFilter(StruMaterialFilterList);

            _StruColumns = ColumnCollector.WherePasses(StruColumnFilter).WherePasses(StruMaterialFilter).ToList();
        }