自动摘要: 背景 由于历史原因,现阶段CAM排版存在以下几个问题 1.不可调节性(人工迁移物料后,排版不随之而改变) 2.无方向性(始终延着圆心排,应沿着用户指定方向排序始终围绕圆心,沿着料 ……..
背景
由于历史原因,现阶段CAM排版存在以下几个问题
- 不可调节性(人工迁移物料后,排版不随之而改变)
- 无方向性(
始终延着圆心排,应沿着用户指定方向排序始终围绕圆心,沿着料盘的外围排料,不能设定排料方向、排料方式、夹具样式) - 速度问题:当模型过多时,排料速度较慢
- 料盘重用性: 没有对料盘改变结果的记录,没有对使用后料盘最优化排料的支持,没有对多个料盘混合排版的支持
尤其是在需要许多牙模的情况下,自动排料相比人工排料可以节省相当长的时间和精力。
一、产品概述
1.版本信息
- 版本号:V1.1.0
- 创建日期:2021-10-1
- 审核人:杨新
2.修订历史
时间 | 版本号 | 修订人 | 主要修订内容 |
---|---|---|---|
2021-10-1 | v1.0.0 | 杨新 | 初始版本 |
2021-10-11 | v1.1.0 | 张新霞 | 背景完善术语补充竞品补充产品流程图细化埋点补充 |
2023-3-17 | V1.2.0 | 杨新 | 重构并整理文档 |
3.开发周期
目标 | 预计时间 | 结束日期 | 是否完成 |
---|---|---|---|
开发 | 2021-9-1 | 2021-9-1 | - [x] |
|
| 测试 | | | - [ ]
|
| 上线 | | | - [ ]
|
4.产品介绍
4.1 产品名称
UPCAM-自动排版
4.2产品简介
在指定大小的圆形料盘上按用户指定方向排列牙模,并最大限最优利用空间
4.3产品构想图
4.4使用场景
服务于CAM上的2D排料
4.5产品定位
- **将牙模放置紧密**
- **减少料盘大小**
- **减少浪费**
- **优化切割时间 /节省时间**
- **减少存储空间要求**
- **缩短设置时间**
- **只针对2D**
二、文档说明
1、名词解释
术语 / 缩略词 | 说明 |
---|---|
CAM | 利用计算机辅助完成从生产准备到产品制造整个过程的活动,即通过直接或间接地把计算机与制造过程和生产设备相联系,用计算机系统进行制造过程的计划、管理以及对生产设备的控制与操作的运行,处理产品制造过程中所需的数据,控制和处理物料(毛坯和零件等)的流动,对产品进行测试和检验等 |
设备 | 加工设备,有4轴机与5轴机,具体参考:智雕机P4与智雕机P5 |
夹具 | 机械制造过程中用来固定加工对象,使之占有正确的位置,以接受施工或者检测的装置,又称为卡具(qiǎ jǜ)。 |
全夹 | Full Clamp |
半夹 | C-Clamp |
铣削空间 | 排料时为铣刀留出的加工空间,大约根据模型的轮廓线向外等距3.00mm而生成的铣削区域。 |
四、需求背景
1.数据现状
- 数据来源于CAD,坐标轴统一
- 数据有凹凸性
- 数据类别
单冠:贴面、内冠、全冠、嵌体、桩核、种植
齿桥:没有弧度
齿桥:有弧度
齿桥:含支撑架
全口义齿
部分牙托
2.数据调研
- 数据可以输出二维轮廓
- 数据可以输出stl
- 数据凹面应朝向圆心
- 数据应优先放在远离夹具一端
zYx: 还需要与CAD方面继续沟通,弄清楚到底他们输出的数据是什么格式?
3.竞品分析
列出竞品对比的主要信息和关键结论,可点击插入链接,在此附上详细的竞品分析报告并添加在【附录】中
主要信息 | 关键结论 | 截图或视频 | |
---|---|---|---|
竞品1 | Millbox | 能够基本满足排料需求。与我们的排料规则相近,也是基于圆心实现排料,但是比我们增加了内圈排料,排料速度较慢,模型较多时时间也比较长,排料并未考虑太多优化方法,推测采用的也是基于栅格法实现的排料。 | 产品部有其软件 |
竞品2 | Nestfab(英国) | https://www.nestfab.com/ | |
上海友图科技 | http://www.yotutech.com/ | ||
上海青鹤信息 | http://www.qh-info.com/ | ||
上海和鹰机电 | |||
武汉智格 | http://www.smartnest.com.cn/ | ||
powernestlib | https://powernestlib.com/true-shape-nesting-library/ | ||
Sigmanest(美国?) | |||
Autonester(德国) | https://www.scai.fraunhofer.de/en/business-research-areas/optimization/products/autonester-t.html | ||
Gemini(罗马尼亚) | https://www.geminicad.com/fashion-apparel-cad/ | ||
Lectra(法国力克) | |||
ShapeShifter(新西兰,简称SS) | http://shapeshifter.net.nz/ |
备注:_竞品1:Millbox__1.桥体模型单个导入时,若齿桥冠体数量较少(3.4颗冠体,齿桥弯曲幅度不大)时,内圈排版;__2.桥体模型单个导入时,若齿桥冠体数量较多(7.8颗冠体,齿桥弯曲幅度较大)时,从外圈排版;__3.二次导入齿桥,按已存在齿桥的位置按顺时针排版;_4..齿桥批量导入,从内圈开始排版时,按顺时针排版;若从外圈开始排版,则先顺时针在逆时针排版
五、需求范围
- 支持多种材料形状:圆形、矩形、不规则多边形
- 支持多种排版方式
PC 端
需求 | 简要说明 | 优先级 |
---|---|---|
排料速度 | 排料速度<1s | P0 |
准确率 | 凹面向心准确率>95% | P1 |
料盘利用率 | 料盘利用率>90% | P2 |
移动端
需求 | 简要说明 | 优先级 |
---|---|---|
P0 | ||
P1 | ||
P2 |
六、功能详细说明
1.产品流程图
鼠标点击左上角
,点击画板选择流程图,即可进入流程图创作你的产品流程图
2.交互原型图
鼠标点击左上角
,点击“引入第三方服务”中的“Figma 设计图”,粘贴Figma链接,
在文档中嵌入网页书签,展示设计原型
3.功能说明
序号 | 模块 | 功能 | 功能详细说明 | 交互图 |
---|---|---|---|---|
1 | 数据产生 | |||
2 | 算法处理 | |||
3 | 优化结果 | |||
七、非功能需求
可以列举性能需求、系统需求、运营需求、安全需求、财务需求、法务需求、统计需求、使用帮助等…
关键词:2D Bauteilverschachtelung / Plating / Nesting / Bin Packing
开源:
- Cutting Optimizer (Nesting) (InkScape Extension)
- Deepnest:基于SVGnest实现的排料应用软件
- Svgnest:使用JavaScript实现的,GitHub最经典的排料实现。基于NFP+BLF,以及基因算法获取全局方案
- Arch Nest (FreeCAD Extension)
- KeepsakeAutomation/Functional-modules-for-Laser-Cutting-Nesting (FreeCAD *.fcmacro Nesting generator):Python实现的排料模块,可以安装后使用
- markfink/nest2D:使用libnest2d作为后端,使用python作为前端实现排料
- Nesting_Software_and_Automated_Marker:Python编写的排料软件,基于贪心算法实现矩形框内矩形排料
- Nesting:使用Python实现的基于NFP和GA算法的排料问题
- Yisaer/Nest4J:使用Java实现的基于SVGnest的排料软件
- kallaballa/nestcpp:使用C++实现的基于SVGnest的排料软件
参考文献友图自动排料软件使用简介:https://blog.csdn.net/nestingChina/article/details/104914272排料软件现状分析:https://blog.csdn.net/yotutech/article/details/106051694
八、计划:
- NestProfessor-SDK7.0-For-WIN(标准版):https://nestprofessor.com/Buy.php
- 读/写 DXF/DWG 文件
- 允许旋转部分角度
- 设置部分嵌套优先级
- 多种材料
- 空间设置
- 支持残余
- 支持linux,max,windows
- libnest2d:项目链接
- 在问题#10,#7提到支持拟合不规则形状:#10详情链接
- 通过pybind11转换成python应用,转换实例参考:转换python参考链接
- 天池面料裁剪比赛(贪心):链接,代码
- 激光切割模块:项目链接
- 服务于矩形板材切割排版的需要
- 代码全部为单个函数
- 环境搭建所需要的安装包都可以找到
- 没有提供测试数据,但是提供了测试框架,10个多边形的执行速度也比较快(1秒左右)
- 提供对DXF、自己创建形状(圆形、三角形、正文形、矩形、正五边形、正六边形、多边形)的支持,可以支持标准的数据输入,
- 没有说明采用什么算法进行排料,也未在代码中找到排料算法的详细说明
- 算法改造难度较大,因为没有给出明确的算法实现方式,需要从代码中去猜测算法的意图
- 测试框架可以借鉴
- 其他:
- PhiFunctionTechniqueLibrary
- 提供了处理对象的类框架,提供了处理Phi函数的类框架(包括了圆与圆、圆与多边形、多边形与多边形、多个圆与多边形混合)
- 环境构造难度不大,不需要安装其他支持包
- 没有完整的实现,也没有成熟的Phi函数使用说明
- 没有提供排料数据处理代码,也没有提供测试数据
- 没有提供排料算法实现代码
- 没有提供排料结果显示代码
- 如果希望拓展其他排料算法,难得的Phi函数处理代码
- 3dBinPacking
核心成员 部门 项目角色和负责事项 @陈总 管理 测试NestProfessor-SDK7.0可用性 @张新霞 AI 测试3可用性 @叶子扬 AI 测试5的可用性 @朱远翔(zhuyuanxiang) AI 测试4,PhiFunctionTechniqueLibrary @杨新 AI 测试3dBinPacking
- PhiFunctionTechniqueLibrary
[
](https://blog.csdn.net/yotutech/article/details/106051694)