报表
报表统计和测量图纸中的内容:有多少个图元、各图层的切割线和压痕线有多长、刀模所需的刀线长度及其大致成本、展开料的尺寸、所有图元的列表。文件 › 报表… 会列出报表,询问所选报表的选项,并显示其结果。复制 将结果以文本形式放到剪贴板上;保存… 将其写为 CSV、Excel 工作簿(Numbers 和 Google 表格也能打开)、OpenDocument 电子表格(LibreOffice 的格式)、网页、PDF(用于打印或发送:版式与网页相同,图片按原样绘制,长表格延续到后续页面)、Word 文档(Pages 和 Google 文档也能打开)或 OpenDocument 文本(LibreOffice 的格式)——两者版式与 PDF 相同且仍可编辑、Markdown(用于 Wiki 或笔记)、JSON(原样的数据,供其他程序使用)或文本。在电子表格中,数字仍为数字,标题加粗。
报表用 JavaScript 编写,因此您可以修改应用自带的报表或编写自己的报表:统计什么、如何分组、单位和价格、列。
声明报表
drawingReport({
name: "Cut and crease",
category: "Quantities",
description: "Total cut and crease length.",
options: { selectionOnly: { label: "Selected elements only", value: false } },
run(drawing, options) {
const elements = drawing.elements.filter(e => !options.selectionOnly || e.selected);
const length = layer => elements.filter(e => e.layer === layer).reduce((t, e) => t + e.length, 0);
return {
title: "Cut and crease",
summary: `${elements.length} elements`,
tables: [{
columns: ["Layer", { title: `Length (${drawing.units})`, decimals: 1 }],
rows: [["Cut", length(0)], ["Crease", length(1)]],
footer: ["Total", length(0) + length(1)]
}]
};
}
});
| 属性 | 含义 |
|---|---|
name、description |
选择报表时显示的内容。 |
category |
在列表中对其分组:Quantities › Element list。 |
options |
其选项,在运行之前询问。 |
run(drawing, options) |
计算并返回报表。 |
drawing 是设计规则所看到的图纸:其名称、单位、范围和图层,每个导出的图元及其 id、类型、图层、长度、面积、端点、范围、连接点和刀具,以及是否被选中;正在处理的页面;每个页面上的排样,包括其纸张、副本和废料;以及按名称访问的备注(drawing.notes["Customer"])。options 按名称保存所选的值。也可以使用绘图 API 的读取函数(variable("L")、getPoint(4)、evaluate("…")),以及 distanceBetween 和 crossings。报表不能更改图纸。针对各行业的报表,它还包含 drawing.panels(切割图层上作为工件的每个闭合轮廓:其尺寸取外接最小矩形,以及面积、周长、孔、开孔和缺口、其内部的文字、纹向和封边,以及其在 3D 中的 thickness 和 look:其自己的 RULE THICK 和 LOOK,否则为其图层的 LAYER3D,否则为 null)、drawing.welds(用焊口编号工具编号的焊口)和 drawing.rollLayouts(每个卷材排料的裁幅、接缝和裁切图)。
返回内容
| 属性 | 含义 |
|---|---|
title |
报表的标题(省略时为其名称)。 |
summary |
显示在表格上方的一行文字或由多行组成的数组。 |
tables |
表格数组(或单个表格)。 |
notes |
显示在表格下方的一行或多行文字。 |
每个表格包含:
| 属性 | 含义 |
|---|---|
heading |
显示在表格上方(省略时不显示)。 |
columns |
每列的标题,或 {title, decimals, align}:其数字显示的小数位数,以及 "left" 或 "right"。 |
rows |
每一行:单元格数组,或按列标题组织的单元格对象({ Layer: "Cut", Length: 920 })。 |
footer |
合计行,与各行分开显示在下方。 |
csvTable |
单独作为 CSV 内容的表格(其从 0 开始的位置,或其标题):只有列标题和各行,没有标题、摘要或说明,供其他程序导入。 |
figures |
网页中显示在表格下方的图片:每个为 { heading, svg },即报表绘制的 SVG(裁切图、焊口图)。不包含在 CSV 或文本中。 |
单元格可以是数字、文本或 true/false(显示为“是”和“否”);null 表示单元格为空。数字按列的小数位数显示(未指定时,整数按原样显示,其他数字保留 2 位),并右对齐。在 CSV 中,数字以完整精度写入,以便电子表格处理。
报表也可以只返回文本:一个字符串,或由多行组成的数组。
应用自带的报表
| 报表 | 显示内容 |
|---|---|
| 图元和长度 | 图元数量及其总长度,按图层、按类型或两者兼有;整个图纸或所选内容。 |
| 刀线长度和成本 | 每个切割和压痕图层上的刀线长度,单位为米(英寸图纸为英尺),扣除连接点;根据每米价格和准备成本计算的成本。 |
| 图纸摘要 | 图纸的尺寸及其范围的面积、图元和闭合形状的数量、使用的图层、闭合形状所围的面积,以及其备注。 |
| 图元列表 | 每个图元及其类型、图层、长度和面积:可另存为 CSV 用于电子表格。 |
| 激光作业时间和成本 | 激光加工所需的时间,按图层列出并给出合计:切割线和刻痕线的长度按各自的速度(图层有自己的进给速度时使用该速度)和遍数计算,每个雕刻图层逐行扫描雕刻,切割之间的空程(每次选最近的下一条切割线),以及每次穿孔的停顿;以及成本:按每分钟成本计算的机器时间、按每 m²(ft²)计算的材料费和准备成本,分别按一份和所需份数计算。参见 LightBurn。 |
| 画框线条订购单 | 对每个画框(斜接画框工具生成的,或库中画框线条下料清单的):画框线条的宽度和裁口,外尺寸、裁口(下料)尺寸和可视尺寸;每根线条件的长尖点尺寸及其沿裁口的长度;需订购的线条:每条边沿裁口的长度,每个斜接加一个线条宽度(行业惯例),每根线条件计两次锯切并留有余料余量,按尺寸切好或按整根订购(线条件按从长到短排入整根),并按每米(英尺)的价格计价;以及与之匹配的玻璃、卡纸和背板,尺寸为裁口四周各减去一个间隙。可另存为 CSV,或另存为网页以便打印。 |
| 纸板成本和损耗报价 | 包装生产在所询的每个数量(1000、2500、5000 …)下的成本:排样所需的纸板张数(含开机调试用纸和运行损耗)、其面积和损耗、纸板每 m²(ft²)或每张的成本、按米(英尺)计价的刀模刀线及其固定成本、开机准备费和每千张的运行费、印刷费(印版及每色每千张)和每千个的糊盒费;合计、单价和千张价。没有排样时,按每个展开料的范围计算纸板用量。最后是 给客户的价格,已加上您的 加价 (%):各数量及其价格、单价和千个价,可直接发送。 |
| 包装足迹 | 单个包装及整批包装的消耗与遗留:其展开料所需的纸板(若轮廓闭合按轮廓,否则按外接矩形)以及按您的克重计算的重量;内部产品周围的空置空间(图纸的 L × W × D 与产品尺寸)与限值的比较,默认 50%,即欧盟包装法规 (PPWR) 对集合包装、运输包装和电商包装的要求;按纸板厂商数据计算的纸板碳排放;以及其配件带来的其他材料,回收纸板前需分离。 |
| 刀线弯折 | 按弯刀机的加工方式列出刀模的刀线:每根刀线(同类刀线首尾相接处连成一根)、其类型、长度、弯折(转角和圆弧,按转过的角度和半径,以及在刀线上的位置)和连接点;以及对您的弯刀机来说过紧的圆弧、过短的直段、过尖的转角和位于弯折处的连接点。 |
| 石材报价 | 石材加工的报价:每个工件(切割图层上的闭合轮廓)及其尺寸、面积和扣除开孔后的面积;按边型统计的成品边长度,单位为米(英尺),即边型工具在 Edge … 图层上标记的线,按每种边型的每米价格计价;按类型统计的开孔数量(根据开孔内部的标签:Sink、Hob、Tap hole、Socket;否则小圆视为龙头孔),按个计价;排布好的大板(大板照片工具的大板),以及每块大板上的工件及其出材率;按面积计算的石材费和加工费(每个工件扣除开孔后的面积,或整块大板)及损耗,以及固定费用。价格按 Name=price; Name=price 的形式输入。参见石材与瓷砖。 |
| 钢材下料清单 | 每个钢构件(与 DSTV NC 导出所识别的相同:其零件编号、型材、钢种和数量取自分类)及其长度、宽度和厚度、每米重量、单重和总重、钢板面积(扣除孔)和涂装面积;以及按型材(钢板按厚度)和钢种汇总的材料清单:件数、长度、钢板面积和重量,以及按每 kg 价格计算的成本。参见钢结构。 |
| 折弯表 | 钣金展开料的每道折弯,按建议的折弯顺序列出:其方向(向上或向下)、角度、内半径、折弯补偿和折弯扣除、两侧的翻边(量到虚拟尖角)及其所在的平直段,以及其长度和起点位置。参见钣金。 |
| 风管管件明细表 | 每个暖通空调管件(每个一页)及其尺寸、按其尺寸和压力等级(½、1 或 2 in. w.g.)所需的镀锌钢板规格号、展开面积及该规格下的重量、按图纸自身厚度计算的重量并检查其是否偏薄,以及按每 kg 价格计算的成本。参见暖通空调。 |
| 焊缝图 | 用焊口编号工具编号的焊口,按顺序列出:每个焊口的编号、接头、类型、规格、WPS(或为全部焊口指定的一个)以及车间焊或现场焊,并留有焊工、日期和检验(NDT)列供填写;另存为网页时,附带标有焊口编号的图纸图片。可另存为 CSV 作为焊接记录。 |
| 玻璃订购单 | 按玻璃加工厂的订货方式列出每块玻璃(切割图层上的闭合轮廓):宽 × 高(转角或异形玻璃取其外接矩形)、厚度(图纸的 T,或指定值)、玻璃种类、形状(矩形、带缺口或异形:需寄送样板)、磨边、按直径列出的孔、按尺寸列出的缺口和开孔、钢化或夹层(EN 12150、EN 14179、EN 14449、EN 1863)、数量(玻璃的标签 Door (2) 表示两块)、面积和磨边长度;距边缘小于两倍厚度的孔和开孔会被标出。勾选 CSV: the order list only 可只将玻璃表格另存为 CSV,用于订单导入。 |
| 板件下料清单 | 供板材开料锯优化软件使用的每个板件(切割图层上的闭合轮廓,以其内部的文字命名:Rails (2) 表示两件):板件、材料、厚度(每个板件自己的 3D 厚度 RULE THICK,否则为其图层的 LAYER3D THICK,否则为板材的厚度:因此 6 mm 背板列为 6 mm;板件厚度不止一种时,优化软件格式中的材料名会注明厚度)、长 × 宽(长度沿纹向;板件上横跨 Grain 图层的一条线会使其转向)、纹向、数量,以及每条边的封边(名称含 band 或 edging 的图层上沿板件各边的线:L1、L2 为长边,W1、W2 为短边)。板件的轮廓即其成品尺寸:Sizes 给出下料尺寸(Cut,默认:轮廓减去每条封边边上的封边厚度,即封边图层的 THICK,未设置时为 1 mm,与 3D 中相同),或轮廓尺寸(Finished,用于自行扣除封边的优化软件)。Columns for:General;MaxCut(Type、Name、Material、Length、Width、Quantity、Can Rotate、Edging Length 1 和 2、Edging Width 1 和 2、Notes——在 MaxCut 的 Import CSV 中映射这些列);OptiCut(其电子表格列 Material、Quantity、Reference、Height、Width、Grain 0/1,然后是 Top、Bottom、Right 和 Left Edge 0/1);CutRite(Code、Description、Material、Length、Width、Quantity、Grain、Edge 1–4,用于 Cut Rite 的 ASCII 板件清单导入映射)。另存为 CSV 时只包含板件表格。 |
| 地毯卷材切割清单 | 根据每个卷材排料(或设计的 ROLLPLAN):每个裁幅在地面上的长度和从卷材上裁下的长度(两端加修边余量,有花纹循环时向上取整到循环长度)、需订购的卷材长度、地面面积和卷材面积、损耗、接缝及其长度,以及每 m²(ft²)和每米接缝的价格;另存为网页时,附带接缝图(地面、编号的裁幅、接缝、绒毛方向)和裁切图(沿卷材排列的裁幅),可在浏览器中打印或另存为 PDF。 |
| 泡棉和垫片材料报价 | 各工件在每个数量下的成本:所需的板材(来自排样,或按指定的板材尺寸,取每个工件的外接矩形加边距计算)、损耗、按每张、每 m²(ft²)或每 m³ 块料(按板材厚度)计价的材料费、较厚工件由几层叠成、按机器费率计算的切割时间(切割长度按切割速度计算,并加上每次穿孔的停顿),以及准备成本;合计和单价。 |
| 排样和损耗 | 每个排样的纸张、每张纸的副本数、所需副本占用的纸张数、生产的副本数和多余数,以及废料:每张纸的废料,以及将多余副本计为废料的整个生产批次的废料;面积单位为 m²(英寸图纸为 ft²)。可按每个排样自己的副本数量或指定数量计算;范围为当前页面或所有页面;并按每张纸的价格计算纸张成本。 |
| 配件与附件 | 设计上放置的配件(提手、挂孔片、窗口薄膜、绳子、挂钩、支撑钉、按扣 …),按项目汇总一份和整批的用量:按个、按米或按平方米,以共享价格表(文件 › 扩展 › 配件价格)中的价格或零件自己的价格计价;以及每个配件的位置。纸板、泡棉和垫片报价、激光作业和画框线条订购单也会把配件计入成本。 |
它们位于应用的 Extensions 文件夹中的 reports.js 内,其中还有它们共用的辅助函数(sum、groupBy);焊口图、玻璃订货清单、板件开料清单、地毯卷材裁切清单以及泡棉和垫片报价位于 tradereports.js 中。将该文件复制到您自己的文件夹(文件 › 扩展 › 打开扩展文件夹)即可修改它们:使用您所在货币的价格、您的刀模使用的图层、您的估价人员需要的列。
使用您的语言
应用自带的报表以应用所用的语言(英语、西班牙语或简体中文)显示:报表对话框和“一键制作”中的名称、类别、说明和选项,以及报表所写的内容(标题、表头、列、摘要和说明),数字按您的习惯书写(西班牙语使用小数逗号)。供其他程序导入的内容保持英文:板件下料清单的 MaxCut、OptiCut 和 CutRite 列,以及勾选 CSV:仅订购单(用于导入) 时的玻璃订购单。来自您图纸的内容(图层名称、零件名称、配件项目)按原样显示。
您自己的报表也可以这样做:
tr("English text", …)给出用户语言的文本,其{0}、{1}… 由其后的值填入;数字的占位符可以指定写法:{0:F2}表示两位小数。fmt(number, decimals)按用户的习惯书写数字。- 译文位于脚本旁的
strings文件夹中:es.json和zh-Hans.json,各自包含英文文本及其译文。报表声明的内容(名称、类别、说明、选项及其选项值)也由它们翻译;run收到的选项值保持声明时的原样。没有译文的文本以英文显示,您文件夹中的译文优先于应用自带的译文。 - 在两处译法不同的词在竖线前带上其上下文:
tr("weld|Socket")在英文中显示 Socket。
const count = (n, one, many) => tr(n === 1 ? one : many, n);
summary: tr("{0}, {1:F2} m in all.", count(rules.length, "{0} rule", "{0} rules"), total)
说明
- 出错的报表会说明错误,并显示文件和行号。
- 编写报表时,
print(…)和console.log(…)会在交互窗口中显示值。
要通过电子邮件发送报表而不是保存它,请使用文件 › 通过电子邮件发送 › 报表…,并在报表中选择保存…:请参阅通过电子邮件发送导出文件。另请参阅:扩展、设计规则、绘图 API。