d3yii2 / d3btl
此包最新版本(dev-master)没有可用的许可信息。
处理 .btl 文件库
dev-master
2022-03-08 11:30 UTC
Requires
This package is auto-updated.
Last update: 2024-09-08 16:42:03 UTC
README
什么是 BTL
- BTL 是一个免费标准,可以被任何设计软件和机器使用。
- BTL 包含了格式和所有处理的完整描述。
- BTL 使用机器无关的几何格式描述部件。
- 可以使用我们的免费 BTL 查看器查看和检查 BTL 文件。
特性
Yii2 模块。读取由设计2机器接口创建的 BTL 文件并将其保存到数据库中。
实现了解释
- 原始部件
- 部件
- 工艺
- 倒角尺寸和开放侧面
BTL 格式文档 https://design2machine.com/btl/btl_v106.pdf
安装
通过 composer 安装此扩展是首选方式。
运行以下命令:
$ composer require d3yii2/d3btl "*"
或
"d3yii2/d3btl": "*"
将以下内容添加到您的 composer.json
文件的 require
部分:
添加到迁移路径
'class' => 'yii\console\controllers\MigrateController', 'migrationPath' => [ '@d3yii2/d3btl/migrations', ]
添加到模块
'modules' => [ 'btl' => [ 'class' => 'd3yii2\d3btl\Module' ], ]
用法
命令 add,读取文件并将它们的数据库保存数据
php btl/process-file/add path/to/file
通过代码添加文件
$model = new BtlFileData(); $model->load(['file_data' => $fileText, 'file_name' => $filename], ''); $model->saveWithParts();
获取数据
$btl = BtlFileData::findOne($btlId); $btlPartRaw = $btl->getBtlParts()->andWhere(['type' => BtlPart::TYPE_RAWPART])->all(); $btlPartOut = $btl->getBtlParts()->andWhere(['type' => BtlPart::TYPE_PART])->all(); foreach($btlPartRaw as $pr) { echo $pr->getHeight() . ' ' . $pr->getWidth() . ' ' . $pr->getLength(); } foreach ($btlPartOut as $po) { foreach ($po->btlProcesses as $process) { if (!$lap = $process->getLap()) { continue; } /** bottom is open */ if (!$lap->isP04bit5()) { continue; } /** top is open */ if (!$lap->isP04bit6()) { continue; } $m3 = ($lap->P12/100)/1000 * ($lap->P14/100)/1000 * $height/1000; echo $m3; } }