349 lines
8.3 KiB
TypeScript
349 lines
8.3 KiB
TypeScript
|
||
|
||
|
||
/** 内部指令 接收 */
|
||
export class CodeAction {
|
||
code?: String
|
||
order?: String
|
||
codeParams?: any
|
||
}
|
||
/**内部响应类 */
|
||
export class GCodeResType {
|
||
code: number = -1
|
||
data: any = null
|
||
msg: string = ''
|
||
logError(msg) {
|
||
console.error(msg)
|
||
}
|
||
}
|
||
|
||
|
||
// 加工项 点数据
|
||
export class CodeParams {
|
||
/** x坐标 */
|
||
x?: Number | String
|
||
/** y坐标 */
|
||
y?: Number | String
|
||
/** z坐标 */
|
||
z?: Number | String
|
||
/** 调用的代码编号 */
|
||
dir?: Number | String
|
||
/** 圆弧半径 */
|
||
r?: Number | String
|
||
/** 速度 */
|
||
f?: Number | String
|
||
/** IJK 模式的i */
|
||
i?: Number | String
|
||
/** IJK 模式的j */
|
||
j?: Number | String
|
||
/** IJK 模式的k */
|
||
k?: Number | String
|
||
|
||
/** 代码标识 */
|
||
codeKey?: String
|
||
/** x坐标 */
|
||
xKey?: String
|
||
/** y坐标 */
|
||
yKey?: String
|
||
/** z坐标 */
|
||
zKey?: String
|
||
/** 圆弧半径 */
|
||
rKey?: String
|
||
/** 速度 */
|
||
fKey?: String
|
||
/** IJK 模式的i */
|
||
iKey?: String
|
||
/** IJK 模式的j */
|
||
jKey?: String
|
||
/** IJK 模式的k */
|
||
kKey?: String
|
||
}
|
||
|
||
|
||
export type _knifeType = Partial<Knife>
|
||
|
||
/**
|
||
* 板面类型
|
||
* 0正面 1反面 2侧面 21左侧面 22右侧面 23上侧面 24下侧面 29 弧形侧面 30异形侧面
|
||
*/
|
||
export enum FaceType {
|
||
/** 正面 */
|
||
FRONT = 0,
|
||
/** 反面 */
|
||
BACK = 1,
|
||
/** 侧面 */
|
||
SIDE = 2,
|
||
/** 左侧面 */
|
||
LEFT_SIDE = 21,
|
||
/** 右侧面 */
|
||
RIGHT_SIDE = 22,
|
||
/** 上侧面 */
|
||
TOP_SIDE = 23,
|
||
/** 下侧面 */
|
||
BOTTOM_SIDE = 24,
|
||
/** 弧形侧面 */
|
||
CURVED_SIDE = 29,
|
||
/** 异形侧面 */
|
||
SPECIAL_SHAPED_SIDE = 30,
|
||
}
|
||
|
||
/** 开料刀 */
|
||
export class Knife {
|
||
/** 是否启用 */
|
||
isEnabled = true;
|
||
/** 轴号 */
|
||
axleId = 0;
|
||
/** 开料刀ID号 */
|
||
knifeId = 1;
|
||
/** 加工面(0正面 1反面 2左侧面 3右侧面 4上侧面 5下侧面 6任意) */
|
||
processFace = 0;
|
||
/** 刀名称 */
|
||
knifeName = '';
|
||
/** 刀具类型(1铣刀 2成型刀 3钻头 4锯 5刀片) */
|
||
knifeType = KnifeType.MILLING_CUTTER;
|
||
/** 功能属性(数组): 1开料/切割 2拉槽 3铣型 4铣孔 5钻孔 6拉米诺 7乐扣 8T型 */
|
||
ability: any = [];
|
||
|
||
// /** 默认开料刀 */
|
||
// isDefaultCutKnife = false;
|
||
// /** 是否可用于开料切割 */
|
||
// isCuttingKnife = false;
|
||
// /** 是否允许铣孔(knifeType为铣刀生效) */
|
||
// isMillingAllowed = false;
|
||
/** 刀直径mm */
|
||
diameter = 6;
|
||
/** 刀长(最大深度) */
|
||
length = 20;
|
||
/** 锯齿厚度,单次加工切缝宽度 */
|
||
sawThiness = 0;
|
||
/**锯向: 0横向(或长边) 1纵向(短边) 2自由角度*/
|
||
sawDirection = 0;
|
||
/**切向加工方向: 0横向左往右 2横向右往左 3纵向上往下 4纵向下往上 5随意 */
|
||
processDirection = 0;
|
||
/**进给速度, 0取系统默认 */
|
||
speed = 0;
|
||
/** 进给深度 */
|
||
stepDepth = 0;
|
||
// /** 组号 */
|
||
// groupNo = 0;
|
||
// /** 主刀 */
|
||
// isMainKnife = false;
|
||
// /** 是否高级加工 */
|
||
// isAdvancedProcessEnabled = false;
|
||
// /** 是否集合加工 */
|
||
// isBatchProcessEnabled = false;
|
||
// /** 副刀偏置长边偏移(Y轴) */
|
||
// auxKnifeOffsetY = 0;
|
||
// /** 副刀偏置短边偏移(X轴) */
|
||
// auxKnifeOffsetX = 0;
|
||
/** 偏置短边偏移(X轴)-相对于工件原点位置XY坐标的短边方向偏移量 */
|
||
offsetX = 0;
|
||
/** 偏置长边偏移(Y轴) -相对于工件原点位置XY坐标的长边方向偏移量*/
|
||
offsetY = 0;
|
||
/** 偏置垂直偏移(Z轴) -相对于工件原点位置XY坐标的垂直方向偏移量*/
|
||
offsetZ = 0;
|
||
/** 基准坐标-短边(X轴) -钻头在钻包中短边方向(纵向)的相对位置 */
|
||
baseX = 0;
|
||
/** 基准坐标-长边(Y轴) -钻头在钻包中长边方向(横向)的相对位置 */
|
||
baseY = 0;
|
||
/**组合钻 */
|
||
isModularDrill = false;
|
||
/** 是否预启动 */
|
||
isPreStartEnabled = false;
|
||
/** 预启动提前动作数 */
|
||
preStartAheadActionCount = 5;
|
||
/** 预启动延迟换刀 */
|
||
isPreStartToolChangeDelay = false;
|
||
/** 预启动延迟换刀指令 */
|
||
preStartToolChangeDelayCode = '';
|
||
/** 轴启动指令后置 */
|
||
isAxisStartCodePostpost = false;
|
||
/** 轴停止指令前置 */
|
||
isAxisStopCodePrepose = false;
|
||
/** 钻组独立指令(启用后,刀起始指令、刀结束指令使用钻组起始指令、钻组结束指令替换) */
|
||
drillGroupCode = '';
|
||
|
||
/** 轴启动代码*/
|
||
axisStartCode = "";
|
||
/** 刀启动代码 */
|
||
knifeStartCode = '';
|
||
/** 钻组起始指令 */
|
||
drillGroupStartCode = '';
|
||
/** 钻组结束指令 */
|
||
drillGroupEndCode = '';
|
||
/** 刀停止代码 */
|
||
knifeStopCode = '';
|
||
/** 轴停止指令 */
|
||
axisStopCode = '';
|
||
// /** 高级加工指令 */
|
||
// advancedCode = '';
|
||
|
||
|
||
/** 设置刀具(轴号, 刀名, 刀直径, 是否主刀, 是否铣孔, 是否开料刀) */
|
||
// set(axleId: number, name: string, diameter: number, isMainKnife: boolean, isMillingAllowed: boolean, isCuttingKnife: boolean)
|
||
/** 设置刀具(轴号, 刀名, 刀类型, 刀直径, 刀长, 是否默认刀) */
|
||
}
|
||
|
||
|
||
/** 刀类型: MILLING_CUTTER铣刀 FORMING_CUTTER成型刀 DRILL钻头 SAW锯 BLADE刀片 */
|
||
export enum KnifeType {
|
||
/** 铣刀 */
|
||
MILLING_CUTTER = 1,
|
||
/** 成型刀 */
|
||
FORMING_CUTTER = 2,
|
||
/** 钻头 */
|
||
DRILL = 3,
|
||
/** 锯 */
|
||
SAW = 4,
|
||
/** 刀片 */
|
||
BLADE = 5
|
||
}
|
||
|
||
/** 刀功能:
|
||
** 1-CUT开料/切割 2-PULLING_GROOVE拉槽 3-MILLING_MODEL铣型 4-MILLING_HOLE铣孔
|
||
** 5-DRILL_HOLE钻孔 6-RAMINO拉米诺 7-EASY_FASTEN乐扣 8-T_TYPE T型 */
|
||
export enum AbilityType {
|
||
/** 1开料/切割 */
|
||
CUT = 1,
|
||
/** 2拉槽 */
|
||
PULLING_GROOVE = 2,
|
||
/** 3铣型 */
|
||
MILLING_MODEL = 3,
|
||
/** 4铣孔 */
|
||
MILLING_HOLE = 4,
|
||
/** 5钻孔 */
|
||
DRILL_HOLE = 5,
|
||
/** 6拉米诺 */
|
||
RAMINO = 6,
|
||
/** 7乐扣 */
|
||
EASY_FASTEN = 7,
|
||
/** 8T型 */
|
||
T_TYPE = 8
|
||
}
|
||
|
||
/** 枚举 坐标轴类型 */
|
||
export enum AxisType {
|
||
/** X轴正 */
|
||
X_POS = 0,
|
||
/** X轴负 */
|
||
X_NEG = 1,
|
||
/** Y轴正 */
|
||
Y_POS = 2,
|
||
/** Y轴负 */
|
||
Y_NEG = 3,
|
||
/** 向上Z轴正 */
|
||
Z_POS = 4,
|
||
/** 向下Z轴负 */
|
||
Z_NEG = 5,
|
||
}
|
||
|
||
/** 枚举 坐标轴类型 */
|
||
export enum OriginZPosition {
|
||
/** 台面向上Z轴正 */
|
||
WorkTop = 0,
|
||
/** 板面向上Z轴正 */
|
||
BoardFace = 1,
|
||
}
|
||
|
||
// nc文件编码
|
||
export const ncEncodeMap = {
|
||
'UTF-8': 'UTF-8',
|
||
'GB2312': 'GB2312',
|
||
'UTF-8-BOM': 'UTF-8-BOM',
|
||
'GBK': 'GBK',
|
||
'Big-5': 'Big-5',
|
||
'GB18030': 'GB18030',
|
||
'Unicode': 'Unicode'
|
||
}
|
||
|
||
// 小板文件名选项
|
||
export const smallPlateOptionsMap = {
|
||
板宽: '{0}',
|
||
板长: '{1}',
|
||
颜色: '{2}',
|
||
材质: '{3}',
|
||
大板号: '{4}',
|
||
工位号: '{5}',
|
||
板厚: '{6}',
|
||
开料顺序: '{7}',
|
||
批次识别: '{8}',
|
||
小板编号: '{9}',
|
||
全局大板号: '{10}',
|
||
品牌: '{11}',
|
||
}
|
||
|
||
// zip压缩包文件名选项
|
||
export const zipFileOptionsMap = {
|
||
'板宽': '{0}',
|
||
'板长': '{1}',
|
||
'颜色': '{2}',
|
||
'材质': '{3}',
|
||
'大板号': '{4}',
|
||
'工位号': '{5}',
|
||
'板厚': '{6}',
|
||
'开料顺序': '{7}',
|
||
'批次识别': '{8}',
|
||
'小板编号': '{9}',
|
||
'全局大板号': '{10}',
|
||
'品牌': '11',
|
||
}
|
||
|
||
/** 枚举 大板边角位置 */
|
||
export enum BoardPosition {
|
||
/** 左上角 */
|
||
// LEFT_TOP = 0,
|
||
// /** 左下角 */
|
||
// LEFT_BOTTOM = 1,
|
||
// /** 右下角 */
|
||
// RIGHT_BOTTOM = 2,
|
||
// /** 右上角 */
|
||
// RIGHT_TOP = 3,
|
||
/** 左上角 */
|
||
LEFT_TOP = 3,
|
||
/** 左下角 */
|
||
LEFT_BOTTOM = 0,
|
||
/** 右下角 */
|
||
RIGHT_BOTTOM = 1,
|
||
/** 右上角 */
|
||
RIGHT_TOP = 2,
|
||
/**
|
||
* 左下角 = 0,
|
||
右下角 = 1,
|
||
右上角 = 2,
|
||
左上角 = 3
|
||
*/
|
||
}
|
||
|
||
/** 排版样式 */
|
||
export enum PlaceStyle {
|
||
/** 正面 */
|
||
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 enum EdgeType
|
||
{
|
||
/** 下=0 */
|
||
BOTTOM = 0,
|
||
/** 右=1 */
|
||
RIGHT = 1,
|
||
/** 上=2 */
|
||
TOP = 2,
|
||
/** 左=3 */
|
||
LEFT = 3,
|
||
}
|