/// <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); } }
/// <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)); }