Exemplo n.º 1
0
        /// <summary>
        /// Метод удаляет свойство в соответствующую конфигурацию
        /// объекта и в ModelDoc2
        /// </summary>
        /// <param name="nameConfig"></param>
        /// <param name="prop"></param>
        /// <returns></returns>
        public int Remove(string nameConfig, SwProperty prop)
        {
            if (prop == null)
            {
                throw new System.ArgumentNullException(nameof(prop));
            }

            if (!_ConfigPropertys.ContainsKey(nameConfig))
            {
                throw new KeyNotFoundException(nameof(prop));
            }

            // Выбираем исполнение в котором собираемся менять свойства
            _customPropManager = SwModel.Extension.CustomPropertyManager[nameConfig];

            //Удаляем из списка свойств.
            if (_ConfigPropertys[nameConfig].Remove(prop))
            {
                //Удаляем свойство из модели SolidWorks
                return(_customPropManager.Delete2(prop.Name));
            }
            else
            {
                return(1);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Метод добавляет свойство в соответствующую конфигурацию
        /// объекта и в ModelDoc2
        /// </summary>
        /// <param name="nameConfig"></param>
        /// <param name="prop"></param>
        /// <returns></returns>
        public int Add(string nameConfig, SwProperty prop)
        {
            if (prop == null)
            {
                throw new System.ArgumentNullException(nameof(prop));
            }

            if (!_ConfigPropertys.ContainsKey(nameConfig))
            {
                throw new KeyNotFoundException(nameof(prop));
            }

            // Выбираем исполнение в котором собираемся менять свойства
            _customPropManager = SwModel.Extension.CustomPropertyManager[nameConfig];

            //Если свойство уже имеется в списке
            // изменить его значение Value, иначе добавить в список.
            if (_ConfigPropertys[nameConfig].Contains(prop))
            {
                _ConfigPropertys[nameConfig].First(x => x.Name == prop.Name).Value = prop.Value;
            }
            else
            {
                _ConfigPropertys[nameConfig].Add(prop);
            }

            //Добавляем свойство в модель SolidWorks
            return(_customPropManager.Add3(prop.Name, (int)swCustomInfoType_e.swCustomInfoText,
                                           prop.Value, (int)swCustomPropertyAddOption_e.swCustomPropertyDeleteAndAdd));
        }