< 自動ネストライブラリ - ArtLogic
ArtLogic - 自動ネスト

自動ネストライブラリ

dxfファイルにある単数あるいは複数の部品を配置するライブラリです。
配置画像は、HPGL/GPGL/dxf/aln等のカッティングマシン(レーザー、ナイフ、ウォーター)向けのコマンドファイルとして出力することができます。
全APIをWebAPIあるいはPythonクラスメソッドとして公開しています。
全ソースコード(ライブラリ、WebAPI、Pythonクラスを含む)にアクセス可能です。

特長

(1) 単一部品自動ネスト

単一部品を、ペアリング、回転した上で歩留まり良く長方形のワーク上に配置します。
参考:複数部品自動ネストは、不定形ワーク上に配置可能です。
10種の組み込みロジックを利用可能。 ユーザー定義のロジックを最大5個、作成・指定可能。
10種の組み込みロジック+ユーザー定義の最大15のロジックから最高歩留まりのロジックを自動選択
±0度、±1度、±5度、無制限の回転制約の中で、最高歩留まりを得られる角度を選択

元の状態
元の状態
±180度回転 最小矩形の結果
画像は最小外接矩形を求めた結果 1度、15度、90度単位での回転。上下左右反転。
手動による角度指定可能。
最小外接矩形への自動回転。90度/180度/270度回転している場合もある。
±180度全周回転・全ロジック・最大個数
±180度の全周回転の中で、最も数多く並べられる角度を自動選択
全ての配列ロジックの中から最高歩留まりのロジックを選択
最大個数で並べた結果
最大個数で並べた結果 154個並んだ
±180度全周回転・全ロジック・最小ペア面積
±180度の全周回転の中で、最小ペア面積を最小にする自動選択。
靴や手袋のような左右対称パーツのペアリングをした場合のペア面積を最小にする。
最小ペア面積で並べた結果
最小ペア面積で並べた結果 147個並んでいる。ペア面積は最小
±5度、全ロジック
素材の模様、向きがある場合は±0度、1度、5度の角度制限可能
全ての配列ロジックの中から最高歩留まりのロジックを選択
±5度、全ロジックで並べた結果
±5度、全ロジックで並べた結果 144個並んでいる
ロジック指定、±180度回転で並べた結果
ロジック指定で±180度回転で並べた結果 140個並んでいる

(2) 複数部品自動ネスト

複数の部品に対して、それぞれ個数を指定して、回転後、最高歩留まりの位置に配置
不定形ワーク上への配置が可能
配置優先位置の設定が可能(下優先あるいは均等)

歩留まり計算法、並び順(サーチアルゴリズム)の設定

歩留まり計算法

ラジオボタンの意味は以下の通り
いずれも、面積計算のための短冊幅を小さくするほど計算精度が上がる。
下端の価値を1.0とした場合の上端の価値を1.0~10.0の範囲で設定する。値が大きいほど、パーツ全体が下に詰まる傾向が高くなる。
  1. 空白大
  2. 空白部分の面積が大きいほど歩留まりが大と判定する。
  3. パーツ総面積/非空白面積が大
  4. パーツ総面積÷非空白部分の面積が大きいほど歩留まりが大と判定する。パーツが高密度で詰まっているほど大
  5. 空白大(上の方の空白の価値高い)
  6. 空白部分の面積が大きいほど歩留まりが大と判定する。ワークエリアの上方の価値が高いので、パーツ全体が下方に詰まる傾向が上がる。
  7. パーツ総面積/非空白面積が大(上の方の空白の価値高い)
  8. パーツ総面積÷非空白部分の面積が大きいほど歩留まりが大と判定する。パーツが高密度で詰まっているほど大。ワークエリアの上方の価値が高いので、パーツ全体が下方に詰まる傾向が上がる。

並び順1、並び順2

並び順1の前に並び順2を説明する。「小→大」は小さいパーツから順に並べていく。「大→小」は大きいパーツから順に並べていくことを指示している。
並び順2だけだと高歩留まりとなることは期待できないが、並び順1を「可変順」とすることによって、ある程度の前後のパーツと並べる順番を入れ替えることができる。
「可変順」だと「小→大」でも大きいパーツが小さいパーツよりも前に来ることがある。
「ある程度の前後のパーツ」であるが、ライブラリではその「程度」を変更することができるが、このGUIでは前後1あるいは2で固定となっている。

並び順1、並び順2

自動ネストパラメータ設定GUIの例
自動ネストパラメータ設定GUIの例
26パーツの自動ネスト
26パーツの自動ネスト
一般的なビジネス用のノートPCで3.3秒で計算完了

(3) 共通仕様

共通仕様

  1. 最高配置精度はワーク(素材)のサイズの40,000分の1
  2. ワークが1mの場合は25マイクロメートル(25ミクロン)
    ワークが10mの場合は250マイクロメートル(250ミクロン)
  3. 単一部品自動ネストの速度は最小0.01秒から最大0.5秒
  4. 複数部品自動ネストの速度は平均で部品数の~2乗秒。最悪のケースでは0.1×部品数の3乗秒
  5. 部品の複雑さなどの要因で変わるため、だいたいの目安
    10部品では平均10秒~100秒。20部品では平均40秒~800秒。30部品では平均90秒~2700秒
  6. 得られる配置は、解析的な最適解とはならず、近似最適解となる
  7. 枝刈りとスパース検索(ワークサイズの1/40,000精度)を行うため
以下の機能は、単一部品自動ネスト、複数部品自動ネスト共通となる。
  1. ギャップ(パーツ間の最低距離)指定
  2. ラスタベクタ変換(Webアプリを含む)の出力を利用可能
  3.    カメラ撮影画像の利用可能
  4. 手動配置サポート機能
    • スライドフィット=部品をスライドさせてすき間に納める
    • スライド後に壁沿いに移動することも可能
    • 部品外周、ギャップ外周の取得
    • 部品重複チェック
  5. dxf/GPGL/HPGL/Gabar/aln等のCAD/NCマシンへの出力コマンド出力
  6. 穴がある場合は、穴からカット 穴の中に別のパーツがある場合、中のパーツからカット

ギャップ2mm
ギャップ2mm
ギャップ20mm
ギャップ20mm
ギャップ-10mm
ギャップ-10mm
ギャップにはマイナスの値を指定することも可能
カメラ画像の補正 射影変換前
カメラ画像の補正 射影変換前
カメラ画像の補正 射影変換後
カメラ画像の補正 射影変換後
カメラ画像の補正 多点補正前 五つ目の補正点を指定
カメラ画像の補正 多点補正前 五つ目の補正点を指定
カメラ画像の補正 多(5)点補正後
カメラ画像の補正 多(5)点補正後
スライドフィット
スライドフィット

(4) 今後のバージョンアップ予定

以下のバージョンアップの予定があります。リクエスト次第では内容が変わることがあります。

  1. 単一部品自動ネストでの追加配置
  2. すでにいくつかの部品が手動・自動で配置されているところへ追加は位置します。
  3. 複数部品ネストでの配置優先順位拡張(下優先、優先順位無し=均等に加えて上、左、右、周辺優先)
  4. ワークが巨大(たとえば10m×10m)な場合、中央部をカットしても部品に届きません。
    周辺からカットすることで切り取り後の取り回しが良くなります。