コード例 #1
0
 public override CustomFeatureRebuildResult OnRebuild(ISwApplication app, ISwDocument model,
                                                      ISwMacroFeature <EditMacroFeatureDefinitionParameters> feature, EditMacroFeatureDefinitionParameters parameters, out AlignDimensionDelegate <EditMacroFeatureDefinitionParameters> alignDim)
 {
     alignDim = null;
     return(new CustomFeatureRebuildResult()
     {
         Result = true
     });
 }
コード例 #2
0
        public override CustomFeatureRebuildResult OnRebuild(ISwApplication app, ISwDocument model,
                                                             ISwMacroFeature <MacroFeatureParams> feature, MacroFeatureParams parameters, out AlignDimensionDelegate <MacroFeatureParams> alignDim)
        {
            var txt       = parameters.TextParameter;
            var inputBody = parameters.InputBody;

            alignDim = null;
            return(new CustomFeatureRebuildResult());
        }
コード例 #3
0
 public override bool OnEditDefinition(ISwApplication app, ISwDocument model, ISwMacroFeature <EditMacroFeatureDefinitionParameters> feature)
 {
     if (ShowPage(feature.Parameters, out EditMacroFeatureDefinitionParameters newParams))
     {
         feature.Parameters = newParams;
         return(true);
     }
     else
     {
         feature.Parameters = null;
         return(false);
     }
 }
コード例 #4
0
        public override CustomFeatureRebuildResult OnRebuild(ISwApplication app, ISwDocument model,
                                                             ISwMacroFeature <DimensionWatcherData> feature, DimensionWatcherData parameters,
                                                             out AlignDimensionDelegate <DimensionWatcherData> alignDim)
        {
            alignDim = null;

            var res = parameters.Dimension != null;

            return(new CustomFeatureRebuildResult()
            {
                Result = parameters.Dimension != null,
                ErrorMessage = !res ? "Dimension not found" : ""
            });
        }
コード例 #5
0
        public override CustomFeatureRebuildResult OnRebuild(ISwApplication app, ISwDocument model,
                                                             ISwMacroFeature <DimensionMacroFeatureParams> feature, DimensionMacroFeatureParams parameters, out AlignDimensionDelegate <DimensionMacroFeatureParams> alignDim)
        {
            var resBodies = GetBodies(); //generating bodies

            alignDim = (name, dim) =>
            {
                switch (name)
                {
                case nameof(DimensionMacroFeatureParams.FirstDimension):
                    this.AlignLinearDimension(dim, new Point(0, 0, 0), new Vector(1, 0, 0));
                    break;

                case nameof(DimensionMacroFeatureParams.SecondDimension):
                    this.AlignRadialDimension(dim, new Point(0, 0, 0), new Vector(0, 0, 1));
                    break;
                }
            };

            return(new CustomFeatureBodyRebuildResult()
            {
                Bodies = resBodies
            });                                                                 //returning custom rebuild result
        }
コード例 #6
0
ファイル: RegenerationResults.cs プロジェクト: xarial/xcad
 public override CustomFeatureRebuildResult OnRebuild(ISwApplication app, ISwDocument model, ISwMacroFeature feature)
 {
     return(new CustomFeatureRebuildResult()
     {
         Result = true
     });
 }
コード例 #7
0
ファイル: RegenerationResults.cs プロジェクト: xarial/xcad
 public override CustomFeatureRebuildResult OnRebuild(ISwApplication app, ISwDocument model, ISwMacroFeature feature)
 {
     return(new CustomFeatureRebuildResult()
     {
         Result = false,
         ErrorMessage = "Failed to regenerate this feature"
     });
 }
コード例 #8
0
        public override CustomFeatureRebuildResult OnRebuild(ISwApplication app, ISwDocument model, ISwMacroFeature feature,
                                                             PmpMacroFeatData parameters, out AlignDimensionDelegate <PmpMacroFeatData> alignDim)
        {
            alignDim = (n, d) =>
            {
                switch (n)
                {
                case nameof(PmpMacroFeatData.Number):
                    this.AlignLinearDimension(d, new Point(0, 0, 0), new Vector(0, 1, 0));
                    break;

                case nameof(PmpMacroFeatData.Angle):
                    this.AlignAngularDimension(d, new Point(0, 0, 0), new Point(-0.1, 0, 0), new Vector(0, 1, 0));
                    break;
                }
            };

            var sweepArc = app.MemoryGeometryBuilder.WireBuilder.PreCreateArc();

            sweepArc.Center   = new Point(0, 0, 0);
            sweepArc.Axis     = new Vector(0, 0, 1);
            sweepArc.Diameter = 0.01;
            sweepArc.Commit();

            var sweepLine = app.MemoryGeometryBuilder.WireBuilder.PreCreateLine();

            sweepLine.StartCoordinate = new Point(0, 0, 0);
            sweepLine.EndCoordinate   = new Point(1, 1, 1);
            sweepLine.Commit();

            var sweep = (ISwTempSweep)app.MemoryGeometryBuilder.SolidBuilder.PreCreateSweep();

            sweep.Profiles = new ISwTempRegion[] { app.MemoryGeometryBuilder.CreatePlanarSheet(sweepArc).Bodies.OfType <ISwTempPlanarSheetBody>().First() };
            sweep.Path     = sweepLine;
            sweep.Commit();

            parameters.Number = parameters.Number + 1;
            return(new CustomFeatureBodyRebuildResult()
            {
                Bodies = sweep.Bodies
            });
        }
コード例 #9
0
 public override void OnPostRebuild(ISwApplication app, ISwDocument model, ISwMacroFeature <BoxMacroFeatureData> feature, BoxMacroFeatureData parameters)
 {
     base.OnPostRebuild(app, model, feature, parameters);
 }
コード例 #10
0
 public virtual CustomFeatureState_e OnUpdateState(ISwApplication app, ISwDocument model, ISwMacroFeature feature)
 {
     return(CustomFeatureState_e.Default);
 }
コード例 #11
0
 public override CustomFeatureRebuildResult OnRebuild(ISwApplication app, ISwDocument model, ISwMacroFeature feature)
 {
     return(base.OnRebuild(app, model, feature));
 }
コード例 #12
0
 public override void OnPostRebuild(ISwApplication app, ISwDocument model, ISwMacroFeature <CabinetSizeData> feature, CabinetSizeData parameters)
 {
     m_Svc.Configure((IXAssembly)model, parameters.Width, parameters.Height, parameters.Depth,
                     parameters.NumberOfDrawers, parameters.DrawerWidth, parameters.DrawerHandleType);
 }
コード例 #13
0
 public virtual CustomFeatureRebuildResult OnRebuild(ISwApplication app, ISwDocument model, ISwMacroFeature feature)
 {
     return(null);
 }
コード例 #14
0
ファイル: RegenerationResults.cs プロジェクト: xarial/xcad
        public override CustomFeatureRebuildResult OnRebuild(ISwApplication app, ISwDocument model, ISwMacroFeature feature)
        {
            var body = app.MemoryGeometryBuilder.CreateSolidBox(new Point(0, 0, 0),
                                                                new Vector(1, 0, 0), new Vector(0, 1, 0),
                                                                0.1, 0.1, 0.1);

            return(new CustomFeatureBodyRebuildResult()
            {
                Bodies = body.Bodies.ToArray()
            });
        }
コード例 #15
0
ファイル: LocalizationAddIn.cs プロジェクト: xarial/xcad
 public override CustomFeatureRebuildResult OnRebuild(ISwApplication app, ISwDocument model, ISwMacroFeature feature)
 {
     if (!string.IsNullOrEmpty(model.Title))
     {
         return(new CustomFeatureRebuildResult()
         {
             Result = true
         });
     }
     else
     {
         return(new CustomFeatureRebuildResult()
         {
             Result = true,
             ErrorMessage = Resources.MacroFeatureError
         });
     }
 }
コード例 #16
0
 public override CustomFeatureState_e OnUpdateState(ISwApplication app, ISwDocument model, ISwMacroFeature feature)
 {
     //disallow editing or suppressing of the feature
     return(CustomFeatureState_e.CannotBeDeleted
            | CustomFeatureState_e.CannotBeSuppressed);
 }
コード例 #17
0
 /// <summary>
 /// Called when macro feature is rebuild
 /// </summary>
 /// <param name="app">Application</param>
 /// <param name="model">Document</param>
 /// <param name="feature">Feature</param>
 public virtual void OnPostRebuild(ISwApplication app, ISwDocument model, ISwMacroFeature feature)
 {
 }
コード例 #18
0
 protected virtual void AddDataToRebuildQueue(ISwApplication app, ISwDocument doc, ISwMacroFeature macroFeatInst)
 {
     m_RebuildFeaturesQueue.Add(new MacroFeatureRegenerateData()
     {
         Application = app,
         Document    = doc,
         Feature     = macroFeatInst
     });
 }
コード例 #19
0
ファイル: EditBodies.cs プロジェクト: xarial/xcad
 public override CustomFeatureRebuildResult OnRebuild(ISwApplication app, ISwDocument model, ISwMacroFeature feature, MacroFeatureEditBodiesParams parameters, out AlignDimensionDelegate <MacroFeatureEditBodiesParams> alignDim)
 {
     alignDim = null;
     return(new CustomFeatureRebuildResult());
 }
コード例 #20
0
 public virtual bool OnEditDefinition(ISwApplication app, ISwDocument model, ISwMacroFeature feature)
 {
     return(true);
 }