示例#1
0
 /// <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;
 }
示例#2
0
        /// <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);
        }
示例#3
0
 /// <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));
 }
示例#4
0
 /// <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)
 {
 }