Powermill二次开发的草稿(4)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PM装配器
{
    public class PMCalc
    {
        public virtual void Calc()
        {
            Console.WriteLine("PM计算宏。。。");
        }
    }

    public class PM装配器 : PMCalc
    {
        protected PMCalc Component;
        public void PM装配(PMCalc p) 
        {
            this.Component = p;
        }
        public override void Calc()
        {
            if (Component != null)
            {
                Component.Calc();
            }
        }
    }

    public class PMBlock : PM装配器
    {
        public override void Calc()
        {
            Console.WriteLine("设置毛坯的操作");
            base.Calc();
        }
    }
    public class PM添加基本操作 : PM装配器
    {
        public override void Calc()
        {
            Console.WriteLine("添加最基本的操作");
            Console.WriteLine("添加刀具路径策略");
            Console.WriteLine("添加刀具");
            Console.WriteLine("添加相关参数(转速,进给...)");
            base.Calc();
        }
    }
    public class PMLoading : PM装配器
    {
        public override void Calc()
        {
            Console.WriteLine("设置连接路径的操作");
           base.Calc();
        }
    }
    public class PMPost : PM装配器
    {
        public override void Calc()
        {
            Console.WriteLine("设置后处理的操作");
            base.Calc();
        }
    }

    public class PMSelectFace : PM装配器
    {
        public override void Calc()
        {
            Console.WriteLine("选中一个面");
            base.Calc();
        }
    }
}
//调用

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PM装配器
{
    class Program
    {
        static void Main(string[] args)
        {
            PMCalc c = new PMCalc();
            PMBlock b = new PMBlock();
            PMLoading l = new PMLoading();
            PMPost p = new PMPost();
            PM添加基本操作 j = new PM添加基本操作();
            PM装配器 z = new PM装配器();

            //开始在PMCalc上进行包装
            z.PM装配(c);

            //添加后处理的操作
            p.PM装配(z);
            //添加连接路径的操作
            l.PM装配(p);
            //添加毛坯相关的操作
            b.PM装配(z);
            //添加基本的操作(策略,刀具,转速...)
            j.PM装配(p);

            //b.Calc();
            //Console.WriteLine("***************************");
            //l.Calc();
            //Console.WriteLine("***************************");
            //p.Calc();
            //Console.WriteLine("***************************");
            j.Calc();
            Console.ReadKey();
        }
    }
}

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值