Beispiel #1
0
        /// <summary>
        /// Создание элемента из базы
        /// </summary>
        public static Element CreateElementDB(Module module, F_nn_Elements_Modules emEnt)
        {
            Element elem     = null;
            string  category = emEnt.F_S_Elements.F_S_Categories.NAME_RUS_CATEGORY;

            if (category.Equals(Options.Instance.CategoryWallName, StringComparison.OrdinalIgnoreCase))
            {
                elem = new WallElement(module, emEnt);
            }
            else if (category.Equals(Options.Instance.CategoryDoorName, StringComparison.OrdinalIgnoreCase))
            {
                elem = new DoorElement(module, emEnt);
            }
            else
            {
                elem = new Element(module, emEnt);
            }
            return(elem);
        }
Beispiel #2
0
        /// <summary>
        /// Создание элемента из автокадовского блока блока
        /// </summary>
        public static Element CreateElementDWG(BlockReference blRefElem, Module module, string blName, List <Parameter> parameters, string category)
        {
            Element elem = null;

            if (category.Equals(Options.Instance.CategoryWallName, StringComparison.OrdinalIgnoreCase))
            {
                elem = new WallElement(blRefElem, module, blName, parameters, category);
            }
            else if (category.Equals(Options.Instance.CategoryDoorName, StringComparison.OrdinalIgnoreCase))
            {
                elem = new DoorElement(blRefElem, module, blName, parameters, category);
                ((DoorElement)elem).DefineOrientation(blRefElem);
            }
            else
            {
                elem = new Element(blRefElem, module, blName, parameters, category);
            }

            return(elem);
        }
Beispiel #3
0
        public override bool Equals(Element other)
        {
            DoorElement door2 = other as DoorElement;

            if (door2 == null)
            {
                return(false);
            }
            if (ReferenceEquals(this, door2))
            {
                return(true);
            }

            var param1 = Parameters.Where(p => !p.Name.Equals(Options.Instance.DoorHostWallParameter, StringComparison.OrdinalIgnoreCase)).ToList();
            var param2 = door2.Parameters.Where(p => !p.Name.Equals(Options.Instance.DoorHostWallParameter, StringComparison.OrdinalIgnoreCase)).ToList();

            return(FamilyName.Equals(door2.FamilyName, StringComparison.OrdinalIgnoreCase) &&
                   FamilySymbolName.Equals(door2.FamilySymbolName, StringComparison.OrdinalIgnoreCase) &&
                   Direction.Equals(door2.Direction) &&
                   LocationPoint.Equals(door2.LocationPoint) &&
                   (HostWall != null && HostWall.Count == door2.HostWall.Count) &&
                   Parameter.Equal(param1, param2));
        }