(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-13
(45)【発行日】2024-06-21
(54)【発明の名称】2.5軸除去製造プロセスを容易にする工具サイズ制御を用いるコンピュータ支援ジェネレーティブ設計
(51)【国際特許分類】
G05B 19/4097 20060101AFI20240614BHJP
G06F 30/10 20200101ALI20240614BHJP
【FI】
G05B19/4097 C
G06F30/10
(21)【出願番号】P 2022570396
(86)(22)【出願日】2021-04-21
(86)【国際出願番号】 US2021028355
(87)【国際公開番号】W WO2021236281
(87)【国際公開日】2021-11-25
【審査請求日】2024-01-17
(32)【優先日】2020-05-20
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-07-17
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】500280087
【氏名又は名称】オートデスク,インコーポレイテッド
(74)【代理人】
【識別番号】100092783
【氏名又は名称】小林 浩
(74)【代理人】
【識別番号】100120134
【氏名又は名称】大森 規雄
(74)【代理人】
【識別番号】100221327
【氏名又は名称】大川 亮
(74)【代理人】
【識別番号】100076185
【氏名又は名称】小橋 正明
(72)【発明者】
【氏名】キム, ナム ホ
(72)【発明者】
【氏名】ウェインバーグ, デイビッド ジョン
【審査官】小川 真
(56)【参考文献】
【文献】国際公開第2003/017016(WO,A1)
【文献】特開2001-353786(JP,A)
【文献】米国特許出願公開第2020/0151286(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/4097、19/4093
B23Q 15/00
G06F 30/10、30/20
(57)【特許請求の範囲】
【請求項1】
1つ以上のコンピュータ制御製造システムを
用いる2.5軸除去製造プロセスを使用して対応する物理構造が製造されるモデル化されたオブジェクトの密度ベース表現を取得する
ステップであって、前記密度ベース表現が、前記モデル化されたオブジェクトの3次元形状を指定し、前記密度ベース表現が、要素の複数の異なるサブセットを含み、前記要素の複数の異なるサブセットの各々が、ミリング深さ
と開始要素を
有し、前記ミリング深さが、前記モデル化されたオブジェクト
について前記2.5軸除去製造プロセスのミリング方向に対してそれぞれ垂直である3つ以上の対応する離散層の3つ以上のミリング深さのうちの1つである、
ステップと、
前記要素の複数の異なるサブセットの少なくとも一部のミリング深さを再割り当てする
ステップであって、要素サブセットの現在の層内の現在の開始要素に関して前記再割り当てする
ステップは、前記現在の開始要素に関連し且つ異なる層に位置している他の開始要素間の角度差が、閾値を満たすかまたは超える場合に、前記現在の開始要素の前記要素サブセットの前記ミリング深さを移動することを含
み、前記異なる層は、前記現在の層上の層であり、前記他の開始要素は、前記1つ以上のコンピュータ制御製造システムで使用可能な最小のミリング工具の半径に少なくとも等しい量よりも前記現在の開始要素に近く、前記角度差は、前記現在の開始要素に対する前記他の開始要素間の最大角度差である、ステップと、
前記1つ以上のコンピュータ制御製造システムを使用して前記物理構造を製造することにおいて使用するために、前記モデル化されたオブジェクトの前記3次元形状を提供する
ステップを含む、方法。
【請求項2】
前記移動することが、前記最大角度差が前記閾値より大きいことに応答して、前記現在の開始要素の前記要素サブセットの前記ミリング深さを前記現在の層の上の層に移動し、前記モデル化されたオブジェクトの製造不可能なコーナを除去することを含む、請求項1に記載の方法。
【請求項3】
前記現在の層の最下部と前記モデル化されたオブジェクトの最上層との間の差の事前定義された割
合が前記1つ以上のコンピュータ制御製造システムで使用可能な前記最小のミリング工具の前記半径よりも大きい場合、前記量は、前記事前定義された割合に等しい、請求項2に記載の方法。
【請求項4】
前記現在の層内の前記現在の開始要素と、前記現在の層の上の1つ以上の層に関連するミリング深さを有する前記他の開始要素の各々との間で見つけられた2次元ベクトルから決定された重心ベクトルを使用して前記最大角度差を計算することを含む、請求項2に記載の方法。
【請求項5】
前記他の開始要素が、前記現在の開始要素に隣接しており
、前記移動することが、前記最大角度差が前記閾値以上であることに応答して、前記現在の開始要素の前記要素サブセットの前記ミリング深さを前記現在の層の上の層に移動し、前記モデル化されたオブジェクトの製造不可能な陥没を除去することを含む、請求項1に記載の方法。
【請求項6】
前記再割り当てする
ステップが、コーナ除去プロセス及び陥没除去プロセスを両方とも実行することを含み、前記コーナ除去プロセスが、前記現在の層の真上の層から開始して、前記現在の層の上の層に対して連続して実行され、前記陥没除去プロセスが、前記モデル化されたオブジェクトの最上層から開始して、前記現在の層の上の層に対して連続して実行される、請求項1に記載の方法。
【請求項7】
前記再割り当てする
ステップが、前記要素の複数の異なるサブセットのミリング深さのさらなる移動が実行されなくなるまで、前記コーナ除去プロセス及び前記陥没除去プロセスを繰り返すことを含む、請求項6に記載の方法。
【請求項8】
前記現在の層に属するミリングラインの数、ならびに前記コーナ除去プロセス及び前記陥没除去プロセスによって前記モデル化されたオブジェクトに追加される材料の量に基づいて、前記現在の層のミリング深さを調整する
ステップを
さらに含む、請求項6に記載の方法。
【請求項9】
前記ミリング方向が、2つ以上のミリング方向のうちの第1の方向であり、前記再割り当てする
ステップは、前記モデル化されたオブジェクトの前記密度ベース表現を更新するために、前記2つ以上のミリング方向ごとに別々に実行される、請求項1に記載の方法。
【請求項10】
前記モデル化されたオブジェクトの前記密度ベース表現が、密度ベーストポロジー最適化を使用してジェネレーティブ設計されており、前記方法が、前記密度ベーストポロジー最適化から出力されたジェネレーティブ設計の後処理を含み、前記後処理が前記再割り当てする
ステップを含む、請求項9に記載の方法。
【請求項11】
前記モデル化されたオブジェクトの前記密度ベース表現を取得する
ステップが、密度ベーストポロジー最適化、1つ以上の設計基準、及び1つ以上の使用中の事例を使用して設計空間内の前記モデル化されたオブジェクトの前記3次元形状を反復的に修正することを含み、前記反復的に修正することが、前記反復的に修正することの少なくとも2回の反復において、前記2つ以上のミリング方向のうちの少なくとも1つに従って
、ジェネレーティブ設計された3次元形状の前記密度ベース表現を調整することを含む、請求項9に記載の方法。
【請求項12】
前記反復的に修正することが、
前記ジェネレーティブ設計された3次元形状が、3軸ミリングに基づくミリング深さの可変輪郭のために最適化される、反復の第1のセットと、
前記ジェネレーティブ設計された3次元形状が、2.5軸ミリングに基づく離散的ミリング深さのために最適化される、反復の第2のセットと
を含み、
前記再割り当てする
ステップが、前記反復の第2のセットの間に実行される、請求項11に記載の方法。
【請求項13】
前記1つ以上のコンピュータ制御製造システムが5軸ミリングマシンである場合、最大で26までの異なる方向が前記2つ以上のミリング方向として使用され、前記1つ以上のコンピュータ制御製造システムが3軸ミリングマシンである場合、最大で21までの異なる方向が前記2つ以上のミリング方向として使用される、請求項11に記載の方法。
【請求項14】
前記モデル化されたオブジェクトの前記密度ベース表現が非正則メッシュを含む、請求項1に記載の方法。
【請求項15】
前記提供する
ステップが、
前記モデル化されたオブジェクトの前記3次元形状を使用して工具経路仕様を生成することと、
前記物理構造または前記物理構造の金型の少なくとも一部の製造を制御するために、前記工具経路仕様を出力することと
を含む、請求項1に記載の方法。
【請求項16】
3次元モデリングプログラムの命令を格納した非一時的記憶媒体と、
1つ以上のデータ処理装置であって、前記3次元モデリングプログラムの前記命令を実行して、前記1つ以上のデータ処理装置に、
1つ以上のコンピュータ制御製造システムを
用いる2.5軸除去製造プロセスを使用して対応する物理構造が製造されるモデル化されたオブジェクトの密度ベース表現を取得する
ステップであって、前記密度ベース表現が、前記モデル化されたオブジェクトの3次元形状を指定し、前記密度ベース表現が、要素の複数の異なるサブセットを含み、前記要素の複数の異なるサブセットの各々が、ミリング深さ
と開始要素を
有し、前記ミリング深さが、前記モデル化されたオブジェクト
について前記2.5軸除去製造プロセスのミリング方向に対してそれぞれ垂直である3つ以上の対応する離散層の3つ以上のミリング深さのうちの1つである、
ステップと、
前記要素の複数の異なるサブセットの少なくとも一部のミリング深さを再割り当てする
ステップであって、前記命令
は、前記1つ以上のデータ処理装置に、要素サブセットの現在の層内の現在の開始要素に関して、前記現在の開始要素に関連し且つ異なる層に位置している他の開始要素間の角度差が、閾値を満たすかまたは超える場合に、前記現在の開始要素の前記要素サブセットの前記ミリング深さを移動させることによって、前記1つ以上のデータ処理装置に前記ミリング深さを再割り当てさせ
、前記異なる層は、前記現在の層上の層であり、前記他の開始要素は、前記1つ以上のコンピュータ制御製造システムで使用可能な最小のミリング工具の半径に少なくとも等しい量よりも前記現在の開始要素に近く、前記角度差は、前記現在の開始要素に対する前記他の開始要素間の最大角度差である、ステップと、
前記1つ以上のコンピュータ制御製造システムを使用して前記物理構造を製造することにおいて使用するために、前記モデル化されたオブジェクトの前記3次元形状を提供する
ステップ
を行わせるように構成された前記1つ以上のデータ処理装置と
を備えるシステム。
【請求項17】
前記命令が、前記1つ以上のデータ処理装置に、前記最大角度差が前記閾値より大きいことに応答して、前記現在の開始要素の前記要素サブセットの前記ミリング深さを前記現在の層の上の層に移動し、前記モデル化されたオブジェクトの製造不可能なコーナを除去させる、請求項16に記載のシステム。
【請求項18】
前記現在の層の最下部と前記モデル化されたオブジェクトの最上層との間の差の事前定義された割
合が前記1つ以上のコンピュータ制御製造システムで使用可能な前記最小のミリング工具の前記半径よりも大きい場合、前記量は、前記事前定義された割合に等しい、請求項17に記載のシステム。
【請求項19】
前記命令が、前記1つ以上のデータ処理装置に、前記現在の層内の前記現在の開始要素と、前記現在の層の上の1つ以上の層に関連するミリング深さを有する前記他の開始要素の各々との間で見つけられた2次元ベクトルから決定された重心ベクトルを使用して前記最大角度差を計算させる、請求項17に記載のシステム。
【請求項20】
前記他の開始要素が、前記現在の開始要素に隣接しており、前記命令が、前記1つ以上のデータ処理装置に、前記最大角度差が前記閾値以上であることに応答して、前記現在の開始要素の前記要素サブセットの前記ミリング深さを前記現在の層の上の層に移動し、前記モデル化されたオブジェクトの製造不可能な陥没を除去させる、請求項16に記載のシステム。
【請求項21】
前記命令が、前記1つ以上のデータ処理装置に、コーナ除去プロセス及び陥没除去プロセスを両方とも実行させることによって、前記1つ以上のデータ処理装置に前記ミリング深さを再割り当てさせ、前記コーナ除去プロセスが、前記現在の層の真上の層から開始して、前記現在の層の上の層に対して連続して実行され、前記陥没除去プロセスが、前記モデル化されたオブジェクトの最上層から開始して、前記現在の層の上の層に対して連続して実行される、請求項16に記載のシステム。
【請求項22】
前記命令が、前記1つ以上のデータ処理装置に、前記要素の複数の異なるサブセットのミリング深さのさらなる移動が実行されなくなるまで、前記コーナ除去プロセス及び前記陥没除去プロセスを繰り返させることによって、前記1つ以上のデータ処理装置に前記ミリング深さを再割り当てさせる、請求項21に記載のシステム。
【請求項23】
前記命令が、前記1つ以上のデータ処理装置に、前記現在の層に属するミリングラインの数、ならびに前記コーナ除去プロセス及び前記陥没除去プロセスによって前記モデル化されたオブジェクトに追加される材料の量に基づいて、前記現在の層のミリング深さを調整させる、請求項21に記載のシステム。
【請求項24】
前記ミリング方向が、2つ以上のミリング方向のうちの第1の方向であり、前記命令が、前記1つ以上のデータ処理装置に、前記モデル化されたオブジェクトの前記密度ベース表現を更新するために、前記2つ以上のミリング方向ごとに別々に前記ミリング深さを再割り当てさせる、請求項16に記載のシステム。
【請求項25】
前記モデル化されたオブジェクトの前記密度ベース表現が、密度ベーストポロジー最適化を使用してジェネレーティブ設計されており、前記命令が、前記1つ以上のデータ処理装置に、前記密度ベーストポロジー最適化から出力されたジェネレーティブ設計の後処理中に前記ミリング深さを再割り当てさせる、請求項24に記載のシステム。
【請求項26】
前記命令が、前記1つ以上のデータ処理装置に
、密度ベーストポロジー最適化、1つ以上の設計基準、及び1つ以上の使用中の事例を使用して設計空間内の前記モデル化されたオブジェクトの前記3次元形状を反復的に修正させることによって、前記1つ以上のデータ処理装置に、前記モデル化されたオブジェクトの前記密度ベース表現を取得させ、
前記命令が、前記1つ以上のデータ処理装置に、前記反復的修正の少なくとも2回の反復において、前記2つ以上のミリング方向のうちの少なくとも1つに従って
、ジェネレーティブ設計された3次元形状の前記密度ベース表現を調整させることによって、前記1つ以上のデータ処理装置に前記モデル化されたオブジェクトの前記3次元形状を反復的に修正させる、請求項24に記載のシステム。
【請求項27】
前記反復的
に修正
することが、
前記ジェネレーティブ設計された3次元形状が、3軸ミリングに基づくミリング深さの可変輪郭のために最適化される、反復の第1のセットと、
前記ジェネレーティブ設計された3次元形状が、2.5軸ミリングに基づく離散的ミリング深さのために最適化される、反復の第2のセットと
を含み、
前記命令が、前記1つ以上のデータ処理装置に、前記反復の第2のセットの間に前記ミリング深さを再割り当てさせる、請求項26に記載のシステム。
【請求項28】
前記1つ以上のコンピュータ制御製造システムが5軸ミリングマシンである場合、最大で26までの異なる方向が前記2つ以上のミリング方向として使用され、前記1つ以上のコンピュータ制御製造システムが3軸ミリングマシンである場合、最大で21までの異なる方向が前記2つ以上のミリング方向として使用される、請求項26に記載のシステム。
【請求項29】
前記モデル化されたオブジェクトの前記密度ベース表現が非正則メッシュを含む、請求項16に記載のシステム。
【請求項30】
前記1つ以上のコンピュータ制御製造システムを
さらに備え
、
コンピュータ支援設計プログラムの命令が、前記1つ以上のデータ処理装置に、
前記モデル化されたオブジェクトの前記3次元形状を使用して、前記1つ以上のコンピュータ制御製造システムのための工具経路仕様を生成
することと、
前記物理構造または前記物理構造の金型の少なくとも一部の製造を制御するために、前記工具経路仕様を前記1つ以上のコンピュータ制御製造システムに出力することと
を行わせる、請求項16に記載のシステム。
【請求項31】
1つ以上のデータ処理装置に、
1つ以上のコンピュータ制御製造システムを
用いる2.5軸除去製造プロセスを使用して対応する物理構造が製造されるモデル化されたオブジェクトの密度ベース表現を取得する
ステップであって、前記密度ベース表現が、前記モデル化されたオブジェクトの3次元形状を指定し、前記密度ベース表現が、要素の複数の異なるサブセットを含み、前記要素の複数の異なるサブセットの各々が、ミリング深さ
と開始要素を
有し、前記ミリング深さが、前記モデル化されたオブジェクト
について前記2.5軸除去製造プロセスのミリング方向に対してそれぞれ垂直である3つ以上の対応する離散層の3つ以上のミリング深さのうちの1つである、
ステップと、
前記要素の複数の異なるサブセットの少なくとも一部のミリング深さを再割り当てする
ステップであって、要素サブセットの現在の層内の現在の開始要素に関して前記再割り当てする
ステップは、前記現在の開始要素に関連し、異なる層に位置している他の開始要素間の角度差が、閾値を満たすか、または超える場合に、前記現在の開始要素の前記要素サブセットの前記ミリング深さを移動することを含
み、前記異なる層は、前記現在の層上の層であり、前記他の開始要素は、前記1つ以上のコンピュータ制御製造システムで使用可能な最小のミリング工具の半径に少なくとも等しい量よりも前記現在の開始要素に近く、前記角度差は、前記現在の開始要素に対する前記他の開始要素間の最大角度差である、
ステップと、
前記1つ以上のコンピュータ制御製造システムを使用して前記物理構造を製造することにおいて使用するために、前記モデル化されたオブジェクトの前記3次元形状を提供する
ステップと
を含む操作を実行させるように動作可能なプログラム。
【請求項32】
前記移動することが、前記最大角度差が前記閾値より大きいことに応答して、前記現在の開始要素の前記要素サブセットの前記ミリング深さを前記現在の層の上の層に移動し、前記モデル化されたオブジェクトの製造不可能なコーナを除去することを含む、請求項31に記載のプログラム。
【請求項33】
前記現在の層の最下部と前記モデル化されたオブジェクトの最上層との間の差の事前定義された割
合が前記1つ以上のコンピュータ制御製造システムで使用可能な前記最小のミリング工具の前記半径よりも大きい場合、前記量は、前記事前定義された割合に等しい、請求項32に記載のプログラム。
【請求項34】
前記操作が、前記現在の層内の前記現在の開始要素と、前記現在の層の上の1つ以上の層に関連するミリング深さを有する前記他の開始要素の各々との間で見つけられた2次元ベクトルから決定された重心ベクトルを使用して前記最大角度差を計算することを含む、請求項32に記載のプログラム。
【請求項35】
前記他の開始要素が、前記現在の開始要素に隣接しており、前記移動することが、前記最大角度差が前記閾値以上であることに応答して、前記現在の開始要素の前記要素サブセットの前記ミリング深さを前記現在の層の上の層に移動し、前記モデル化されたオブジェクトの製造不可能な陥没を除去することを含む、請求項31に記載のプログラム。
【請求項36】
前記再割り当てする
ステップが、コーナ除去プロセス及び陥没除去プロセスを両方とも実行することを含み、前記コーナ除去プロセスが、前記現在の層の真上の層から開始して、前記現在の層の上の層に対して連続して実行され、前記陥没除去プロセスが、前記モデル化されたオブジェクトの最上層から開始して、前記現在の層の上の層に対して連続して実行される、請求項31に記載のプログラム。
【請求項37】
前記再割り当てする
ステップが、前記要素の複数の異なるサブセットのミリング深さのさらなる移動が実行されなくなるまで、前記コーナ除去プロセス及び前記陥没除去プロセスを繰り返すことを含む、請求項36に記載のプログラム。
【請求項38】
前記操作が、前記現在の層に属するミリングラインの数、ならびに前記コーナ除去プロセス及び前記陥没除去プロセスによって前記モデル化されたオブジェクトに追加される材料の量に基づいて、前記現在の層のミリング深さを調整することを含む、請求項36に記載のプログラム。
【請求項39】
前記ミリング方向が、2つ以上のミリング方向のうちの第1の方向であり、前記再割り当てする
ステップが、前記モデル化されたオブジェクトの前記密度ベース表現を更新するために、前記2つ以上のミリング方向ごとに別々に実行される、請求項31に記載のプログラム。
【請求項40】
前記モデル化されたオブジェクトの前記密度ベース表現が、密度ベーストポロジー最適化を使用してジェネレーティブ設計されており、前記操作が、前記密度ベーストポロジー最適化から出力されたジェネレーティブ設計の後処理を含み、前記後処理が前記再割り当てする
ステップを含む、請求項39に記載のプログラム。
【請求項41】
前記モデル化されたオブジェクトの前記密度ベース表現を取得する
ステップが、密度ベーストポロジー最適化、1つ以上の設計基準、及び1つ以上の使用中の事例を使用して設計空間内の前記モデル化されたオブジェクトの前記3次元形状を反復的に修正することを含み、前記反復的に修正することが、前記反復的に修正することの少なくとも2回の反復において、前記2つ以上のミリング方向のうちの少なくとも1つに従って
、ジェネレーティブ設計された3次元形状の前記密度ベース表現を調整することを含む、請求項39に記載のプログラム。
【請求項42】
前記反復的に修正することが、
前記ジェネレーティブ設計された3次元形状が、3軸ミリングに基づくミリング深さの可変輪郭のために最適化される、反復の第1のセットと、
前記ジェネレーティブ設計された3次元形状が、2.5軸ミリングに基づく離散的ミリング深さのために最適化される、反復の第2のセットと
を含み、
前記再割り当てする
ステップが、前記反復の第2のセットの間に実行される、請求項41に記載のプログラム。
【請求項43】
前記1つ以上のコンピュータ制御製造システムが5軸ミリングマシンである場合、最大で26までの異なる方向が前記2つ以上のミリング方向として使用され、前記1つ以上のコンピュータ制御製造システムが3軸ミリングマシンである場合、最大で21までの異なる方向が前記2つ以上のミリング方向として使用される、請求項41に記載のプログラム。
【請求項44】
前記モデル化されたオブジェクトの前記密度ベース表現が非正則メッシュを含む、請求項31に記載のプログラム。
【請求項45】
前記提供する
ステップが、
前記モデル化されたオブジェクトの前記3次元形状を使用して工具経路仕様を生成することと、
前記物理構造または前記物理構造の金型の少なくとも一部の製造を制御するために、前記工具経路仕様を出力することと
を含む、請求項31に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、発明者らDavid Jon Weinberg及びNam Ho Kimに対する、2020年7月17日に出願された米国特許出願第16/931,866号の優先権を主張し、2020年5月20日に出願された米国特許出願第16/879,547号の優先権を同様に主張する。これらの米国特許出願を参照により援用する。
【背景技術】
【0002】
本明細書は、付加製造、除去製造及び/またはその他の製造システム及び生産技術を用いて製造することができる物理構造のコンピュータ支援設計に関する。
【0003】
コンピュータ支援設計(CAD)ソフトウェアは、オブジェクトの3次元(3D)表現を生成するために開発され、使用されており、コンピュータ支援製造(CAM)ソフトウェアは、例えば、コンピュータ数値制御(CNC)製造技術を使用する、そうしたオブジェクトの物理構造の製造を評価し、計画し、制御するために開発され、使用されている。通常、CADソフトウェアは、境界表現(B-Rep)形式を使用して、モデル化されるオブジェクトのジオメトリの3D表現を保管する。B-Repモデルは、モデル化された3Dオブジェクトのソリッド部分と非ソリッド部分との間の境界を指定する、接続されたサーフェス要素の集合である。B-Repモデル(B-Repと呼ばれることが多い)では、CADプログラムでの作業が困難な場合があるメッシュモデルの離散的で近似的なサーフェスとは対照的に、滑らかで正確な数学的サーフェスを用いてコンピュータにジオメトリが保管される。
【0004】
CADプログラムは、除去製造のシステム及び技術と組み合わせて使用されている。除去製造とは、ストック材料(一般に3Dオブジェクトよりも大きな「ブランク」または「ワークピース」)の部分を切り取ることにより、ストック材料から3Dオブジェクトを作成する任意の製造プロセスを指す。そのような製造プロセスは、通常、荒削り作業に始まって、任意選択の半仕上げ作業、及び仕上げ作業へと続く一連の作業において、複数のCNCマシン切削工具の使用を含む。CNC加工に加えて、他の除去製造技術には、電極放電加工、化学的加工、ウォータージェット加工などがある。その一方、付加製造は、固体自由造形または3Dプリンティングとも呼ばれ、3Dオブジェクトを原材料(一般に粉末、液体、懸濁液、または溶融固体)から一連の層または断面で構築する任意の製造プロセスを指す。付加製造の例には、溶融フィラメント製造(FFF)及び選択的レーザ焼結(SLS)が含まれる。原材料から3Dオブジェクトを構築するための他の製造技術には、鋳造及び鍛造(熱間及び冷間の両方)が含まれる。
【0005】
さらに、CADソフトウェアは、製造しようとしている部品またはより大きな部品システム内の1つ以上の部品のトポロジ最適化を使用して3Dジオメトリの自動生成(ジェネレーティブ設計)を実行するように設計されている。この3Dジオメトリの自動生成は、多くの場合、CADソフトウェアのユーザによって指定された設計空間に制限され、3Dジオメトリの生成は、通常、設計の目標及び制約によって制御される。この設計目標及び設計制約は、CADソフトウェアのユーザまたは別の関係者によって定義され、CADソフトウェアにインポートされてもよい。設計目標(設計部品の重量を最小にするなど)は、ジオメトリ生成プロセスをより良い設計へと推進するのに用いることができる。設計制約には、個々の部品に対する構造的完全性の制約(すなわち、部品の使用中に予想される構造荷重の下で部品が破損してはならないという要件)と、より大きなシステムによって課せられる物理的制約(すなわち、使用中に部品がシステム内の別の部品と干渉してはならないという要件)との両方が含まれ得る。さらに、設計制約の例としては、最大質量、荷重下での最大たわみ、最大応力などがある。
【0006】
ジェネレーティブ設計プロセスへの入力は、ジェネレーティブ設計プロセスの境界条件を指定する入力ソリッド(B-Rep入力)のセットを含むことができるが、最近の多くのジェネレーティブ設計ソルバは、その入力ソリッドの正確な表面境界表現に直接作用しない。その代わりに、B-Repがサンプリングされ、レベルセットまたは4面体もしくは6面体メッシュなどの立体表現に置き換えられる。これは、ソルバによって計算される物理的シミュレーション及び物質合成にとって非常に便利で効率的である。入力ソリッドのセットは、「保存ボディ」を含むことができる。これは、設計に常に存在する必要があり、境界条件(例えば、機械的負荷及び機械的拘束)が適用されるべき他の部品または場所とのインタフェースを表す。新しいジオメトリが生成されるべきではない領域を表す「障害物ボディ」を定義する入力ソリッドなど、ジオメトリが生成されるべきである他の領域、またはジオメトリが生成されるべきではない他の領域も同じように提供され得る。
【発明の概要】
【発明が解決しようとする課題】
【0007】
本明細書では、2.5軸除去製造システム及び技術を用いた物理構造の製造を容易にするために、物理構造の3次元(3D)モデルが作り出されるジェネレーティブ設計プロセスを用いた物理構造のコンピュータ支援設計に関するテクノロジを説明する。除去製造技術には、2軸、2.5軸、3軸、またはそれ以上の軸のミリングが含まれ得る。2軸ミリングでは、ミリングヘッドの高さレベルを調整できないワークピースを切削する。3軸ミリングでは、ミリング工具を3つの異なる次元で、例えば同時に動かしながら、ワークピースを切削する。2.5軸ミリングでは、ミリング工具(またはミリング工具と治具支持体との組み合わせ)が3つの異なる次元で動かされることがあるため、3軸ミリングマシンを使用することができるが、ほとんどの切削作業の間、ミリング工具がワークピースに対して2軸にしか動かされず、結果として、より効率の良い製造プロセスとなる。
【課題を解決するための手段】
【0008】
一般に、本明細書に記載される主題の1つ以上の態様は、(i)1つ以上のコンピュータ制御製造システムで、2.5軸除去製造プロセスを使用して、対応する物理構造が製造されるモデル化されたオブジェクトの密度ベース表現と、(ii)モデル化されたオブジェクトの密度ベース表現における要素の複数の異なるサブセットのそれぞれの開始要素を指定するデータとを取得することであって、要素サブセットのそれぞれが、3つ以上の離散層に対してそれぞれ割り当てられた3つ以上の共有ミリング深さの1つであるミリング深さを有しており、3つ以上の離散層のそれぞれが、2.5軸除去製造プロセスのミリング方向に対して垂直であり、密度ベース表現が、密度ベースのトポロジ最適化を用いてジェネレーティブ設計された、モデル化されたオブジェクトの3次元形状を指定する、取得することと、3つ以上の離散層の最上層より下の離散層に関連するミリング深さを有する要素サブセットの開始要素を、ミリング方向に関して処理することであって、処理することが、現在の層のために処理されている開始要素のうちの現在の開始要素について、(i)現在の層より上の層に関連するミリング深さを有する要素サブセットを有し、(ii)1つ以上のコンピュータ制御製造システムで使用可能な最小のミリング工具の半径に少なくとも等しい量よりも現在の開始要素に近い他の開始要素を識別することと、現在の開始要素に対する他の開始要素との間の最大角度差を計算することと、最大角度差が閾値より大きいことに応答して、要素サブセット内の個々の要素の少なくとも一部の密度値を少なくとも変更することにより、現在の開始要素の要素サブセットに対するミリング深さを現在の層より上の層に移動させて、モデル化されたオブジェクトの製造不可能なコーナを除去することと、を含む、処理することと、2.5軸除去製造プロセスを採用する1つ以上のコンピュータ制御製造システムを使用して、物理構造を製造する際に使用するモデル化されたオブジェクトの3次元形状を提供することと、を含む、1つ以上の方法(及び、データ処理装置に動作を実行させるように動作可能なコンピュータプログラムを実体的にコードする1つ以上の非一時的コンピュータ可読媒体)において具現化することが可能である。
【0009】
識別することは、チェックする開始要素を選択することであって、この選択された開始要素に対する要素サブセットが、現在の層より上の層に関連するミリング深さを有する、選択することと、選択された開始要素の重心を、現在の開始要素の重心と比較することと、選択された開始要素の重心と現在の開始要素の重心との間の距離が量より小さいことに応答して、選択された開始要素を、他の開始要素のうちの識別された1つとして確認することであって、量が、(i)使用可能な最小のミリング工具の半径、及び(ii)現在の層の最下部と最上層との差の事前定義された割合、の最大値に等しく設定される、確認することと、現在の層より上の層に関連するミリング深さを有する開始要素のそれぞれがチェックされるまで、選択すること、比較すること、及び確認することを繰り返すことと、を含み得る。
【0010】
計算することは、現在の層における現在の開始要素と、現在の層より上の1つ以上の層に関連するミリング深さを有する他の開始要素のそれぞれとの間の2次元ベクトルを見つけることと、2次元ベクトルから重心ベクトルを求めることと、重心ベクトルの方向と反対の方向に対して最大の角度を有する2次元ベクトルのうちの第1のベクトルを見つけることと、重心ベクトルの方向と反対の方向に対して最小の角度を有する2次元ベクトルのうちの第2のベクトルを見つけることと、2次元ベクトルの第1のベクトルから2次元ベクトルの第2のベクトルを引いて、最大角度差を生成することと、を含み得る。
【0011】
2次元ベクトルを見つけることは、現在の層における現在の開始要素と、現在の層より上の任意の層に関連するミリング深さを有する全ての開始要素の1つ1つとの間の2次元ベクトルを見つけることを含み得る。
【0012】
識別すること、計算すること、及び移動することは、コーナ除去プロセスの一部であり得、処理することが、追加の現在の層のために処理されている開始要素のうちの追加の現在の開始要素について、第2の、(i)追加の現在の層より上の層に関連するミリング深さを有する追加の要素サブセットを有し、(ii)追加の現在の開始要素に隣接する追加の開始要素を識別することと、第2の、追加の現在の開始要素に対する追加の開始要素との間の第2の最大角度差を計算することと、第2の、第2の最大角度差が第2の閾値以上であることに応答して、追加の要素サブセット内の追加の個々の要素の少なくとも一部の密度値を少なくとも変更することにより、追加の現在の開始要素の追加の要素サブセットに対するミリング深さを追加の現在の層より上の層に移動させて、モデル化されたオブジェクトの製造不可能な陥没を除去することと、を含む、陥没除去プロセスをさらに含み得る。
【0013】
現在の開始要素に対する他の開始要素との間の最大角度差の閾値は195度であり得、第2の最大角度差は180度であり得る。コーナ除去プロセスは、現在の層のすぐ上の層から始めて、現在の層より上の層に対して順次実行され、陥没除去プロセスは、最上層から始めて、現在の層より上の層に対して順次実行され得る。
【0014】
処理することは、コーナ除去プロセスと陥没除去プロセスとを、要素サブセットのミリング深さの移動が行われなくなるまで繰り返すこと、を含み得る。ミリング方向は、2.5軸除去製造プロセスの2つ以上のミリング方向のうちの第1の方向であり得、コーナ除去プロセス及び陥没除去プロセスは、2つ以上のミリング方向のそれぞれについて別々に行われて、それぞれのミリング方向特有のデータセットを生成し得、処理することは、それぞれのミリング方向特有のデータセットを組み合わせて、密度ベースのトポロジ最適化を使用してジェネレーティブ設計された、モデル化されたオブジェクトの密度ベース表現を更新することを含み得る。
【0015】
モデル化されたオブジェクトの密度ベース表現は、非正則メッシュを含み得、モデル化されたオブジェクトの密度ベース表現における要素の複数の異なるサブセットのそれぞれについて、開始要素を指定するデータを取得することは、密度ベース表現における要素を、ミリング方向の軸に沿った要素の重心の位置に従ってソートして、要素のソートされたリストを形成することと、ソートされたリストの中で、次の未割り当て要素を次の開始要素に選択することと、次の開始要素の重心から、事前定義された距離内にその重心を有する密度ベース表現における次の要素のセットを見つけることと、次の要素のセットを次の開始要素に割り当てて、モデル化されたオブジェクトの密度ベース表現における複数の異なる要素のサブセットのうちの1つを形成することと、選択すること、見つけること、及び割り当てることを、ソートされたリストの未割り当て要素がなくなるまで繰り返すことと、を含み得る。
【0016】
モデル化されたオブジェクトの密度ベース表現を取得することは、密度ベースのトポロジ最適化、1つ以上の設計基準、及び1つ以上のインユースケースを用いて、設計空間においてモデル化されたオブジェクトの3次元形状を反復的に修正することを含み得、反復的に修正することは、反復的に修正することの少なくとも2回の反復において、2.5軸除去製造プロセスのミリング方向に従って、ジェネレーティブ設計による3次元形状の密度ベース表現を調整することを含み得、調整することは、モデル化されたオブジェクトの密度ベース表現における要素の複数の異なるサブセットのそれぞれについて開始要素を指定するデータを取得することを含み得る。
【0017】
さらに、提供することは、モデル化されたオブジェクトの3次元形状を使用して、2.5軸除去製造プロセスに従って、除去製造マシンの工具経路仕様を生成することと、工具経路仕様を使用して、除去製造マシンで、物理構造の少なくとも一部、または物理構造のための金型を製造することと、を含み得る。
【0018】
本明細書に記載されている主題の1つ以上の態様はまた、コンピュータ支援設計プログラムの命令を記憶する非一時的記憶媒体と、コンピュータ支援設計プログラムの命令を実行して、本明細書に記載されている1つ以上の方法のいずれかを実行するように構成された1つ以上のデータ処理装置とを含む1つ以上のシステムで具体化することが可能である。1つ以上のシステムは、3軸または多軸(例えば、4、5、6、7、8または9軸)除去製造マシンなど、2.5軸除去製造プロセスを実行できる2.5軸除去製造マシンまたは他の除去製造マシンをさらに含むことができる。
【0019】
本明細書に記載されている主題の特定の実施形態は、以下の利点の1つ以上を実現するように実施することができる。製造不可能なコーナ及び/または陥没(すなわち、狭い溝)は、離散層に制限されることにより、2.5軸機械加工用に例えば、トポロジ最適化を使用してジェネレーティブ設計されたオブジェクトの3Dモデルから容易に除去することができる。この除去プロセスでは、3Dモデルの密度ベース表現(3Dメッシュの各要素に密度値が定義された3Dメッシュモデル)のデータに作用することにより、境界サーフェス情報を必要とせずに、工具干渉をチェックすることができる。この除去プロセスは、2つ以上のミリング方向で2.5軸機械加工用にジェネレーティブ設計された3Dメッシュモデルに適用することができる。この場合、3Dモデルは、異なるミリング方向に対して定義された別個の(しかし交差する)離散層を有する。作り出された設計は、多軸CNCマシンを使用して構築することができ、したがってワークピースの再配置及び再固定を行う必要もなく、複数のミリング方向を使用することが可能になるため、部品を製造するのに必要とされる時間を、2.5軸ミリングの使用によって節約される時間以上に、さらに短縮することができる。いくつかの実施態様では、最終製品を2.5軸マシンによって製造できるように、設計変数を調整する(推定する)開示された方法(複数可)を使用することにより、ジェネレーティブ設計アルゴリズムを改善することができ、提供される感度情報は、調整によって目標(複数可)及び制約(複数可)がどの程度変更され得るかを定量化することができる。
【0020】
さらに、除去プロセス(到達不能なコーナ及び陥没を修正するプロセス)は、3Dモデルをどの場所でも薄くすることなく、3Dモデルの体積が確実に常に増加する(または少なくとも同じ体積を維持する)ようにし、したがって部品性能に対する悪影響を回避することができる。また、体積の増加はモデル全体の体積に比べて小さいため、体積を最小化する目標または制約は、製造不可能な部分が除去プロセスによって修正された後にも、最終的な3Dモデルで概ね満たされることになる。これにより、工具サイズチェックを課した結果として、より多くの材料を加えることができるが、材料の全体積を減らすことはできないという意味でアプローチが保守的になることに留意されたい。
【0021】
本明細書に記載された主題の1つ以上の実施形態の詳細が、添付の図面及び以下の記述に説明されている。本発明の他の特徴、態様、及び利点が、この記述、図面、及び特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0022】
【
図1A】2.5軸除去製造プロセスでの製造に適応させた物理構造を作り出すために、ジェネレーティブ設計用の工具サイズ制御を提供するのに使用可能なシステムの例を示す。
【
図1B】2.5軸除去製造プロセスを用いて物理構造を製造する間に、工具アクセスを確保するために、決定された層境界を用いるジェネレーティブ設計のために実行されるプロセスの例を示す。
【
図2】2.5軸除去製造プロセスの1つ以上のミリング方向に従って、ジェネレーティブ設計による3次元形状の密度ベース表現を調整するプロセスの例を示す。
【
図3A】ミリングラインにおける要素の配置の例を示す。
【
図3B】複数のミリングラインとそのミリング深さとを示す。
【
図4B】ソートされたミリング深さの指定された層境界の例を示す。
【
図4C】ミリングラインに沿った推定要素トポロジ密度の例を示す。
【
図4D】ワークピースに対する異なるミリング方向の例を示す。
【
図5】2.5軸除去製造プロセスに対応した3Dモデルを作成するための層境界判定を伴うジェネレーティブ設計のプロセスの例を示す。
【
図6】本明細書で説明する実施形態を実現するために、クライアントとして、またはサーバとしてプログラムすることができるデータ処理装置を含むデータ処理システムの概略図である。
【
図7A】2.5軸機械加工における工具長対工具径の例を示す。
【
図7B】所与のサイズの工具で機械加工できないコーナ領域の例を示す。
【
図7C】コーナ領域を識別するプロセスの例を示す。
【
図8A】2.5軸製造プロセスを用いた製造のために設計された3Dモデルのための開始要素配列の例を示す。
【
図8B】異なる要素に対する工具の交差の例を示す。
【
図8C】異なる要素に対する工具の交差の例を示す。
【
図8D】異なる要素に対する工具の交差の例を示す。
【
図8E】角度計算の開始ベクトルを定義する例を示す。
【
図8F】機械加工できない陥没要素が識別される例を示す。
【
図9A】2.5軸製造プロセスを用いた製造のために設計された3Dモデルにおいて、製造不可能なコーナ及び陥没を除去するプロセスの例を示す。
【
図9B】2.5軸製造プロセスを用いた製造のために設計された3Dモデルにおいて、製造不可能なコーナ及び陥没を除去するプロセスの例を示す。
【
図9C】2.5軸製造プロセスを用いた製造のために設計された3Dモデルにおいて、製造不可能なコーナ及び陥没を除去するプロセスの例を示す。
【
図9D】2.5軸製造プロセスを用いた製造のために設計された3Dモデルにおいて、製造不可能なコーナ及び陥没を除去するプロセスの例を示す。
【
図9E】2.5軸製造プロセスを用いた製造のために設計された3Dモデルにおいて、製造不可能なコーナ及び陥没を除去するプロセスの例を示す。
【発明を実施するための形態】
【0023】
様々な図面の同様な参照番号及び記号表示は、同様な要素を示している。
【0024】
図1Aは、2.5軸除去製造プロセスでの製造に適応させた物理構造を作り出すために、ジェネレーティブ設計用の工具サイズ制御を提供する(かつジェネレーティブ設計中に層境界を潜在的に決定する)のに使用可能なシステム100の例を示す。コンピュータ110は、プロセッサ112及びメモリ114を含み、コンピュータ110は、ネットワーク140に接続することができる。ネットワーク140は、プライベートネットワーク、パブリックネットワーク、仮想プライベートネットワークなどであり得る。プロセッサ112は、1つ以上のハードウェアプロセッサであり得、それぞれが複数のプロセッサコアを含むことができる。メモリ114は、ランダムアクセスメモリ(RAM)及びフラッシュRAMなどの揮発性及び不揮発性メモリの両方を含むことができる。コンピュータ110は、プロセッサ112上で実行されるプログラム(3次元(3D)モデリング機能を実装し、数値シミュレーションを用いる(例えば、少なくとも1つのペナルティ付き固体等方性材料(SIMP)法を用いる)トポロジ最適化のための1つ以上のジェネレーティブ設計プロセスを含み得る、コンピュータ支援設計(CAD)プログラム(複数可)116を含む)の命令を格納するために、メモリ114が含まれ得る様々なタイプのコンピュータ記憶媒体及びデバイスを含むことができる。本文書に記載されたシステム及び技法によって実行される数値シミュレーションは、1つ以上の物理的特性をシミュレートすることができ、1つ以上の種類のシミュレーションを使用して、モデル化されたオブジェクトの物理応答(例えば、構造応答)の数値的評価を作り出すことができる。例えば、有限要素解析(FEA)(線形静的FEAを含む)、有限差分法(複数可)、及びマテリアルポイント法(複数可)を使用することができる。さらに、物理的特性のシミュレーションには、計算流体力学(CFD)、音響/ノイズ制御、熱伝導、計算注入成形、電束または電磁束、材料固化(成形プロセスでの相変化に役立つ)のシミュレーション、線形過渡運動動態分析、ノーマルモード解析、座屈解析、及び/または熱移動解析が含まれ得る。
【0025】
本明細書で使用するとき、CADは、プログラムが製造設備とインタフェースをとること、及び/またはプログラムが製造設備を制御すること、が可能であるか否かに関係なく、設計要件を満たす物理構造を設計するために使用される任意の適切なプログラムを指す。したがって、CADプログラム(複数可)116は、コンピュータ支援工学(CAE)プログラム(複数可)、コンピュータ支援製造(CAM)プログラム(複数可)などを含むことができる。プログラム(複数可)116は、コンピュータ110上でローカルに、1つ以上のリモートコンピュータシステム150(例えば、ネットワーク140を介してコンピュータ110によってアクセス可能な1つ以上のサードパーティプロバイダの1つ以上のサーバシステム)のコンピュータ上でリモートから、またはローカル及びリモートの両方で実行することができる。したがって、コンピュータ110でローカルに動作する1つ以上のプログラム116が、負担を軽減させたい処理作業(例えば、ジェネレーティブ設計及び/または数値シミュレーションの作業)を、1つ以上のコンピュータ150上の1つ以上のプログラム116に実行させることにより、処理作業を「クラウドに」肩代わりさせることができるという点において、CADプログラム116は、2つ以上の別個のコンピュータプロセッサ上で協同的に動作する2つ以上のプログラムであり得る。いくつかの実施態様では、全てのジェネレーティブ設計作業は、ローカルコンピュータ上で動作するB-Repソリッドモデラではなく、クラウド内の1つ以上のプログラムによって実行される。さらに、いくつかの実施態様では、ジェネレーティブ設計プログラム(複数可)は、ユーザがグラフィカルユーザインタフェースを介して入力することなく、プログラムによって呼び出されるAPI(アプリケーションプログラムインタフェース)からクラウドにて実行することができる。
【0026】
CADプログラム(複数可)116は、コンピュータ110の1つ以上の入力デバイス118(例えば、キーボード及びマウス)を使用して操作することができるユーザインタフェース(UI)122を、コンピュータ110のディスプレイデバイス120上に提示する。
図1Aでは別個のデバイスとして示されているが、ディスプレイデバイス120及び/または入力デバイス118はまた、互いに一体化していてもよく、及び/またはタブレット型コンピュータなどのコンピュータ110と一体化していてもよい(例えば、タッチスクリーンが、入力/出力デバイス118、120となり得る)ことに留意されたい。さらに、コンピュータ110は、仮想現実(VR)及び/または拡張現実(AR)システムを含むか、またはその一部であることができる。例えば、入力/出力デバイス118、120は、VR/AR入力グローブ118a及び/またはVR/ARヘッドセット120aを含むことができる。いずれの場合も、ユーザ160は、CADプログラム(複数可)116とインタラクトして3Dモデル(複数可)の作成及び修正を行い、これは3Dモデルドキュメント(複数可)130に格納され得る。
【0027】
初期の3Dモデルは、ジェネレーティブ設計プロセスへの入力になり得る。初期の3Dモデルは、保存ボディと潜在的な障害物ボディとのセットにすることができる。入力保存ジオメトリは、接続されていないモデル化されたソリッドであってもよく、この場合、ジェネレーティブ設計プロセスは、入力保存ソリッドを接続する新しい3Dジオメトリを作り出すのに使用される。設計空間131は、入力モデルの境界体積または凸包を決定することによって取得することができ、または、別の技法を使用して、形状及び/または設計空間131(設計空間は、トポロジ最適化中に部品がその内部で設計される空間の体積である)を取得することができる。場合によっては、ユーザは、ソリッドボディを設計空間131として明示的に指定することがある。
【0028】
ユーザ160は、ジェネレーティブ設計プロセスが開始3Dモデルから所望の3Dモデルを作り出すためのトポロジ最適化問題を定義することができ、または入力を、特定の初期3Dモデルを持たない設計空間131とすることができる。例えば、設計空間131は、密度場が(nx×ny×nz個の要素を用いて)定義される四角いドメインとすることができる。一般に、入力設計空間131は、自動生成またはユーザ指定することができ、設計空間131は、設計領域に加えて1つ以上の非設計領域を含むことができ、各異なる領域は、異なる初期体積分率、異なる最小部材寸法、異なる設計基準(例えば、異なる製造制約)、及びモデル依存初期設定を有することができる。
【0029】
本明細書で説明するように、いくつかの実施態様では、CADプログラム(複数可)116は、少なくとも1つのジェネレーティブ設計プロセスを実施し、それによってCADプログラム(複数可)116が、設計目標(複数可)及び設計制約(複数可)、つまり設計基準に基づいて、3Dモデルの1つ以上の部分(または3Dモデル全体)を自動的に生成することが可能になり、その場合、設計のジオメトリがシミュレーションフィードバックに基づいて反復的に最適化される。本明細書で使用する場合、「最適化」(または「最適条件」もしくは「オプティマイザ」)とは、全ての可能な設計のうちの最良のものが全ての場合において達成されることを意味するのではなく、例えば、利用可能な処理リソースが与えられる割り当てられた時間内に生成できる可能な設計の有限集合、及び/または最適化プロセスの競合目標を考慮して生成できる可能な設計の有限集合から、最良の(または最良に近い)設計が選択されることを意味することに留意されたい。
【0030】
設計基準は、ユーザ160によって、または別の関係者によって定義され、CADプログラム(複数可)116にインポートされ得る。設計基準には、個々の部品に対する構造健全性制約(例えば、部品の使用中に予想される構造荷重の下で部品が破損してはならないという要件)と、より大きなシステムによって課せられる物理的制約(例えば、使用中にシステム内の他の部品(複数可)と干渉しないように、部品が、指定された体積内に収容されているという要件、線状接触を有する組立品がCADソフトウェアによってサポートされ得るという要件)とが含まれ得る。設計基準(例えば、応力拘束)の1つ以上は、設計空間131内の領域全体にわたって、または設計空間131内の個々の領域にわたって定義することができる。設計基準にはまた、促進すべき望まれた2.5軸除去製造プロセス(例えば、特定の種類及びサイズの工具を備えた、2.5軸CNCマシン、3軸または多軸CNCマシン)が含まれ得る。
【0031】
機械加工における「2.5次元」とは、1つの座標軸へのサーフェスの投影である平面を指すことに留意されたい。3D空間では、2.5軸除去製造プロセスの平面は、機械加工に関してx-y平面に平行であるが、z座標が異なる。これらの平面は様々な高さで定義され、2.5軸ミリングは、2.5次元で定義された形状に従って材料が切削されるプロセスである。これは、そのような形状に対して最適な工具経路を伴うGコードを簡単に生成できるため、よく使われる機械加工プロセスである。さらに、2.5軸CNCマシンは、3軸全てに平行移動させる能力を有するが、ハードウェア及び/またはソフトウェアの制限により、例えば、機械が、真の線状Z軸の代わりにソレノイド形を有し、一度に3軸のうちの2軸のみで切削作業を実行することができる。典型的な例は、x-yテーブルが、各穴の中心に位置決めされ、そこでスピンドル(z軸)が、軸方向に突っ込み、後退して、穴開けの固定サイクルを完了するものである。2.5軸機械加工用のコードは、3軸の輪郭加工よりも大幅に少なく、ソフトウェア及びハードウェアの要件も(一般的に)より安価である。穴開け及びタップ立てセンタは、テクノロジの進歩につれてソフトウェア及びハードウェアのコストが下がったため、多くの新型のものは3軸であるが、比較的安価である(例えば、2.5軸の市場カテゴリとして始まった限定使用マシニングセンタ)。
【0032】
様々なジェネレーティブ設計プロセスを使用することができ、これにより、3Dモデルの少なくとも一部分の形状及びトポロジを最適化することができる。CADプログラム(複数可)116による3Dモデル(複数可)の幾何学的設計の最適化には、トポロジ最適化が含まれる。これは、設計制約(例えば、制約としての体積の構造的コンプライアンス)を受ける目的関数を最小化することにより、材料の最適な分布を決定する軽量化の方法である。トポロジ最適化には、密度ベースアプローチと境界ベースアプローチとの2つの主要なカテゴリがある。密度ベースアプローチ(例えば、SIMP法または均質化法)では、部品の体積を個々の要素に離散化し、各離散要素に密度を割り当てる。そして、制約を受ける目標(複数可)を最小限に抑えながら、密度がソリッド及びエンプティへ追い込まれる。境界ベースアプローチでは、代わりに、レベルセット法などで、ソリッド部品の外部インタフェースの形状を追跡し、制約が満たされかつ目標(複数可)が最小化されるように境界を動かす。
【0033】
本明細書で説明するように、密度ベーストポロジ最適化プロセスは、2.5軸製造プロセスを用いて物理構造の製造を容易にする設計のための最終形状を作り出すように、ジェネレーティブ設計プロセスを導くことができる。この2.5軸製造プロセスは、2つ以上のz深さの平面(2.5次元)を使用し、そこで、工作機械が、x-y平面内を移動する間に、それぞれの平面ごとのz軸の位置に留まる。この目的を達成するために、ジェネレーティブ設計プロセスは、z深さ平面(すなわち、3Dモデルの異なる層間の境界)及び任意選択でz深さ平面の数を決定することができ、ジェネレーティブ設計プロセスは、密度ベーストポロジ最適化の間に、この決定された情報を使用することができる。
【0034】
形状合成プロセスは、モデル化されたオブジェクトの、ジェネレーティブ設計による3D形状の、密度ベース表現を使用して行われるが、CADプログラム(複数可)116は、通常、3Dモデリングのためのジオメトリの異なる表現を使用することに留意されたい。例えば、ジェネレーティブ設計プロセスの(例えば、CADプログラム(複数可)116に実装された)ジオメトリ生成エンジンは、密度ベース表現(例えば、ボクセルまたは4面体メッシュに関連する密度値)を採用し、一方、CADプログラム(複数可)116は、任意の入力ジオメトリに対してだけでなく、ジェネレーティブ設計プロセスを使用して作り出された3Dモデル132の最終ジオメトリに対して、B-Repモデルを使用することが可能である。いくつかの実施態様では、ジェネレーティブ設計プロセスにおける密度ベーストポロジ最適化は、正則の有限要素グリッドを使用し、全ての要素の密度は、関連する設計変数によって制御される。
【0035】
さらに、使用される特定の密度ベーストポロジ最適化プロセス、及び層境界の決定方法にかかわらず、2.5軸製造プロセスを用いた製造の間に工具アクセスを確保するために、ジェネレーティブ設計に工具サイズ制御を提供することができる。ジェネレーティブ設計プロセス(複数可)に関するさらに詳しい内容を、
図1B~
図5に関連して以下に提供する。工具サイズ制御を提供することに関するさらに詳しい内容を、
図1B、
図2、
図5、及び
図7A~
図9Eに関連して以下に提供する。
【0036】
ユーザ160がジェネレーティブ設計による3Dモデル132に満足すると、3Dモデル132は、3Dモデルドキュメント130として保管され、及び/またはモデルの別の表現(例えば、2.5軸除去製造プロセスの工具経路仕様)を生成するために使用され得る。これは、ユーザ160による要求に応じて、またはジェネレーティブ設計による3Dモデル132を除去製造(SM)マシン170、もしくは他の製造機械類に送るなどの別のアクションに対するユーザの要求に照らして行うことができる。これらの機械は、図示するように、コンピュータ110に直接接続するか、またはネットワーク140を介して接続することができる。これは、3Dモデル132を製造のため電子ドキュメントにエクスポートするために、ローカルコンピュータ110またはクラウドサービスで実施される後プロセスを含むことができる。電子ドキュメント(簡潔にするために単にドキュメントと呼ぶ)はファイルにすることができるが、必ずしもファイルに対応しているわけではないことに留意されたい。ドキュメントは、他のドキュメントを保持するファイルの一部、当ドキュメント専用の単一のファイル、または複数の連携されたファイルに保管され得る。さらに、ユーザ160は、後で使用するために3Dモデル132をセーブしまたは伝送することができる。例えば、CADプログラム(複数可)116は、生成された3Dモデル132を含むドキュメント130を保管しまたは送信することができる。
【0037】
CADプログラム(複数可)116は、(適切な形式の工具経路仕様を有する)ドキュメント135をSMマシン170に提供して、ストック材料137から完全な構造を作成することができる。この物理構造は、2.5軸機械加工を容易にする最適化されたトポロジ及び形状、2.5軸ミリング用に生成された階段状の設計を含む。SMマシン170は、1つ以上の除去製造技術、例えば、多軸、マルチツールミリングマシンなどのコンピュータ数値制御(CNC)ミリングマシンを採用することができる。SMマシン170は、2.5軸CNCマシンとすることができ、スピンドル171及び付属工具172(例えば、利用可能な工具のセットから選択されたロータリカッタまたはルータ)の移動の自由度は、ほとんどのミリングではx-y平面に制限され、z方向には不連続なステップでしか移動しない。
【0038】
しかしながら、SMマシン170は、3軸CNCマシンとすることもできる。この場合、スピンドル171は、x、y、及びzの各次元で完全な移動の自由度を有し、すなわち工具172が3軸全てで同時に動くことができる。2.5D画像は、(x,y)平面の全ての点に対して最大1つの深さ(z)値を含む単純化された3次元(x,y,z)サーフェス表現であるため、3軸ミリングマシンを用い、高軸マシンの機能を一切使用する必要もなく、2.5軸ミリングプロセスを実行することができる。したがって、SMマシン170は、工具172がワークピース137を切削しながら3軸(x、y、z)の並進と2軸(ロール及びヨー)の回転とを同時に行うことができる多軸マシンとすることもできる。これらの追加の移動の自由度は、スピンドル171のコンピュータ制御された動き、部品が機械加工されるためのクランプまたはアンカーポイント(例えば、工作台)173のコンピュータ制御された動き、または両方の組み合わせによって、もたらされ得ることに留意されたい。それでもやはり、2.5軸設計の制作につき、3軸マシンまたは多軸マシンの高度な機能を、全く使用する必要がなく、あるいはほとんどのミリング作業に使用する必要がない。
【0039】
SMマシン170が特に2.5軸マシンでない場合でも、2.5軸除去製造プロセスを使用することが有利である。これは、一度に2次元のみで切削作業を行うことにより、最適な切削工具経路設計により近い工具経路仕様(例えば、Gコード)を生成することが簡単になるためである。層状または階段状の形状を持つ部品を設計することで、除去マシン工具経路のより迅速なプログラミングをもたらし得る。さらに、切削作業のほとんどでミリング工具の動きを2軸に制限することにより(除去プロセスは、ミリング工具に垂直な面内では連続的に移動して行われるが、ミリング工具に平行なステップでは不連続に行われる)、製造プロセスの効率を改善することができ、つまり、2.5軸除去製造プロセスでは、材料の層を順に素早く取り除き、多くの場合、深さの異なる一連の「ポケット」を有する部品を作成することができるため、機械加工時間の短縮が可能になる。さらに、2.5軸機械加工設備は、3軸及び5軸の機械加工設備よりも一般に入手可能であり安価であるため、2.5軸で製造可能な部品に制限できるジェネレーティブ設計プロセス(複数可)をCADプログラム(複数可)116に提供することで、ジェネレーティブ設計プロセス(複数可)の実用的有用性を高めることができる。
【0040】
いずれにせよ、CNCマシン170は、意図しない動きを防ぐために、機械加工中に何らかの方法でストックを固定しなければならず、時には、以前に固定処理に使用されたストックの部分が、CNCマシン170によるその後の切削のためにむき出しにすることができるように、ストックを固定する位置を(人間のオペレータによって、または既存の他の方法によって)変更しなくてはならない。こうした部品及びその固定具の向きまたは配置は、「部品セットアップ」と呼ばれる。ワークピースを回転させる機能(一般に異なる部品セットアップを採用することによって、または多軸CNCマシンにおいて工具もしくはワークピースが固定されているテーブルを回転させることによって)または(多軸CNCマシンでは回転させるが、2.5軸CNCマシンでは回転させない)工具を回転させる機能を考慮して、複数のミリング方向を使用することができる。
【0041】
したがって、SMマシン170の移動の自由度と固定機能とにかかわらず、SMマシン170は、工具が2軸で同期して移動する一方で、工具が第3の軸で増加的に移動して部品のジオメトリに一連の「段」を形成するという点で、2.5軸機械加工プロセスを実行することが可能である。各段の壁及び床は、それぞれ工具の側面及び端部によって切削できるので、曲線を付けて作られた(「3軸」)表面よりも効率的である。同時に、2.5軸機械加工では、工具が常に部品の至る所を切削する2軸機械加工に比べて、ジオメトリの制御性が向上する。CADプログラム(複数可)116におけるジェネレーティブ設計プロセス(複数可)は、2.5軸互換ジオメトリを作り出すので、それにより、SMマシン170が部品に対してより複雑なジオメトリを処理できたとしても、部品に対してより単純なジオメトリを用いる結果として、プログラミング時間及び機械加工時間が大幅に節約されることになる。
【0042】
図1Bは、2.5軸除去製造プロセスを用いて物理構造を製造する間に、工具アクセスを確保するために、決定された層境界を用いるジェネレーティブ設計のために実行されるプロセスの例を示す。モデル化されたオブジェクトの密度ベース表現と、密度ベース表現における要素サブセットの開始要素を指定するデータとが、例えば、CADプログラム(複数可)116によって取得される(185)。密度ベースの表現は、モデル化されたオブジェクトとなり、これに対して、本文書に記載されているように、1つ以上のコンピュータ制御製造システムで、2.5軸除去製造プロセスを使用して、対応する物理構造が製造される。さらに、データは、モデル化されたオブジェクトの密度ベース表現における要素の複数の異なるサブセット(例えば、ミリングライン)のそれぞれに対して開始要素を指定するデータである。
【0043】
いくつかの実施態様では、密度ベース表現と開始要素を指定するデータとを取得すること185は、密度ベース表現と開始要素を指定するデータとを別のプロセスから受け取ることを含み得る。いくつかの実施態様では、密度ベース表現と開始要素を指定するデータとを取得すること185は、密度ベース表現と開始要素を指定するデータとを生成することを含み得る。
【0044】
例えば、取得すること185は、例えば、CADプログラム(複数可)116によって、2.5軸除去製造プロセスを使用して製造すべき物理構造のジェネレーティブ3Dモデルを作り出す際に使用するためのオブジェクトの設計空間、1つ以上の設計基準、及び1つ以上のインユースケースを取得すること185Aを含み得る。モデル化されたオブジェクトの設計空間は、部品がその内部で設計されることになる体積である。設計空間には、オブジェクトの3次元トポロジの、1つ以上の外形の初期仕様を含む境界体積が含まれ得る。上記のように、設計空間は、ジェネレーティブ設計プロセスの最適化ドメインのサブスペースとして機能する、CADプログラム(複数可)116で設計された3Dモデル(複数可)、またはCADプログラム(複数可)116にロードされた3Dモデル(複数可)、及び/またはジェネレーティブ設計ジオメトリ制作のための境界条件を指定する入力ソリッドのセット、例えば、UI122を使用して選択されて、より大きな3Dモデルまたは別個の3Dモデル(複数可)で他の構成要素(複数可)との接続点(複数可)として使用するために保存されるサブ空間(複数可)を指定するB-Rep、を含むことができる。
【0045】
設計基準には、オブジェクトの設計目標(複数可)及び設計制約(複数可)が含まれ得る。設計目標には、廃材の最小化、部品重量の最小化、及びコンプライアンスの最小化または剛性の最大化、応力の最小化、及び/または部品の他の固有特性の最小化または最大化が含まれ得るが、設計目標は、これらに限定されず、形状合成プロセスをより良い設計に向けて推進するために使用される。必須ではないが、設計目標は、設計のシミュレーション、例えば、線形静的、流体力学的、電磁的なシミュレーションなどに根差しているのが一般的である。設計制約には、生成される任意の設計で満たされるべき様々な幾何学的特性及び物理的特性または物理的挙動(個々の部品またはアセンブリ全体についての要件も認められる)が含まれ得、例としては、最大質量、荷重下での最大たわみ、最大応力などがある。
【0046】
さらに、設計パラメータと設計変数との様々な組み合わせを使用することにより、様々なジェネレーティブ設計プロセスを定式化することができる。いくつかの実施態様では、設計パラメータは、システム100内のCADプログラム(複数可)によって利用可能にされる異なるジェネレーティブ設計合成法の中から選ばれたものなど、UI122を介して受け取られる様々な種類の入力を含むことができる。いくつかの実施態様では、利用可能なジェネレーティブ設計合成法は、トポロジ最適化の密度ベース方法を提供するSIMP法を含むことができる。他のジェネレーティブ設計合成法も可能であり、システム100内のCADプログラム(複数可)116によって提供することができる。設計パラメータと設計変数との異なる組み合わせが、例えば、ユーザ160からの入力に応答して、CADプログラム(複数可)116によって使用され得る。例えば、ユーザ160は、異なるジェネレーティブ設計合成法を選択して、単一の3Dモデル内のそれぞれ異なる設計空間内で使用することができる。
【0047】
さらに、取得された(185A)1つ以上のインユースケースは、2.5軸除去製造プロセスを用いてジェネレーティブ設計による部品から製造される物理構造のためのものである。1つ以上のインユースケースは、物理構造によって支持されると予想される1つ以上の荷重を含むことができ、数値シミュレーションのためのセットアップ、例えば、ジェネレーティブ設計されている部品の最適化された3Dトポロジと共に使用されるFEAモデルにおける要素の密度と関連付けることができる。ただし、本明細書で使用するとき、「インユースケース」とは、一般に、部品の性能が評価される個別の動作制約を指し、流体流動シミュレーション、電磁(EM)挙動シミュレーション、マルチフィジックスシミュレーションなど、様々な種類の物理シミュレーションのための境界条件の1つ以上のセットに対応するものである。
【0048】
一般に、数値シミュレーションのセットアップには、シミュレートすべき1つ以上の物理的特性、及び実行すべき1つ以上のシミュレーションの種類、ならびに潜在的に代理モデリングまたはその他の近似方法が含まれ得る。いくつかの実施態様では、数値シミュレーションの種類は、プログラムの全ての使用に対して事前定義されているか、またはジェネレーティブ設計プロセスが開始されたプログラムの特定のコンテキストに与えられている。さらに、数値シミュレーションのセットアップは、実行すべき数値シミュレーションの種類、すなわち、インユースケース(複数可)に関連する荷重条件及び/または他の物理的環境情報の少なくとも1つのセットを含むことができる。
【0049】
ジェネレーティブ設計空間及び設計基準が指定されると、1つ以上のジェネレーティブ設計プロセスを用いて、例えばCADプログラム(複数可)116により、1つ以上の3Dモデル(複数可)を作り出すこと185Bができ、これらの3Dモデル(複数可)に対応する物理構造(複数可)が、2.5軸除去製造プロセスを用いて製造されるように設計されている。例えば、CADプログラム(複数可)116によって実行される1つ以上のジェネレーティブ設計プロセスは、例えば、SIMP法を用いる、少なくとも1つの密度ベースジェネレーティブ設計プロセスを含み、これは、モデル化されたオブジェクトのジェネレーティブ設計による3次元形状を、例えば、CADプログラム(複数可)116によって、反復的に修正することを伴う。これには、1つ以上の設計基準と1つ以上のインユースケースとに従って、設計空間における3次元形状のジオメトリと3次元形状のトポロジとの両方を修正することが含まれる。具体的には、プロセス185Bは、複数の制約を満たしながら目的関数を最小化する最適なトポロジ設計を作り出すことができ、その設計は2.5軸機械加工に適合している。プロセス185Bにおけるジェネレーティブ設計の3D形状及びトポロジに対する反復更新は、ジェネレーティブ設計が全ての制約(複数可)を満たし、目標(複数可)を最小化(または最大化)するまで継続される。
【0050】
3Dモデル(複数可)の制作185Bは、2.5軸除去製造プロセスの1つ以上のミリング方向に従って、ジェネレーティブ設計による3次元形状の密度ベース表現を調整することを含み得る。この調整することは、3D形状の反復修正全般を通じて、反復的に修正することの反復の一部のみで、またはトポロジ最適化の反復修正が終了した後に、行われ得る。しかし、トポロジ最適化ループで調整することを行うかどうかにかかわらず、調整することによってオブジェクトの3つ以上の離散層の間の境界が指定され、2.5軸除去製造プロセスに適合する1つ以上のジェネレーティブ3Dモデルが作り出される。
【0051】
そのような3Dモデルは、2.5軸除去製造プロセスに対応する離散層を有し、この離散層は、側面ミリング(工具の側部または側面を使用してストック材料を除去する)及び端面ミリング(工具の端部または面を使用してストック材料を除去する)を促進することにより、対応する物理構造(複数可)の製造を容易にする1つ以上の3Dモデル(複数可)内に平坦エリアを作成する。2.5軸の製造可能性をトポロジ最適化プロセス内の正式な制約として実装する必要がないにもかかわらず、モデル化されたオブジェクトのジェネレーティブ設計による3D形状の反復修正185Bは、2.5軸機械加工を用いて製造できる形状を作り出すように、ジオメトリ生成プロセスを効果的に制約することに留意されたい。
【0052】
密度ベース表現と開始要素を指定するデータとを取得する(185)ために、他のアプローチも可能である。しかし、これらが受信されるか生成されるかにかかわらず、要素サブセットのそれぞれは、3つ以上の離散層に対してそれぞれ割り当てられた3つ以上の共有ミリング深さの1つであるミリング深さを有しており、この3つ以上の離散層のそれぞれは2.5軸除去製造プロセスのミリング方向に対して垂直であり、密度ベース表現は、密度ベースのトポロジ最適化を使用してジェネレーティブ設計されたモデル化オブジェクトの3次元形状を指定する。このデータが利用可能であるため、(ミリング方向に関して)3つ以上の離散層の最上層より下の離散層に関連するミリング深さを有する要素サブセットの開始要素が、例えば、CADプログラム(複数可)116によって処理される(190)。
【0053】
処理すること190は、各開始要素に対して順番に実行することができ(すなわち、現在の層に対して処理されている開始要素の現在の開始要素)、以下の操作を含む。(i)現在の層の上の層に関連するミリング深さを有する要素サブセットを有し、(ii)現在の開始要素にある量より近い他の開始要素は、例えば、CADプログラム(複数可)116によって識別される(190A)。その量は、1つ以上のコンピュータ制御製造システムで使用可能な最小のミリング工具の半径に少なくとも等しい。量を決定することに関するさらに詳しい内容を、
図7A~
図8E及び
図9Cに関連して以下に提供する。現在の開始要素に対して、他の開始要素との間の最大角度差が計算される(190B)。最大角度差の計算することに関するさらに詳しい内容を、
図9C~
図9Eに関連して以下に提供する。最終的に、最大角度差が閾値よりも大きいことに応答して、要素サブセット内の個々の要素の少なくとも一部について密度値を変更することにより、現在の開始要素の要素サブセットに対するミリング深さが、例えばCADプログラム(複数可)によって、現在の層より上の層に移動され(190C)、モデル化されたオブジェクト内の製造不可能なコーナを除去する。製造不可能なコーナ及び製造不可能な陥没(すなわち、狭い溝)を除去するためにミリング深さを変えることに関するさらに詳しい内容を、
図7A~
図8E、
図9A、
図9C及び
図9Dに関連して以下に提供する。
【0054】
処理すること190は、モデル化されたオブジェクトのジェネレーティブ設計による3D形状を作り出すジェネレーティブ設計プロセスの中に含めることも可能であることに留意されたい。例えば、処理すること190は、ジェネレーティブ設計プロセス185B内に含まれてもよい。この処理すること190は、3D形状の反復修正全般を通じて、反復的に修正することの反復の一部のみで、またはトポロジ最適化の反復修正が終了した後に、行われ得る。しかし、処理すること190がトポロジ最適化ループで行われるかどうかにかかわらず、処理すること190は、2.5軸除去製造プロセスに適合するジェネレーティブ3Dモデルの製造性を改善する(例えば、工具アクセス性を確保する)ために、オブジェクトに対する3つ以上の離散層間でミリング深さを再割り当てする。
【0055】
いくつかの実施態様では、ジェネレーティブ設計プロセスの結果は、例えば、ディスプレイデバイス120上のUI122において、設計を受け入れるかまたは拒否する選択肢とともに、ユーザに提示される。いくつかの実施態様では、ユーザは、各設計検討について、最終設計、または様々な以前の反復のいずれかから選択することができる。いくつかの実施態様では、ジェネレーティブ設計プロセスからの結果として生じる2つ以上の3Dモデルを、設計の複雑さ対製造コスト(または他の様々な関心のある量のいずれか)のトレードオフ分析とともに、ユーザに提示することができる。トレードオフ分析は、提示された3Dモデルのうちの1つ以上の3Dモデルを受け入れるかまたは拒否するかを決定する際に、ユーザ160を支援することができる。
【0056】
設計が拒否された場合、
図1Bのプロセスは、例えばCADプログラム(複数可)116により、新しいジェネレーティブ3Dモデルを制作する際に用いるための新しい設計空間及び/または新しい設計基準を取得する(185A)ために戻ることができる。設計が拒否されないとなれば、
図1Bのプロセスは、例えば、CADプログラム(複数可)116により、物理構造の2.5軸除去製造用に、ジェネレーティブ設計による形状及び/またはトポロジをオブジェクトの3Dモデルに提供する(195)ことができる。提供すること195は、SM製造システムを使用してオブジェクトに対応する物理構造を製造する際に使用するために、3Dモデルをパーマネントストレージデバイスへ送出すること、またはセーブすることを含み得る。いくつかの実施態様では、提供すること195は、例えば、CADプログラム(複数可)116により、3Dモデルを使用して、コンピュータ制御SM製造システム(複数可)のための工具経路仕様を生成すること195Aを含み、例えば、CADプログラム(複数可)116により、2.5軸SM機械加工用に生成された工具経路仕様を使用して、コンピュータ制御SM製造システム(複数可)で、オブジェクトに対応する物理構造の少なくとも一部分を製造すること195Bを含む。いくつかの実施態様では、提供すること195は、生成された(195A)工具経路仕様を使用して、2.5軸除去機械加工で、物理構造用の金型を製造することを含むことができ、この場合、3Dモデルは、2.5軸除去製造プロセスを使用して製造されるようになる金型のモデルであり得る。
【0057】
提供される(195)3Dモデルは、ジェネレーティブ設計合成法に関連して、またはジェネレーティブ設計出力の後処理に関連して、処理される(190)3Dモデルである。例えば、いくつかの実施態様では、ジェネレーティブ設計合成法によって作り出された3Dメッシュモデルは、3Dモデルの最終的な、工具サイズ条件の局所修正として、製造性を改善する(例えば、製造不可能な角や製造不可能な陥没を取り除く)処理が行われ(190)、次いで、その3Dモデルを、防水型のB-Rep3Dモデルに変換してから提供する(195)ことが可能である。いくつかの実施態様では、密度ベースのジェネレーティブ設計プロセスの出力から抽出され得るポリゴンメッシュ、または密度ベースのジェネレーティブ設計プロセスから直接取得されるジェネレーティブ設計データを、例えば、CADプログラム(複数可)116により、境界表現(B-Rep)モデル及び/またはパラメトリックフィーチャモデルに変換することが可能である。境界表現モデルまたはパラメトリックフィーチャモデルは、例えば、パラメトリックフィーチャを有するスケッチジオメトリとして編集可能であり得る。
【0058】
したがって、本文書に記載された方法(複数可)は、(1)ジェネレーティブ設計プロセスに対する実質的なユーザ制御と、(2)2.5軸製造プロセスを用いた製造中の工具アクセスを考慮するために3Dモデルの密度ベース表現を処理し、2.5軸製造プロセスのための3Dモデルの離散層の境界を潜在的に決定することに加えて、オブジェクトに対応する物理構造の製造で用いるジェネレーティブ設計による3Dモデルを提供するための制御機能との両方を提供するために、例えば、CADプログラム(複数可)116に実装することが可能である。いずれにせよ、目的は、オブジェクトの2.5軸除去製造を容易にするためのオブジェクトの3Dモデルを作り出すことである。
【0059】
図2は、2.5軸除去製造プロセスの1つ以上のミリング方向に従って、ジェネレーティブ設計による3次元形状の密度ベース表現を調整するプロセスの例を示す。
図2の処理は、処理すること190の例を含み、
図1Bからのジェネレーティブ設計処理185Bにおける調整の例をも含む。
図2のプロセスは、ジェネレーティブ設計による3次元形状の密度ベース表現における個々の要素の異なるサブセットに関連する異なるミリング深さを収集すること200を含む。
【0060】
収集すること200は、ジェネレーティブ設計による3次元形状の密度ベース表現における個々の要素をミリング方向に平行なミリングラインに配置すること205を含み得、ミリングラインのそれぞれは、個々の要素の異なるサブセットのうちの1つに対応する。例えば、ミリング配列は、密度ベース表現の物理ドメイン上で直接定義することができる。(ミリングプロセスが確立されている)仮想的な埋め込みドメインと、(座標変換とマッピングとを用いた仮想ドメイン内での)物理モデルの補間とは不要であることに留意されたい。
【0061】
図3Aは、ミリングラインにおける要素の配置の例を示す。図示の例では、ミリング方向が負のz座標方向であると仮定される。矢印300は、ミリングラインを表し、工具のミリング方向305と平行である。各ミリングライン300において、工具が触れる最初の要素310は、開始要素と呼ばれる。いくつかの実施態様では、配列すること205は、ミリング方向305に基づいて開始要素を識別することと、識別された各開始要素に対してミリングラインを確立することと、残りの要素のどれが各ミリングラインと交差しているかを見つけることと、配列内の各ミリングラインに沿った一連の要素を記憶することとを含む。
【0062】
ミリング方向が負のz座標方向であると仮定したのは、単に表現を容易にするためであり、様々な異なるミリング方向、例えば、3軸または多軸ミリング用の45度の角度のミリング方向を使用してもよいことに留意されたい。さらに、
図3Aに示す要素中の1~64の数字は、正則の直交格子メッシュの有限要素を表している。ドメインが矩形または立方体のボックス内にある場合、開始要素は、その座標またはそれらが属するサーフェスに基づいて決定することができる。全ての要素が最小の座標値から開始して、最初にx方向に、次にy方向に、最後にz方向に増えるように順序付けられる場合、アルゴリズムは遥かに単純になり得る。そのような実施態様では、x方向、y方向、及びz方向の要素数が分かっていれば、開始要素を見つけるのは簡単である。
【0063】
要素が、そのように順番に並んでいない実施態様では、隣接配列とミリング方向配列とを使用して、各ミリングラインに沿って順番に開始要素と後続要素とを見つけることができる。いくつかの実施態様では、メッシュは要素座標及び要素位置に基づいて検索されて、ミリングラインに沿って現在の順番で次に続く要素を見つけることができる。場合によっては、ユーザ、ジオメトリモデラ、またはプリプロセッサステージが、(非従来型の)要素シーケンシングを提供し、そこからミリングラインの交点と隣接要素とを見つけることができる。さらに、いくつかの実施態様では、対称性が考慮され、ミリング方向は対称面(複数可)に向かうか、または対称面に平行でなくてはならない。例えば、y平面が対称面の場合、ミリング方向を正のy座標方向にすることはできない。
【0064】
したがって、
図3Aに示された例は、正則のデカルト格子メッシュを表しているが、正則のデカルト格子メッシュで有限要素を使用することは必須ではない。各メッシュ要素は、正方形(2D)または立方体(3D)である必要はない。各メッシュ要素を、長方形(2D)及び直方体(3D)にしてもよい。さらに、いくつかの実施態様は、4面体要素で構成されたメッシュ及び/または非構造化メッシュなど、他の種類のメッシュ要素及びメッシュタイプで動作することになる。例えば、非正則メッシュの場合、ある要素が特定のミリングラインに属するかどうかを判定するために要素中心座標を使用することが可能であり、要素中心座標がミリングライン上にない場合があるので、許容値を使用して、要素をミリングラインに属するものとして受け入れるかどうかを判定することが可能である。一般に、所与のメッシュと所与のミリング方向とに対して、全ての要素は、各ミリングラインごとに、ただ1つだけの開始要素を持つミリングラインに配置することができる。さらに、2.5軸ミリング条件には、最小部材寸法及び最大部材寸法など、様々な種類の制約を適用することができる。
【0065】
図2に戻ると、収集すること200は、ミリングラインのそれぞれに沿って要素の密度を集計すること210をさらに含み、それは、要素の集計された密度が、その最大値まで、または例えば、ユーザが提供する値である別の最大値まで、ミリングラインのそれぞれに沿って単調に増加するように、集計することが可能である。集計すること210は、後述するように、ミリングラインに沿って密度値を累積することと、累積された密度値を推定することとを含むことができる。以下の導出では、単一のミリングラインのみを考慮しているが、各ミリングラインに同じプロセスを適用できることを留意されたい。
【0066】
初期密度ρi(i=1、・・・、N)は、青写真密度と呼ばれる。これらは、最適化で使用される設計変数である。そして、工具方向に沿って、下の表1に示すように密度が累積される。
【0067】
【0068】
累積密度は次のように書くことができる。
【0069】
【0070】
したがって、各ミリングラインの第1の要素はそれ自体の密度を維持し、第2の要素は第1の要素と第2の要素との和を獲得し、第3の要素は第1の要素、第2の要素、及び第3の要素の和を獲得する、などである。この累積プロセスにより、密度が工具方向に沿って単調に増加することが保証される。その結果、工具経路に穴が作成されないようになる。
【0071】
ただし、累積密度が1より大きくなることもあり得る。いくつかの実施態様では、最大密度を1にするために、滑らかなヘビサイドステップ関数が適用される。
【0072】
【0073】
が閾値ηより小さい場合、推定密度は0になり、それ以外は1になる。数学的には、ヘビサイド関数は、
【0074】
【0075】
と定義され、ここで、H(a)はa>0のとき1となり、a<0のとき0となる。しかし、ヘビサイド関数は微分不可能であるため、以下の形式の平滑化ヘビサイドステップ関数を利用することができる。
【0076】
【0077】
ただし、βは近似値を制御するためのパラメータである。β→∞とすると、平滑化されたヘビサイドステップ関数は真のステップ関数に近づく。いくつかの実施態様では、η=0.5及びβ=10であり、これにより密度が0と1との間に制限され、ミリング深さは、
【0078】
【0079】
で定義され得る。もちろん、ミリング深さの密度値の異なるカットオフを含む、他の値も可能である。それにもかかわらず、所与のミリングラインに対して、各ミリングラインに沿ってトポロジ密度が単調に増加するように要素のトポロジ密度を累積することができ、累積密度を最大密度値が1.0を超えないように推定することができる。
【0080】
さらに、収集すること200は、各ミリングラインにおける集計された密度を用いて、各ミリングラインのミリング深さを識別すること215をさらに含むことができる。例えば、推定密度を用いて、各ミリング深さを密度=0.5の位置として識別することができる。一般に、各ラインのミリング深さは、0と1との間の中間密度値、例えば、ユーザ提供の値で設定することができる。
【0081】
図3Bは、複数のミリングライン320(L
1、L
2、・・・、L
n)と、それらのミリング深さ325(d
1、・・・、d
n)とを示す。密度は各ミリングラインに沿って単調に増加するため、各ミリングラインのミリング深さは、累積密度が共通の閾値を通過する点であると定義され、例えば累積密度が
【0082】
【0083】
を通過するときであると定義され、異なるミリングラインはそれぞれ異なるミリング深さを有することが可能である。ただし、ミリングラインによってミリング深さが異なるため、工作機械ではミリングラインごとに異なる高さの切削が必要となり、つまり3軸以上のミリングがやはり必要となる。これらの異なるミリング深さ325は、2.5軸ミリングでは機能しない。この問題に対処するために、ミリングラインをまとめてグループ化し、各グループ内のミリングラインに同じミリング深さを割り当てることを可能にする。
【0084】
図2に戻って、異なるミリング深さを、3つ以上の離散層のそれぞれの深さにグループ化すること220ができ、3つ以上の離散層のそれぞれは、2.5軸除去製造プロセスのミリング方向に対して垂直である。離散層の数は、3D形状を反復修正する間に固定されたままになるユーザ入力値にすることができる。あるいは、調整することを行うプログラム、例えば、CADプログラム(複数可)116が、トポロジ最適化ループのループ外またはループ内のいずれかで、離散層の数を決定してもよい。例えば、ユーザ入力が6層を指定した場合、2つの層の深さが同じであれば、プログラムは結果的に5層で終わる可能性がある。つまり、プログラムは、ユーザによって指定された数よりも少ない離散層となる最適なグループ化を決定する。
【0085】
いくつかの実施態様では、プログラムは、ユーザによって提供される層の数の範囲内で離散層の数を決定することができ、例えば、(範囲内の)層の数は、オプティマイザによって制御される変数のセットに含まれ得る。いくつかの実施態様では、プログラムは、各層が少なくともユーザが提供する数の要素を含むまで層を分割することにより、離散層の最適な数を決定し得る。いくつかの実施態様では、プログラムは、2つの層の間のギャップの最小差が、ユーザが提供する閾値よりも小さくなるまで、層を分割し続ける。さらに、いくつかの実施態様では、離散層間の1つ以上の平面が、任意の入力保存ボディの(ミリング軸に垂直である)1つ以上の平面を識別することなどにより、ジェネレーティブ設計プロセスに入力される任意のジオメトリの前処理によって決定され得る。
【0086】
グループ化すること220には、異なるミリング深さをソートして(225)、ソートされたミリング深さ値を作り出すことが含まれ得る。
図4Aは、ミリング深さをソートする例を示す。図示するように、d
1、d
2、・・・、d
nは、全てのミリングラインのミリング深さ400である。これらのミリング深さ400は、昇順にソートすること405ができ、これを
【0087】
【0088】
と表記する。
図4Bは、ソートされたミリング深さ410の指定された層境界の例を示す。
図4Bは、仮想のグラフであるが、深さが類似している場合のミリングラインをグループ化するロジックを示すことに留意されたい。さらに、ミリング深さをグループ化する他のアプローチも可能である。例えば、いくつかの実施態様では、データを所与のグループの集合に分割するサポートベクタマシンアルゴリズムなどのクラスタリングアルゴリズムを使用することができる。
【0089】
再び
図2を参照すると、いくつかの実施態様では、グループ化すること220は、ソートされたミリング深さ値における2つ以上の最大差を識別すること230と、2つ以上の最大差と関連して、ソートされたミリング深さ値内の各サブセットのミリング深さの位置に基づいて、3つ以上の離散層のうちの1つに個々の要素の異なるサブセットのそれぞれを割り当てること235とを含み得る。例えば、層の境界が、ミリング深さに最も大きなジャンプがある点として定義され得る。
図4Aを参照すると、ミリング深さの差
【0090】
【0091】
を、全てのミリングラインについて計算すること415ができ、例えば、現在のミリング深さと以前のミリング深さとの差が計算され記憶される。
【0092】
全ての△d
iの中で、最大NLEVELのミリング深さの差(ここでNLEVELは、上記のように、ユーザ定義されるかまたは部分的もしくは完全に自動的に決定される)を、離散層間の境界として選択することができる。
図4Bでは、これらの境界は、L
1、L
2、・・・、L
6と表記されている。NLEVEL=3であれば、L
1、L
2、及びL
3のみが層境界として使用される。層境界が定義されると、2つの境界の間(または2つの最も端にある境界のそれぞれの側)にある全ての要素は、2.5軸機械加工では同じレベルに属する。例えば、ミリング深さの差をソートすることができ、ミリング深さのNLEVELグループが定義されるまで、最大差を使用して第1の境界を識別することができ、第2の最大差を使用して第2の境界を定義することができる、などである。さらに、深さはジェネレーティブ設計最適化中の全ての反復でソートされる必要はなく、ましてや頻繁にソートされる必要もないことに留意されたい。このことは、例えば、1回の反復における設計変数の最大変化が比較的小さい場合には、ソートは必要ない可能性があることを意味する。そのため、いくつかの実施態様では、プロセスが最適設計に近づくと(収束に近づくと)、ミリング深さを反復のたびにソートする必要がない場合がある。
【0093】
再び
図2に戻ると、グループ化すること220は、例えば、材料の総量を維持しながら、離散層に割り当てられた要素サブセットに関連するミリング深さに基づいて、3つ以上の離散層のうちのそれぞれの離散層ごとに単一のミリング深さを設定すること240を含み得る。いくつかの実施態様では、各グループの単一のミリング深さが、グループ内の全てのミリング深さの平均値として定義される。トポロジ最適化には、目標または制約として使用される材料の総量が高頻度で含まれる。そのため、2.5軸ミリング用に設計を調整する場合は、調整前と調整後とで総材料量を同じに保つことが好ましい場合がある。層の深さをグループ内の全ての深さを平均することによって計算することで、材料の使用量が自動的に保存され、したがって2.5軸ミリングのための調整に関してトポロジ最適化処理の精度を向上させることができる。
【0094】
密度ベース表現における個々の要素の少なくとも一部の密度値は、3つ以上の離散層のそれぞれについて、単一のミリング深さが作り出されるように変更される(245)。2.5軸機械加工の要件から除外された領域にある要素もあるため、全てのケースでメッシュ要素を変更する必要はないことに留意されたい。また、2つ以上の設計領域及び非設計領域を有する可能性があることに加え、異なる設計領域では、層数及びミリング方向(複数可)などの2.5軸条件が異なる可能性があることに留意されたい。変更すること245は、以下のように、平均深さを用いて、各グループ内の全てのミリングラインのミリング深さを(グループを有する全てのミリングラインが同じミリング深さを有するように)再割り当てすることを含み得る。
【0095】
ある層Lに対して、ML本のミリングラインがあると仮定する。ML全てのミリングラインのミリング深さは異なるので、層Lの代表的なミリング深さとして平均ミリング深さを使用することができる。di(i=1、・・・、ML)をその層のミリング深さであるとする。そして、平均的なミリング深さは次のように定義することができる。
【0096】
【0097】
層Lの平均ミリング深さが計算されると、層内の全てのミリングラインの全ての要素のトポロジ密度を、次式の平均ミリング深さを使用して再計算することができる。
【0098】
【0099】
式(4)において、パラメータβは、式(2)のものと同じであってもよく、または異なっていてもよい。いくつかの実施態様では、同じ値β=η=3.0を使用することができる。ミリングラインに沿って、要素の深さ位置が平均化されたミリング深さよりも小さい場合、要素の密度は0となり、それ以外の場合は密度が1となる。ステップ関数を使用するなど、式(4)のアプローチとは別に、密度を変更して各グループで共有のミリング深さを強制する追加のアプローチも可能であることに留意されたい。一般に、0から1の間で単調に増加する任意の適切な関数を使用することができる。
【0100】
図4Cは、ミリングラインに沿った推定要素トポロジ密度の例450を示す。この例では、ミリングラインに沿って100個の要素があり、平均ミリング深さは25である。この推定を同じグループ内の全てのミリングラインに対して繰り返すことで、全てのミリングラインが同じミリング深さ、すなわち平均ミリング深さを高さとするミリング平面が定義されることになる。
【0101】
これまでの説明では、1つのミリング方向に対してのみ部品形状を最適化することに焦点を当てている。しかし、式(4)の推定トポロジ密度は、全てのミリング方向に適用することができる。ミリング方向の総数をNTとする。そうすると、トポロジ密度は次のように求めることができる。
【0102】
【0103】
この密度を配列に格納することができ、最適化ではρiを主変数として使用する。したがって、説明した実施態様は、2つ以上のミリング方向に拡張することができる。2つ以上のミリング方向は、ユーザ入力または自動検出によって決定することができる。
【0104】
図4Dは、ワークピース480に対する異なるミリング方向485、490、495の例を示す。2つ以上のミリング方向は、反対の符号を有する(すなわち、部品が機械加工され、裏返され、再び機械加工される)1つ以上の平行(または共線的)なミリング方向490、495の対を含むことができる。2つ以上のミリング方向はまた、非平行なミリング方向485、490を含むことができる。しかしながら、本明細書に記載されたアプローチは、
図4Dに示されるものを超える多くの追加の非平行(及び非共線的)なミリング方向に適用可能である。実際には、ミリング方向の数及び配置は、完全にユーザの制御下にある場合がある。
【0105】
さらに、モデル化されたオブジェクトの3D形状を作り出す間に、構造物の製造に使用される工具(複数可)のサイズを考慮することができる。3Dモデルが高さの異なる平板で構成されているときでも、2.5次元の平面全てを2.5軸ミリングマシンを用いて機械加工できるわけではないことに留意されたい。実用的であるためには、工具が平面上の全ての点に実際にアクセスできる必要がある。まず、工具が特定の高さの平面に到達できるように、工具の長さを十分に大きくする必要がある。また、工具の断面は円形であるため、くぼんだ鋭いコーナを切削することはできない。そのため、トポロジ最適設計では、ワークピースを適切に機械加工できるように、工具長及び工具サイズを考慮すべきである。
【0106】
したがって、製造中に工具(複数可)によって機械加工できない要素に対して、工具サイズ条件を適用してミリング深さを修正することで、モデル化されたオブジェクトの製造性を向上させることができる。
図7Aは、2.5軸機械加工における工具長対工具径の例を示す。除去製造マシンのスピンドル701には、様々な工具702を取り付けることができる。
図7Aに示すように、工具702の長さが必要な切り込み深さよりも大きいと推定される場合、スピンドル701のヘッドと、製造中の部品に切り込まれるオブジェクト(ワークピース)705との間の干渉を考慮する必要はない。したがって、工具702との干渉のみを考慮すればよい。
【0107】
ユーザ(または別のプロセス)が工具702の最大長を提供する場合、トポロジ最適化の間に、機械加工深さは、この最大工具長によって制限される。いくつかの実施態様では、2.5軸条件でのトポロジ最適化中に、式(3)を使用して、全ての層でのミリング深さを計算することができる。(ユーザまたは他のプロセスによって提供される)最小工具長をLminとすると、式(3)の平均ミリング深さは、次のように調整することができる。
【0108】
【0109】
しかし、深い面を切削するには、例えば、びびり振動のために、小径の工具を使用しないことが好ましいので、工具サイズの制約は、工具径が工具長に依存する場合に制限する場合がある。したがって、いくつかの実施態様では、工具702の長さと工具702の直径との間の関係は、以下の通りである。
【0110】
【0111】
一般に、設計された部品の所与の層を製造するために使用される工具702の長さは、工具702がスピンドル701のヘッドから何の干渉もなしに層の底部まで切削するのに十分な長さ、すなわち、所与の層の底部と最上層の頂部との間の差よりも大きい長さになり、設計された部品の所与の層を製造するために使用される工具702の直径(または半径)は、所与の層の底部と最上層の頂部との間の差の予め定義された割合(例えば、1/2)になるであろう。
【0112】
それにもかかわらず、異なるサイズのツール702によって到達できないモデル化されたオブジェクトの要素が依然として存在し得る。
図7Bは、所与のサイズの工具715で機械加工できないコーナ領域710の例を示す。工具サイズに関する主な問題は、
図7Bに示すように、円形工具715がコーナ710を切削できないことである。
図7Bにおいて、円は、工具715を上面から見た断面である。工具715は、工具経路717を進む際に、L字型に切削することが期待される。コーナ領域710は、工具715を使用して機械加工することができないので、上層に移動させる必要があり、領域710の大きさは、工具715の直径に依存することに留意されたい。そのため、工具サイズ条件適用の重要な課題は、コーナ領域を識別し、コーナ領域にある要素を上層に移動させる方法である。
【0113】
図7Cは、コーナ領域を識別するプロセスの例を示す。処理中の現在の層、例えば、
図7Aのオブジェクト705の3Dモデルにおける最下層から始める場合、現在の層のための工具サイズは、層の深さと最小利用可能工具サイズとに基づいて決定される(720)。いくつかの実施態様では、最小工具径d
minは、例えば、入力ファイルにおいて、ユーザによって、及び/または、別のプロセスによって、提供される。この最小工具径は、利用可能な全ての工具の最小値、または現在の層を機械加工するために使用できる工具の最小値とすることができる。さらに、上記の(7)を用いるなどして既定の工具径d
toolを算出し、使用すべき工具径を(d
min,d
tool)の最大値に決定すること720ができる。
【0114】
現在の開始要素が選択され(725)、開始要素は処理中の現在の層のミリング深さを有する。いくつかの実施態様では、開始要素及びミリング深さは、
図2に関連して上で述べたプロセスステップ200~245を使用して決定される。いくつかの実施態様では、開始要素及びミリング深さは、初期の2.5軸互換設計を生成するプロセスとは別に決定される。いくつかの実施態様では、開始要素及びミリング深さは、
図9Bに関連して以下に説明するプロセスを用いて決定される。いずれにせよ、密度ベース表現のために識別される各開始要素は、その開始要素に対して指定されたミリング深さ、例えば、開始要素に対する値の配列におけるインデックス値を有し、各インデックス値は、開始要素に対するミリング方向に沿った3つ以上の離散層のうちの1つを指定するので、現在の層におけるミリング深さのミリングラインに対する開始要素は容易に識別される。
【0115】
現在の開始要素に対して、現在の開始要素に関する特定の基準を満たす他の開始要素が識別される。これを行うために、現在の層の上の層が選択されて(730)、工具サイズ条件がチェックされる。例えば、現在の層が離散層3である場合、チェックする現在の層の上にある最初の層は離散層2である。チェックする開始要素が選択され(735)、この選択された開始要素に対する要素サブセットは、現在の層の上の層に関連するミリング深さを有する。現在の開始要素の選択と同様に、開始要素及びミリング深さのデータが決定される方法に関係なく、現在の層より上の層におけるミリング深さを有するミリングラインの開始要素が容易に識別される。したがって、例えば、離散層2にそのミリング深さを有する次の開始要素が選択される(735)。
【0116】
選択された開始要素の重心(例えば、層2に、そのミリング深さを有する)は、現在の開始要素の重心(例えば、層3に、そのミリング深さを有する)と比較される(740)。これらの重心間の距離のチェック745は、チェックされている開始要素が、部品の機械加工中に現在の層の開始要素を到達不能にし得る他の開始要素のリストに含まれるべきか否かを決定する。この距離は、ミリング方向に垂直な投影面で測定され、例えば、x-y寸法で測定された距離、言い換えれば、チェックされる距離は、ミリングライン間の距離であることに留意されたい。重心間の距離が(決定された(720))使用すべき工具半径より小さい場合、選択される次の開始要素は、アクセス不可能なコーナを作成する可能性がある他の開始要素の1つとして確認される(750)。重心間の距離が(決定された(720))使用すべき工具半径より小さい場合、選択される次の開始要素は、アクセス不可能なコーナを作成する可能性がある他の開始要素の1つではない。
【0117】
この選択すること735、比較すること740、及び確認すること750のプロセスは、現在の層の上の層に関連するミリング深さを有する開始要素のそれぞれがチェックされる(755)まで繰り返される。このように、処理動作735~755は、
図1Bからの識別すること190Aの例を表している。さらに、現在の開始要素に対する他の開始要素(確認されている(750))の間の最大角度距離が閾値より大きい場合、現在の開始要素に対するミリング深さは、現在の層の上の層に移動される(760)。これには、式(4)を用いて現在の開始要素のミリング深さを上位層に再割り当てするなど、開始要素に対応する密度ベース表現における個々の要素の少なくとも一部の密度値を変更することが含まれ得る。
【0118】
さらに、現在の層の上に、より多くの層があるかのチェックを行うこと765ができ、そのような層が利用できる間は、現在の層より上の次の層を選択し(730)、必要に応じてミリング深さの上方への追加の移動を行うこと760によって、プロセスを繰り返すことができる。同様に、現在の層におけるより多くの開始要素が未チェックのままである間に(770)、現在の層における次の現在の開始要素を選択すること725によって、
図7Cのプロセスが繰り返され、より多くの層が未処理のままである間に(775)、次の現在の層に対する工具サイズを決定すること720によって、
図7Cのプロセスが繰り返される。したがって、処理動作760は、
図1Bからの計算すること190B及び移動させること190Cに対応し、処理動作730~755及び765~775は、
図1Bからの識別すること190Aに対応する。
【0119】
図8Aは、2.5軸製造プロセスを用いた製造のために設計された3Dモデル805のための開始要素配列800の例を示す。この例では、各ミリングラインの層情報を含む開始要素の配列800を用いて、工具サイズ制御が実施される。所与のミリング方向802に対して、各開始要素は、工具が3Dモデル805に接近するときに遭遇する密度ベース表現における最初の要素である。この例では、3Dモデル805は、3つの層を有し、層1が最も奥行きが短く、層2が奥行きが長く、層3が最も奥行きが長い。いくつかの実施態様では、計算の便宜のために、全ての開始要素について、それらがx-y平面にあり、ミリング方向802が負のz座標方向であるように、座標変換が行われる。ただし、このような座標変換は、全ての実施態様で必要とされるわけではない。
【0120】
長方形グリッド800は、開始要素の配列であり、開始要素のミリングラインのミリング深さを示す関連情報を有する。この例では、開始要素配列800は、開始要素のミリングラインが属する層を示す層インデックス値としてこの情報を含むので、ミリング深さは層インデックスとともに増加する。
図8Aに示すように、インデックス=1を有する開始要素は層1に属し、インデックス=2を有する開始要素は層2に属し、インデックス=3を有する開始要素は層3に属す。いくつかの実施態様では、これらの層インデックス値は、
図2に関連して説明したグループ化すること220からの出力として利用可能である。いくつかの実施態様では、これらの層インデックス値は、2.5軸ミリングのための層境界の決定とは別に計算される。
【0121】
ミリング層1は最上層であるため、(製造中に、このミリング方向から)他の層の影響を受けることはない。そのため、第1の層のための工具サイズがチェックされる必要はない。ミリング層2は層1の影響を受けるが、層3は層2より深いので影響を受けない(工具がミリング方向802に沿ってワークピースに接近するとき、層3のどの要素も工具が層2の要素に到達することを妨げない)。したがって、層「K」の工具サイズ制御は、1から「K-1」までの層に対してのみチェックする必要がある。工具サイズチェックの基本的な考え方は、工具が届かない要素(ミリングラインにおけるミリング深さの要素)がある場合、その要素の割り当てられた層が上に移動され、上の層でアクセスできるようにすることである。工具サイズチェックを課した結果として、より多くの材料が追加されるという意味で、このアプローチはやはり保守的であることに留意されたい。いくつかの実施態様では、3軸ミリング条件で最適化が既に収束しているため、工具サイズ条件は全く新しい最適設計を提供するようには設計されていない。むしろ、工具サイズ条件は、所与の工具サイズで(3Dモデル805に従って)ワークピースを機械加工できるようにするための局所的な修正である。
【0122】
それでも、いくつかの実施態様では、工具サイズチェックによって変更が加えられた3つ以上の離散層のそれぞれで、共有されたミリング深さを調整することによって、材料の総量を保存することができ、したがってトポロジ最適化の間に目標または制約として使用される材料の総量を維持することができる。例えば、工具サイズチェックによるミリング深さの調整によって追加された材料の量を計算することができ、現在の層に属するミリングラインの数を計算することができ、追加された材料の合計を現在の層のミリングラインの合計数で割ることによって、現在の層の平均深さを調整することができる。
【0123】
図8B~
図8Dは、異なる要素に対する工具の交差の例を示しており、それによって要素が切断可能か否かを検出する方法の戦略を図示する。円810は、工具の断面を表す。工具径は、
図8Bに示すように、8つの要素をカバーする。層2に属する所与の要素E1に対して、工具半径内(すなわち、ミリング方向802に垂直な投影面内)の要素が検索されて、上位層(この場合は層1のみ)に属する要素が見つけられる。E1と、距離が工具半径未満である上層の全要素との間の角度を測定することにより、E1と上層(複数可)の要素との間の最大角度と最小角度とを識別することができる。
【0124】
角度の範囲Δθは、最大角度と最小角度との間の差として計算することができる。
図8BのE1の場合、角度Δθの範囲は113°である。これに対し、
図8CのE2の場合、角度Δθの範囲は233°である。E1は切削できるが(層1の要素に干渉されず、工具を-y方向に下降させることにより、層2のE1に到達できる)、E2は切削できない(層1の要素に干渉しないように工具を移動させると、工具の全ての部分が層2のE2に到達しなくなる)ことは明らかである。異なる要素に同じ考えを適用することにより、
図8Dは、この例では要素815を切削できないことを示す。その角度の範囲は195°~233°である。一般に、角度の範囲が195°を超えると、現在の工具では該当する要素を切削することができない。異なる実施態様では、他の角度の閾値が可能であることに留意されたい。195°の閾値は正方形の要素の場合であり、異なる形状(例えば、長方形)を有する要素では異なる角度の閾値が必要な場合がある。いずれにせよ、閾値角度を超えた場合は、現在の要素の層を上層に移動させる必要がある。したがって、コーナ要素を修正するプロセスは、開始要素の現在のミリング深さに対して△θ>195°であれば、この開始要素のミリング深さを上のレベルに移動させ、それ以外はミリング深さを現在のレベルに維持することを含み得る。
【0125】
ただし、角度Δθの範囲を求めるには、
Δθ=θmax-θmin (8)
となるように、最大角度と最小角度とを計算する必要がある。
【0126】
コーナは任意の方向に配置され得、角度を計算する数学的関数、例えばATANまたはATAN2が負と正との両方の値を持つことがあるため、最大角度及び最小角度を決定することは困難である。最大角度及び最小角度を正確に計算するためには、全ての上位要素が密集するように角度を測定すればよい。例えば、eを現在の層の現在の要素のインデックスとし、要素eまでの距離が工具半径よりも小さい上層(複数可)の要素の数をNとし、上層の要素jの位置をxjとすると、現在の要素eに対する要素jの相対位置ベクトルはvej=xj-xeとなる。
【0127】
図8Eは、この例を示しており、矢印820は、E2と、工具810の半径内にありかつ上位層(この例では層1)におけるミリング深さを有する各要素jとの間のベクトルv
ejを表す。そして、これらの相対ベクトルの重心は、(9)によって計算することができる。
【0128】
【0129】
重心vCGは上層の元素の中心に向かう方向である。したがって、角度計算では、負の方向である-vCG825を使用して角度を測定することができる。こうすることで、上層の要素との角度が全て密集し、最大角度及び最小角度を正確に計算することができる。
【0130】
上記のプロセスを使用して、ジェネレーティブ設計によるオブジェクトの3Dモデルから製造不可能なコーナを除去することができるが、そのようなコーナを除去した後でも、ジェネレーティブ設計によるオブジェクトの3Dモデルには製造不可能な陥没が存在する可能性がある。
図8Fは、機械加工できない陥没要素850が識別される例を示す。
図8Fに示すように、-v
CG855に対する角度の範囲は180度であり、閾値である195度よりも小さい。それでも、要素850のいずれかの側にある2つの上層要素間の距離が工具に対して狭すぎるため、要素を機械加工することができない。したがって、全てのコーナ要素が修正された後に、例えば
図8Fに示す陥没要素もまた、上層に移動させることによって修正することができる。陥没要素は、
図9Dに関連して以下でさらに詳細に説明するように、角度を測定する際に隣接する要素を使用することによって識別することができる。
【0131】
さらに、ジェネレーティブ設計による3Dモデルの多くは複数の層を有することになるので、ある層にある工具が複数の上層と干渉し得る可能性がある。そのような場合に、工具が特定の要素を機械加工できないとすれば、その要素をどの層まで移動させればよいかが不明である。この問題を解決するために、干渉の探索を逆の順序で行うことができる。例えば、現在の層がILAYERの場合、最初にILAYER-1層で干渉チェックを行うことができる。干渉が検出された場合、この開始要素のミリング深さはILAYER-1まで移動され、この現在の要素に対してプロセスが停止される。干渉が検出されない場合、ILAYER-1及びILAYER-2の2つの上層が干渉チェックに使用される。干渉が検出された場合、この開始要素のミリング深さはILAYER-2まで移動され、この現在の要素に対してプロセスが停止される。このプロセスは最上層に到達するまで繰り返される。要素が上層の全ての要素と干渉しないのであれば、この開始要素のミリング深さは現在の層のままである。したがって、
図2に戻って、コーナ除去プロセス(他の開始要素を識別すること、例えば、識別すること190A、他の開始要素間の最大角度距離を計算すること、例えば、計算すること190B、及びミリング深さを移動させること、例えば、移動させること190C、を含む)を、現在の層のすぐ上の層から始めて、現在の層の上の層について順次実行すること250ができる。
【0132】
しかし、陥没要素の検出には、逆のプロセスを用いることができる。例えば、現在の層がILAYERの場合、まず第1の(最上部の)層で干渉チェックを行うことができる。干渉が検出された場合、この開始要素のミリング深さは第1の層まで移動され、この現在の要素に対してプロセスが停止される。干渉が検出されない場合、層1及び層2の第1の2つの層が干渉チェックに使用される。干渉が検出された場合、この開始要素のミリング深さは層2まで移動され、この現在の要素に対してプロセスが停止される。このプロセスはILAYER-1層まで繰り返される。要素が上層の全ての要素と干渉しないのであれば、この要素は現在の層に留まる。したがって、陥没除去プロセス(他の開始要素を識別すること、他の開始要素間の最大角度距離を計算すること、及びミリング深さを移動させること、を含む)を、最上層から始めて、現在の層の上の層について順次実行すること255ができる。
【0133】
さらに、いくつかの実施態様では、密度ベース表現における要素の特定の順序は想定されない。このため、要素の並びが異なる同じメッシュでは、工具サイズ条件の適用結果が異なる場合がある。要素順序依存の結果を防ぐために、コーナ除去プロセス250及び/または陥没除去プロセス255は、さらなる変化260がなくなるまで、すなわち、任意のミリング深さが最後の反復で移動されている間に、プロセス250、255が反復され得る。このように、最終的な設計は、特定の要素の順序に依存しない。
【0134】
ある場合には、例えば
図2のプロセス中に1つのミリング方向のみが使用されるが、他の場合には2つ以上のミリング方向が使用され、コーナ除去及び陥没除去プロセス(及び潜在的には密度の調整も)が、2つ以上のミリング方向のそれぞれに対して別々に実行されて、それぞれのミリング方向に特有のデータセットが生成される。したがって、いくつかの実施態様では、追加のミリング方向がまだ処理されていないかどうかを確認するために、チェック265が実行される。その場合、プロセスは、収集すること200、グループ化すること220、及び変更すること250を潜在的に進める前に、そしてコーナ除去250及び陥没除去255を進める前に、次のミリング方向のために新しい方向に切り換える(270)。いくつかの実施態様では、切り換えること270は、切削面がx-y平面に平行であり、ミリング方向が負のz座標にあるように座標変換を行うことを含む。しかし、上記のように、(トポロジ最適化で使用される)密度ベース表現の物理ドメインと(ミリング方向処理を行うための)仮想ドメインとの間のマッピングが不要なため、より高速かつ高精度なプロセスをもたらすことが可能である。いくつかの実施態様では、切り換えること270は、異なるミリング方向について、各ミリングラインに沿った要素の開始要素及びシーケンスを格納する新しいデータ構造(または共通データ構造の新しい部分)への切替を含むことができるので、切り換えること270は、異なるミリング方向についていかなる座標変換も含む必要はない。
【0135】
全ての異なるミリング方向が処理されると、それぞれのミリング方向特有のデータセットが組み合わされて(280)、モデル化されたオブジェクトのジェネレーティブ設計による3次元形状の密度ベース表現を更新することができる。組み合わせること280は、密度を互いに掛け合わせることを含むことができる。ただし、複数のミリング方向が使用されるか否かにかかわらず、結果として得られる部品/オブジェクトの設計は、高さが異なりアンダーカットのない複数の平面で(全体または大部分が)構成される。曲面を持つ入力保存ボディが使用される場合や、またはボールノーズカッターなどの工作機械の形状をも考慮したトポロジ最適化処理を行う場合など、最終的な設計はこのような平面のみで構成される必要はないことに留意されたい。
【0136】
加えて、上記のように、いくつかの実施態様では、開始要素及びミリング深さは、初期の2.5軸互換設計を生成するプロセスとは別に決定される。したがって、いくつかの実施態様では、プロセスステップ265~280が使用される場合であっても、プロセスステップ200~245は使用されない。
図9Aは、2.5軸製造プロセスを用いた製造のために設計された3Dモデルにおいて、製造不可能なコーナ及び陥没を除去するプロセスの例を示す。この例では、開始要素の配列とそのミリング深さのインデックスとが、所与のミリング方向に対して決定される(900)が、他のデータ構造を使用して、離散層の開始要素とミリング深さとを追跡することができる。いずれにせよ、決定すること900は、2.5軸互換設計を生成するプロセス中(例えば、
図2のプロセスステップ200~245中)に、または別のジェネレーティブ設計プロセスによって作り出された2.5軸互換設計上で動作するプロセスにおいて、実行することが可能である。
【0137】
上記のように、いくつかの実施態様は、4面体要素及び/または非構造化メッシュで構成されるメッシュ上で動作することになる。いくつかの実施態様では、モデル化されたオブジェクトの密度ベース表現は、メッシュ内の要素の順序が規則化された順序に適合しない非正則メッシュ(例えば、要素がランダムに順序付けられたボクセル化メッシュ)である。工具サイズ条件の実施態様は、ミリング方向に垂直な平面における要素間の幾何学的関係を考慮することを含む。直交格子を用いてメッシュが生成され、各座標方向に要素が並べられた場合、要素間の幾何学的関係の識別がより容易になる。しかし、このことは、例えば2.5軸ミリングによるトポロジ最適化の際に、記載されたシステム及び技術の適用性を制限する可能性がある。例えば、初期ドメインが箱型でない可能性がある。これは、ユーザが既存の形状を有していて、トポロジ最適化を使ってさらに材料を減らしたい場合によく起こる。また、対称性及び/または非設計領域(複数可)がある場合、規則正しく並んだ要素を有する箱型の領域を持つことは困難である。したがって、いくつかの実施態様では、初期ドメインはボクセル化されたメッシュの形で与えられ、要素はランダムに並べられ得る。
【0138】
図9Bは、メッシュ内の要素の順序付けが正則化された順序付けに適合しない非正則メッシュについて、モデル化されたオブジェクトの密度ベース表現における要素の複数の異なるサブセットのそれぞれに対して開始要素を指定するデータを取得するためのプロセスの例(例えば、開始要素の配列とそのミリング深さインデックスとを決定すること900)を示す。密度ベースのメッシュ表現における要素は、ミリング方向の軸に沿った要素の重心の位置に従ってソートされて(902)、要素のソートされたリストを形成する。これは、例えば、全ての要素の重心をミリング方向の座標系に変換した後に行うことができる。切り換えること270の一部として、ミリング方向がz座標次元と平行になるように座標を変更することにより、例えば、
図8Aに示すように、開始要素の配列がxy平面に存在することが可能であることに留意されたい。いずれにせよ、ソートすること902の後、開始要素は、このソートされたリストの先頭に向かって、例えば、より小さいz値を有する要素になる。
【0139】
ソートされたリスト内の次の未割り当て要素(すなわち、ミリング方向の軸に沿って最小の値を有する次の要素)が、次の開始要素になるように選択される(904)。次の開始要素の重心から予め定められた距離内にその重心を有する密度ベースのメッシュ表現における次の要素の集合が見出される(906)。この距離測定は、距離がミリング方向に垂直な投影面において測定される点で、
図7Cに関連して上に述べたものと同じであり、例えば、x-y寸法において測定される距離であることに留意されたい。また、予め定められた距離は、
図3Aに関連して上に述べた許容値であってもよく、プログラムのパラメータに基づくデフォルト値を有することができ、ユーザが変更可能であってもよい。例えば、デフォルトの値は、個々の要素の体積の立方根を使用して計算することができる平均要素の参照寸法の0.01倍とすることができる。要素の重心(幾何学的中心)がこの許容範囲内にあれば、その要素はミリングライン上にあるとみなされる。
【0140】
さらに、いくつかの実施態様では、以前に前の開始要素に割り当てられた要素について、以前に割り当てられた開始要素よりもこの次の開始要素に近いかどうかを確認するためのチェックを行うこともできる。その場合、このような任意の要素は、前の開始要素から、この次の開始要素に再割り当てされる。見つけられた次の要素のセットは、モデル化されたオブジェクトの密度ベース表現における要素の複数の異なるサブセットの1つを形成するために(例えば、ミリングラインを形成するために)、次の開始要素に割り当てられる(908)。そして、ソートされたリストの中で未割り当ての要素910がなくなるまで、選択すること904、見つけること906、及び割り当てること908が繰り返される。
【0141】
さらに、システム及び技術は、様々なタイプのボクセル化メッシュ、例えば、正則または非正則であり得る6面体(hex)メッシュで効率的に使用することができるが、本文書で説明するシステム及び技術は、ボクセル化メッシュで使用される必要はない。いくつかの実施態様では、4面体(tet)要素など、他のタイプのメッシュ及び要素も扱われる。しかし、4面体メッシュは付加製造制約を伴うトポロジ最適化でうまく機能するが、ミリングでは、要素が適切に整列しているため、ボクセル化されたメッシュを使用することが望ましく、理にかなった形状が得られ、波打つことはない。
【0142】
さらに、例えば、4面体要素の場合、無限にミリング方向を探ることができる可能性があるが、本発明者らは、5軸ミリングを行うことが可能なCNCマシンを用いて行う2.5軸ミリングプロセスでは、26種類の方向のみで設計を改善すれば良いと判断している。具体的には、ミリング方向は最も一般的な5軸ミリングで使用される、8コーナ、12エッジ、及び6フェースの異なる26方向に制限することが可能である。2.5軸マシンまたは3軸マシンでは、より少ないミリング方向を使用することが可能である。例えば、いくつかの実施態様では、5軸マシンでは26の異なる方向がサポートされ、3軸マシンでは21の異なる方向がサポートされ、2.5軸マシンでは9の異なる方向がサポートされる。さらに、いくつかの実施態様では、ユーザが使用する座標系を定義できるため、ユーザは何か他のことを自由に行うことができる。
【0143】
図9Aに戻り、2.5軸製造プロセスを用いて製造されるオブジェクトの3Dメッシュモデルから、製造不可能なコーナが除去される(930)。これは、
図1B、
図2及び
図7A~
図8Eに関連して上述の操作を用いること、及び/または
図9Cに関連して後述する操作を用いることを含むことができる。また、2.5軸製造プロセスを用いて製造されるオブジェクトの3Dメッシュモデルから、製造不可能な陥没が除去される(960)。これは、
図1B、
図2、
図8E及び
図8Fに関連して上述の操作を用いること、及び/または
図9Dに関連して後述する操作を用いることを含むことができる。
【0144】
さらに、いくつかの実施態様では、2つ以上のミリング方向の追加のものが引き続き処理される間(990)、
図9Aのプロセスは、次のミリング方向について繰り返される。全ての異なるミリング方向が処理されると、それぞれのミリング方向特有のデータセットが組み合わされて(995)、モデル化されたオブジェクトのジェネレーティブ設計による3次元形状の密度ベース表現を更新することができる。組み合わせること995は、密度を互いに掛け合わせることを含むことができる。また、いくつかの実施態様では、別々のミリング方向特有のデータセットが維持されない。例えば、コーナ除去930及び陥没除去960のプロセスは、オブジェクトの単一の3Dメッシュモデルに対して直接作用することができる。
【0145】
図9Cは、製造不可能なコーナを除去するプロセスの例を示す。プロセスは、現在の層Kを、考慮されているミリング方向に沿った最下層、例えば、3Dモデル805の層3に設定すること932から始まる。最小工具サイズは、処理中の現在の層Kに対する少なくともミリング深さに基づいて、例えば、現在の層に対する最小工具半径を設定するために、式(7)を使用して決定される(934)。
【0146】
重心は、例えば、式(9)を用いて、現在の層Kにおけるミリング深さを有する各開始要素について計算される(936)。計算すること936は、任意の上層で識別された他の全ての開始要素を使用できることに留意されたい。例えば、2次元(2D)ベクトルは、現在の層の現在の開始要素と、現在の層より上位の任意の層に関連するミリング深さを有する全ての開始要素の1つ1つとの間にあり、距離が(ミリングラインに垂直な投影平面において)工具半径より小さくなっている。
【0147】
現在の層Kの各開始要素について、例えば、式(8)を用いて、層K-Xのミリング深さを有する他の要素に対して、角度の範囲が計算される(938)。Xは値1から始まるので、現在の層Kのミリング深さを持つ開始要素の最初のチェックは、層K-1のミリング深さを持つ他の開始要素に対して行われることに留意されたい。さらに、他の開始要素は、ミリングラインに垂直な投影面において、距離、すなわち工具半径より小さくなければならない。
【0148】
現在の層Kの各開始要素について、角度の範囲が195度より大きいことが判明した場合(940)、この開始要素のミリング深さは層K-Xまで移動される(942)。全ての開始要素が層K-Xに関してチェックされると、層1が角度チェックの範囲について処理されるまで、プロセスは944を継続する。層1のチェックが完了していない場合(944)、Xがインクリメントされ(946)、プロセスが継続する。
図9Cの操作936~946は、
図1Bの操作190A~190Cの例であることに留意されたい。
【0149】
さらに、プロセスが層1のチェックを完了すると、すなわち、X=K-1のとき、
図9Cのプロセスは、最上層(層1)以外の全ての層が対応する開始要素をチェックしたこと、すなわち、層2までの全ての層が製造不可能なコーナをチェックするために処理されたことを確認する(948)。層2がまだ処理されていない場合(948)、現在の層Kはデクリメントされ(950)、プロセスは3Dモデルの次のより高い層でミリング深さを有する開始要素をチェックするために継続される。さらに、最終チェック952により、最後の反復処理でミリング深さが移動したか否かを確認することができる。移動した場合、プロセスの後半で行われた変更が、プロセスの前半で行われたチェックに影響を与える可能性があるため、プロセスを最初から繰り返すことができる。したがって、
図9Cの全プロセスは、ミリング深さの変更がさらに行われなくなるまで繰り返され得る。
【0150】
図9Dは、製造不可能な陥没を除去するプロセスの例を示す。プロセスは、現在の層Kを、考慮されているミリング方向に沿った最下層、例えば、3Dモデル805の層3に設定すること962から始まる。最小工具サイズは、処理中の現在の層Kに対する少なくともミリング深さに基づいて、例えば、現在の層に対する最小工具半径を設定するために、式(7)を使用して決定される(964)。
【0151】
重心は、例えば、式(9)を用いて、現在の層Kにおけるミリング深さを有する各開始要素について計算される(966)。計算すること966は、任意の上層で識別された他の全ての開始要素を使用できることに留意されたい。例えば、2Dベクトルは、現在の層の現在の開始要素と、現在の層より上位の任意の層に関連するミリング深さを有する全ての開始要素の1つ1つとの間にあり、距離が工具半径より小さくなっている。この定義を使用すると、動作966と動作936とが同じになるが、他の実施態様では、2Dベクトルは、現在の層における現在の開始要素と、現在の層における現在の開始要素に隣接する、現在の層の上の任意の層に関連するミリング深さを有する全ての開始要素(すなわち、現在の開始要素のミリングラインにすぐ隣接するミリングラインを有する他の開始要素)の1つ1つとの間にあることに留意されたい。
【0152】
現在の層Kの各開始要素について、例えば、式(8)を用いて、層K-Xのミリング深さを有する他の要素に対して、角度の範囲が計算される(968)。(
図9Cのコーナ除去プロセスとは異なり)Xは値K-1から始まるので、現在の層Kのミリング深さを持つ開始要素の最初のチェックは、層1のミリング深さを持つ他の開始要素に対して行われることに留意されたい。さらに、他の開始要素は、現在の層における現在の開始要素に隣接するもの(すなわち、現在の開始要素のミリングラインにすぐ隣接するミリングラインを有する他の開始要素)に制限される。
【0153】
現在の層Kの各開始要素について、角度の範囲が180度以上であることが判明した場合(970)、この開始要素のミリング深さは層K-Xまで移動される(972)。全ての開始要素が層K-Xに関してチェックされると、層K-1が角度チェックの範囲について処理されるまで、プロセスは974を継続する。層1のチェック974が完了していない場合、Xがデクリメントされ(976)、プロセスが継続する。
図9Dの操作966~976は、
図1Bの操作190A~190Cと同様の操作の例であることに留意されたい。したがって、これらの操作は、(i)現在の層より上の層に関連するミリング深さを有する追加の要素サブセットを有し、(ii)現在の開始要素に隣接する、追加の開始要素を識別すること968と、現在の開始要素に対する追加の開始要素間の最大角度差を計算すること966、968と、最大角度差が閾値以上であること970に応答して、追加の要素サブセット内の追加の個々の要素の少なくとも一部の密度値を少なくとも変更することにより、追加の現在の開始要素の追加の要素サブセットに対するミリング深さを追加の現在の層より上の層に移動させること972と、を含むものとして理解することができる。
【0154】
さらに、プロセスが層K-1のチェックを完了すると、すなわちX=1のとき、
図9Dのプロセスは、最上層(層1)以外の全ての層が対応する開始要素をチェックされたこと、すなわち層2までの全ての層が製造不可能な陥没をチェックするために処理されたことを確認する(978)。層2がまだ処理されていない場合(978)、現在の層Kはデクリメントされ980、プロセスは3Dモデルの次のより高い層にミリング深さを有する開始要素をチェックするために継続される。さらに、最終チェック982により、最後の反復処理で任意のミリング深さが移動したか否かを確認することができる。移動した場合、プロセスの後半で行われた変更が、プロセスの前半で行われたチェックに影響を与える可能性があるため、プロセスを最初から繰り返すことができる。したがって、
図9Dの全プロセスは、ミリング深さの変更がさらに行われなくなるまで繰り返され得る。
【0155】
上記のように、操作936と966とは同じにすることができるので、(角度計算938と角度計算968の両方について)最大角度差の計算は、この共有操作936、966を使用することを含むことができる。
図9Eは、現在の層の開始要素に対する上位層の開始要素との間の最大角度差を算出する処理の例を示す。現在の層における現在の開始要素と、現在の層より上の1つ以上の層に関連するミリング深さを有する他の開始要素(半径距離内)のそれぞれとの間の2Dベクトルが求められる(920)。いくつかの実施態様では、これは、現在の層の現在の開始要素と、現在の層より上の任意の層に関連するミリング深さを持つ全ての開始要素(半径距離内)の1つ1つとの間の2Dベクトルを見つけること920を含む。
【0156】
2Dベクトルから、例えば式(9)を用いて、重心ベクトルを決定する(922)。この決定された(922)重心は、コーナ除去プロセスと陥没除去プロセスとで別々に重心を計算するのではなく、両者で共有することができる。いくつかの実施態様では、全ての2Dベクトルが求められ(920)、角度の範囲計算が行われる前に、現在の層の開始要素のそれぞれについて共有重心が計算され(922)、これは、全体のプロセスをより計算上効率的にすることができる。しかし、見つけること920と計算すること922とを、いつ行うかについては、他のアプローチも可能である。
【0157】
いずれにしても、現在の開始要素の角度の範囲を計算するために、重心ベクトルの方向と反対の方向に関して最大の角度を有する2Dベクトルの第1のベクトル(現在の開始要素をチェックしている層より上の層の別の開始要素へのもの)が求められ(924)、重心ベクトルの方向と反対の方向に関して最小の角度を有する2Dベクトルの第2のベクトル(現在の開始要素をチェックしている層より上の層の別の開始要素へのもの)が求められ(926)、現在の開始要素の最大角度差を生成するために2Dベクトルの第2のベクトルが2Dベクトルの第1のベクトルから減算されて(928)、現在の開始要素の角度差が生成される。さらに、
図9A、
図9C及び
図9Dに関連して上で述べたように、この角度計算924、926、928の範囲は、ミリング方向に沿って最下層から始まる現在の層における各開始要素(例えば、現在の層におけるミリング深さを有する要素に対するコーナ及び陥没の識別及び除去の両方)に対して行うことができる。また、複数のミリング方向を扱うことができ、異なるミリング方向のそれぞれについて、探索920及び算出922を行う。
【0158】
図9A、
図9C及び
図9Dのプロセスは、トポロジ最適化プロセス自体と組み合わせることができ、例えば、決定すること900は、層境界決定を伴うジェネレーティブ設計を含むことができる2.5軸互換設計を生成するプロセス中に実行することができる。さらに、いくつかの実施態様では、ジェネレーティブ設計プロセスは、3軸ミリング機能を想定したトポロジ最適化から始まり、2.5軸条件によるトポロジ最適化を行い、工具サイズ条件操作は、2.5軸条件操作の一部として(または関連して)採用することが可能である。このように、工具サイズ条件が課された場合、設計はすでに2.5軸条件を満たしており、工具サイズ条件によって、工具が届かないために機械加工できない要素のミリング深さが修正される。
【0159】
図5は、2.5軸除去製造プロセスに対応した3Dモデルを作成するための層境界判定を伴うジェネレーティブ設計のプロセスの例を示す。形状及びトポロジ最適化のループは、3D形状の現行バージョン及び1つ以上のインユースケースに従ってモデル化されたオブジェクトの数値シミュレーション555を実行して、モデル化されたオブジェクトの物理応答(例えば、構造応答)の現在の数値的評価を生成することを含む。現在の数値的評価は、ボクセルベースの応力場データ、歪み場データ、またはその両方とすることができる。しかし、前述のように、様々な種類の数値シミュレーションを行うことができ、現在のバージョンの3D形状の体積内のあらゆる場所のひずみエネルギーを計算するFEAシミュレーションを含むことができるが、その必要はない。いずれにせよ、現在の3D形状を物理シミュレーションすることで、現在の数値的評価が得られ、それをもとに設計基準を考慮して3D形状を変更することができる。
【0160】
数値シミュレーション555の後、シミュレーション555からのモデル化されたオブジェクトの物理応答の現在の数値的評価に基づいて、2.5軸除去製造プロセスのミリング方向に応じた勾配(例えば、感度分析データ)が計算される(560)。最適化エンジンは、設計を改善するためにどの方向に形状を変更すればよいかを知るために、勾配を必要とすることに留意されたい。上記の例では、アドジョイント感度法が生産密度に対する目標(複数可)及び制約の勾配を計算するのに対し、最適化は青写真密度に対する感度を使用することに留意されたい。したがって、生産密度に対する感度は、微分の連鎖法則を用いて、青写真密度に対する感度に変換する必要がある。
【0161】
微分の連鎖法則を用いて、生産密度に関する感度∂g/∂ρe,Nを計算すると、青写真に関する感度∂g/∂ρeは、以下となる。
【0162】
【0163】
ここで、Nkはミリング方向kの要素数である。なお、
【0164】
【0165】
はi>=eのときで、それ以外は0であることに留意されたい。式(10)の他の2項は、次のように定義できる。
【0166】
【0167】
【0168】
一般に、計算560は、トポロジ最適化中の変更によって要素の密度がどれだけ影響を受けるかを決定する際に、定義された平面への要素の投影(例えば、3軸ミリングのための可変輪郭から2.5軸ミリング用の平面を定義するために用いられる平均)が考慮されるという点において、調整570に用いられるプロセスを追認する。可変輪郭上の1つの要素でも密度を変えると、同一平面上にグループ化された全ての要素に影響を与えることに留意されたい。平均値を用いてミリング深さを定義する場合、レベル内にn個の要素がある場合、全ての要素密度の寄与は1/nである。層の高さがグループ化されたミリング深さの平均として計算される場合、この方程式は1つの要素の寄与を算出するように微分される。
【0169】
勾配が計算されると、密度ベースのトポロジ最適化コードが呼び出される(565)。密度ベースのトポロジオプティマイザへの入力は、シミュレーション555から物理応答の現在の数値的評価と、計算された(560)感度解析データとを含むことができる。密度ベースのトポロジオプティマイザは、密度ベース最適化(例えば、SIMP)を使用してこれらの入力を処理し、密度を変更して形状をより最適な形状(可能なトポロジ変更を含む)へ移動させることにより、1以上の設計基準に関してジェネレーティブ設計された3次元形状の密度ベース表現を改善することが可能である。
【0170】
2.5軸除去製造プロセスのミリング方向に応じた密度ベース表現の調整は、上記のように、最終出力が2.5軸機械加工に適合することを保証するために行われ(570)、収束のチェックを行うこと575ができ、すなわち、設計空間におけるモデル化されたオブジェクトのジェネレーティブ設計による3次元形状が、1つ以上の設計基準及び1つ以上のインユースケースを満足する安定解に収束するまで、反復プロセスを継続することができる。
【0171】
いくつかの実施態様では、数値シミュレーション555、勾配の計算560、トポロジ最適化565、及び調整570は、予め定義された数の形状修正が実行されるまで、収束するまで、またはその両方まで反復する(575)。いずれにしても、ジェネレーティブ設計が2.5軸機械加工と互換性のある安定した解に収束すると、ジェネレーティブ設計の選択されたミリング深さは、例えば、
図7A~9Eに関連して説明したプロセスのうちの1つ以上を用いて、上述のシステム及び技術を使用して、3以上の離散層(ジェネレーティブ設計の2.5軸互換3Dモデルに対して定義されてきた)の異なるものに移動させること580が可能である。いくつかの実施態様では、移動580は、トポロジ最適化が収束した後575に、一度だけ実行される。いくつかの実施態様では、移動580は、調整570と収束のチェック575との間の、トポロジ最適化ループに含まれる。これは、トポロジ最適化プロセスにおいて中間結果をユーザに示す際に、完全に製造可能な中間結果をユーザに見せたい場合に有効である。
【0172】
さらに、上述したように、いくつかの実施態様では、3D形状の反復修正を通じて調整が行われる。したがって、操作555~575は、いくつかの実施態様では、トポロジ最適化ループの全体とすることができる。しかし、他の実施態様では、操作555~575は、3D形状の反復修正の一部のみを表す。例えば、操作555~575は、反復形状修正プロセスの1つ以上の以前のトポロジ最適化ループとは別のトポロジ最適化ループで実行される2つ以上の反復とすることができる。
【0173】
いくつかの実施態様では、密度の調整を行わずに最初の反復を行い(500)、次に密度の調整を行いながら2番目の反復を行う(550)。例えば、第1のトポロジ最適化は、予め定められた数の形状修正が実行されるまで、収束するまで、またはその両方まで、3軸ミリングを想定して実行することができ(500)、次に、第2のトポロジ最適化は、予め定められた数の形状修正が実行されるまで、収束するまで、またはその両方まで、(本明細書に記載のように)2.5軸ミリングに応じて実行することができる(550)。
【0174】
3軸ミリングによるトポロジ最適化は、ミリング深さの輪郭が可変であるのに対し、2.5軸ミリングはミリング深さが不連続である。最初に3軸トポロジ最適化を行うことで(例えば、収束するまで)、2.5軸トポロジ最適化の余分な処理ステップをプロセスの初期段階で回避することができ、トポロジ最適化の初期段階では一般的に形状が大幅に変更され、その時点では不連続なミリング深さを強制してもほとんど利益がないため、処理リソースを大幅に節約することができる。3軸トポロジ最適化を最初に行った場合、2.5軸トポロジ最適化では、わずか2~5回の追加反復、例えば3回の追加反復で収束に達することができ、工具サイズ条件は、これらの追加反復中に課すか、トポロジ最適化プロセスの最後に1回だけ課すことができることに留意されたい。また、最初から2.5軸トポロジ最適化を用いると、初期の繰り返しで設計が急変することがあるため、
図5の2段階のプロセスを用いることで、最適化の収束を安定させ、効率的に作業を行うことができる。しかし、ユーザが2.5軸のトポロジ最適化を要求している場合、3軸の中間結果を表示すると奇妙に見えることがある。したがって、いくつかの実施態様では、2.5軸の結果をユーザに表示する目的で、トポロジ最適化中の全ての反復で2.5軸の投影を実行することができる。そして、上述したように、工具サイズ条件に対する選択されたミリング深さの移動580は、ユーザに結果を表示する目的で、トポロジ最適化中の反復毎に実行することもできる。
【0175】
さらに、いくつかの実施態様では、最初の3軸ミリングトポロジ最適化500は、本願で説明したシステム及び技術を採用する必要はなく、むしろ、トポロジ最適化における他の3軸ミリング制約を一般に採用することができる。それにもかかわらず、2.5軸トポロジ最適化550は、その2.5軸層定義と共に、3軸ミリングのためのサーフェスの輪郭が受け取られることを条件として、そのような他のプロセスからの出力に使用することができる。その場合、サーフェスの輪郭をミリング深さとし、550と同様の手順で2.5軸ミリング条件を満たす最適な設計を行うことができる。さらに、他の2.5軸トポロジ最適化システム及び技術を使用して、ジェネレーティブ設計の2.5軸互換3Dモデルを作成することも可能であり、このジェネレーティブ設計で選択されたミリング深さは、本文書で説明されているシステムと技術を使用して、2.5軸互換の3Dモデルで定義された異なる離散層に移動すること580ができる。例えば、2.5軸対応3Dモデルの離散層について、開始要素(モデル化されたオブジェクトの密度ベース表現における要素の異なるサブセットについて)及びミリング深さを決定し(900)、次に製造不可能なコーナ及び陥没(すなわち狭いチャネル)を除去すること930、960によって、異なるサイズの工具を用いてワークピースの(1つ以上のミリング方向に沿って)2.5軸加工を促進するように3Dモデルにローカル修正を行うことである。
【0176】
図6は、本明細書で説明する実施形態を実現するために、クライアントとして、またはサーバとしてプログラムすることができるデータ処理装置600を含むデータ処理システムの概略図である。データ処理装置600は、ネットワーク680を介して、1以上のコンピュータ690と接続されている。データ処理装置600として
図6には1台のコンピュータのみが示されているが、複数のコンピュータを使用することができる。データ処理装置600は、アプリケーション層とオペレーティングシステムとの間で分散することができる様々なソフトウェアモジュールを含む。これらは、上記のシステム及び技術を実装する1つ以上の3Dモデリングプログラム604のツール及びサービスを含む、実行可能及び/または解釈可能なソフトウェアプログラムまたはライブラリを含むことができる。したがって、3Dモデリングプログラム(複数可)604は、CADプログラム(複数可)604(CADプログラム(複数可)116など)であり、(1)1つ以上のジェネレーティブ設計処理(例えば、ジェネレーティブ設計のためのSIMPベースの方法(複数可)を用いて)、2.5軸加工可能な出力を生成するための層境界決定を組み込むトポロジ最適化と物理シミュレーション操作(有限要素解析(FEA)またはその他)とのための、及び/または(2)複数のミリング方向を伴うまたは伴わない、製造不可能なコーナ及び陥没(すなわち狭い溝)を除去するための1つ以上の局所固定プロセスを実装することができる。さらに、プログラム(複数可)604は、製造制御操作(例えば、設計されたオブジェクトの製造を効果的に行うためのツールパス仕様の生成及び/または適用)を潜在的に実施することができる。使用されるソフトウェアモジュールの数は、実施態様によって異なる場合がある。さらに、ソフトウェアモジュールは、1つ以上のコンピュータネットワークまたは他の適切な通信ネットワークによって接続された1つ以上のデータ処理装置上に分散させることができる。
【0177】
データ処理装置600はまた、1つ以上のプロセッサ612、1つ以上の追加デバイス614、コンピュータ可読媒体616、通信インタフェース618、及び1つ以上のユーザインタフェースデバイス620を含むハードウェアまたはファームウェアデバイスを含む。各プロセッサ612は、データ処理装置600内で実行するための命令を処理することが可能である。いくつかの実施態様では、プロセッサ612は、シングルまたはマルチスレッドプロセッサである。各プロセッサ612は、コンピュータ可読媒体616または追加デバイス614のうちの1つなどの記憶デバイスに記憶された命令を処理することができる。データ処理装置600は、通信インタフェース618を用いて、例えば、ネットワーク680を介して、1以上のコンピュータ690と通信を行う。ユーザインタフェースデバイス620の例としては、ディスプレイ、カメラ、スピーカ、マイク、触覚フィードバックデバイス、キーボード、マウス、及びVR及び/またはAR装置などが挙げられる。データ処理装置600は、例えば、上記のプログラム(複数可)に関連する動作を実行する命令を、コンピュータ可読媒体616または1つ以上の追加デバイス614、例えば、ハードディスクデバイス、光ディスクデバイス、テープデバイス、及び固体メモリデバイスのうちの1つ以上に格納することが可能である。
【0178】
本明細書に記載されている主題及び機能操作の実施形態は、デジタル電子回路、または本明細書に開示されている構造体、及びそれらの構造体の均等物を含むコンピュータソフトウェア、ファームウェア、もしくはハードウェア、またはそれらのうちの1つ以上の組み合わせに実装されることができる。本明細書に記載された主題の実施形態は、データ処理装置による実行、またはデータ処理装置の動作を制御するために非一時的コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールを用いて実施することができる。コンピュータ可読媒体は、コンピュータシステムのハードドライブ、小売チャネルを通じて販売される光ディスク、または組み込みシステムなどの製造製品であってもよい。コンピュータ可読媒体は、例えば、有線または無線ネットワークを介してコンピュータプログラム命令の1つ以上のモジュールを配信した後、別々に取得し、後にコンピュータプログラム命令の1つ以上のモジュールで符号化することができる。コンピュータ可読媒体は、機械可読記憶装置、機械可読記憶基板、メモリデバイス、またはそれらの1つ以上の組合せとすることができる。
【0179】
「データ処理装置」という用語は、データを処理するための全ての装置、デバイス、機械を包含し、例としてプログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータが含まれる。また、装置は、ハードウェアに加えて、関心のあるコンピュータプログラムの実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、実行時環境、またはそれらのうちの1つ以上の組み合わせを構成するコードを含むことができる。また、本装置は、ウェブサービス、分散コンピューティング、グリッドコンピューティングなど、様々な異なるコンピューティングモデルのインフラストラクチャを採用することができる。
【0180】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイル型言語もしくはインタプリタ型言語、宣言型言語もしくは手続き型言語を含む、任意の好適な形態のプログラム言語で書くことができ、またそれは、独立型プログラムとしての形態、またはモジュール、構成要素、サブルーチン、もしくはコンピューティング環境での使用に好適な他のユニットとしての形態を含む、任意の好適な形態で展開することができる。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応するものではない。プログラムは、他のプログラムまたはデータ(例えば、マークアップ言語の文書に記憶される1つ以上のスクリプト)を保持するファイルの一部分に、目的のプログラム専用の単一のファイルに、または複数の連携ファイル(例えば、1つ以上のモジュール、サブプログラム、またはコードの一部分を記憶するファイル)に記憶することができる。コンピュータプログラムは、1つのコンピュータ上で、または1つの場所に位置するかもしくは複数の場所にわたって分散され、通信ネットワークによって相互接続される複数のコンピュータ上で、実行されるように展開することができる。
【0181】
1つ以上のプログラム可能なプロセッサは、本明細書に記載のプロセス及び論理フローを実行して、1つ以上のコンピュータプログラムを実行し、入力データ上で動作して出力を生成することによって機能を実行することができる。また、プロセッサ及び論理フローは、専用論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行されることができることに加えて、装置もまた、この専用論理回路として実装されることができる。
【0182】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサ及び専用マイクロプロセッサの両方、ならびにいずれかの種類のデジタルコンピュータの1つ以上のプロセッサを含む。概して、プロセッサは、読み出し専用メモリ、またはランダムアクセスメモリ、または両方から命令及びデータを受信する。コンピュータの基本的な要素は、命令を実行するためのプロセッサ、ならびに命令及びデータを格納するための1つ以上のメモリデバイスである。概して、コンピュータは、データを格納するための1つ以上のマスストレージデバイス、例えば、磁気、光磁気ディスク、もしくは光ディスクも含む、またはこれらのマスストレージデバイスからデータを受信するように、もしくはこれらのマスストレージデバイスにデータを転送するように、もしくはその両方を行うように操作可能に結合される。ただし、コンピュータは、そのようなデバイスを有する必要がない。さらに、コンピュータは、別のデバイス、例えば、ほんの数例を挙げると携帯電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤー、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブルストレージデバイス(例えば、ユニバーサルシリアルバス(USB)フラッシュドライブ)に埋め込まれることができる。コンピュータプログラム命令及びデータを格納するのに適したデバイスは、例えば、EPROM(消去可能プログラマブル読み出し専用メモリ)、EEPROM(電気的消去可能プログラマブル読み出し専用メモリ)、及びフラッシュメモリデバイスなどの半導体メモリデバイスと、内部ハードディスクまたはリムーバブルディスクなどの磁気ディスクと、光磁気ディスクと、CD-ROM及びDVD-ROMディスクとを例として含む、全ての形式の不揮発性メモリ、媒体、及びメモリデバイスを含む。プロセッサ及びメモリは、専用論理回路によって補完されることができる、またはこの専用論理回路に組み込まれることができる。
【0183】
ユーザとの相互作用を提供するために、本明細書に記載の主題の実施形態は、ユーザに情報を表示するためのディスプレイデバイス、例えばLCD(液晶ディスプレイ)ディスプレイデバイス、OLED(有機発光ダイオード)ディスプレイデバイス、または他のモニタ、及びユーザがコンピュータに入力を提供できるキーボード及びポインティングデバイス、例えばマウスまたはトラックボールを有するコンピュータ上で実施することが可能である。他の種類のデバイスを使用して、ユーザとの対話を提供することもできる。例えば、ユーザに提供されるフィードバックは、視覚フィードバック、聴覚フィードバック、触覚フィードバックなど、任意の適切な形態の感覚フィードバックとすることができ、ユーザからの入力は、音響、音声、触覚入力など、任意の適切な形態で受領することができる。
【0184】
コンピューティングシステムは、クライアントとサーバを含むことができる。クライアントとサーバは、概して互いに遠く離れており、典型的に通信ネットワークを通じてやりとりする。クライアントとサーバの関係は、それぞれのコンピュータ上で動作するコンピュータプログラムにより、またクライアントとサーバの関係を互いに有することにより生じる。本出願に記載されている発明の主題の実施形態は、コンピューティングシステムに実装されることができ、このコンピューティングシステムは、バックエンドコンポーネント(例えば、データサーバとして)を含む、またはミドルウェアコンポーネント(例えば、アプリケーションサーバ)を含む、またはフロントエンドコンポーネント(例えば、ユーザが本明細書に記載されている発明の主題の実施態様と相互作用することができるグラフィカルユーザインタフェースまたはブラウザユーザインタフェースを有するクライアントコンピュータ)を含む、または1つ以上のそのようなバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントのいずれかの組み合わせを含む。システムのコンポーネントは、任意の好適な形式または媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互接続されることができる。通信ネットワークの実施例は、ローカルエリアネットワーク(「LAN」)及びワイドエリアネットワーク(「WAN」)、インターネットワーク(インターネットなど)、ならびにピアツーピアネットワーク(アドホックピアツーピアネットワークなど)を含む。
【0185】
本明細書には多くの実施態様の詳細が含まれているが、これらは、請求されているものまたは請求され得るものの範囲に対する制限として解釈されるべきではなく、むしろ開示された主題の特定の実施形態に特有の特徴の説明として解釈されるべきである。本明細書で別々の実施形態との関連で説明されている特定の特徴は、単一の実施形態で組み合わせて実施することもできる。逆に、単一の実施形態との関連で説明されている様々な特徴を、複数の実施形態で別々に、または任意の好適なサブコンビネーションで実施することもできる。さらに、特徴は特定の組み合わせで機能するものとして上記で説明され、当初はそのように特許請求されることさえあり得るが、特許請求された組み合わせからの1つ以上の特徴は、場合によっては、その組み合わせから分離することができ、その特許請求された組み合わせは、サブコンビネーションまたはサブコンビネーションの変形を対象としてもよい。
【0186】
同様に、操作が特定の順序で図面に描かれるが、これは、望ましい結果を達成するために、そのような操作が、図示された特定の順序で、もしくは順次的な順序で実行されること、または図示される全ての操作が実行されることを要求するものと理解されるべきではない。特定の状況では、マルチタスク処理及び並列処理が有利な場合もある。更に、上記の実施形態における様々なシステム構成要素の分離は、全ての実施形態においてそのような分離を必要とするものと理解されるべきではなく、説明されるプログラム構成要素及びシステムは、一般に、単一のソフトウェア製品に一緒に統合され得るか、または複数のソフトウェア製品にパッケージ化され得ることが理解されるべきである。
【0187】
このように、本発明の特定の実施形態について説明した。他の実施形態は、以下の特許 請求の範囲の範囲内にある。また、特許請求の範囲に記載された動作は、異なる順序で実 行しても望ましい結果を得ることができる。
なお、本発明には以下の態様が含まれることを付記する。
[態様1]
(i)1つ以上のコンピュータ制御製造システムで、2.5軸除去製造プロセスを使用して、対応する物理構造が製造されるモデル化されたオブジェクトの密度ベース表現と、(ii)モデル化されたオブジェクトの前記密度ベース表現における要素の複数の異なるサブセットのそれぞれの開始要素を指定するデータとを取得することであって、
前記要素サブセットのそれぞれが、3つ以上の離散層に対してそれぞれ割り当てられた3つ以上の共有ミリング深さの1つであるミリング深さを有しており、前記3つ以上の離散層のそれぞれが、前記2.5軸除去製造プロセスのミリング方向に対して垂直であり、
前記密度ベース表現が、密度ベースのトポロジ最適化を用いてジェネレーティブ設計された、前記モデル化されたオブジェクトの3次元形状を指定する、前記取得することと、
前記3つ以上の離散層の最上層より下の離散層に関連するミリング深さを有する前記要素サブセットの開始要素を、前記ミリング方向に関して処理することであって、前記処理することが、現在の層のために処理されている前記開始要素のうちの現在の開始要素について、
(i)前記現在の層より上の層に関連するミリング深さを有する要素サブセットを有し、(ii)前記1つ以上のコンピュータ制御製造システムで使用可能な最小のミリング工具の半径に少なくとも等しい量よりも前記現在の開始要素に近い他の開始要素を識別することと、
前記現在の開始要素に対する前記他の開始要素との間の最大角度差を計算することと、
前記最大角度差が閾値より大きいことに応答して、前記要素サブセット内の個々の要素の少なくとも一部の密度値を少なくとも変更することにより、前記現在の開始要素の前記要素サブセットに対するミリング深さを前記現在の層より上の層に移動させて、前記モデル化されたオブジェクトの製造不可能なコーナを除去することと、を含む、前記処理することと、
前記2.5軸除去製造プロセスを採用する前記1つ以上のコンピュータ制御製造システムを使用して、前記物理構造を製造する際に使用する前記モデル化されたオブジェクトの前記3次元形状を提供することと、
を含む、方法。
[態様2]
前記識別することは、
チェックする開始要素を選択することであって、この選択された開始要素に対する前記要素サブセットが、前記現在の層より上の前記層に関連するミリング深さを有する、前記選択することと、
前記選択された開始要素の重心を、前記現在の開始要素の重心と比較することと、
前記選択された開始要素の前記重心と前記現在の開始要素の前記重心との間の距離が前記量より小さいことに応答して、前記選択された開始要素を、前記他の開始要素のうちの識別された1つとして確認することであって、前記量が、(i)前記使用可能な最小のミリング工具の前記半径、及び(ii)前記現在の層の最下部と前記最上層との差の事前定義された割合、の最大値に等しく設定される、前記確認することと、
前記現在の層より上の前記層に関連するミリング深さを有する前記開始要素のそれぞれがチェックされるまで、前記選択すること、前記比較すること、及び前記確認することを繰り返すことと、
を含む、態様1に記載の方法。
[態様3]
前記計算することは、前記現在の層における前記現在の開始要素と、前記現在の層より上の1つ以上の層に関連するミリング深さを有する前記他の開始要素のそれぞれとの間の2次元ベクトルを見つけることと、
前記2次元ベクトルから重心ベクトルを決定することと、
前記重心ベクトルの方向と反対の方向に対して最大の角度を有する前記2次元ベクトルのうちの第1のベクトルを見つけることと、
前記重心ベクトルの前記方向と反対の前記方向に対して最小の角度を有する前記2次元ベクトルのうちの第2のベクトルを見つけることと、
前記2次元ベクトルの前記第1のベクトルから前記2次元ベクトルの前記第2のベクトルを引いて、前記最大角度差を生成することと、
を含む、態様1に記載の方法。
[態様4]
前記2次元ベクトルを見つけることは、前記現在の層における前記現在の開始要素と、前記現在の層より上の任意の層に関連するミリング深さを有する全ての開始要素の1つ1つとの間の2次元ベクトルを見つけることを含む、態様3に記載の方法。
[態様5]
前記識別すること、前記計算すること、及び前記移動することは、コーナ除去プロセスの一部であり、前記処理することが、追加の現在の層のために処理されている前記開始要素のうちの追加の現在の開始要素について、
第2の、(i)前記追加の現在の層より上の層に関連するミリング深さを有する追加の要素サブセットを有し、(ii)前記追加の現在の開始要素に隣接する追加の開始要素を識別することと、第2の、前記追加の現在の開始要素に対する前記追加の開始要素との間の第2の最大角度差を計算することと、
第2の、前記第2の最大角度差が第2の閾値以上であることに応答して、前記追加の要素サブセット内の追加の個々の要素の少なくとも一部の密度値を少なくとも変更することにより、前記追加の現在の開始要素の前記追加の要素サブセットに対するミリング深さを前記追加の現在の層より上の層に移動させて、前記モデル化されたオブジェクトの製造不可能な陥没を除去することと、
を含む、陥没除去プロセスをさらに含む、態様3に記載の方法。
[態様6]
前記現在の開始要素に対する前記他の開始要素との間の前記最大角度差の閾値は195度であり、前記第2の最大角度差は180度であり、前記コーナ除去プロセスは、前記現在の層のすぐ上の層から始めて、前記現在の層より上の層に対して順次実行され、前記陥没除去プロセスは、前記最上層から始めて、前記現在の層より上の層に対して順次実行される、態様5に記載の方法。
[態様7]
前記処理することは、前記コーナ除去プロセスと前記陥没除去プロセスとを、前記要素サブセットのミリング深さの移動が行われなくなるまで繰り返すこと、を含む、態様5に記載の方法。
[態様8]
前記ミリング方向は、前記2.5軸除去製造プロセスの2つ以上のミリング方向のうちの第1の方向であり、前記コーナ除去プロセス及び前記陥没除去プロセスは、前記2つ以上のミリング方向のそれぞれについて別々に行われて、それぞれのミリング方向特有のデータセットを生成し、前記処理することは、前記それぞれのミリング方向特有のデータセットを組み合わせて、密度ベースのトポロジ最適化を使用してジェネレーティブ設計された、前記モデル化されたオブジェクトの前記密度ベース表現を更新することを含む、態様5に記載の方法。
[態様9]
前記モデル化されたオブジェクトの前記密度ベース表現は、非正則メッシュを含み、前記モデル化されたオブジェクトの前記密度ベース表現における要素の複数の異なるサブセットのそれぞれについて、開始要素を指定する前記データを取得することは、
前記密度ベース表現における前記要素を、前記ミリング方向の軸に沿った前記要素の重心の位置に従ってソートして、前記要素のソートされたリストを形成することと、
前記ソートされたリストの中で、次の未割り当て要素を次の開始要素に選択することと、
前記次の開始要素の前記重心から、事前定義された距離内にその重心を有する前記密度ベース表現における次の前記要素のセットを見つけることと、
前記次の要素のセットを前記次の開始要素に割り当てて、前記モデル化されたオブジェクトの前記密度ベース表現における前記複数の異なる要素のサブセットのうちの1つを形成することと、
前記選択すること、前記見つけること、及び前記割り当てることを、前記ソートされたリストの未割り当て要素がなくなるまで繰り返すことと、
を含む、態様1に記載の方法。
[態様10]
前記モデル化されたオブジェクトの前記密度ベース表現を取得することは、前記密度ベースのトポロジ最適化、1つ以上の設計基準、及び1つ以上のインユースケースを用いて、設計空間において前記モデル化されたオブジェクトの前記3次元形状を反復的に修正することを含み、前記反復的に修正することは、前記反復的に修正することの少なくとも2回の反復において、前記2.5軸除去製造プロセスの前記ミリング方向に従って、前記ジェネレーティブ設計による3次元形状の前記密度ベース表現を調整することを含み、前記調整することは、前記モデル化されたオブジェクトの前記密度ベース表現における要素の複数の異なるサブセットのそれぞれについて開始要素を指定する前記データを前記取得することを含む、態様9に記載の方法。
[態様11]
前記提供することは、前記モデル化されたオブジェクトの前記3次元形状を使用して、前記2.5軸除去製造プロセスに従って、除去製造マシンの工具経路仕様を生成することと、
前記工具経路仕様を使用して、前記除去製造マシンで、前記物理構造の少なくとも一部、または前記物理構造のための金型を製造することと、
を含む、態様1に記載の方法。
[態様12]
コンピュータ支援設計プログラムの命令を格納した非一時的記憶媒体と、1つ以上のデータ処理装置であって、前記コンピュータ支援設計プログラムの前記命令を実行して、前記1つ以上のデータ処理装置に、(i)1つ以上のコンピュータ制御製造システムで、2.5軸除去製造プロセスを使用して、対応する物理構造が製造されるモデル化されたオブジェクトの密度ベース表現と、(ii)モデル化されたオブジェクトの前記密度ベース表現における要素の複数の異なるサブセットのそれぞれの開始要素を指定するデータとを取得することと、前記要素サブセットのそれぞれが、3つ以上の離散層に対してそれぞれ割り当てられた3つ以上の共有ミリング深さの1つであるミリング深さを有しており、前記3つ以上の離散層のそれぞれが、前記2.5軸除去製造プロセスのミリング方向に対して垂直であり、前記密度ベース表現が、密度ベースのトポロジ最適化を用いてジェネレーティブ設計された、前記モデル化されたオブジェクトの3次元形状を指定する、前記取得することと、前記3つ以上の離散層の最上層より下の離散層に関連するミリング深さを有する前記要素サブセットの開始要素を、前記ミリング方向に関して処理することであって、前記命令は、現在の層について処理されている前記開始要素の現在の開始要素について、前記1つ以上のデータ処理装置に、(i)前記現在の層より上の層に関連するミリング深さを有する要素サブセットを有し、(ii)前記1つ以上のコンピュータ制御製造システムで使用可能な最小のミリング工具の半径に少なくとも等しい量よりも前記現在の開始要素に近い他の開始要素を識別することと、前記現在の開始要素に対する前記他の開始要素との間の最大角度差を計算することと、前記最大角度差が閾値より大きいことに応答して、前記要素サブセット内の個々の要素の少なくとも一部の密度値を少なくとも変更することにより、前記現在の開始要素の前記要素サブセットに対するミリング深さを前記現在の層より上の層に移動させて、前記モデル化されたオブジェクトの製造不可能なコーナを除去することと、を含む、前記処理することと、を行わせることによって、前記要素サブセットの前記開始要素を、前記1つ以上のデータ処理装置に処理させる、前記処理することと、前記2.5軸除去製造プロセスを採用する前記1つ以上のコンピュータ制御製造システムを使用して、前記物理構造を製造する際に使用する前記モデル化されたオブジェクトの前記3次元形状を提供することと、を行わせるように構成された、前記1つ以上のデータ処理装置と、を備える、システム。
[態様13]
前記命令は、前記1つ以上のデータ処理装置に、チェックする開始要素を選択することであって、この選択された開始要素に対する前記要素サブセットが、前記現在の層より上の前記層に関連するミリング深さを有する、前記選択することと、前記選択された開始要素の重心を、前記現在の開始要素の重心と比較することと、前記選択された開始要素の前記重心と前記現在の開始要素の前記重心との間の距離が前記量より小さいことに応答して、前記選択された開始要素を、前記他の開始要素のうちの識別された1つとして確認することであって、前記量が、(i)前記使用可能な最小のミリング工具の前記半径、及び(ii)前記現在の層の最下部と前記最上層との差の事前定義された割合、の最大値に等しく設定される、前記確認することと、前記現在の層より上の前記層に関連するミリング深さを有する前記開始要素のそれぞれがチェックされるまで、前記選択すること、前記比較すること、及び前記確認することを繰り返すことと、を行わせることによって、前記1つ以上のデータ処理装置に、前記他の開始要素を識別させる、態様12に記載のシステム。
[態様14]
前記命令は、前記1つ以上のデータ処理装置に、前記現在の層における前記現在の開始要素と、前記現在の層より上の1つ以上の層に関連するミリング深さを有する前記他の開始要素のそれぞれとの間の2次元ベクトルを見つけることと、前記2次元ベクトルから重心ベクトルを決定することと、前記重心ベクトルの方向と反対の方向に対して最大の角度を有する前記2次元ベクトルのうちの第1のベクトルを見つけることと、前記重心ベクトルの前記方向と反対の前記方向に対して最小の角度を有する前記2次元ベクトルのうちの第2のベクトルを見つけることと、前記2次元ベクトルの前記第1のベクトルから前記2次元ベクトルの前記第2のベクトルを引いて、前記最大角度差を生成することと、を行わせることによって、前記1つ以上のデータ処理装置に、前記最大角度差を計算させる、態様12に記載のシステム。
[態様15]
前記命令は、前記1つ以上のデータ処理装置に、前記現在の層における前記現在の開始要素と、前記現在の層より上の任意の層に関連するミリング深さを有する全ての開始要素の1つ1つとの間の2次元ベクトルを見つけさせることによって、前記1つ以上のデータ処理装置に、前記2次元ベクトルを見つけさせる、態様14に記載のシステム。
[態様16]
前記命令は、前記1つ以上のデータ処理装置に、前記他の開始要素を識別することと、前記最大角度差を計算することと、コーナ除去プロセスの一部として、前記要素サブセットに対して前記ミリング深さを移動させることと、を行わせ、前記命令は、追加の現在の層について処理されている前記開始要素の追加の現在の開始要素について、前記1つ以上のデータ処理装置に、(i)前記追加の現在の層より上の層に関連するミリング深さを有する追加の要素サブセットを有し、(ii)前記追加の現在の開始要素に隣接する追加の開始要素を識別することと、前記追加の現在の開始要素に対する前記追加の開始要素との間の第2の最大角度差を計算することと、前記第2の最大角度差が第2の閾値以上であることに応答して、前記追加の要素サブセット内の追加の個々の要素の少なくとも一部の密度値を少なくとも変更することにより、前記追加の現在の開始要素の前記追加の要素サブセットに対するミリング深さを前記追加の現在の層より上の層に移動させて、前記モデル化されたオブジェクトの製造不可能な陥没を除去することと、を行わせることによって、陥没除去プロセスにおける前記要素サブセットの前記開始要素を、前記1つ以上のデータ処理装置に処理させる、態様14に記載のシステム。
[態様17]
前記現在の開始要素に対する前記他の開始要素との間の前記最大角度差の閾値は195度であり、前記第2の最大角度差は180度であり、前記コーナ除去プロセスは、前記現在の層のすぐ上の層から始めて、前記現在の層より上の層に対して順次実行され、前記陥没除去プロセスは、前記最上層から始めて、前記現在の層より上の層に対して順次実行される、態様16に記載のシステム。
[態様18]
前記命令は、前記1つ以上のデータ処理装置に、前記要素サブセットのためのミリング深さが移動されなくなるまで、前記コーナ除去プロセスと前記陥没除去プロセスとを繰り返させることによって、前記1つ以上のデータ処理装置に、前記要素サブセットの前記開始要素を処理させるようにする、態様16に記載のシステム。
[態様19]
前記ミリング方向は、前記2.5軸除去製造プロセスの2つ以上のミリング方向のうちの第1の方向であり、前記コーナ除去プロセス及び前記陥没除去プロセスは、前記2つ以上のミリング方向のそれぞれについて別々に行われて、それぞれのミリング方向特有のデータセットを生成し、前記命令は、前記1つ以上のデータ処理装置に、前記それぞれのミリング方向特有のデータセットを組み合わせて、密度ベースのトポロジ最適化を使用してジェネレーティブ設計された、前記モデル化されたオブジェクトの前記密度ベース表現を更新させることによって、前記1つ以上のデータ処理装置に、前記要素サブセットの前記開始要素を処理させるようにする、態様16に記載のシステム。
[態様20]
前記モデル化されたオブジェクトの前記密度ベース表現は、非正則メッシュを含み、前記命令は、前記1つ以上のデータ処理装置に、前記密度ベース表現における前記要素を、前記ミリング方向の軸に沿った前記要素の重心の位置に従ってソートして、前記要素のソートされたリストを形成することと、前記ソートされたリストの中で、次の未割り当て要素を次の開始要素に選択することと、前記次の開始要素の前記重心から、事前定義された距離内にその重心を有する前記密度ベース表現における次の前記要素のセットを見つけることと、前記次の要素のセットを前記次の開始要素に割り当てて、前記モデル化されたオブジェクトの前記密度ベース表現における前記複数の異なる要素のサブセットのうちの1つを形成することと、前記ソートされたリストの未割り当て要素がなくなるまで、次の未割り当て要素の選択,次のセットを見つけること、及び割り当てを繰り返すことと、を行わせることによって、前記1つ以上のデータ処理装置に、前記データを取得させる、態様12に記載のシステム。
[態様21]
前記命令は、前記1つ以上のデータ処理装置に、前記密度ベースのトポロジ最適化、1つ以上の設計基準、及び1つ以上のインユースケースを用いて、設計空間において前記モデル化されたオブジェクトの前記3次元形状を反復的に修正させることによって、前記1つ以上のデータ処理装置に、前記モデル化されたオブジェクトの前記密度ベース表現を取得させ、前記命令は、前記1つ以上のデータ処理装置に、前記反復的に修正することの少なくとも2回の反復において、前記2.5軸除去製造プロセスの前記ミリング方向に従って、前記ジェネレーティブ設計による3次元形状の前記密度ベース表現を調整させることによって、前記1つ以上のデータ処理装置に、前記モデル化されたオブジェクトの前記3次元形状を反復的に修正させ、前記命令は、前記1つ以上のデータ処理装置に、前記モデル化されたオブジェクトの前記密度ベース表現における要素の複数の異なるサブセットのそれぞれについて開始要素を指定する前記データを取得させることによって、前記1つ以上のデータ処理装置に、前記密度ベース表現を調整させる、態様20に記載のシステム。
[態様22]
前記2.5軸除去製造プロセスを採用するコンピュータ数値制御除去製造ミリングマシンを含む前記1つ以上のコンピュータ制御製造システムを含み、前記1つ以上の処理装置は、前記コンピュータ支援設計プログラムの前記命令を実行して、前記1つ以上のデータ処理装置に、前記モデル化されたオブジェクトの前記3次元形状を使用して、前記2.5軸除去製造プロセスに従って、前記コンピュータ数値制御除去製造ミリングマシンの工具経路仕様を生成することと、前記工具経路仕様を使用して、前記コンピュータ数値制御除去製造ミリングマシンで、前記物理構造の少なくとも一部、または前記物理構造のための金型を製造することと、を行わせるように構成されている、態様12に記載のシステム。
[態様23]
1つ以上のデータ処理装置に、(i)1つ以上のコンピュータ制御製造システムで、2.5軸除去製造プロセスを使用して、対応する物理構造が製造されるモデル化されたオブジェクトの密度ベース表現と、(ii)モデル化されたオブジェクトの前記密度ベース表現における要素の複数の異なるサブセットのそれぞれの開始要素を指定するデータとを取得することであって、前記要素サブセットのそれぞれが、3つ以上の離散層に対してそれぞれ割り当てられた3つ以上の共有ミリング深さの1つであるミリング深さを有しており、前記3つ以上の離散層のそれぞれが、前記2.5軸除去製造プロセスのミリング方向に対して垂直であり、前記密度ベース表現が、密度ベースのトポロジ最適化を用いてジェネレーティブ設計された、前記モデル化されたオブジェクトの3次元形状を指定する、前記取得することと、前記3つ以上の離散層の最上層より下の離散層に関連するミリング深さを有する前記要素サブセットの開始要素を、前記ミリング方向に関して処理することであって、前記処理することが、現在の層のために処理されている前記開始要素のうちの現在の開始要素について、(i)前記現在の層より上の層に関連するミリング深さを有する要素サブセットを有し、(ii)前記1つ以上のコンピュータ制御製造システムで使用可能な最小のミリング工具の半径に少なくとも等しい量よりも前記現在の開始要素に近い他の開始要素を識別することと、前記現在の開始要素に対する前記他の開始要素との間の最大角度差を計算することと、前記最大角度差が閾値より大きいことに応答して、前記要素サブセット内の個々の要素の少なくとも一部の密度値を少なくとも変更することにより、前記現在の開始要素の前記要素サブセットに対するミリング深さを前記現在の層より上の層に移動させて、前記モデル化されたオブジェクトの製造不可能なコーナを除去することと、を含む、前記処理することと、前記2.5軸除去製造プロセスを採用する前記1つ以上のコンピュータ制御製造システムを使用して、前記物理構造を製造する際に使用する前記モデル化されたオブジェクトの前記3次元形状を提供することと、の操作を実行させるように動作可能なコンピュータ支援設計プログラムを符号化する、非一時的コンピュータ可読媒体。
[態様24]
前記識別すること、前記計算すること、及び前記移動することは、コーナ除去プロセスの一部であり、前記処理することが、追加の現在の層のために処理されている前記開始要素のうちの追加の現在の開始要素について、第2の、(i)前記追加の現在の層より上の層に関連するミリング深さを有する追加の要素サブセットを有し、(ii)前記追加の現在の開始要素に隣接する追加の開始要素を識別することと、第2の、前記追加の現在の開始要素に対する前記追加の開始要素との間の第2の最大角度差を計算することと、第2の、前記第2の最大角度差が第2の閾値以上であることに応答して、前記追加の要素サブセット内の追加の個々の要素の少なくとも一部の密度値を少なくとも変更することにより、前記追加の現在の開始要素の前記追加の要素サブセットに対するミリング深さを前記追加の現在の層より上の層に移動させて、前記モデル化されたオブジェクトの製造不可能な陥没を除去することと、を含む、陥没除去プロセスをさらに含む、態様23に記載の非一時的コンピュータ可読媒体。