/// <inheritdoc cref="OptionsAttribute(string, swMacroFeatureOptions_e)"/> /// <param name="provider">Default message to display when the COM server is not registered for this feature. /// The provided text is displayed in the What's Wrong dialog of SOLIDWORKS after the 'Add-in not found. Please contact'. This feature is only available in SOLIDWORKS 2016 or newer (revision 24.0)</param> public OptionsAttribute(string baseName, string provider, swMacroFeatureOptions_e flags = swMacroFeatureOptions_e.swMacroFeatureByDefault) { Flags = flags; BaseName = baseName; Provider = provider; }
/// <summary> /// 插入宏特征 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="featMgr">特征管理器</param> /// <param name="featureName">特征名</param> /// <param name="parameterNames">参数名</param> /// <param name="parameterTypes">特征类型</param> /// <param name="parameterValues">特征值</param> /// <param name="opts">选项</param> /// <param name="editBodies">编辑实体</param> /// <returns></returns> private static Feature InsertMacroFeature <T>( this IFeatureManager featMgr, string featureName, string[] parameterNames, int[] parameterTypes, string[] parameterValues, swMacroFeatureOptions_e opts, IBody2[] editBodies = null) { var macroFeature = featMgr.InsertMacroFeature3( featureName, typeof(T).FullName, null, parameterNames, parameterTypes, parameterValues, null, null, editBodies, null, (int)opts); if (macroFeature == null) { #if DEBUG var message = GetFeatureInsertError(typeof(T), parameterNames, parameterTypes, parameterValues); #else var message = ""; #endif throw new Exception($"Unable to create feature {typeof(T).FullName}. {message}"); } return(macroFeature); }
/// <summary> /// 插入宏特征扩展方法 /// </summary> /// <typeparam name="TFeature"></typeparam> /// <param name="featMgr"></param> /// <param name="featureName"></param> /// <param name="opts"></param> /// <param name="data"></param> /// <param name="editBodies"></param> /// <returns></returns> public static Feature InsertMacroFeature <TFeature> (this IFeatureManager featMgr, string featureName, swMacroFeatureOptions_e opts, object data, IBody2[] editBodies) { return(featMgr.InsertMacroFeature <TFeature>(featureName, IMacroFeatureDataExtension.GetFeatureDataNames(), IMacroFeatureDataExtension.GetFeatureDataTypes(), IMacroFeatureDataExtension.GetFeatureDataValues(data), opts, editBodies)); }
/// <summary> /// Options for macro feature /// </summary> /// <param name="baseName">Base name of the macro feature. /// This is a default name assigned to the feature when created followed by the index</param> /// <param name="flags">Additional options for macro feature as defined in <see href="http://help.solidworks.com/2016/english/api/swconst/solidworks.interop.swconst~solidworks.interop.swconst.swmacrofeatureoptions_e.html">swMacroFeatureOptions_e enumeration</see></param> public OptionsAttribute(string baseName, swMacroFeatureOptions_e flags = swMacroFeatureOptions_e.swMacroFeatureByDefault) : this(baseName, "", flags) { }