示例#1
0
        protected override MacroFeatureRebuildResult OnRebuild(ISldWorks app, IModelDoc2 model,
                                                               IFeature feature, RoundStockFeatureParameters parameters)
        {
            var cylParams = GetCylinderParams(model, parameters);

            //temp
            SetProperties(model, parameters, cylParams);
            //

            parameters.Height = cylParams.Height;
            parameters.Radius = cylParams.Radius;

            var featData = feature.GetDefinition() as IMacroFeatureData;

            MacroFeatureOutdateState_e state;

            SetParameters(model, feature, featData, parameters, out state);

            if (state != MacroFeatureOutdateState_e.UpToDate)
            {
                app.ShowBubbleTooltip("Stock Master",
                                      $"'{feature.Name}' feature is outdated. Edit definition of the feature to update",
                                      BubbleTooltipPosition_e.TopLeft, Resources.warning_icon);
            }

            if (parameters.CreateSolidBody)
            {
                var body = m_StockModel.CreateCylindricalStock(cylParams);
                return(MacroFeatureRebuildResult.FromBody(body, feature.GetDefinition() as IMacroFeatureData));
            }
            else
            {
                return(MacroFeatureRebuildResult.FromStatus(true));
            }
        }
示例#2
0
        protected override MacroFeatureRebuildResult OnRebuild(LifecycleMacroFeatureHandler handler,
                                                               LifecycleMacroFeatureParams parameters)
        {
            handler.Rebuild();

            return(MacroFeatureRebuildResult.FromStatus(true));
        }
示例#3
0
 protected override MacroFeatureRebuildResult OnRebuild(ISldWorks app, IModelDoc2 model, IFeature feature)
 {
     if (!string.IsNullOrEmpty(model.GetPathName()))
     {
         return(MacroFeatureRebuildResult.FromStatus(true));
     }
     else
     {
         return(MacroFeatureRebuildResult.FromStatus(false, Resources.MacroFeatureError));
     }
 }
        protected override MacroFeatureRebuildResult OnRebuild(ISldWorks app, IModelDoc2 model,
                                                               IFeature feature, DimensionMacroFeatureParams parameters)
        {
            parameters.RefCalcDimension = parameters.RefDimension * 2;
            parameters.DateTimeStamp    = DateTime.Now.Ticks;

            SetParameters(model, feature, feature.GetDefinition() as IMacroFeatureData, parameters);
            feature.Name = parameters.RefDimension.ToString();

            return(MacroFeatureRebuildResult.FromStatus(true));
        }
        protected virtual MacroFeatureRebuildResult CreateRebuildResult(ISldWorks app, IMacroFeatureData featData, TParams parameters)
        {
            var bodies = CreateGeometry(app, parameters);

            if (bodies.Any())
            {
                return(MacroFeatureRebuildResult.FromBodies(bodies, featData, true));
            }
            else
            {
                return(MacroFeatureRebuildResult.FromStatus(true));
            }
        }
示例#6
0
        protected override MacroFeatureRebuildResult OnRebuild(ISldWorks app, IModelDoc2 model, IFeature feature, JRTrimFeatureData parameters)
        {
            try
            {
                var swMFD = feature.GetDefinition() as IMacroFeatureData;

                var resBodies = parameters.CreateBodies(app, preview: false).ToArray();

                return(MacroFeatureRebuildResult.FromBodies(resBodies, swMFD));
            }
            catch (Exception ex)
            {
                return(MacroFeatureRebuildResult.FromStatus(false, ex.Message));
            }
        }
        protected override MacroFeatureRebuildResult OnRebuild(LinkFileMacroFeatureHandler handler, LinkFileMacroFeatureParameters parameters)
        {
            if (handler.LastError == null)
            {
                parameters.FileLastUpdateTimeStamp = handler.LastUpdateStamp;

                SetParameters(handler.Model, handler.Feature, handler.Feature.GetDefinition() as IMacroFeatureData, parameters);

                return(MacroFeatureRebuildResult.FromBodies(
                           handler.CachedBodies.Select(b => b.ICopy()).ToArray(),
                           handler.Feature.GetDefinition() as IMacroFeatureData));
            }
            else
            {
                return(MacroFeatureRebuildResult.FromStatus(false, handler.LastError.ToString()));
            }
        }
        protected override MacroFeatureRebuildResult OnRebuild(ISldWorks app, IModelDoc2 model, IFeature feature, TParams parameters)
        {
            try
            {
                var featData = feature.GetDefinition() as IMacroFeatureData;

                return(CreateRebuildResult(app, featData, parameters));
            }
            catch (UserErrorException ex)
            {
                Logger.Log(ex);
                return(MacroFeatureRebuildResult.FromStatus(false, ex.Message));
            }
            catch (Exception ex)
            {
                Logger.Log(ex);
                return(MacroFeatureRebuildResult.FromStatus(false, "Rebuild error"));
            }
        }
示例#9
0
 protected override MacroFeatureRebuildResult OnRebuild(ISldWorks app, IModelDoc2 model, IFeature feature)
 {
     return(MacroFeatureRebuildResult.FromStatus(false, ObsoleteFeatureRebuildError));
 }
示例#10
0
        protected override MacroFeatureRebuildResult OnRebuild(LifecycleMacroFeatureHandler handler, LifecycleMacroFeatureParams parameters)
        {
            //TODO: access handler to extract feature specific data

            return(MacroFeatureRebuildResult.FromStatus(true));
        }
示例#11
0
 protected override MacroFeatureRebuildResult OnRebuild(ISldWorks app, IModelDoc2 model, IFeature feature)
 {
     return(MacroFeatureRebuildResult.FromStatus(false, "Failed to regenerate this feature"));
 }
示例#12
0
 protected override MacroFeatureRebuildResult OnRebuild(ISldWorks app, IModelDoc2 model, IFeature feature)
 {
     return(MacroFeatureRebuildResult.FromStatus(true));
 }