JP2018106548A - プログラム、情報処理装置、処理方法 - Google Patents
プログラム、情報処理装置、処理方法 Download PDFInfo
- Publication number
- JP2018106548A JP2018106548A JP2016254127A JP2016254127A JP2018106548A JP 2018106548 A JP2018106548 A JP 2018106548A JP 2016254127 A JP2016254127 A JP 2016254127A JP 2016254127 A JP2016254127 A JP 2016254127A JP 2018106548 A JP2018106548 A JP 2018106548A
- Authority
- JP
- Japan
- Prior art keywords
- corner
- rounding
- rounded
- value
- setting
- 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.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
【課題】対象となる角への丸み付けを効率化する仕組みを提供すること【解決するための手段】複数の線で描画された図形データを表示する情報処理装置は、丸み付けの設定値を受け付ける設定受付手段と、丸み付けをする角を為す線に基づき決定された丸み付け可能な値を取得する値取得手段と、前記設定受付手段で受け付けられた設定値で丸み付けができない角と、前記値取得手段で取得した丸み付け可能な値を表示する表示手段と、前記表示手段により表示された丸み付けができない角について丸み付けさせるべく、前記設定値を変更させて前記丸み付けができない角について丸み付けを実行制御する実行制御手段とを備える。【選択図】図3
Description
本発明は、図形データの角の丸み付けを支援する技術に関する。
CADソフトには、製品形状のモデリング過程で発生する輪郭を描画する際や製図作業を実施する際に平面空間のスケッチとして直線と直線の端点が一致する角を丸み付けるコマンドが一般的に備わっている。
このコマンドは「フィレット」などで呼称されるが、コマンドは処理の対象となる角の選択と具体的な丸みの半径の指定を受けつけ、角に丸み付けを行う。
このコマンドは「フィレット」などで呼称されるが、コマンドは処理の対象となる角の選択と具体的な丸みの半径の指定を受けつけ、角に丸み付けを行う。
このような丸み付けの先行技術として、特許文献1があげられる。特許文献1は、3次元モデルに含まれる稜線に対して丸み付けを行う際の負担を軽減する技術が述べられている。この手法は既に立体化されたモデルに対して丸み付けを予めデータ化することで操作者が作業を行う際にはモデルに対して丸み付けを操作者の作業を伴わず実行することを可能とし、有効な角と無効な角とを一覧表示するなどによって操作者の作業効率向上を促す仕組みである。
CADソフトにおいて、一度のコマンド処理においては多数の角の選択を同時に受け付けることも可能であるが、半径については一つの値を受け付けるのみである。すなわち、直線の長短やなす角の大小に関わらず、複数の角に対して丸み付けを行う際の半径は一つであるため、その半径によっては受け付けた全ての角に対して丸み付けを実行することができない場合がある。
具体的には2本の直線長さが受け付けた半径に対して十分に長くない場合や直線同士のなす角が十分に大きくない場合、丸み付けを実行した際に直線部が残らないほどの丸み付けが行われてしまうためである。
CADソフトではこのように受け付けた角の一部に対して丸み付けを正常に実施できなかった場合、コマンドエラーとして全ての角に対する丸み付けが解消されるか、または実施可能な角にだけ丸み付けを行うなどの結果が得られる。
しかし、丸み付けが解消され、再度丸み付けを実行する場合、或いは、丸み付けを行えなかった部分に対して再度丸み付けを実行する場合、具体的にどの程度の半径であれば丸み付けが可能であるかを把握するためにはそれぞれの角を構成する直線の長さを把握する必要があるため対応が困難である。
また、特許文献1においても、丸み付けが無効な角に対して具体的にどの程度の半径であれば丸み付けが可能になるかについて考慮されておらず、丸み付けの作業負担を軽減することはできない。
そこで、本発明の目的は、対象となる角への丸み付けを効率化する仕組みを提供することである。
複数の線で描画された図形データを表示する情報処理装置は、丸み付けの設定値を受け付ける設定受付手段と、丸み付けをする角を為す線に基づき決定された丸み付け可能な値を取得する値取得手段と、前記設定受付手段で受け付けられた設定値で丸み付けができない角と、前記値取得手段で取得した丸み付け可能な値を表示する表示手段と、前記表示手段により表示された丸み付けができない角について丸み付けさせるべく、前記設定値を変更させて前記丸み付けができない角について丸み付けを実行制御する実行制御手段とを備える。
本発明によれば、対象となる角への丸み付けを効率化することができる。
以下、図面を参照して、本実施形態の一例について説明する。
図1は、本実施形態のCADシステム100のシステム構成の一例を示す図である。本実施形態のCADシステム100は、情報処理装置101、サーバ102が設置されており、それら装置はLAN(Local Area Network)等のネットワーク103を介して相互にデータ通信可能に接続されている。図1のネットワーク103上に接続される各種端末あるいはサーバの構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。また、CADシステムとしては、2次元または3次元のCADシステムであってもよいことは言うまでもない。
情報処理装置101は、オペレーティングシステム上でCADアプリケーション300と丸み付け支援プログラム310を実行する装置である。CADアプリケーション300と丸み付け支援プログラム310は後述する図2のROM202または外部メモリ211に記憶されており、ユーザからの指示に応じて、CPU201がRAM203に読み出して各種動作を行う。なお、クラウド環境でプログラムを実行させる場合には、サーバ102にCADアプリケーション300と丸み付け支援プログラム310がインストールされ、情報処理装置101からの要求により実行されるものとする。また、丸み付け支援プログラム310は、CADアプリケーション300にアドインされ、CADアプリケーション300と協働して実行されるものとする。
オペレーティングシステムは、情報処理装置101を動作させるための基本的なアプリケーションである。オペレーティングシステム上でCADアプリケーション300と丸み付け支援プログラム310、その他各種プログラムを動作させることができる。
CADアプリケーション300は、ユーザからの操作に応じて、設計物の立体形状を示す3次元モデルの作成や構築、また3次元モデルに基づく輪郭線、或いはユーザ任意に操作して作成した複数の線で描画された2次元データ(2次元図面)の作成を行う。更に、CADアプリケーション300では、3次元モデルを表示し、ユーザからの操作によって、任意の表示方向に変更することができる。
丸み付け支援プログラム310は、CADアプリケーション300のAPIを用いて、CADアプリケーション300に命令を出力することが可能であり、例えば、丸み付け支援プログラム310が提供する画面で指定された指定半径で対象となる角に対するコーナーの作成要求を行うことができる。
また、丸み付け支援プログラム310は、CADアプリケーション300により実行された丸み付けの結果を受け付け、丸み付け結果を丸み付け支援プログラム310が提供する画面で表示することができる。
サーバ102は、情報処理装置101で作成された各種データを記憶管理する装置である。3次元モデルや2次元図面は、複数のユーザによって作成される場合があり、その場合には1つのサーバ102に各ユーザの情報処理装置101で作成された3次元モデルや2次元図面を一元管理する。
尚、情報処理装置101が、サーバ102の構成を含んでもよいし、サーバ102が情報処理装置101の構成を含んでもよい。また、本実施形態においては、情報処理装置101に各種データが記憶され、ユーザからの操作によって動作させる形態に基づいて説明を行う。
また、本実施形態では2次元図面で描画される線を用いた2次元データを用いた説明とするが、3次元データを用いて、面と面が共有するエッジ(面と面が接する部分)についても適用可能である。この場合エッジからの角面の奥行の長さによって、エッジに対する丸み付けの最大値が変わる。
図2は、本発明の実施形態における各種端末のハードウェア構成を示す図である。
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
また、ROM202あるいは外部メモリ211(記憶)には、CPU201の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM203は、CPU201の主メモリ、ワークエリア等として機能する。
CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
また、入力コントローラ(入力C)205は、キーボード209や不図示のマウス等のポインティングデバイスからの入力を制御する。
CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
また、入力コントローラ(入力C)205は、キーボード209や不図示のマウス等のポインティングデバイスからの入力を制御する。
ビデオコントローラ(VC)206は、CRTディスプレイ(CRT)210等の表示器への表示を制御する。表示器はCRTだけでなく、液晶ディスプレイでも構わない。これらは必要に応じて管理者が使用するものである。
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフロッピーディスク(登録商標 FD)或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ211へのアクセスを制御する。
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
尚、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明の情報処理装置101が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ211に格納されている。
次に、情報処理装置101の機能構成図について、図3を用いて説明する。尚、図3の機能構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
情報処理装置101は、オペレーティングシステム、CADアプリケーション300、丸み付け支援プログラム310を有し、CPU201が実行制御する。丸み付け支援プログラム310は、CADアプリケーション300のAPIを用いて、CADデータへの制御を実行する。また、丸み付け支援プログラム310は、設定受付部301、値取得部302、表示部303、実行制御部304、角指定受付部305、線情報取得部306、選択制御部307、角特定部308の機能部を有している。以下、それぞれの機能部について、説明する。
まず、丸み付け支援プログラム310は、複数の線で描画された図形データを表示する情報処理装置で実行可能なプログラムである。
設定受付部301は、丸み付けの設定値を受け付ける機能部である。
値取得部302は、丸み付けをする角を為す線に基づき決定された丸み付け可能な値を取得する機能部である。
表示部303は、設定受付部301で受け付けられた設定値で丸み付けができない角と、値取得部302で取得した丸み付け可能な値を表示する機能部である。
実行制御部304は、表示部303により表示された丸み付けができない角について丸み付けさせるべく、前記設定値を変更させて前記丸み付けができない角について丸み付けを実行制御する機能部である。
設定受付部301は、丸み付けの設定値を受け付ける機能部である。
値取得部302は、丸み付けをする角を為す線に基づき決定された丸み付け可能な値を取得する機能部である。
表示部303は、設定受付部301で受け付けられた設定値で丸み付けができない角と、値取得部302で取得した丸み付け可能な値を表示する機能部である。
実行制御部304は、表示部303により表示された丸み付けができない角について丸み付けさせるべく、前記設定値を変更させて前記丸み付けができない角について丸み付けを実行制御する機能部である。
また、表示部303は、設定受付部301で受け付けられた設定値で丸み付けできる角と丸み付けできない角とを一覧表示する機能部である。
また、実行制御部304は、前記丸み付けできる角について丸み付けを実行制御する機能部である。
更に、表示部303は、実行制御部304による丸み付けの実行制御後に、丸み付けができない角を一覧表示する機能部である。
更に、実行制御部304は、段階的に丸み付けできない角の丸み付けを実行制御する機能部である。
また、実行制御部304は、前記丸み付けできる角について丸み付けを実行制御する機能部である。
更に、表示部303は、実行制御部304による丸み付けの実行制御後に、丸み付けができない角を一覧表示する機能部である。
更に、実行制御部304は、段階的に丸み付けできない角の丸み付けを実行制御する機能部である。
角指定受付部305は、表示部303で、角の指定を受け付ける機能部である。
線情報取得部306は、角指定受付部305により受け付けた角を為す線の線情報を取得する機能部である。
選択制御部307は、線情報取得部306により取得された線情報に従って、前記図形における選択を制御する機能部である。
なお、設定値は、指定半径による丸み付け、最大半径による丸み付け、最小半径による丸み付けのいずれかの選択による値である。
線情報取得部306は、角指定受付部305により受け付けた角を為す線の線情報を取得する機能部である。
選択制御部307は、線情報取得部306により取得された線情報に従って、前記図形における選択を制御する機能部である。
なお、設定値は、指定半径による丸み付け、最大半径による丸み付け、最小半径による丸み付けのいずれかの選択による値である。
角特定部308は、前記指定半径による丸み付けの場合に設定された指定半径値と、値取得部302で取得した丸み付け可能な値とに従って、丸み付けができない角を特定する機能部である。
また、表示部303は、角特定部308により特定された角に対して丸み付けができない旨を示す情報を表示する機能部である。
また、表示部303は、角特定部308により特定された角に対して丸み付けができない旨を示す情報を表示する機能部である。
なお、本実施形態では、一例として、丸み付け支援プログラム310に特徴となる機能を有する構成としたが、CADアプリケーション300自身が機能を有して実行する構成であってもよい。
次に、本実施形態における情報処理装置101によって行われる基本処理について、図4に示すフローチャートを用いて説明する。尚、S401からS415の各ステップは情報処理装置101におけるCPU201が、情報処理装置101にインストールされたCADアプリケーション300及び丸み付け支援プログラム310を実行するものとする。丸み付け支援プログラム310は、例えばCADアプリケーション300にアドイン(アドオンともいう)されているものとする。
ステップS401では、操作者によるコマンド起動処理を受け付けることによって処理の対象となる2次元データをCADアプリケーション300上で表示し、また、当該CADアプリケーション300の画面において丸み付け支援プログラム310の起動操作を受け付けることによって丸み付け支援プログラム310を起動する。そして、ステップS402へ処理を移行する。
ステップS402では、丸み付け支援プログラム310が、図7に示す設定入力受け付けダイアログを表示し、ステップS403へ処理を移行する。
ステップS402では、丸み付け支援プログラム310が、図7に示す設定入力受け付けダイアログを表示し、ステップS403へ処理を移行する。
ここで図7を用いて設定入力受け付けダイアログ700を説明する。対象選択ボタン701の押下によりCADアプリケーション300の操作受付状態へと移行し、CADアプリケーション300上から操作者によって選択されるスケッチ要素(例えば、丸み付けをしたい角を為す線要素を含む2次元データ)を取得してボタン上に対象の名称を表示する。なお、線要素を個々に選択するようにしてもよい。CADデータに含まれるスケッチ要素には、スケッチ名が設定されている。また、スケッチ要素(正面、側面、上面、モデル平面など)は、CADデータには複数あるので、その中から選択するものである。
テキストボックス702は、丸み付けを行う際の半径を受け付け、オプションボタン703は丸み付けの設定切り替えを受け付け、グリッド704は後述する丸み付け評価の結果を表示し、実行ボタン705はグリッド704に表示された内容で丸み付処理を実行し、復元ボタン706は直前に実行した丸み付け処理を無効化し、閉じるボタン707は全ての処理を終了してダイアログ700を閉じる。
ステップS403では、対象選択ボタン701の押下を受け付けることによりCADアプリケーション300の操作受付状態へと移行し、CADアプリケーション300上から操作者によって選択されるスケッチ要素を取得し、その名称を対象選択ボタン701のキャプションへ反映しステップS404へ処理を移行する。なお、図10は説明に用いるスケッチの一例である。
ステップS404の直線リスト作成処理とは、直線エンティティリストテーブル(図8)を用いてステップS403で受け付けたスケッチ要素の中から直線要素を抽出し、この直線要素のデータテーブルを作成し、ステップS405へ処理を移行する。ステップS404の処理については図5で後述する。
ステップS405の最大半径リスト作成処理とは、コーナーリストテーブル(図9)を用いてステップS404で更新した直線エンティティリストテーブルから直線同士で構成される接点、すなわちコーナーをデータテーブルとして作成し、コーナーごとに有効な丸み付けの最大半径をデータテーブル内へ格納してステップS406へ処理を移行する。ステップS405の処理については図6の説明で後述する。なお、ステップS405は、丸み付けをする角を為す線に基づき決定された丸み付け可能な値を取得する値取得処理の一例を示すものである。
ステップS406では、図7のテキストボックス702及びオプションボタン703によって操作者から丸み付けを行う際の指定半径と丸み付けの処理内容の選択を受け付け、ステップS407へ処理を移行する。
オプションボタン703では、指定半径による丸み付け、最大半径による丸み付け、最小半径による丸み付けのいずれかの選択が可能である。テキストボックス702の値(指定半径)は、オプションボタン703で指定半径による丸み付けが選択された場合に有効とする。
すなわち、ステップS406は、丸み付けの設定値を受け付ける設定受付処理の一例を示すものである。
すなわち、ステップS406は、丸み付けの設定値を受け付ける設定受付処理の一例を示すものである。
ステップS407では、ステップS405で更新したコーナーリストテーブル(図9)に対してステップS406で受け付けた丸み付けの設定を参照させることによってコーナーごとの丸み付け判定結果を図7のグリッド704へ表示し、ステップS408へ処理を移行する。
ここで、図11を用いてステップS406の受け付け結果に基づいたグリッド704の変化について説明する。
ここで、図11を用いてステップS406の受け付け結果に基づいたグリッド704の変化について説明する。
ダイアログ1101の状態はステップS406までの処理結果に基づいてグリッド704を更新した場合の一例であり、グリッド704へコーナーNo、最大R、実行Rをヘッダとして表示する。グリッド704のNoはコーナーリストテーブル900のレコードNo901を表示し、最大Rには最大半径905を表示し、オプションボタン703で「指定半径」の選択を受け付けた場合で、テキストボックス702で受け付けた値が対象レコードの最大半径を下回る場合は実行Rにはテキストボックス702の値を表示する。実行Rに数値を表示することはすなわち表示する半径によって当該コーナーを丸み付けすることを示唆する。一方、対象レコードの最大半径905がテキストボックス702の値を下回る場合は実行Rには「NG」を表示する。実行Rに「NG」を表示することは当該コーナーには丸み付けしない(できない)ことを示唆する。すなわち、設定値で丸み付けできる角と丸み付けできない角とを一覧表示する表示処理の一例を示すものである。また、指定半径による丸み付けの場合に設定された指定半径値と、取得した丸み付け可能な値(最大半径)とに従って、丸み付けができない角を特定する角特定する処理の一例を示すものである。「NG」は、丸み付けができない旨を示す情報である。
オプションボタン703で「最大半径」の選択を受け付けた場合、グリッド704の実行Rはそれぞれのレコードの最大Rに表示する値をそのまま表示する。最大Rはそれぞれのコーナーに丸み付けをすることが有効な最大半径である。オプションボタン703に対する「最大半径」の受け付けとは、すなわちそれぞれのコーナーを可能な限り大きな半径によって丸み付け処理を行うことを示唆する。
ダイアログ1102の状態はステップS406においてオプションボタン703が「最大半径」を受け付けた場合のステップS407におけるグリッド704の表示状態の一例である。
オプションボタン703で「最小半径」の選択を受け付けた場合、グリッド704の実行Rはレコード全体の最大Rの中で最小の値をすべての実行Rに表示する。オプションボタン703に対する「最小半径」の受け付けとは、すなわちそれぞれのコーナーに等しく有効な半径の中で最も大きい半径によって丸み付け処理を行うことを示唆する。
ダイアログ1103の状態はステップS406においてオプションボタン703が「最小半径」を受け付けた場合のステップS407におけるグリッド704の表示状態の一例である。
すなわち、ステップS407は、設受け付けられた設定値で丸み付けができない角と、取得した丸み付け可能な値を表示する表示処理の一例を示すものである。
すなわち、ステップS407は、設受け付けられた設定値で丸み付けができない角と、取得した丸み付け可能な値を表示する表示処理の一例を示すものである。
ステップS408では、ステップS403から407までの処理結果に対して実行ボタン705の押下による操作者の丸み付け処理の実行を受け付ける。押下を受け付けた場合はステップS409へ処理を移行し、受け付けなかった場合はステップS413へ処理を移行する。
ステップS409では、図7のグリッド704に表示する丸み付け内容に沿ってステップS403で受け付けたスケッチ要素に対してコーナーの丸み付け処理を行う。具体的にはCADアプリケーション300のAPIを用いてコーナーごとにグリッド704に表示する半径によって丸み付けを行い、ステップS410へ処理を移行する。ここで図12にステップS409の処理結果の一例を示す。1200は実行前の状態を示し、1210は実行後の状態を示す。1211に示す通り、NGのコーナーには丸み付けがされていないことがわかる。すなわち、丸み付けできる角について丸み付けを実行制御する実行制御処理の一例を示すものである。また、丸み付けできない角に対して、設定を変更して繰り返し丸み付けの実行制御をする。すなわち、段階的に丸み付けできない角の丸み付けを実行制御する実行制御処理の一例を示すものである。
ステップS410では、ステップS409で行った丸み付け処理結果に対して復元ボタン706の押下による操作者の丸み付け復元の実行を受け付ける。押下を受け付けた場合はステップS412へ、受け付けなかった場合はステップS411へ処理を移行する。
ステップS411では、図7のグリッド704の表示する実行半径でNGとなるグリッドが含まれていたか否かを判定し、含まれていなかった場合は処理を終了し、図7の閉じるボタン707の押下を受け付けた場合はダイアログを閉じる。含まれていた場合はステップS415へ処理を移行する。
ステップS412では、ステップS409で行った丸み付け処理を無効化し(元に戻し)、処理直前の状態へCADデータを復元する。具体的にはCADアプリケーション300のAPIを用いて一般的にUnDoと呼ばれる処理を実行することで実現する。なお、UnDoの実行回数は丸み付けを行ったコーナーの数に準じ処理を繰り返し、ステップS413へ処理を移行する。
ステップS413では、図7のグリッド704による操作者からのグリッド選択受付処理行う。グリッドの選択を受け付けた場合はステップS414へ、受け付けなかった場合はステップS406へ処理を移行する。すなわち、角の指定を受け付ける角指定受付処理の一例を示すものである。
ステップS414では、ステップS413で選択を受け付けたグリッド行のコーナーを構成するスケッチ要素(角を為す線)の情報を取得する。すなわち、受け付けた角を為す線の線情報を取得する線情報取得処理の一例を示すものである。
そして、取得したスケッチの情報に基づく選択要求をCADアプリケーション300に行い、CADアプリケーション300で選択状態にする。すなわち、取得された線情報に従って、前記図形における選択を制御する選択制御処理の一例を示すものである。
これにより操作者に対象の位置を認識させ、ステップS406へ処理を移行する。ここで図13にステップS414による処理結果の一例を示す。1300は、グリッド704でのコーナーを選択前の状態を示す。1320は、グリッド704で1310のNGのコーナーを選択した場合の状態を示す。1321のようにコーナー(角)を為す線が選択状態で表示されている。
ステップS415では、ステップS405で更新したコーナーリストテーブルをステップS409の実行結果に基づいて更新する。具体的には丸み付けを行ったスケッチ要素をコーナーリストテーブルから削除し、丸み付けを行わなかったスケッチ要素にコーナーリストテーブルを更新し、ステップS406へ処理を移行する。ここで図14にステップS415による処理結果の一例を示す。実行ボタン705の押下前の状態が1400で、コーナーリストテーブルの状態は1401である。実行ボタン705の押下後の状態が、1410で、コーナーリストテーブルの状態は1411である。1410で示す通り、NGのコーナーがグリッド704に表示される。すなわち、丸み付けの実行制御後に、丸み付けができない角を一覧表示する表示処理の一例を示すものである。
また、ステップS415の後に、ステップS409を実行する処理は、表示された丸み付けができない角について丸み付けさせるべく、設定値を変更させて丸み付けができない角について丸み付けを実行制御する実行制御処理の一例を示すものである。
これにより、NGのコーナーに対して、再度、指定半径を受け付け、丸み付けを実行することが可能となり、丸み付けを効率化することができる。NGのコーナーに対してステップS406で丸み付け設定し、実行ボタン705が押下された状態を示す図が、図17である。すべてのコーナーに丸み付けがされていることがわかる。以上が図4の説明である。
次に図5を参照して、直線リスト作成処理の流れについて説明する。尚、ステップS501〜S506の各ステップは、情報処理装置101におけるCPU201が、情報処理装置101にインストールされた丸み付け支援プログラム310の機能を用いて実行するものとする。
ステップS501では、ステップS403で受け付けたスケッチをCADアプリケーション300のAPIを用いて取得し、ステップS502へ処理を移行する。
ステップS502では、ステップS501で取得したスケッチを構成するすべてのスケッチ要素から1つのスケッチ要素をエンティティとして取得し、ステップS503へ処理を移行する。
ステップS503では、直前で取得したエンティティが直線であるかの判定を行い、直線である場合は、図8に示す直線エンティティリストテーブル800へ所定のNo901のレコードとして内部ID802を追加してステップS504へ移行する。直線でない場合はレコードとして追加せずにステップS506へ処理を移行する。直線であるかの判定を詳しく説明すると、スケッチ要素には直線や円弧やスプラインや点が含まれており、それぞれをCADアプリケーション300ではスケッチ内のエンティティとして管理している。CADアプリケーション300の内部ではこれらのエンティティが直線であるか円弧であるかの属性を明示的に定義しており、APIによってそのエンティティの定義をプロパティとして取得することにより直線であるか否かを判定する。
ステップS504では、CADアプリケーション300のAPIによって直線の始点座標を取得し、図8の始点X803と始点Y804へ格納し、同様に終点座標についても取得し、図8の終点X805と終点Y806へ格納し、ステップS505へ処理を移行する。
ステップS505では、CADアプリケーション300のAPIによって対象の直線の長さを取得し、図8の長さ807へ格納し、ステップS506へ処理を移行する。
ステップS506では、処理中のスケッチエンティティがスケッチ内の最後のエンティティであるかの判定を行い、最後のエンティティであれば処理を終了し、最後のエンティティでなければステップS502へ処理を移行する。ここで図15にステップS502〜506による処理結果の一例を示す。1501は、ステップS504の処理を実行した後の直線エンティティリストテーブルの状態である。1502は、ステップS505の処理を実行した後の直線エンティティリストテーブルの状態である。1503は、すべてのエンティティに対して処理を実行した後の直線エンティティリストテーブルの状態である。以上が図5の説明である。
次に、図6を参照して、コーナーリスト作成処理の流れについて説明する。尚、ステップS601〜S608の各ステップは、情報処理装置101におけるCPU201が、情報処理装置101にインストールされた丸み付け支援プログラム310の機能を用いて実行するものとする
ステップS601では、ステップS403で受け付けたスケッチを取得し、ステップS602へ処理を移行する。
ステップS602では、ステップS601で取得したスケッチ内に含まれる点を取得し、ステップS603へ処理を移行する。点の情報としては座標を示すものとするが、点を識別する点IDなどを用いる形態であってもよい。この場合、点IDとこの点を持つ線要素とが関連付いているものとする。
ステップS603では、ステップS602で取得した点を共有するエンティティの一覧をCADアプリケーション300のAPIを用いて取得し、異なる2つのエンティティで構成されているかを判定し、構成されている場合はステップS604へ、構成されていない場合はステップS608へ処理を移行する。具体的には、点はスケッチ要素として単独で位置する場合と、エンティティ同士の接点として位置する場合があり、また接点として位置する場合でも2つ以上のエンティティ同士の接点として位置する場合がある。3つ以上のエンティティによって構成される接点の場合、後述する丸み付けを実行することは輪郭の崩れをきたす要因となるため丸み付けをしないように制御する。そのため、本実施形態では2つのエンティティによって構成される点に対して処理を行うものとする。
ステップS604では、ステップS602で取得した点を構成する2つのエンティティがいずれも直線であるかの判定を行い、2つとも直線である場合はステップS605へ、いずれかもしくは片方が直線でない場合はステップS608へ処理を移行する。
ステップS605では、ステップS604で判定した2つの直線エンティティの内部IDを図9のコーナーリストテーブル900へ所定のNo901のレコードとして内部ID1 902と内部ID2 903へ格納し、ステップS606へ処理を移行する。
ステップS606では、ステップS604で判定した2つの直線エンティティの内角(0度<角度<180度)をCADアプリケーション300のAPIを用いて取得し、ステップS605で追加したレコードの内角904へ格納し、ステップS607へ処理を移行する。
ステップS607では、ステップS606までにコーナーリストテーブル900へ格納したレコードをもとに、ステップS602で取得した点(すなわちコーナー)で丸み付けを行う際に有効となる最大半径を算出し、コーナーリストテーブル900の最大半径905へ格納し、ステップS608へ処理を移行する。具体的には、内部ID1 902及び内部ID2 903に格納した情報をもとに、直線エンティティリストテーブル800を検索し、内部IDが一致するレコードの長さに格納した値を「L1」、「L2」として取得し、ステップS606で取得した内角を「θ」として以下の算出式で内部ID1及び2の直線エンティティに絞った場合の最大半径1及び2を取得し、算出結果の値が小さい方を当該コーナーの最大半径として900の最大半径905へ格納する。
式:最大半径=(L/2)tan(θ/2)
式:最大半径=(L/2)tan(θ/2)
ステップS608では、処理中の点がスケッチ内の最後の点エンティティであるかの判定を行い、最後の点エンティティであれば処理を終了し、最後の点エンティティでなければステップS602へ処理を移行する。ここで図16にステップS602〜608による処理結果の一例を示す。1601は、ステップS605の処理を実行した後のコーナーリストテーブルの状態である。1602は、ステップS606の処理を実行した後のコーナーリストテーブルの状態である。1603は、ステップS607の処理を実行した後のコーナーリストテーブルの状態である。1604は、全エンティティに対して処理を実行した後のコーナーリストテーブルの状態である。以上が図6の説明である。
以上説明したように、本実施形態によれば、対象となる角への丸み付けを効率化することができる。
特に、CADアプリケーション300上のスケッチ要素に対して丸み付けを行う際、任意の半径で丸み付けを行うことができないコーナーを操作者が事前に、容易に認識することができる。またそれらを段階的に繰り返し行うことやすべてのコーナーに丸み付けが有効となる最大半径を容易に認識することができるため、コーナーを丸み付けする作業を容易にすることができる。
また、複数の角に対して均一の半径で丸み付けを行う作業において任意の半径による丸み付けが実施できない場合、半径をどの程度変化させることが可能かの判断の負担を解消することができる。
例えば、指定半径に対して丸み付けが実施できない角を丸み付けの対象から取り除き、丸み付けを行った後、丸み付けが実施できない角に対して、最大半径、最小半径、指定半径のモードを選択させて、丸み付けをさせることが可能となる、丸み付けにおける負担を軽減できる。
本実施形態は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本実施形態は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本実施形態の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本実施形態のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本実施形態のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本実施形態のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。例えば、本実施形態では、直線同士で共有する点(角)に対する丸み付け処理としたが、直線と円弧の組み合わせで行ってもよい。
100 CADシステム
101 情報処理装置
102 サーバ
103 ネットワーク
201 CPU
300 CADアプリケーション
310 丸み付け支援プログラム
101 情報処理装置
102 サーバ
103 ネットワーク
201 CPU
300 CADアプリケーション
310 丸み付け支援プログラム
Claims (7)
- 複数の線で描画された図形データを表示する情報処理装置のプログラムであって、
前記情報処理装置を、
丸み付けの設定値を受け付ける設定受付手段と、
丸み付けをする角を為す線に基づき決定された丸み付け可能な値を取得する値取得手段と、
前記設定受付手段で受け付けられた設定値で丸み付けができない角と、前記値取得手段で取得した丸み付け可能な値を表示する表示手段と、
前記表示手段により表示された丸み付けができない角について丸み付けさせるべく、前記設定値を変更させて前記丸み付けができない角について丸み付けを実行制御する実行制御手段
として機能させるためのプログラム。 - 前記表示手段は、前記設定受付手段で受け付けられた設定値で丸み付けできる角と丸み付けできない角とを一覧表示し、
前記実行制御手段は、前記丸み付けできる角について丸み付けを実行制御し、
更に、前記表示手段は、前記実行制御手段による丸み付けの実行制御後に、丸み付けができない角を一覧表示することを特徴とする請求項1に記載のプログラム。 - 前記実行制御手段は、段階的に丸み付けできない角の丸み付けを実行制御することを特徴とする請求項1又は2に記載のプログラム
- 前記表示手段で、角の指定を受け付ける角指定受付手段と、
前記角指定受付手段により受け付けた角を為す線の線情報を取得する線情報取得手段と、
前記線情報取得手段により取得された線情報に従って、前記図形における選択を制御する選択制御手段と
を更に備えることを特徴とする請求項1乃至3のいずれか1項に記載のプログラム。 - 前記設定値は、指定半径による丸み付け、最大半径による丸み付け、最小半径による丸み付けのいずれかの選択による値であって、
前記指定半径による丸み付けの場合に設定された指定半径値と、前記値取得手段で取得した丸み付け可能な値とに従って、丸み付けができない角を特定する角特定手段を更に備え、
前記表示手段は、前記角特定手段により特定された角に対して丸み付けができない旨を示す情報を表示することを特徴とする請求項1乃至4のいずれか1項に記載のプログラム。 - 複数の線で描画された図形データを表示する情報処理装置であって、
丸み付けの設定値を受け付ける設定受付手段と、
丸み付けをする角を為す線に基づき決定された丸み付け可能な値を取得する値取得手段と、
前記設定受付手段で受け付けられた設定値で丸み付けができない角と、前記値取得手段で取得した丸み付け可能な値を表示する表示手段と、
前記表示手段により表示された丸み付けができない角について丸み付けさせるべく、前記設定値を変更させて前記丸み付けができない角について丸み付けを実行制御する実行制御手段と
を備えることを特徴とするプログラム。 - 複数の線で描画された図形データを表示する情報処理装置の処理方法であって、
丸み付けの設定値を受け付ける設定受付ステップと、
丸み付けをする角を為す線に基づき決定された丸み付け可能な値を取得する値取得ステップ手段と、
前記設定受付ステップで受け付けられた設定値で丸み付けができない角と、前記値取得ステップで取得した丸み付け可能な値を表示する表示ステップと、
前記表示ステップにより表示された丸み付けができない角について丸み付けさせるべく、前記設定値を変更させて前記丸み付けができない角について丸み付けを実行制御する実行制御ステップと
を含むことを特徴とする処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016254127A JP2018106548A (ja) | 2016-12-27 | 2016-12-27 | プログラム、情報処理装置、処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016254127A JP2018106548A (ja) | 2016-12-27 | 2016-12-27 | プログラム、情報処理装置、処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018106548A true JP2018106548A (ja) | 2018-07-05 |
Family
ID=62787301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016254127A Pending JP2018106548A (ja) | 2016-12-27 | 2016-12-27 | プログラム、情報処理装置、処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018106548A (ja) |
-
2016
- 2016-12-27 JP JP2016254127A patent/JP2018106548A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7078834B2 (ja) | 情報処理装置、情報処理システム、その制御方法及びプログラム | |
JP2018106548A (ja) | プログラム、情報処理装置、処理方法 | |
JP2018063730A (ja) | プログラム、情報処理装置、及びその処理方法 | |
JP2018045465A (ja) | 情報処理装置、情報処理システム、その制御方法及びプログラム | |
JP6365397B2 (ja) | 情報処理装置、情報処理システム、その制御方法及びプログラム | |
JP2018106333A (ja) | 情報処理装置、情報処理システム、その制御方法及びプログラム | |
JP6024087B2 (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
JP2019050064A (ja) | 情報処理装置、情報処理システム、その制御方法及びプログラム | |
JP6458373B2 (ja) | 情報処理装置、情報処理システム、その制御方法及びプログラム | |
JP6282973B2 (ja) | 情報処理装置のプログラム、情報処理装置の制御方法、及び情報処理装置 | |
JP2011128996A (ja) | 情報処理装置、情報処理方法、及びコンピュータプログラム | |
JP6912741B2 (ja) | 情報処理装置、情報処理システム、その制御方法及びプログラム | |
JP2018063734A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP4347017B2 (ja) | 情報処理方法及び画像処理方法 | |
JP2021108032A (ja) | 情報処理装置とその処理方法、プログラム | |
JP6826297B1 (ja) | 情報処理装置、情報処理システム、その制御方法及びプログラム | |
JP2018200657A (ja) | 情報処理装置、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラム | |
JP6908852B2 (ja) | プログラム、情報処理装置とその処理方法 | |
JP2019008667A (ja) | プログラム、情報処理装置とその処理方法 | |
JP2017182802A (ja) | 情報処理装置、情報処理システム、その制御方法及びプログラム | |
JP6677882B2 (ja) | 情報処理装置、その制御方法及びプログラム | |
JP2020201724A (ja) | 情報処理装置、情報処理システム、その制御方法及びプログラム | |
JP2018005311A (ja) | 情報処理装置、情報処理システム、その制御方法及びプログラム | |
JP5982812B2 (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
JP6649572B2 (ja) | 情報処理装置、情報処理システム、その制御方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20180703 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20181031 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20190111 |