生产接口协议
Go to file
2025-07-29 17:42:16 +08:00
.vscode feat:处理器初步实现---有接上了新优化,回显需要再看下 2025-07-09 16:36:26 +08:00
samples feat:处理器初步实现---有接上了新优化,回显需要再看下 2025-07-09 16:36:26 +08:00
src 重构矩形优化处理器字段名,添加优化回调字段 2025-07-29 17:34:42 +08:00
tests feat:处理器初步实现---有接上了新优化,回显需要再看下 2025-07-09 16:36:26 +08:00
.gitignore init 2025-06-24 11:48:26 +08:00
jest.config.js feat:处理器初步实现---有接上了新优化,回显需要再看下 2025-07-09 16:36:26 +08:00
package.json 重构矩形优化处理器字段名,添加优化回调字段 2025-07-29 17:34:42 +08:00
pnpm-lock.yaml 重构矩形优化处理器字段名,添加优化回调字段 2025-07-29 17:34:42 +08:00
README.md 导出矩形优化类型 2025-07-25 16:28:43 +08:00
tsconfig.json 更改处理器上下文类型为TS接口,多项优化: 2025-07-15 16:13:59 +08:00

Cut Abstractions

这是一个用于MES新版生产的抽象库提供了一套可扩展的处理器和解析器用于处理各种切割相关的指令和数据。

核心概念

  • 处理器 (Processor): 负责执行具体的加工任务。每个处理器都包含名称、版本和执行方法。开发者可以继承 ProcessorBase 来实现自定义的处理器。

  • 解析器 (Parser): 负责解析文本指令,并调用相应的处理代码。ParserBase 提供了解析和执行指令的基本框架。

  • 上下文 (Context): 在处理器执行期间传递数据,包含输入、参数和输出。

主要功能

  • 可扩展的处理器架构: 允许开发者轻松添加新的加工处理器,以适应不同的业务需求。
  • 灵活的指令解析: 支持自定义指令集,可以解析文本格式的指令并执行相应的操作。
  • 清晰的数据流: 通过上下文对象在处理器之间传递数据,使得数据流清晰可控。

使用示例

以下是一个简单的示例,展示了如何使用本库:

import { ProcessorBase, ProcessorContext } from 'cut-abstractions';

// 定义输入、输出和配置类型
interface MyInput {
  data: string;
}

interface MyOutput {
  result: string;
}

interface MyConfig {
  param: string;
}

// 创建一个自定义处理器
class MyProcessor extends ProcessorBase<MyInput, MyOutput, MyConfig> {
  get name() {
    return 'my-processor';
  }

  get version() {
    return '1.0.0';
  }

  exec(context: ProcessorContext<MyInput, MyOutput, MyConfig>) {
    // 执行处理逻辑
    const inputData = context.input?.data || '';
    const param = context.params?.param || '';
    context.output = {
      result: `Processed: ${inputData} with param: ${param}`,
    };
  }
}

// 使用处理器
const processor = new MyProcessor();
const context: ProcessorContext<MyInput, MyOutput, MyConfig> = {
  input: { data: 'hello' },
  params: { param: 'world' },
};

processor.exec(context);

console.log(context.output?.result); // "Processed: hello with param: world"

模块

  • base: 提供了处理器的基本抽象。
  • parsers: 提供了指令解析器的基本抽象。
  • models: 定义了项目中使用的数据模型,如 ConfigKnifeFile

术语表

中文 CAD MES IMES 备注
房名 RoomName roomName roomName
柜名 CabinetName boxName bodyName
小板名 BoardName blockName blockName
材质 Material material material
大板名 boardName goodsName
余料 scrap remain
排单 planOrder planOrder

编译与发布

更新 package.json 版本号

pnpm clean  
pnpm build  
pnpm release