GHL 3.3.1 リリースノート

本ドキュメントでは、 GHL の 3.3 から 3.3.1 へのバージョンアップの内容 について述べています。



バージョンアップの概要

・2次元:複合曲線のオフセット

2次元空間において複合曲線をオフセットする機能を正式にサポートしました。 以前のバージョンで「試験的に導入」していたものは、 与えられた複合曲線の円錐曲線や自由曲線の部分のオフセット結果が常にベジエ曲線でした。 今回の「正式サポート」では、 円錐曲線や自由曲線のオフセット結果をベジエ曲線、Bスプライン曲線のどちらにするか、 を選択できるようにしました。

なお、「試験的に導入」していたものと「正式にサポート」したものは違う 関数 になっています。 「試験的に導入」していたバージョンも以前と同じように使えるようにしてあります。

・2次元:閉じた複合曲線の自己干渉除去

2次元空間において閉じた複合曲線を自己干渉する箇所で分割する機能を正式にサポートしました。 以前のバージョンで「試験的に導入」していたものは、 与えられた複合曲線を構成するトリム曲線のベース曲線が 直線/円/ベジエ曲線のいずれかでなければならない、 という制限を持っていました。 今回の「正式サポート」では、 このベース曲線に関する制限を取り除きました。

なお、「試験的に導入」していたものと「正式にサポート」したものは違う 関数 になっています。 「試験的に導入」していたバージョンも以前と同じように使えるようにしてあります。

・2次元:閉じた複合曲線の集合演算

2次元空間において、二つの閉じた複合曲線の集合演算を行う 関数 を追加しました。

・2次元:トリム/複合曲線の干渉

二つのトリム曲線、あるいは二つの複合曲線の干渉 (交点&重複区間) を求める 関数 を追加しました。

・2次元:ラインセグメントの自己交差

ラインセグメントの自己交差を求める 関数 を追加しました。

・2次元:3形状要素に接する円の生成

2次元空間において、点/直線/円の組合せからなる三つの形状要素に接する円を求める 関数 を追加しました。

・3次元:トリム曲線のオフセット生成

3次元空間において、トリム曲線をオフセットした曲面を近似する自由曲面を生成する関数 ( ベジエ曲面, Bスプライン曲面, ) を追加しました。

・3次元:曲線境界曲面の三角形分割

曲線境界曲面の三角形分割の出力結果の品質を改善しました。


追加された関数

2次元

gh2smlpCCmc		閉じた複合曲線を自己交差点で分解する (正式版)
gh2sopcCCmcCCmc2	集合演算(積、タイプ2)
gh2sopcCCmcCCmc		集合演算(積)
gh2sopsCCmcCCmc2	集合演算(和、タイプ2)
gh2sopsCCmcCCmc		集合演算(和)
gh2trncCmc		複合曲線の前後を切断する
gh2convLsgRBsc		ラインセグメントを再現する有理Bスプライン曲線を得る
gh2convLsgRBzc		ラインセグメントを再現する有理ベジエ曲線を得る
gh2tngc3Ents		3形状要素が接する円を得る
gh2slifLsg		ラインセグメントの自己干渉を得る
gh2slisLsg		ラインセグメントの自己交差点を得る
gh2intfCmcCmc2		2複合曲線の干渉を得る (タイプ2)
gh2intfCmcCmc		2複合曲線の干渉を得る
gh2intfTrcTrc		2トリム曲線の干渉を得る
gh2ofstCmcCmcByBsc	複合曲線のオフセットを複合曲線で近似する (正式版)
gh2ofstCmcCmcByBzc	複合曲線のオフセットを複合曲線で近似する (正式版)
gh2asgnTrc		トリム曲線の定義情報に値を代入する

3次元

gh3trncCmc		複合曲線の前後を切断する
gh3convLsgRBsc		ラインセグメントを再現する有理Bスプライン曲線を得る
gh3convLsgRBzc		ラインセグメントを再現する有理ベジエ曲線を得る
gh3ofstTrcBss		トリム曲線のオフセットをBスプライン曲面で近似する(タイプ1)
gh3ofstTrcBss2		トリム曲線のオフセットをBスプライン曲面で近似する(タイプ2)
gh3ofstTrcBzs2		トリム曲線のオフセットをベジエ曲面で近似する(タイプ2)
gh3asgnTrc		トリム曲線の定義情報に値を代入する

不具合の修正

gh3isinCbs
ベース面がある方向に閉じていて、もう一方が無限であるような曲面を処理するとプログラムが落ちる可能性がありました。
(GHL 3.3 の 3D_patch01 に収録済み)
gh3convCbsSTri
曲線境界曲面の曲線境界がベース面の自然な境界と一致する場合に、うまく三角形分割できない場合がありました。
(GHL 3.3 の 3D_patch01 に収録済み)
gh3ints{Bzs,RBzs}{Bzs,RBzs}
面 A が平面状で、他方の面 B の境界が A に乗っている場合に、交線 (= その境界) が正しく得られないことがありました。
(GHL 3.3 の 3D_patch01 に収録済み)
gh3ofstCbsCbs
四角形の曲線境界曲面がオフセット後に三角形になることがありました。
(GHL 3.3 の 3D_patch01 に収録済み)
gh[23]intsTrcTrc
トリム曲面のベース曲線が Line or Circle の時に関数内部でメモリの解放を誤ることがありました。
(GHL 3.3 の [23]D_patch01 に収録済み)
gh3isinCbs
ベース曲面が閉じた有理 Bスプライン曲面で、開いた外周が与えられ、それに対応する開いた内周が与えられない場合に、処理がおかしくなることがありました。
(GHL 3.3 の 3D_patch01 に収録済み)
gh_mtrxLUDcmp
「正則ではない」ものとしてエラーを返すべき行列を正則であると判断してしまうことがありました。
(GHL 3.3 の 2D_patch01 に収録済み)
gh3intsSrfCbs
基礎面が閉じていて、その周期を跨ぐような境界を持つ曲線境界曲面の交線を求めると、その曲面に対するパラメータ値が境界内に収まらないことがありました。
gh3ifltSrfCbs
上の gh3intsSrfCbs と同様。
gh3gtdmCon
円錐面の V 方向の定義域を (0, HUGE) と返していました。
gh[23]lengCmc
pint を指定するとエラーになることがありました。
gh[23]convCmcLsg
長さ 0 の曲線の場合、点列の点数を 0 にしていました (最低でも2点を返すよう修正) 。
gh[23]genrTrcCArc2PC
始点と終点が一致する場合、長さ 0 の円弧が返るようになっていました。
gh3swepRBscDIV2
有理形状を非有理形状として扱っていました。
gh3aprxBsc4
Z 値が不定となることがありました。
貴重な時間を費やして、 不具合を御報告頂いた皆様に改めて感謝致します。 ありがとうございました。 今後ともよろしくお願い致します。

WIN32 用の作成環境

先日、 GHL のソースライセンスをお持ちで技術サポート契約をされているユーザの皆さんに GHL 3.3 の patch01 の発行をお知らせした際に、 GHL を WIN32 環境で利用する場合にお使いになっている開発環境についてお尋ねしました。 これに対して頂いた回答では、 現時点では WIN32 用の開発環境として Visual C++ 5.x 以外のものをお使いの方はいらっしゃいませんでした。 よって、今リリースでは WIN32 用の GHL を作成する際に必要となる ファイル (いわゆるプロジェクトファイル等) は Visual C++ 5.x 用のものだけを用意しました。

WIN32 用の GHL を Visual C++ 5.x 以外の開発環境で作成するために サポートを必要とされる場合には、 お手数ですがその旨をお知らせ下さるようお願いします。


技術サポート連絡先

サポートに関する御連絡は、以下の宛先へお送り下さるようお願いします。

株式会社 精密形状処理研究所
FAX:03-5276-6478

GHL 企画/開発担当者

企画
柿下 尚武	naokak@pml.co.jp	
長谷川 亨	hasegawa@sra.co.jp
開発
徐 子韜		zitao@pml.co.jp
鹿野 信幸	shikano@pml.co.jp
伊藤 英明	hideit@pml.co.jp

Copyright (c) 1998 Precision Modeling Laboratory,Inc., Tokyo, Japan. All Rights Reserved.