imes-类型命名规范修改 #18
							
								
								
									
										59
									
								
								src/models/processors/cutPoint.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								src/models/processors/cutPoint.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,59 @@
 | 
			
		||||
import { ConfigBase } from "../config"
 | 
			
		||||
import { IProcessingItem } from "../processItem"
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 下刀点 入参
 | 
			
		||||
 */
 | 
			
		||||
export type CutPointInput = {
 | 
			
		||||
 | 
			
		||||
    /** (余料板异形点) 开料大板的开料轮廓数据 若没有则需要传 开料大板宽、高*/
 | 
			
		||||
    boardPointInfo?: IProcessingItem,
 | 
			
		||||
    /** 开料大板宽 若有 boardPointInfo 则不需要传 */
 | 
			
		||||
    boardWidth?: number,
 | 
			
		||||
    /** 开料大板长 若有 boardPointInfo 则不需要传 */
 | 
			
		||||
    boardLength?: number
 | 
			
		||||
    /** 小板数据集 */
 | 
			
		||||
    blocks?: CutPointInputBlock[]
 | 
			
		||||
}
 | 
			
		||||
/** 处理器输出---下刀点 */
 | 
			
		||||
export type CutPointOutput = {
 | 
			
		||||
    blocks: CutPointOutputBlock[]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 小板类型 输入
 | 
			
		||||
 */
 | 
			
		||||
export type CutPointInputBlock = {
 | 
			
		||||
    /** 小板唯一标识  */
 | 
			
		||||
    id: string | number;
 | 
			
		||||
    /** 排版长 */
 | 
			
		||||
    length: number;
 | 
			
		||||
    /** 排版宽 */
 | 
			
		||||
    width: number;
 | 
			
		||||
    /** 板件坐标X */
 | 
			
		||||
    x: number;
 | 
			
		||||
    /** 板件坐标y */
 | 
			
		||||
    y: number;
 | 
			
		||||
    /** 开料顺序 */
 | 
			
		||||
    cutOrder: number;
 | 
			
		||||
    /** 
 | 
			
		||||
     * 板件轮廓 
 | 
			
		||||
     * 用以分析下刀点的板件轮廓 
 | 
			
		||||
     * */
 | 
			
		||||
    blockPoints: IProcessingItem
 | 
			
		||||
    /** 是否异形  true 是异形  false 矩形 */
 | 
			
		||||
    isUnRegular: boolean
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/** 小板类型 输出 */
 | 
			
		||||
export type CutPointOutputBlock = CutPointInputBlock & {
 | 
			
		||||
    /** 下刀点  板件轮廓的下标 */
 | 
			
		||||
    cutPointId?: number,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** 下刀点配置 
 | 
			
		||||
 * 
 | 
			
		||||
 * 注:暂时没有配置项
 | 
			
		||||
 */
 | 
			
		||||
export declare class CutPointConfig extends ConfigBase {
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										38
									
								
								src/models/processors/holeToModel.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								src/models/processors/holeToModel.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,38 @@
 | 
			
		||||
import { ConfigBase } from "../config"
 | 
			
		||||
import { IProcessingItem } from "../processItem"
 | 
			
		||||
 | 
			
		||||
/** 处理器输入 -孔转造型*/
 | 
			
		||||
export type HoleToModelInput = {
 | 
			
		||||
    /** 孔信息 */
 | 
			
		||||
    holeData: HoleToModelProcessingItem[],
 | 
			
		||||
    /** 孔所在板件的优化后的坐标 X (可选)*/
 | 
			
		||||
    placeX?: number,
 | 
			
		||||
    /** 孔所在板件的优化后的坐标 Y (可选)*/
 | 
			
		||||
    placeY?: number,
 | 
			
		||||
    /** 孔所在板件的 厚度 */
 | 
			
		||||
    thickness: number
 | 
			
		||||
}
 | 
			
		||||
/** 处理器输出-- 获取造型在大板的刀路 */
 | 
			
		||||
export type HoleToModelOutput = {
 | 
			
		||||
    /** 孔转造型 后的 造型数据 */
 | 
			
		||||
    modelData: HoleToModelProcessingItem[],
 | 
			
		||||
    /** 未处理的孔数据 以及信息 */
 | 
			
		||||
    noHandleItem: noHandleItemType[]
 | 
			
		||||
}
 | 
			
		||||
export type noHandleItemType = {
 | 
			
		||||
    /** 未处理的孔信息 */
 | 
			
		||||
    holeData: HoleToModelProcessingItem,
 | 
			
		||||
    /** 未处理 说明 */
 | 
			
		||||
    info: string
 | 
			
		||||
}
 | 
			
		||||
/** 处理器配置-- 获取造型在大板的刀路  */
 | 
			
		||||
export declare class HoleToModelProcConfig extends ConfigBase {
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
/** 加工项的类型  */
 | 
			
		||||
export type HoleToModelProcessingItem = IProcessingItem & {
 | 
			
		||||
    /** 使用刀具的刀半径 */
 | 
			
		||||
    knifeRadius: number
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										181
									
								
								src/models/processors/modelProcessPoints.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										181
									
								
								src/models/processors/modelProcessPoints.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,181 @@
 | 
			
		||||
import { ConfigBase } from "../config"
 | 
			
		||||
 | 
			
		||||
/** 处理器输入-- 获取造型在大板的刀路 */
 | 
			
		||||
export type ModelProcessPointsInput = {
 | 
			
		||||
    /** 小板数据 */
 | 
			
		||||
    block: ModelProcessPointsInputBlock,
 | 
			
		||||
    /** 小板的最终的放置位置 */
 | 
			
		||||
    targetPosition: PositionType
 | 
			
		||||
}
 | 
			
		||||
/** 处理器输入--小板 -- 获取造型在大板的刀路 */
 | 
			
		||||
export type ModelProcessPointsInputBlock = {
 | 
			
		||||
    /** 板件唯一标识 */
 | 
			
		||||
    id: string | number,
 | 
			
		||||
    /** 板件基于大板的 坐标X */
 | 
			
		||||
    x: number,
 | 
			
		||||
    /** 板件基于大板的 坐标y */
 | 
			
		||||
    y: number,
 | 
			
		||||
    /** 板件(小板)长 */
 | 
			
		||||
    length: number,
 | 
			
		||||
    /** 板件(小板)宽 */
 | 
			
		||||
    width: number,
 | 
			
		||||
    /** 造型数据 依据放置方式positionType 下的造型数据  默认为 依据放置方式positionType.FRONT 的造型数据 */
 | 
			
		||||
    models: ModelProcessItem[],
 | 
			
		||||
    /** 板件的原放置方式 默认为正面(0) 不传则为正面  原 placestyle*/
 | 
			
		||||
    positionType?: PositionType,
 | 
			
		||||
    /** 偏移值 */
 | 
			
		||||
    offsetInfo: OffsetInfo
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
/** 板件 上下左右 偏移值信息 */
 | 
			
		||||
export type OffsetInfo = {
 | 
			
		||||
    top: number,
 | 
			
		||||
    bottom: number,
 | 
			
		||||
    left: number,
 | 
			
		||||
    right: number,
 | 
			
		||||
}
 | 
			
		||||
/** 处理器输出--小板 -- 获取造型在大板的刀路 */
 | 
			
		||||
export type ModelProcessPointsOutputBlock = {
 | 
			
		||||
    /** 板件唯一标识 */
 | 
			
		||||
    id: string | number
 | 
			
		||||
    /** 放置方式 */
 | 
			
		||||
    positionType: PositionType
 | 
			
		||||
    /** 造型数据 */
 | 
			
		||||
    models: ModelProcessItem[]
 | 
			
		||||
    /** 板件(小板)长 */
 | 
			
		||||
    length: number,
 | 
			
		||||
    /** 板件(小板)宽 */
 | 
			
		||||
    width: number,
 | 
			
		||||
    /** 偏移值 */
 | 
			
		||||
    offsetInfo: OffsetInfo
 | 
			
		||||
}
 | 
			
		||||
/** 处理器输出-- 获取造型在大板的刀路 */
 | 
			
		||||
export type ModelProcessPointsOutput = {
 | 
			
		||||
    block: ModelProcessPointsOutputBlock
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** 处理器配置-- 获取造型在大板的刀路  暂无 */
 | 
			
		||||
export declare class ModelProcessPointsProcConfig extends ConfigBase {
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/** 造型类 */
 | 
			
		||||
export interface ModelProcessItem {
 | 
			
		||||
    /** 加工项唯一标识 */
 | 
			
		||||
    id?: string | number
 | 
			
		||||
    /**
 | 
			
		||||
    * 加工点数组
 | 
			
		||||
    */
 | 
			
		||||
    pts: IPoint[];
 | 
			
		||||
    /**
 | 
			
		||||
     * 凸度数组
 | 
			
		||||
     */
 | 
			
		||||
    buls: number[];
 | 
			
		||||
    /** 加工面 */
 | 
			
		||||
    face: FaceType
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** 加工面 */
 | 
			
		||||
export enum FaceType {
 | 
			
		||||
    /** 正面 */
 | 
			
		||||
    FRONT = 0,
 | 
			
		||||
    /** 反面 */
 | 
			
		||||
    BACK = 1,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** 点坐标类 */
 | 
			
		||||
export interface IPoint { x: number, y: number; }
 | 
			
		||||
 | 
			
		||||
/** 小板的放置方式 */
 | 
			
		||||
export enum PositionType {
 | 
			
		||||
    /** 正面 */
 | 
			
		||||
    FRONT = 0,
 | 
			
		||||
    /** 正面右转 */
 | 
			
		||||
    FRONT_TURN_RIGHT = 1,
 | 
			
		||||
    /** 正面后转 */
 | 
			
		||||
    FRONT_TURN_BACK = 2,
 | 
			
		||||
    /** 正面左转 */
 | 
			
		||||
    FRONT_TURN_LEFT = 3,
 | 
			
		||||
    /** 反面 */
 | 
			
		||||
    BACK = 4,
 | 
			
		||||
    /** 反面右转 */
 | 
			
		||||
    BACK_TURN_RIGHT = 5,
 | 
			
		||||
    /** 反面后转 */
 | 
			
		||||
    BACK_TURN_BACK = 6,
 | 
			
		||||
    /** 反面左转 */
 | 
			
		||||
    BACK_TURN_LEFT = 7,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/** 行为类型  */
 | 
			
		||||
export type RotationAction = 'doNothing' | 'turnLeft' | 'turnRight' | 'turnAround'
 | 
			
		||||
/** 
 | 
			
		||||
 * 原放置方式 依据 目标放置方式  转 行为的 转换关系 
 | 
			
		||||
 * 
 | 
			
		||||
 * 注:原放置方式 为 翻面 转换后 的数值
 | 
			
		||||
 * 若要支持  翻转转换前  需对内容进一步填充
 | 
			
		||||
*/
 | 
			
		||||
export const transitions_PositionToAction: any = {
 | 
			
		||||
    [PositionType.FRONT]: {
 | 
			
		||||
        [PositionType.FRONT_TURN_BACK]: 'turnAround',
 | 
			
		||||
        [PositionType.FRONT_TURN_LEFT]: 'turnLeft',
 | 
			
		||||
        [PositionType.FRONT_TURN_RIGHT]: 'turnRight',
 | 
			
		||||
        [PositionType.FRONT]: 'doNothing'
 | 
			
		||||
    },
 | 
			
		||||
    [PositionType.FRONT_TURN_LEFT]: {
 | 
			
		||||
        [PositionType.FRONT]: 'turnRight',
 | 
			
		||||
        [PositionType.FRONT_TURN_RIGHT]: 'turnAround',
 | 
			
		||||
        [PositionType.FRONT_TURN_BACK]: 'turnLeft',
 | 
			
		||||
        [PositionType.FRONT_TURN_LEFT]: 'doNothing'
 | 
			
		||||
    },
 | 
			
		||||
    [PositionType.FRONT_TURN_RIGHT]: {
 | 
			
		||||
        [PositionType.FRONT]: 'turnLeft',
 | 
			
		||||
        [PositionType.FRONT_TURN_LEFT]: 'turnAround',
 | 
			
		||||
        [PositionType.FRONT_TURN_BACK]: 'turnRight',
 | 
			
		||||
        [PositionType.FRONT_TURN_RIGHT]: 'doNothing'
 | 
			
		||||
    },
 | 
			
		||||
    [PositionType.FRONT_TURN_BACK]: {
 | 
			
		||||
        [PositionType.FRONT]: 'turnAround',
 | 
			
		||||
        [PositionType.FRONT_TURN_LEFT]: 'turnRight',
 | 
			
		||||
        [PositionType.FRONT_TURN_RIGHT]: 'turnLeft',
 | 
			
		||||
        [PositionType.FRONT_TURN_BACK]: 'doNothing'
 | 
			
		||||
    },
 | 
			
		||||
    [PositionType.BACK]: {
 | 
			
		||||
        [PositionType.BACK_TURN_BACK]: 'turnAround',
 | 
			
		||||
        [PositionType.BACK_TURN_LEFT]: 'turnLeft',
 | 
			
		||||
        [PositionType.BACK_TURN_RIGHT]: 'turnRight',
 | 
			
		||||
        [PositionType.BACK]: 'doNothing'
 | 
			
		||||
    },
 | 
			
		||||
    [PositionType.BACK_TURN_LEFT]: {
 | 
			
		||||
        [PositionType.BACK]: 'turnRight',
 | 
			
		||||
        [PositionType.BACK_TURN_RIGHT]: 'turnAround',
 | 
			
		||||
        [PositionType.BACK_TURN_BACK]: 'turnLeft',
 | 
			
		||||
        [PositionType.BACK_TURN_LEFT]: 'doNothing'
 | 
			
		||||
    },
 | 
			
		||||
    [PositionType.BACK_TURN_RIGHT]: {
 | 
			
		||||
        [PositionType.BACK]: 'turnLeft',
 | 
			
		||||
        [PositionType.BACK_TURN_LEFT]: 'turnAround',
 | 
			
		||||
        [PositionType.BACK_TURN_BACK]: 'turnRight',
 | 
			
		||||
        [PositionType.BACK_TURN_RIGHT]: 'doNothing'
 | 
			
		||||
    },
 | 
			
		||||
    [PositionType.BACK_TURN_BACK]: {
 | 
			
		||||
        [PositionType.BACK]: 'turnAround',
 | 
			
		||||
        [PositionType.BACK_TURN_LEFT]: 'turnRight',
 | 
			
		||||
        [PositionType.BACK_TURN_RIGHT]: 'turnLeft',
 | 
			
		||||
        [PositionType.BACK_TURN_BACK]: 'doNothing'
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** 放置方式 翻转后的转换关系 */
 | 
			
		||||
export const transitions_PositionTurnFace: any = {
 | 
			
		||||
    [PositionType.FRONT]: PositionType.BACK,
 | 
			
		||||
    [PositionType.FRONT_TURN_RIGHT]: PositionType.BACK_TURN_LEFT,
 | 
			
		||||
    [PositionType.FRONT_TURN_BACK]: PositionType.BACK_TURN_BACK,
 | 
			
		||||
    [PositionType.FRONT_TURN_LEFT]: PositionType.BACK_TURN_RIGHT,
 | 
			
		||||
    [PositionType.BACK]: PositionType.FRONT,
 | 
			
		||||
    [PositionType.BACK_TURN_BACK]: PositionType.FRONT_TURN_BACK,
 | 
			
		||||
    [PositionType.BACK_TURN_LEFT]: PositionType.FRONT_TURN_RIGHT,
 | 
			
		||||
    [PositionType.BACK_TURN_RIGHT]: PositionType.FRONT_TURN_LEFT
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user