Thread milling: refuse a hole the program has not drilled yet (the mill is not centre-cutting)

オープン
#992 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
42/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
rust
領域
backend, devtools

調査の方向性

Start with machining2d::thread_ride, operation::drill_prior, and the existing drilling laws to trace how earlier operations leave stock under a threaded hole. Check how operation stamps are computed and how app tests pin generation and stale behavior. Done means an undrilled hole is refused by name, drilling first allows generation, reordering makes the thread stale and refuses, and the behavior is covered by an app test.

索引モデルが issue の本文から書いたものです。

説明

area:2d area:sim bug effort:high P1 source:agent

Part of #894.

A thread mill is not centre-cutting, and the thread-milling ride (machining2d::thread_ride) feeds it down the hole's axis before the first lead-in arc. That is air only if an earlier operation opened the hole. Nothing checks it: the Thread operation generates and verifies clean on a part whose hole is modelled, even when the program holds no drilling operation before it and the stock at the hole is solid. The gouge laws read the part (the hole is in the model), so they see nothing; the centre-cutting audit (operation::plunge_solid, camcraft_motion::plunge_law) is not asked for this kind, and it reads the raw stock, which would refuse every thread.

Effect: forget the tap drill and the program plunges a thread mill into solid metal at plunge feed - a broken cutter, with no finding at generate, at verify or at the post gate.

Fix sketch: read the stock the setup's earlier operations leave standing (the prior grid the drilling laws already read, operation::drill_prior) under each threaded hole: the tool's full cylinder down the axis and the first pass's lead-in must fall through air. Refuse by name at generate ("the hole at (x, y) is not drilled yet - add a drilling operation before the thread") and digest the program ahead in the stamp, so reordering the operations marks the thread Stale.

Done means: a Thread operation with no drilled hole under it is refused by name; the same operation after a Drill of at least the tool's diameter generates; moving the Drill after the Thread turns it Stale and refuses; pinned by an app test. The milled Bore ride's axis entry gets the same reading or its own issue.

主要言語
Rust
スター
8
フォーク
11
平均マージ
5時間 22分
マージ済み PR(30日)
409

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

NeoTech/Camcraft のほかの issue

NeoTech/Camcraft の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。