JP2850351B2 - 板形状ブロック分割装置 - Google Patents
板形状ブロック分割装置Info
- Publication number
- JP2850351B2 JP2850351B2 JP4693889A JP4693889A JP2850351B2 JP 2850351 B2 JP2850351 B2 JP 2850351B2 JP 4693889 A JP4693889 A JP 4693889A JP 4693889 A JP4693889 A JP 4693889A JP 2850351 B2 JP2850351 B2 JP 2850351B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- closed loop
- end point
- arc
- analysis model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims description 76
- 238000004458 analytical method Methods 0.000 claims description 49
- 238000001514 detection method Methods 0.000 claims description 11
- DSROZUMNVRXZNO-UHFFFAOYSA-K tris[(1-naphthalen-1-yl-3-phenylnaphthalen-2-yl)oxy]alumane Chemical compound C=1C=CC=CC=1C=1C=C2C=CC=CC2=C(C=2C3=CC=CC=C3C=CC=2)C=1O[Al](OC=1C(=C2C=CC=CC2=CC=1C=1C=CC=CC=1)C=1C2=CC=CC=C2C=CC=1)OC(C(=C1C=CC=CC1=C1)C=2C3=CC=CC=C3C=CC=2)=C1C1=CC=CC=C1 DSROZUMNVRXZNO-UHFFFAOYSA-K 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 4
- 230000005484 gravity Effects 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 3
- 238000012916 structural analysis Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
【発明の詳細な説明】 〔概要〕 有限要素法による板形状の解析データ生成において,
メッシュ分割を行う前段階でのブロック分割方式に関し
て, 解析モデルの形状,大きさによりブロック分割の入力
指示が非常に多くなる事を阻止し,ブロック分割を自動
的にできるようにする事を目的とし, 有限要素法による板形状の解析データ生成をする際の
ブロック分割を行う装置において,複数の与えられた端
点を持つ同一平面上の板形状の解析モデルについて,該
解析モデルの図形データを読み込み,読み込まれた図形
データの端点データ及び線分データ及び円弧データを保
持する図形データ読み込み手段と,該端点を始点とする
閉ループを検出する閉ループ検出手段と,該閉ループ検
出手段で検出された閉ループによって囲まれた領域を,
少なくとも閉ループを構成する辺の数に応じて,前記閉
ループを2以上の領域に分割するとともに,分割の際に
新たな端点を生じた時は,前記読み込み手段に保持する
図形データに当該端点に関するデータを追加するブロッ
ク分割処理手段と,図形データ読み込み手段を起動して
該解析モデルの図形データを読み込み,図形データを保
持し,該解析モデルの最初の端点を始点とし,閉ループ
検出手段とブロック分割処理手段を起動させ,分割の結
果新たな端点が生じた場合は,最初の端点に戻って同様
な処理を繰り返し,新たな端点が生じなかった場合は,
次の端点に始点を移動して,前記同様の処理を繰り返す
ブロック分割制御手段とを有するように構成する。
メッシュ分割を行う前段階でのブロック分割方式に関し
て, 解析モデルの形状,大きさによりブロック分割の入力
指示が非常に多くなる事を阻止し,ブロック分割を自動
的にできるようにする事を目的とし, 有限要素法による板形状の解析データ生成をする際の
ブロック分割を行う装置において,複数の与えられた端
点を持つ同一平面上の板形状の解析モデルについて,該
解析モデルの図形データを読み込み,読み込まれた図形
データの端点データ及び線分データ及び円弧データを保
持する図形データ読み込み手段と,該端点を始点とする
閉ループを検出する閉ループ検出手段と,該閉ループ検
出手段で検出された閉ループによって囲まれた領域を,
少なくとも閉ループを構成する辺の数に応じて,前記閉
ループを2以上の領域に分割するとともに,分割の際に
新たな端点を生じた時は,前記読み込み手段に保持する
図形データに当該端点に関するデータを追加するブロッ
ク分割処理手段と,図形データ読み込み手段を起動して
該解析モデルの図形データを読み込み,図形データを保
持し,該解析モデルの最初の端点を始点とし,閉ループ
検出手段とブロック分割処理手段を起動させ,分割の結
果新たな端点が生じた場合は,最初の端点に戻って同様
な処理を繰り返し,新たな端点が生じなかった場合は,
次の端点に始点を移動して,前記同様の処理を繰り返す
ブロック分割制御手段とを有するように構成する。
本発明は,有限要素法による板形状の解析データ生成
において,メッシュ分割を行う前段階でのブロック分割
方式に関する。
において,メッシュ分割を行う前段階でのブロック分割
方式に関する。
近年,プリ処理の効率化を行うため,CADシステムで作
成された板形状のモデルを有限要素法(物体の有限の小
さな要素に分割し,各要素での応力,変位を計算し,構
造物の応力解析を行う手法)で解析するためのモデルの
形状に合わせてモデル全体を三角形や四角形等の単純な
形状に分割するブロック分割やブロック分割されてでき
た三角形や四角形形状の各要素を更に細かく分割するメ
ッシュ分割をより早く行う方法が要求されている。
成された板形状のモデルを有限要素法(物体の有限の小
さな要素に分割し,各要素での応力,変位を計算し,構
造物の応力解析を行う手法)で解析するためのモデルの
形状に合わせてモデル全体を三角形や四角形等の単純な
形状に分割するブロック分割やブロック分割されてでき
た三角形や四角形形状の各要素を更に細かく分割するメ
ッシュ分割をより早く行う方法が要求されている。
第23図に有限要素法による構造解析処理のフローが示
されている。このフローの中でメッシュ分割処理は,分
割すべき要素の形状が円弧や三角形,四角形のような単
純化されたものであり,均質かつ規則的な分割なので,
その分割の自動化はすでに成されているが,ブロック分
割の自動化処理は,分割すべきモデルの形状が複雑であ
り,形状に依存した不均質かつ不規則な分割であったの
で従来は行われていなかった。
されている。このフローの中でメッシュ分割処理は,分
割すべき要素の形状が円弧や三角形,四角形のような単
純化されたものであり,均質かつ規則的な分割なので,
その分割の自動化はすでに成されているが,ブロック分
割の自動化処理は,分割すべきモデルの形状が複雑であ
り,形状に依存した不均質かつ不規則な分割であったの
で従来は行われていなかった。
従って,このブロック分割の自動化を行う必要があっ
た。
た。
ところで,従来のプリ処理における板形状のブロック
分割は,第24図のようであった。
分割は,第24図のようであった。
即ち,モデルが与えられた時,三角形や四角形を含む
ブロックに分割して,そのブロックの各頂点を人間が目
て見て指示していた。
ブロックに分割して,そのブロックの各頂点を人間が目
て見て指示していた。
ところが,従来の方法ではプリ処理においてモデルが
大きかったり形状が複雑な場合に,構成するブロックが
沢山でてきて,ブロック分割やブロックの各頂点を指示
する回数が非常に多くなり,効率が大変悪いという欠点
があった。
大きかったり形状が複雑な場合に,構成するブロックが
沢山でてきて,ブロック分割やブロックの各頂点を指示
する回数が非常に多くなり,効率が大変悪いという欠点
があった。
本発明は,解析モデルの形状・大きさによりブロック
分割の入力指示が非常に多くなる事を阻止し,ブロック
分割を自動的にできるようにする事を目的とする。
分割の入力指示が非常に多くなる事を阻止し,ブロック
分割を自動的にできるようにする事を目的とする。
第1図は,本発明の原理説明図である. 図中,1は図形データ読み込み手段で解析モデルの図形
データを読み込んだ図形データを保持するものである。
2は閉ループ検出手段であり,同一平面上の板形状の解
析モデルの或る端点を始点とし,次々に端点を結んで得
られる閉ループを検出するものである。3はブロック分
割処理手段であり,該閉ループ検出手段2によって検出
された閉ループの中の領域をブロック分割する。4はブ
ロック分割制御手段であり,図形データ読み込み手段1
とと閉ループ検出手段2とブロック分割処理手段3とを
制御起動させる。
データを読み込んだ図形データを保持するものである。
2は閉ループ検出手段であり,同一平面上の板形状の解
析モデルの或る端点を始点とし,次々に端点を結んで得
られる閉ループを検出するものである。3はブロック分
割処理手段であり,該閉ループ検出手段2によって検出
された閉ループの中の領域をブロック分割する。4はブ
ロック分割制御手段であり,図形データ読み込み手段1
とと閉ループ検出手段2とブロック分割処理手段3とを
制御起動させる。
上記構成により,ブロック分割制御手段4は複数の与
えられた端点を持つ同一平面上の板形状の解析モデルを
図形データ読み込み手段1を起動させて読み込み,読み
込まれた図形データを保持し,閉ループ検出手段2を起
動させて,解析モデルの或る端点を始点とする閉ループ
を検出する。
えられた端点を持つ同一平面上の板形状の解析モデルを
図形データ読み込み手段1を起動させて読み込み,読み
込まれた図形データを保持し,閉ループ検出手段2を起
動させて,解析モデルの或る端点を始点とする閉ループ
を検出する。
次にブロック分割制御手段4は,ブロック分割処理手
段3を起動させ,該閉ループ検出手段2で得られた閉ル
ープに囲まれた領域のブロック分割を行う。
段3を起動させ,該閉ループ検出手段2で得られた閉ル
ープに囲まれた領域のブロック分割を行う。
以上のブロック分割で,新たに端点や線分,円弧が作
成されたら,該端点,線分,円弧データを保持し,ブロ
ック分割された該解析モデルに関して最初の端点にもど
って,閉ループ検出手段2とブロック分割処理手段3を
起動させて再ブロック分割をする。
成されたら,該端点,線分,円弧データを保持し,ブロ
ック分割された該解析モデルに関して最初の端点にもど
って,閉ループ検出手段2とブロック分割処理手段3を
起動させて再ブロック分割をする。
再分割してもそれ以上分割できなくなったら次に,端
点を次の端点に移し,該端点に関してブロック分割を
し,同様の処理を全ての端点について行い,解析モデル
をブロック分割する。
点を次の端点に移し,該端点に関してブロック分割を
し,同様の処理を全ての端点について行い,解析モデル
をブロック分割する。
第2図は,本発明の一実施例の構成図である. ここで,第1図の原理説明図におけるブロック分割制
御手段4は,第2図のブロック分割制御手段10とブロッ
ク分割処理手段16の一部とを含む。第1図の図形データ
読み込み手段は第2図の図形データ読み込み手段と同じ
である。第1図の閉ループ検出手段2は,第2図のブロ
ック分割処理手段16の一部と該ブロック分割処理手段16
によって起動される閉ループ検出手段15を含む。第1図
のブロック分割処理手段3は,第2図の三角形処理手段
17,四角形処理手段18,多角形処理手段19を合わせたもの
である。
御手段4は,第2図のブロック分割制御手段10とブロッ
ク分割処理手段16の一部とを含む。第1図の図形データ
読み込み手段は第2図の図形データ読み込み手段と同じ
である。第1図の閉ループ検出手段2は,第2図のブロ
ック分割処理手段16の一部と該ブロック分割処理手段16
によって起動される閉ループ検出手段15を含む。第1図
のブロック分割処理手段3は,第2図の三角形処理手段
17,四角形処理手段18,多角形処理手段19を合わせたもの
である。
10は,全体の制御を行うブロック分割制御手段であ
る。11は図形データ読み込み手段で,解析モデルの図形
データを読み込み,解析モデルの点座標テーブル,線分
テーブル,円弧テーブルを作成する。
る。11は図形データ読み込み手段で,解析モデルの図形
データを読み込み,解析モデルの点座標テーブル,線分
テーブル,円弧テーブルを作成する。
12は線分交点チェック手段で,解析モデルの線分同士
の交点をチェックし,交点があれば点座標テーブル及び
線分テーブルを更新する。13は円弧チェック手段で,円
弧で180度を越すものは180度以内に分割する。14は同一
平面チェック手段であり,線分テーブルの先頭から順に
みて閉ループ検出手段15を起動させて,線分テーブルの
先頭から始めて自身にもどってくるような左回り閉ルー
プテーブルを検出し,閉ループが同一平面上にあるか否
かをチェックし,平面が変化する場合は線分テーブルを
更新する。15は閉ループ検出手段で線分テーブルの先頭
から始めて自身にもどってくるような左回り閉ループテ
ーブルを検出する。16はブロック分割処理手段で,線分
テーブルの先頭から順にみて閉ループ検出手段15を起動
させて,線分テーブルの先頭から始めて自身にもどって
くるような左回り閉ループテーブルを作成し,閉ループ
が三辺構成なら三角形処理手段17,閉ループが四辺構成
なら四角形処理手段18,閉ループが五辺以上なら多角形
処理手段19を起動させて,該閉ループ内の領域をブロッ
ク分割し,全ての線分を始まりとして同様の処理を行
い,解析モデルのブロック分割を行う。
の交点をチェックし,交点があれば点座標テーブル及び
線分テーブルを更新する。13は円弧チェック手段で,円
弧で180度を越すものは180度以内に分割する。14は同一
平面チェック手段であり,線分テーブルの先頭から順に
みて閉ループ検出手段15を起動させて,線分テーブルの
先頭から始めて自身にもどってくるような左回り閉ルー
プテーブルを検出し,閉ループが同一平面上にあるか否
かをチェックし,平面が変化する場合は線分テーブルを
更新する。15は閉ループ検出手段で線分テーブルの先頭
から始めて自身にもどってくるような左回り閉ループテ
ーブルを検出する。16はブロック分割処理手段で,線分
テーブルの先頭から順にみて閉ループ検出手段15を起動
させて,線分テーブルの先頭から始めて自身にもどって
くるような左回り閉ループテーブルを作成し,閉ループ
が三辺構成なら三角形処理手段17,閉ループが四辺構成
なら四角形処理手段18,閉ループが五辺以上なら多角形
処理手段19を起動させて,該閉ループ内の領域をブロッ
ク分割し,全ての線分を始まりとして同様の処理を行
い,解析モデルのブロック分割を行う。
第3図に本発明の一実施例の全体のフローチャートを
示す。
示す。
S1において,図形データ読み込み手段11を起動させ,
解析モデルの図形データより線分と円弧を抽出し,これ
を構成する点座標と線分のテーブルを作成する。ここ
で,解析モデルは全て線と円弧で作成するものとする。
次に,S2において線分交点チェック手段12,円弧チェック
手段13,同一平面チェック手段14を起動させ,線分の交
点を求め,180度以上の円弧を分割し,同一平面上での閉
ループにする。次に,S3において閉ループ検出手段15を
起動させ,線分テーブルの先頭データから左回り閉ルー
プテーブルを検出する。次にS4において,線分テーブル
の線分データが線分テーブルの終端データを越えたか否
かを判断し,越えていなかったらS5において,ブロック
分割処理手段16を起動させて,閉ループが三辺構成の時
は,三角形処理手段17を起動させ,四辺構成の時は,四
角形処理手段18を起動させ,五辺以上の構成なら多角形
処理をして,閉ループ内領域をブロック分割する。次に
S6で,点座標と線分テーブルとを更新し,S3以下の処理
に戻る。次に,各処理の詳細を説明する。まず1)ブロ
ック分割制御手段10が起動し,図形データ読み込み手段
11を起動させる。図形データ読み込み手段11は,解析モ
デルの線分と円弧のデータを抽出し,これらから第6図
に示すようにBP(点座標)テーブルとETB(線分)テー
ブルとATB(円弧)テーブルを作成する。
解析モデルの図形データより線分と円弧を抽出し,これ
を構成する点座標と線分のテーブルを作成する。ここ
で,解析モデルは全て線と円弧で作成するものとする。
次に,S2において線分交点チェック手段12,円弧チェック
手段13,同一平面チェック手段14を起動させ,線分の交
点を求め,180度以上の円弧を分割し,同一平面上での閉
ループにする。次に,S3において閉ループ検出手段15を
起動させ,線分テーブルの先頭データから左回り閉ルー
プテーブルを検出する。次にS4において,線分テーブル
の線分データが線分テーブルの終端データを越えたか否
かを判断し,越えていなかったらS5において,ブロック
分割処理手段16を起動させて,閉ループが三辺構成の時
は,三角形処理手段17を起動させ,四辺構成の時は,四
角形処理手段18を起動させ,五辺以上の構成なら多角形
処理をして,閉ループ内領域をブロック分割する。次に
S6で,点座標と線分テーブルとを更新し,S3以下の処理
に戻る。次に,各処理の詳細を説明する。まず1)ブロ
ック分割制御手段10が起動し,図形データ読み込み手段
11を起動させる。図形データ読み込み手段11は,解析モ
デルの線分と円弧のデータを抽出し,これらから第6図
に示すようにBP(点座標)テーブルとETB(線分)テー
ブルとATB(円弧)テーブルを作成する。
この処理のフローチャートは第4図に示されている。
次に第4図に示されるように,S11において,点座標テ
ーブルのポインタBPNと線分テーブルのポインタETBNと
円弧テーブルのポインタATBNをクリアする。
ーブルのポインタBPNと線分テーブルのポインタETBNと
円弧テーブルのポインタATBNをクリアする。
次にS12において,線分データ及び円弧データから成
る図形データ(解析モデル)を読み込む。第5図に図形
データの例を示す。
る図形データ(解析モデル)を読み込む。第5図に図形
データの例を示す。
図中,31は線分データである事を示すラベル,32は端点
1のx,y,z座標値,33は端点2のx,y,z座標値である。34
は円弧データである事を示すラベル,35は端点1のx,y,z
座標値,36は端点2のx,y,z座標値,37は中心点のx,y,z座
標値であり,38は3時方向ベクトルの端点のx,y,z座標
値,39は12時方向ベクトルの端点のx,y,z座標値,40は円
弧の角度である。ここで,3時方向ベクトル,12時方向ベ
クトルは,円弧が180度及び360度の場合,円弧の平面を
決定できなくなるので,円弧の平面を決定するために用
いるものである。
1のx,y,z座標値,33は端点2のx,y,z座標値である。34
は円弧データである事を示すラベル,35は端点1のx,y,z
座標値,36は端点2のx,y,z座標値,37は中心点のx,y,z座
標値であり,38は3時方向ベクトルの端点のx,y,z座標
値,39は12時方向ベクトルの端点のx,y,z座標値,40は円
弧の角度である。ここで,3時方向ベクトル,12時方向ベ
クトルは,円弧が180度及び360度の場合,円弧の平面を
決定できなくなるので,円弧の平面を決定するために用
いるものである。
次に読み込むデータがあるか否かを判断し,なければ
終了,あればそのデータが線分か,円弧かを判断し,線
分又は円弧であった場合は,始点がBP(点座標)テーブ
ル内にあるか否かを判断し,BPテーブル内にあれば,BPN
(BPテーブルのポインタ)をその始点データのポインタ
値にし,BPテーブル内になければBPNに1を加えて,始点
データ登録を行う。
終了,あればそのデータが線分か,円弧かを判断し,線
分又は円弧であった場合は,始点がBP(点座標)テーブ
ル内にあるか否かを判断し,BPテーブル内にあれば,BPN
(BPテーブルのポインタ)をその始点データのポインタ
値にし,BPテーブル内になければBPNに1を加えて,始点
データ登録を行う。
次に,終点がBPテーブル内にあるか否かを判断し,BP
テーブル内にあれば,BPNをその終点データのポインタ値
にし,なければBPNに1を加え,終点データ登録をす
る。
テーブル内にあれば,BPNをその終点データのポインタ値
にし,なければBPNに1を加え,終点データ登録をす
る。
次に,読み込まれたデータが円弧か否かを判断し,円
弧でなかった場合にはS31の処理に移り,円弧であった
場合には,中心点がBPテーブル内にあるか否かを判断
し,BPテーブル内にあればBPNをその中心点データのポイ
ンタ値にし,BPテーブル内になければ,BPNに1を加え,
中心点データを登録する。更に,3時方向ベクトル点がBP
テーブル内にあるか否かを判断し,あればBPNをその3
時方向データのポインタ値にし,なければBPNに1を足
して,3時方向ベクトルデータを登録する。更に,12時方
向ベクトルデータがBPテーブル内にあるか否かを判断
し,あれば12時方向ベクトルデータがBPテーブル内にあ
るか否かを判断し,あればBPNをその12時方向データの
ポインタ値にし,なければBPNに1を足して,12時方向ベ
クトルデータを登録する。
弧でなかった場合にはS31の処理に移り,円弧であった
場合には,中心点がBPテーブル内にあるか否かを判断
し,BPテーブル内にあればBPNをその中心点データのポイ
ンタ値にし,BPテーブル内になければ,BPNに1を加え,
中心点データを登録する。更に,3時方向ベクトル点がBP
テーブル内にあるか否かを判断し,あればBPNをその3
時方向データのポインタ値にし,なければBPNに1を足
して,3時方向ベクトルデータを登録する。更に,12時方
向ベクトルデータがBPテーブル内にあるか否かを判断
し,あれば12時方向ベクトルデータがBPテーブル内にあ
るか否かを判断し,あればBPNをその12時方向データの
ポインタ値にし,なければBPNに1を足して,12時方向ベ
クトルデータを登録する。
次に,読み込んだデータが線分か否かを判断し,線分
であればETBNに1を足して,始点,終点のBPテーブルポ
インタをETB(線分)テーブルに登録し,線分でなけれ
ばATBNに1を足して,始点,終点,中心点,3時方向ベク
トル点,12時方向ベクトル点のBPテーブルポインタをATB
テーブルに登録する。
であればETBNに1を足して,始点,終点のBPテーブルポ
インタをETB(線分)テーブルに登録し,線分でなけれ
ばATBNに1を足して,始点,終点,中心点,3時方向ベク
トル点,12時方向ベクトル点のBPテーブルポインタをATB
テーブルに登録する。
ここで第6図に1)の処理で得られたBPテーブル,ETB
テーブル,ATBテーブルの例が示されている。
テーブル,ATBテーブルの例が示されている。
図中,BPテーブルには,点の通算番号と点のX,Y,Z座標
の値と該点の種別が格納されている。ETBテーブルには
線分の通算番号と,該線分の一方の端点と他方の端点の
番号とが格納されている。ATBテーブルには円弧の通算
番号と,円弧を形成する一方の端点と片方の端点,及び
円弧の中心点の番号及び円弧の3時方向ベクトルと12時
方向ベクトル及び円弧の端点から端点までの中心点から
測った角度が格納されている。
の値と該点の種別が格納されている。ETBテーブルには
線分の通算番号と,該線分の一方の端点と他方の端点の
番号とが格納されている。ATBテーブルには円弧の通算
番号と,円弧を形成する一方の端点と片方の端点,及び
円弧の中心点の番号及び円弧の3時方向ベクトルと12時
方向ベクトル及び円弧の端点から端点までの中心点から
測った角度が格納されている。
次に2)線分交点チェック手段12を起動させる。線分
交点チェック手段12は,ETBテーブルの先端から順にみ
て,線分の交点チェックを行い,交点が新たに見つかれ
ば,点と線分の追加を行う。この時,線分は少ない場合
で1本,多い場合で2本が追加になる.また,既設の線
分番号も変更になる。
交点チェック手段12は,ETBテーブルの先端から順にみ
て,線分の交点チェックを行い,交点が新たに見つかれ
ば,点と線分の追加を行う。この時,線分は少ない場合
で1本,多い場合で2本が追加になる.また,既設の線
分番号も変更になる。
この処理のフローチャートは第7図に示されている。
第7図に示すように,iを0にし,次にiに1を加え
る。次にiがETBN以下か否かを判断し,以下でなければ
終了し,以下ならETBテーブルからポインタiのデータ
をロードし,k=0にし,kに1を加算した後,kがETBN以下
か否かを判断し,以下でないならS34以下の処理をし,
以下ならiがkに等しいか否かを判断し,等しければS3
9以下の処理にもどり,等しくなければ,ETBテーブルか
らポインタkのデータローダをし,線分1,2の交点を算
出する。次に線分1に分割があるか否かを判断し,分割
があればBPNに1を加算し,分割点データを登録し,ETB
テーブルのポインタiのデータを変更し,ETBNに1を加
算し,ETBテーブルに線分データを登録する。
る。次にiがETBN以下か否かを判断し,以下でなければ
終了し,以下ならETBテーブルからポインタiのデータ
をロードし,k=0にし,kに1を加算した後,kがETBN以下
か否かを判断し,以下でないならS34以下の処理をし,
以下ならiがkに等しいか否かを判断し,等しければS3
9以下の処理にもどり,等しくなければ,ETBテーブルか
らポインタkのデータローダをし,線分1,2の交点を算
出する。次に線分1に分割があるか否かを判断し,分割
があればBPNに1を加算し,分割点データを登録し,ETB
テーブルのポインタiのデータを変更し,ETBNに1を加
算し,ETBテーブルに線分データを登録する。
線分2に分割があるか否かを判断し,なければS34以
下の処理にもどり,あれば線分1に分割があるか否かを
判断し,分割がなければBPNに1を加算し,分割点デー
タを登録し,S51以下の処理をする。分割があれば,S51以
下の処理をする。即ち,ETBテーブルのポインタkのデー
タを変更し,ETBNに1を加算し,ETBテーブルに線分デー
タを登録する。
下の処理にもどり,あれば線分1に分割があるか否かを
判断し,分割がなければBPNに1を加算し,分割点デー
タを登録し,S51以下の処理をする。分割があれば,S51以
下の処理をする。即ち,ETBテーブルのポインタkのデー
タを変更し,ETBNに1を加算し,ETBテーブルに線分デー
タを登録する。
次に3)円弧チェック手段13を起動させる。円弧チェ
ック手段13は,ATBテーブルを見て,円弧で180度を超す
ものがあれば,180度以内になるように円弧を分解する。
ック手段13は,ATBテーブルを見て,円弧で180度を超す
ものがあれば,180度以内になるように円弧を分解する。
この処理のフローチャートは第8図に示されている。
第8図に示すように,i=0とし,次にiに1を加算
し,iがATBN以下か否かを判断し,以下でないなら処理を
終了させ,以下ならATBテーブルから円弧データをロー
ドし,円弧の角度を算出する。
し,iがATBN以下か否かを判断し,以下でないなら処理を
終了させ,以下ならATBテーブルから円弧データをロー
ドし,円弧の角度を算出する。
次に,円弧の角度が180度以上か否かを判断し,180度
以上でなければS54以下の処理にもどり,180度以上であ
れば360度未満か否かを判断し,360度未満でなければS60
〜S63の処理をしてS54以下の処理にもどる。即ち円弧を
3分割にし,BPNに1を加算し,1座標目を登録し,更にBP
Nに1を加算し,2座標目を登録する。次にATBテーブルの
ポインタiのデータを変更する。次に,ATBNに1を加算
し,ATBテーブルに円弧データを登録し,更にATBNに1を
加算し,ATBテーブルに円弧データを登録し,S54以下の処
理にもどる。360度未満なら,S64〜S67の処理をしてS54
以下の処理にもどる。即ち,円弧を2分割にし,BPNを1
加算し,1座標を登録する。次にATBテーブルのポインタ
iのデータを変更する。次にATBNに1を加算し,ATBテー
ブルに円弧データを登録し,S54以下の処理にもどる。
以上でなければS54以下の処理にもどり,180度以上であ
れば360度未満か否かを判断し,360度未満でなければS60
〜S63の処理をしてS54以下の処理にもどる。即ち円弧を
3分割にし,BPNに1を加算し,1座標目を登録し,更にBP
Nに1を加算し,2座標目を登録する。次にATBテーブルの
ポインタiのデータを変更する。次に,ATBNに1を加算
し,ATBテーブルに円弧データを登録し,更にATBNに1を
加算し,ATBテーブルに円弧データを登録し,S54以下の処
理にもどる。360度未満なら,S64〜S67の処理をしてS54
以下の処理にもどる。即ち,円弧を2分割にし,BPNを1
加算し,1座標を登録する。次にATBテーブルのポインタ
iのデータを変更する。次にATBNに1を加算し,ATBテー
ブルに円弧データを登録し,S54以下の処理にもどる。
第9図に,テーブルの作成例の図が示されている。
解析モデルが第9図の(1)のように与えられてい
る。このモデルにより,1)の処理でBPテーブル(点座
標),ETBテーブル(線分),ATBテーブル(円弧)を作成
する。次に2)の処理で,線分の交点チェックをした結
果,新たに修正・登録された点座標及び線分がに示さ
れている。
る。このモデルにより,1)の処理でBPテーブル(点座
標),ETBテーブル(線分),ATBテーブル(円弧)を作成
する。次に2)の処理で,線分の交点チェックをした結
果,新たに修正・登録された点座標及び線分がに示さ
れている。
次に3)の処理で,新たにATBテーブルに修正登録さ
れた円弧がに示されている。
れた円弧がに示されている。
次に4)同一平面チェック手段14を起動させる。同一
平面チェック手段14は,ETBテーブルの先頭から順にみ
て,閉ループ作成手段15を起動させ同一平面上での閉ル
ープチェックを行い,平面が変化する場合はETBテーブ
ルに線分を追加する。
平面チェック手段14は,ETBテーブルの先頭から順にみ
て,閉ループ作成手段15を起動させ同一平面上での閉ル
ープチェックを行い,平面が変化する場合はETBテーブ
ルに線分を追加する。
この処理のフローチャートは第10図に示されている。
第10図に示すように,まずi=0とし,iに1を加算
し,次にiがETBN(線分テーブルのポインタ)以下か否
かを判断し,以下でないなら終了処理をし,以下ならS7
1で閉ループ検出手段15を起動させる。次に,閉ループ
を構成する辺が4辺より大きいか否かを判断し,大きく
なければS69以下の処理にもどり,大きければk=0と
し,kに1を加算し,kがWKTN以下であるか否かを判断し,
以下でないならS69以下の処理にもどり,以下ならS76の
ETBNのポインタk,k+1,k+2,k+3より構成されるU形
平面を求める。次にS77のk+4から閉ループテーブル
使用数WKTNまで各点をk,k+1,k+2の平面にのっている
か否かをチェックし,平面終了点と平面会始点を求め
る。次に平面終了開始点があるか否かを判断し,開始点
がなければS74以下の処理にもどり,開始点があればETB
Nに1を加算し,ETBテーブルにデータを登録,即ち線分
を追加し,先頭のS68以下の処理にもどる。
し,次にiがETBN(線分テーブルのポインタ)以下か否
かを判断し,以下でないなら終了処理をし,以下ならS7
1で閉ループ検出手段15を起動させる。次に,閉ループ
を構成する辺が4辺より大きいか否かを判断し,大きく
なければS69以下の処理にもどり,大きければk=0と
し,kに1を加算し,kがWKTN以下であるか否かを判断し,
以下でないならS69以下の処理にもどり,以下ならS76の
ETBNのポインタk,k+1,k+2,k+3より構成されるU形
平面を求める。次にS77のk+4から閉ループテーブル
使用数WKTNまで各点をk,k+1,k+2の平面にのっている
か否かをチェックし,平面終了点と平面会始点を求め
る。次に平面終了開始点があるか否かを判断し,開始点
がなければS74以下の処理にもどり,開始点があればETB
Nに1を加算し,ETBテーブルにデータを登録,即ち線分
を追加し,先頭のS68以下の処理にもどる。
次に5)同一平面チェック手段14によって起動される
閉ループ検出手段15は以下の通りである。閉ループ検出
手段15は,ETBテーブルの先頭から左回り閉ループテーブ
ルを作成する。左回りの閉ループでは角度が360度にな
る。右回り閉ループでは角度が−360度になるため無効
とする。
閉ループ検出手段15は以下の通りである。閉ループ検出
手段15は,ETBテーブルの先頭から左回り閉ループテーブ
ルを作成する。左回りの閉ループでは角度が360度にな
る。右回り閉ループでは角度が−360度になるため無効
とする。
この処理のフローチャートは第11図に示されている。
第11図に示すように,まずETBテーブルからポインタ
iのデータをロードし,初期線分データ1及び線分デー
タ1にセットする。次に閉ループテーブル使用数WKTN=
0とし,次にWKTNに1を加算し,線分データ1をWKTテ
ーブルの先頭エリアにセットする。次にS83の処理でk
=0とし,次にkに1を加算する。次にkがETBN以下か
否かの判断をし,以下ならS86〜90の処理をし,以下で
ないならS91〜S97の処理をする。
iのデータをロードし,初期線分データ1及び線分デー
タ1にセットする。次に閉ループテーブル使用数WKTN=
0とし,次にWKTNに1を加算し,線分データ1をWKTテ
ーブルの先頭エリアにセットする。次にS83の処理でk
=0とし,次にkに1を加算する。次にkがETBN以下か
否かの判断をし,以下ならS86〜90の処理をし,以下で
ないならS91〜S97の処理をする。
即ち,以下ならS86でi=kか否かの判断をし,i=k
であればS84以下の処理にもどり,i=kでなければ,ETB
テーブルからポインタkのデータ(線分データ2)をロ
ードし,線分データ1,2が接続しているか否かを判断
し,接続していなければS84以下の処理をし,接続して
いれば,2線分の角度を求める。次に最小角度の線分デー
タ2をセーブし,S84以下の処理にもどる。
であればS84以下の処理にもどり,i=kでなければ,ETB
テーブルからポインタkのデータ(線分データ2)をロ
ードし,線分データ1,2が接続しているか否かを判断
し,接続していなければS84以下の処理をし,接続して
いれば,2線分の角度を求める。次に最小角度の線分デー
タ2をセーブし,S84以下の処理にもどる。
次に,S91〜S97の処理の説明をする。S91でL=0と
し,Lに1を加算し,LがATBN以下であればS94〜S97の処理
をし,ATBN以下でないならS98〜S103の処理をする。
し,Lに1を加算し,LがATBN以下であればS94〜S97の処理
をし,ATBN以下でないならS98〜S103の処理をする。
LがATBN以下であれば,S94でATBテーブルからポイン
タLのデータ(線分データ2)をロードし,線分と円弧
(線分)データの接続があるか否かの判断をし,接続し
ていなければS92以下の処理にもどり,接続していれば
2線分の角度を求める。次に最小角度の線分データ2を
セーブしてS92以下の処理にもどる。
タLのデータ(線分データ2)をロードし,線分と円弧
(線分)データの接続があるか否かの判断をし,接続し
ていなければS92以下の処理にもどり,接続していれば
2線分の角度を求める。次に最小角度の線分データ2を
セーブしてS92以下の処理にもどる。
LがATBN以下でなければ,S98で線分と円弧データ1,2
が接続しているか否かを判断し,接続していなければ閉
ループエラーフラグをセットし終了。接続していればWK
TNに1を加算し,最小角度の線分・円弧データをWKTテ
ーブルにセットする。次に初期線分データ1の始点と線
分データ2の終点データが一致しているか否かを判断
し,一致していなければ,線分データ1を線分データに
置き換えてS83以下の処理にもどる。一致していれば,
線分データ2と1の角度を求める。次に閉ループ時の加
算角度を算出し,呼び出し元にもどる。
が接続しているか否かを判断し,接続していなければ閉
ループエラーフラグをセットし終了。接続していればWK
TNに1を加算し,最小角度の線分・円弧データをWKTテ
ーブルにセットする。次に初期線分データ1の始点と線
分データ2の終点データが一致しているか否かを判断
し,一致していなければ,線分データ1を線分データに
置き換えてS83以下の処理にもどる。一致していれば,
線分データ2と1の角度を求める。次に閉ループ時の加
算角度を算出し,呼び出し元にもどる。
第12図に閉ループテーブル作成例の図が示されてい
る。
る。
第12図の(1)の解析モデルが,(2)には5)によ
って作成された閉ループテーブルが示されている。解析
モデル中に示されている閉ループロードでは,BPテーブ
ル,ETBテーブル,ATBテーブルより閉ループテーブルが作
成される。
って作成された閉ループテーブルが示されている。解析
モデル中に示されている閉ループロードでは,BPテーブ
ル,ETBテーブル,ATBテーブルより閉ループテーブルが作
成される。
次に6)ブロック分割処理手段16を起動させる。ブロ
ック分割処理手段16は閉ループ検出手段15を起動させて
閉ループテーブルを作り,閉ループテーブルの先頭から
順にみて,連続した三辺が第13図に示すような三角形要
素及び四角形要素かどうかみて,満足すれば次のように
BPテーブル,ETBテーブルを更新する。
ック分割処理手段16は閉ループ検出手段15を起動させて
閉ループテーブルを作り,閉ループテーブルの先頭から
順にみて,連続した三辺が第13図に示すような三角形要
素及び四角形要素かどうかみて,満足すれば次のように
BPテーブル,ETBテーブルを更新する。
i)三角形の場合:三角形処理手段17を起動させる。
ii)四角形の場合:四角形処理手段18を起動させる。
iii)五角形以上の場合:多角形処理手段19を起動させ
る。
る。
このように順次連続した三辺を調べてブロックを分割
する。
する。
線分の番号また点データが追加された場合は,必ず
6)の処理を繰り返すことにより,ブロックの再分割が
可能となる。
6)の処理を繰り返すことにより,ブロックの再分割が
可能となる。
線分番号,点データが追加されなかった場合は,ブロ
ック分割が終了したことになる。最後には完全に三角形
又は四角形になったブロックが出来上がり,解析モデル
のブロック分割は終了する。
ック分割が終了したことになる。最後には完全に三角形
又は四角形になったブロックが出来上がり,解析モデル
のブロック分割は終了する。
この処理のフローチャートは第14図に示されている。
第14図に示すように,まずi=0とし,次にiに1を
加算し,iがETBN以下か否かを判断し,以下でないなら終
了し,以下ならS107で閉ループ検出手段15を起動させて
閉ループテーブルを作成する。次に閉ループが左回りの
360度か否かを判断し,左回りの360度でなければS105以
下の処理をし,左回り360度の場合は,S109〜S116の処理
をする。即ち閉ループが3辺構成の場合は三角形処理手
段17を起動させ,四辺構成の場合は四角形処理手段18を
起動させ,五辺構成の場合は多角形処理手段19を起動さ
せる。
加算し,iがETBN以下か否かを判断し,以下でないなら終
了し,以下ならS107で閉ループ検出手段15を起動させて
閉ループテーブルを作成する。次に閉ループが左回りの
360度か否かを判断し,左回りの360度でなければS105以
下の処理をし,左回り360度の場合は,S109〜S116の処理
をする。即ち閉ループが3辺構成の場合は三角形処理手
段17を起動させ,四辺構成の場合は四角形処理手段18を
起動させ,五辺構成の場合は多角形処理手段19を起動さ
せる。
次に,点座標の追加があるか否かを判断し,あれば先
頭のS104以下の処理にもどり,なければ線分又は円弧の
追加があるか否かを判断しなければS105以下の処理にも
どり,あれば先頭のS104以下の処理にもどる。
頭のS104以下の処理にもどり,なければ線分又は円弧の
追加があるか否かを判断しなければS105以下の処理にも
どり,あれば先頭のS104以下の処理にもどる。
次に7)ブロック分割処理手段16によって起動される
多角形処理手段19は,以下の通りである。
多角形処理手段19は,以下の通りである。
第15図に多角形処理のフローチャートが示されてい
る。
る。
まずk=0とし,kに1を加算し,kがWKTN以下か否かを
判断し,以下でなければ終了し,以下ならポインタk,k
+1,k+2,k+3より構成されるU形を求める。次に最適
なU形か否か即ち第16図の(1)で角ABC,角BCDがそれ
ぞれ70度〜110度以内かどうかを判断し,最適なU形で
なければS134以下の処理になり,最適なU形なら,それ
が最適な4辺形か否か即ち第16図の(2)で角BAD,角CD
Aがそれぞれ70度〜110度以内かどうかを判断する。以下
S134以下の処理を説明する。
判断し,以下でなければ終了し,以下ならポインタk,k
+1,k+2,k+3より構成されるU形を求める。次に最適
なU形か否か即ち第16図の(1)で角ABC,角BCDがそれ
ぞれ70度〜110度以内かどうかを判断し,最適なU形で
なければS134以下の処理になり,最適なU形なら,それ
が最適な4辺形か否か即ち第16図の(2)で角BAD,角CD
Aがそれぞれ70度〜110度以内かどうかを判断する。以下
S134以下の処理を説明する。
即ち,ポインタk,k+1,k+2よりV形を求める。次に
V形の角度が70度以下か否かを判断し,70度以下ならS13
6〜S138の処理をし,呼び出し元にもどり,70度以下でな
いならS139〜S142の処理をして呼び出し元にもどる。
V形の角度が70度以下か否かを判断し,70度以下ならS13
6〜S138の処理をし,呼び出し元にもどり,70度以下でな
いならS139〜S142の処理をして呼び出し元にもどる。
S136以下では,辺ABまたはBC上に点Cまたは点Aから
の垂線を下ろしE点を求める。次にBPNに1を加算し,
分割点を登録する。次にETBテーブルのポインタkまた
はk+1のデータを変更し,ETBNに1を加算し,ETBテー
ブルに線分データを登録し,呼び出し元にもどる処理を
する。
の垂線を下ろしE点を求める。次にBPNに1を加算し,
分割点を登録する。次にETBテーブルのポインタkまた
はk+1のデータを変更し,ETBNに1を加算し,ETBテー
ブルに線分データを登録し,呼び出し元にもどる処理を
する。
S139以下では,まずポインタk,k+1,k+2,k+3より
L形を求める。次に角ABCが70度から110度か否かを判断
し,それ以外ならS118以下の処理にもどり,70度から110
度の中ならBの対象点Eを求める。次にETBNに1を加算
してETBテーブルに線分データを登録し,次にETBNに1
を加算し,ETBテーブルに線分データを登録し,呼び出し
元にもどる。
L形を求める。次に角ABCが70度から110度か否かを判断
し,それ以外ならS118以下の処理にもどり,70度から110
度の中ならBの対象点Eを求める。次にETBNに1を加算
してETBテーブルに線分データを登録し,次にETBNに1
を加算し,ETBテーブルに線分データを登録し,呼び出し
元にもどる。
次にS122の処理にもどって説明する。即ち最適な四辺
形か否かを判断し,最適な四辺形でなければS123〜S128
の処理を行い,最適な四辺形ならS129〜S133の処理をす
る。
形か否かを判断し,最適な四辺形でなければS123〜S128
の処理を行い,最適な四辺形ならS129〜S133の処理をす
る。
以下S123〜S128の処理の説明を行う。
第16図の(3)で最適な四辺形でない場合の例〜
が示されている。
が示されている。
まず辺ABCDが‘LLL'(三辺が全て線分で構成されてい
る)または‘ALL'(一辺が円弧,二辺が線分で構成され
ている)かを判断し,そうでなければS126以下の処理に
行き,‘LLL'または‘ALL'であればBPNに1を加算し,
分割点を登録し,ETBテーブルのポインタkまたはk+2
のデータを変更し,ETBNに1を加算し,ETBテーブルに線
分データを登録してS133の処理に移る。
る)または‘ALL'(一辺が円弧,二辺が線分で構成され
ている)かを判断し,そうでなければS126以下の処理に
行き,‘LLL'または‘ALL'であればBPNに1を加算し,
分割点を登録し,ETBテーブルのポインタkまたはk+2
のデータを変更し,ETBNに1を加算し,ETBテーブルに線
分データを登録してS133の処理に移る。
次にS126以下の処理を説明する。即ち辺ABCDが‘LAL'
か否かを判断し,そうでなければS118以下の処理にもど
る。‘LAL'であれば,BPNに1を加算し,分割点を登録
し,更にBPNに1を加算し,中心点を登録する。次にETB
テーブルのポインタkまたはk+2のデータを変更し,E
TBNに1を加算し,ETBテーブルに線分データを登録し,S1
33の処理に移る。
か否かを判断し,そうでなければS118以下の処理にもど
る。‘LAL'であれば,BPNに1を加算し,分割点を登録
し,更にBPNに1を加算し,中心点を登録する。次にETB
テーブルのポインタkまたはk+2のデータを変更し,E
TBNに1を加算し,ETBテーブルに線分データを登録し,S1
33の処理に移る。
次にS129〜S133の処理の説明をする。
第16図の(2)で最適な四辺形の場合の例〜が示
されている。まずS129で辺ABCDが‘LLL',‘ALL',‘LLA'
か否かを判断し,そのいずれかであれば,ETBNに1を加
算し,ETBに線分データA−Dを登録し,呼び出し元に返
る。そのいずれかではければ,S131で辺ABCDが‘LAL'か
否かを判断し,‘LAL'でなければ,S118以下の処理にも
どり,‘LAL'であれば,S132で円弧BCを点ADにオフセッ
トする。次に,BPNに1を加算し,分割点を登録し,更に
BPNに1を加算し,中心点を登録する。次に,S13でATBN
に1を加算し,ATBテーブルに円弧データを登録し,呼び
出し元にもどる。
されている。まずS129で辺ABCDが‘LLL',‘ALL',‘LLA'
か否かを判断し,そのいずれかであれば,ETBNに1を加
算し,ETBに線分データA−Dを登録し,呼び出し元に返
る。そのいずれかではければ,S131で辺ABCDが‘LAL'か
否かを判断し,‘LAL'でなければ,S118以下の処理にも
どり,‘LAL'であれば,S132で円弧BCを点ADにオフセッ
トする。次に,BPNに1を加算し,分割点を登録し,更に
BPNに1を加算し,中心点を登録する。次に,S13でATBN
に1を加算し,ATBテーブルに円弧データを登録し,呼び
出し元にもどる。
次に8)ブロック分割処理手段16によって起動される
四角形処理手段18は以下の通りである。
四角形処理手段18は以下の通りである。
第17図に四角形処理のフローチャートが示されてい
る。
る。
第17図において,まず四辺の辺構成を求める。次に対
角線の長さを求める。対角線の長さが四辺の1.5倍以上
か否かの判断をし,1.5倍以上なら,四角形を短い対角線
で二つの三角形に分割する。更にETBNに1を加算し,ETB
テーブルにデータを登録し,呼び出し元にもどる.対角
線の長さが四辺の1.5倍以上でないなら,四辺が‘AALL'
か否かを判断し,‘AALL'であれば,‘ALL'‘ALL'の二
つの三角形に分割する.次にETBNに1を加算し,ETBテー
ブルにデータを登録し,呼び出し元にもどる。
角線の長さを求める。対角線の長さが四辺の1.5倍以上
か否かの判断をし,1.5倍以上なら,四角形を短い対角線
で二つの三角形に分割する。更にETBNに1を加算し,ETB
テーブルにデータを登録し,呼び出し元にもどる.対角
線の長さが四辺の1.5倍以上でないなら,四辺が‘AALL'
か否かを判断し,‘AALL'であれば,‘ALL'‘ALL'の二
つの三角形に分割する.次にETBNに1を加算し,ETBテー
ブルにデータを登録し,呼び出し元にもどる。
四辺が‘AALL'でなければ,四辺が‘AAAL'か又は‘AA
AA'かを判断し,そうでなければ呼び出し元にもどり,
そうであれば四角形の重心を求める.図でA−Gにおい
ては,ETBNに1を加算し,ETBテーブルにAGのデータを登
録し,B−Gにおいては,ETBNに1を加算し,ETBテーブル
にBGのデータを登録し,C−Gにおいては,ETBNに1を加
算し,CGのデータを登録し,D−Gにおいては,ETBNに1を
加算し,DGのデータを登録し,呼び出し元にもどる。
AA'かを判断し,そうでなければ呼び出し元にもどり,
そうであれば四角形の重心を求める.図でA−Gにおい
ては,ETBNに1を加算し,ETBテーブルにAGのデータを登
録し,B−Gにおいては,ETBNに1を加算し,ETBテーブル
にBGのデータを登録し,C−Gにおいては,ETBNに1を加
算し,CGのデータを登録し,D−Gにおいては,ETBNに1を
加算し,DGのデータを登録し,呼び出し元にもどる。
次に9)ブロック分割処理手段16によって起動される
三角形処理手段17は,以下の通りである。
三角形処理手段17は,以下の通りである。
第18図に三角形処理のフローチャートが示されてい
る。
る。
第18図において,まず三辺の辺構成を求める。第19図
に,三角形処理の際の辺構成の例〜が示されてい
る。
に,三角形処理の際の辺構成の例〜が示されてい
る。
次に三辺が‘LAA'か否かを判断し,‘LAA'ならS159〜
S163の処理をし,‘LAA'でないならS164〜S167の処理を
し,それぞれ呼び出し元にもどる。
S163の処理をし,‘LAA'でないならS164〜S167の処理を
し,それぞれ呼び出し元にもどる。
ここで,S159〜S163の処理の説明をする。まず辺ABの
中点Eを求める。次に点Eに関して,BPNに1を加算し,
分割点を登録する。A−Eに関してETBテーブルのデー
タAEを登録し,E−Bに関しては,ETBNに1を加算し,ETB
テーブルにEBのデータを登録し,E−Cに関しては,ETBN
に1を加算し,ETBテーブルにECのデータを登録し,呼び
出し元にもどる。
中点Eを求める。次に点Eに関して,BPNに1を加算し,
分割点を登録する。A−Eに関してETBテーブルのデー
タAEを登録し,E−Bに関しては,ETBNに1を加算し,ETB
テーブルにEBのデータを登録し,E−Cに関しては,ETBN
に1を加算し,ETBテーブルにECのデータを登録し,呼び
出し元にもどる。
次にS164〜S167の処理の説明をする。まず三辺が‘AA
A'か否かを判断し,‘AAA'でなければ呼び出し元にもど
る。三辺が‘AAA'であれば,三辺の重心点Eを求める。
次に、その重心点Eに関して、BPNに1を加算し、BPテ
ーブルに重心点として登録する。E−Aに関しては,ETB
Nに1を加算し,ETBテーブルにE−Aデータを登録し,E
−Bに関しては,ETBNに1を加算し,ETBテーブルにE−
Bデータを登録し,E−Cに関しては,ETBNに1を加算し,
ETBテーブルにE−Cデータを登録し,呼び出し元にも
どる。
A'か否かを判断し,‘AAA'でなければ呼び出し元にもど
る。三辺が‘AAA'であれば,三辺の重心点Eを求める。
次に、その重心点Eに関して、BPNに1を加算し、BPテ
ーブルに重心点として登録する。E−Aに関しては,ETB
Nに1を加算し,ETBテーブルにE−Aデータを登録し,E
−Bに関しては,ETBNに1を加算し,ETBテーブルにE−
Bデータを登録し,E−Cに関しては,ETBNに1を加算し,
ETBテーブルにE−Cデータを登録し,呼び出し元にも
どる。
第20図,第21図にブロック分割の推移例を示し,第22
図に四角形要素の認識例を示している。
図に四角形要素の認識例を示している。
ここで第20図の説明をする。(1)に解析モデルが与
えられている.次に(2)で交点を求める.(3)で閉
ループを検出し,四角形要素をブロック分割し,ここで
交点が2点増加する。更に(4)で交点は2点増加す
る。更に左回りの閉ループを検出していくと(5)で光
線は2点増加,(6)で更に交点が2点増加する。最後
に(7)で交点の増加はこれ以上なくなり,処理は終了
する。結局閉ループは10個生成された事になる。
えられている.次に(2)で交点を求める.(3)で閉
ループを検出し,四角形要素をブロック分割し,ここで
交点が2点増加する。更に(4)で交点は2点増加す
る。更に左回りの閉ループを検出していくと(5)で光
線は2点増加,(6)で更に交点が2点増加する。最後
に(7)で交点の増加はこれ以上なくなり,処理は終了
する。結局閉ループは10個生成された事になる。
次に第21図の説明をする。(1)に解析モデルが与え
られている。次に(2)で交点を求める。(3)で閉ル
ープを検出し,四角形要素をブロック分割する。この過
程で交点が3点増加する。(4)と(5)で再び閉ルー
プを検出し,各々2点ずつ交点が増加する。最後に
(6)でこれ以上の増加はなくなり処理は終了する。結
局閉ループは10個生成された事になる。
られている。次に(2)で交点を求める。(3)で閉ル
ープを検出し,四角形要素をブロック分割する。この過
程で交点が3点増加する。(4)と(5)で再び閉ルー
プを検出し,各々2点ずつ交点が増加する。最後に
(6)でこれ以上の増加はなくなり処理は終了する。結
局閉ループは10個生成された事になる。
第22図には,左回りの閉ループを検出していく中で,
四角形要素をどう認識するかの例が示されている。第22
図において,(1)に解析モデルが示されている。
(1)のモデルからは,(2),(3),(4)の3種
の四角形が得られるが,実際は,(3),(4)が採用
される。
四角形要素をどう認識するかの例が示されている。第22
図において,(1)に解析モデルが示されている。
(1)のモデルからは,(2),(3),(4)の3種
の四角形が得られるが,実際は,(3),(4)が採用
される。
(2)では,四角形内に6,7,8の座標が存在するため
無効となり,(3),(4)では,四角形内に座標が存
在しないため有効となる。
無効となり,(3),(4)では,四角形内に座標が存
在しないため有効となる。
四角形内に座標が存在するか,しないかのチェックは
(5),(6)の例に示されるような方法により行う。
(5),(6)の例に示されるような方法により行う。
(5)の場合は四角形内に座標が存在する場合で,こ
の場合は, 四角形1234の面積=三角形12X1の面積 +三角形23X1の面積 +三角形34X1の面積 +三角形41X1の面積 となる。
の場合は, 四角形1234の面積=三角形12X1の面積 +三角形23X1の面積 +三角形34X1の面積 +三角形41X1の面積 となる。
(6)の場合は四角形内に座標が存在しない場合で,
この場合は, 四角形1234の面積<三角形12X1の面積 +三角形23X1の面積 +三角形34X1の面積 +三角形41X1の面積 となる。
この場合は, 四角形1234の面積<三角形12X1の面積 +三角形23X1の面積 +三角形34X1の面積 +三角形41X1の面積 となる。
以上説明したように,本発明によれば板形状の解析モ
デルにおけるブロック分割は,オペレータの動作を介在
する手間を省き,計算機による構造解析の全工程を自動
化し,効率良く構造解析の処理を行う事ができ,かつブ
ロック分割の処理も解析モデルが大きかったり,形状が
複雑な場合に非常に短時間で出来ることになり,効果的
である。
デルにおけるブロック分割は,オペレータの動作を介在
する手間を省き,計算機による構造解析の全工程を自動
化し,効率良く構造解析の処理を行う事ができ,かつブ
ロック分割の処理も解析モデルが大きかったり,形状が
複雑な場合に非常に短時間で出来ることになり,効果的
である。
第1図は,本発明の原理説明図, 第2図は,本発明の一実施例の構成図, 第3図は,本発明の一実施例の全体のフローチャート, 第4図は,本発明の一実施例のフローチャート(1), 第5図は,本発明の一実施例の解析モデルの図形データ
の例, 第6図は,BP(点座標)テーブル,ETB(線分)テーブル,
ATB(円弧)テーブルの例, 第7図は,本発明の一実施例のフローチャート(2), 第8図は,本発明の一実施例のフローチャート(3), 第9図は,テーブルの作成例, 第10図は,本発明の一実施例のフローチャート(4), 第11図は,本発明の一実施例のフローチャート(5), 第12図は,閉ループテーブルの作成例, 第13図は,三角形要素及び四角形要素の例, 第14図は,本発明の一実施例のフローチャート(6), 第15図は,本発明の一実施例の多角形処理のフローチャ
ート(7), 第16図は,本発明の一実施例の多角形処理の際の辺構成
図, 第17図は,本発明の一実施例の四角形処理のフローチャ
ート(8), 第18図は,本発明の一実施例の三角形処理のフローチャ
ート(9), 第19図は,本発明の一実施例の三角形処理の際の辺構成
図, 第20図は,ブロック分割の推移例(1), 第21図は,ブロック分割の推移例(2), 第22図は,四角形要素の認識例, 第23図は,有限要素法による構造解析のフローチャー
ト, 第24図は,従来技術の説明図である。 第2図において 10はブロック分割制御手段, 11は解析モデル読み込み手段, 12は線分交点チェック手段, 13は円弧チェック手段, 14は同一平面チェック手段, 15は閉ループ検出手段, 16はブロック分割処理手段, 17は三角形処理手段, 18は四角形処理手段, 19は多角形処理手段である。
の例, 第6図は,BP(点座標)テーブル,ETB(線分)テーブル,
ATB(円弧)テーブルの例, 第7図は,本発明の一実施例のフローチャート(2), 第8図は,本発明の一実施例のフローチャート(3), 第9図は,テーブルの作成例, 第10図は,本発明の一実施例のフローチャート(4), 第11図は,本発明の一実施例のフローチャート(5), 第12図は,閉ループテーブルの作成例, 第13図は,三角形要素及び四角形要素の例, 第14図は,本発明の一実施例のフローチャート(6), 第15図は,本発明の一実施例の多角形処理のフローチャ
ート(7), 第16図は,本発明の一実施例の多角形処理の際の辺構成
図, 第17図は,本発明の一実施例の四角形処理のフローチャ
ート(8), 第18図は,本発明の一実施例の三角形処理のフローチャ
ート(9), 第19図は,本発明の一実施例の三角形処理の際の辺構成
図, 第20図は,ブロック分割の推移例(1), 第21図は,ブロック分割の推移例(2), 第22図は,四角形要素の認識例, 第23図は,有限要素法による構造解析のフローチャー
ト, 第24図は,従来技術の説明図である。 第2図において 10はブロック分割制御手段, 11は解析モデル読み込み手段, 12は線分交点チェック手段, 13は円弧チェック手段, 14は同一平面チェック手段, 15は閉ループ検出手段, 16はブロック分割処理手段, 17は三角形処理手段, 18は四角形処理手段, 19は多角形処理手段である。
Claims (4)
- 【請求項1】有限要素法による板形状の解析データを生
成する際のブロック分割を行う装置において、 複数の与えられた端点を持つ同一平面上の板形状の解析
モデルについて、 該解析モデルの図形データを読み込み、読み込まれた図
形データの端点データ及び線分データ及び円弧データを
保持する図形データ読み込み手段(1)と、 該端点を始点とする閉ループを検出する閉ループ検出手
段(2)と、 該閉ループ検出手段(2)で検出された閉ループによっ
て囲まれた領域を、少なくとも閉ループを構成する辺の
数に応じて、前記閉ループを2以上の領域に分割すると
ともに、分割の際に新たな端点を生じた時は、前記読み
込み手段(1)に保持する図形データに当該端点に関す
るデータを追加するブロック分割処理手段(3)と、 図形データ読み込み手段(1)を起動して該解析モデル
の図形データを読み込み、図形データを保持し、該解析
モデルの最初の端点を始点とし、閉ループ検出手段
(2)とブロック分割処理手段(3)を起動させ、分割
の結果新たな端点が生じた場合は、最初の端点に戻って
同様な処理を繰り返し、新たな端点が生じなかった場合
は、次の端点に始点を移動して、前記同様の処理を繰り
返すブロック分割制御手段(4)とを有する事を特徴と
する 板形状ブロック分割装置。 - 【請求項2】有限要素法による板形状の解析データを生
成する際のブロック分割を行う装置において、 複数の与えられた端点を持つ同一平面上の板形状の解析
モデルについて、 該解析モデルの図形データを読み込み、読み込まれた図
形データの端点データ及び線分データ及び円弧データを
保持する図形データ読み込み手段(11)と、 該端点を始点とする閉ループを検出する閉ループ検出手
段(15)と、 該閉ループ検出手段(15)で検出された閉ループによっ
て囲まれた領域を、該領域を構成する辺が三辺の場合で
あって、三辺のうち少なくとも二辺が円弧である場合
は、二辺が線分で構成されるような新たな三角形を生成
するように領域のブロック分割を行い、新たに生成され
た端点又は線分又は円弧データを保持する三角形処理手
段(17)と、 該領域を構成する辺が四辺の場合は、四辺の種類が線分
か円弧かによって、二辺以上が円弧で構成されないよう
な三角形又は隣接する二辺以上が円弧で構成されないよ
うな四角形を生成するようにブロック分割を行い、新た
に生成された端点又は線分又は円弧データを保持する四
角形処理手段(18)と、 該領域を構成する辺が五辺以上の場合は、最初の端点を
始点にして隣接する4点によって構成される図形を取
り、該図形の形状パターンによって二辺以上が円弧で構
成されないような三角形又は隣接する二辺以上が円弧で
構成されないような四角形を、該三角形及び四角形の内
角が所定の角度の範囲になるように新たな端点を設ける
事により該図形に新たな線分又は円弧を作成し、これら
のデータとこれによって生じた新たな端点データを保持
し、次の端点を始点にして同様の処理を行って閉ループ
によって囲まれた該多辺形の領域のブロック分割を行う
多角形処理手段(19)と、 上記三角形処理手段(17)と、四角形処理手段(18)
と、多角形処理手段(19)とを起動させてブロック分割
を行うブロック分割処理手段(16)と、 図形データ読み込み手段(11)と、閉ループ検出手段
(15)、ブロック分割処理手段(16)とを起動させ、該
解析モデルのブロック分割を行うブロック分割制御手段
(10)とを有する事を特徴とする 板形状ブロック分割装置。 - 【請求項3】複数の与えられた端点を持つ板形状の解析
モデルについて、該解析モデルの板形状が同一平面上に
ある板形状か否かをチェックし、該解析モデルから同一
平面上にある板形状を分割する同一平面チェック手段
(14)を有する事を特徴とする請求項1記載の板形状ブ
ロック分割装置。 - 【請求項4】複数の与えられた端点を持つ板形状の解析
モデルについて、該解析モデルの板形状が同一平面上に
ある板形状か否かをチェックし、該解析モデルから同一
平面上にある板形状を分割する同一平面チェック手段
(14)を有する事を特徴とする請求項2記載の板形状ブ
ロック分割装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4693889A JP2850351B2 (ja) | 1989-02-28 | 1989-02-28 | 板形状ブロック分割装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4693889A JP2850351B2 (ja) | 1989-02-28 | 1989-02-28 | 板形状ブロック分割装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02226478A JPH02226478A (ja) | 1990-09-10 |
JP2850351B2 true JP2850351B2 (ja) | 1999-01-27 |
Family
ID=12761260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4693889A Expired - Fee Related JP2850351B2 (ja) | 1989-02-28 | 1989-02-28 | 板形状ブロック分割装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2850351B2 (ja) |
-
1989
- 1989-02-28 JP JP4693889A patent/JP2850351B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH02226478A (ja) | 1990-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1091325B1 (en) | Defining parameters for an FEA calculation in a CAD program | |
JP2850351B2 (ja) | 板形状ブロック分割装置 | |
CN114564770A (zh) | 一种在cad中批量进行平面弧形标注的方法 | |
JP3337608B2 (ja) | 解析シミュレーション装置 | |
JPH0616290B2 (ja) | 3次元連接体の形状定義方法 | |
JPH05225290A (ja) | 3次元パラメトリック機能による形状修正方式 | |
JP2652848B2 (ja) | 工具干渉を回避した自由曲面の加工情報生成方法 | |
JPS6324305A (ja) | 工具通路デ−タの作成方法 | |
JP3786412B2 (ja) | フィレット作成方法、及び3次元cadプログラム | |
JP2830026B2 (ja) | 自由曲面加工データ作成方法 | |
JP2707781B2 (ja) | 三次元形状加工方法 | |
JPH0312787A (ja) | 多角形パターンの重なり検査方式 | |
JP3145323B2 (ja) | ビア自動発生方法およびビア自動発生システム | |
JP2530896B2 (ja) | 金型設計システムにおける金型の抜き形状作成方法 | |
JP2848628B2 (ja) | 固体形状のブロック分割方式 | |
JP3405827B2 (ja) | 図形処理装置および交点決定処理方法 | |
JP3591892B2 (ja) | 文字列表示方法および文字列表示装置 | |
JPH03196369A (ja) | 3次元形状の点の指定方式 | |
JP3327734B2 (ja) | 図形処理方法および装置 | |
JPH0789291B2 (ja) | 工具通路デ−タの作成方法 | |
EP0155183A2 (en) | Geometric processing apparatus | |
JPH02260003A (ja) | 外形加工データ作成装置 | |
JPS6158008A (ja) | アプロ−チ通路決定方法 | |
JPH046851A (ja) | マスクパターンの基準寸法確認方法 | |
JPH05120374A (ja) | パターン検証用スリツトの設定方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |