JP2019106151A - Program, information processing device and its processing method - Google Patents
Program, information processing device and its processing method Download PDFInfo
- Publication number
- JP2019106151A JP2019106151A JP2017240011A JP2017240011A JP2019106151A JP 2019106151 A JP2019106151 A JP 2019106151A JP 2017240011 A JP2017240011 A JP 2017240011A JP 2017240011 A JP2017240011 A JP 2017240011A JP 2019106151 A JP2019106151 A JP 2019106151A
- Authority
- JP
- Japan
- Prior art keywords
- setting
- priority
- annotation
- area
- overlap
- 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.)
- Granted
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 27
- 238000003672 processing method Methods 0.000 title claims description 3
- 238000000034 method Methods 0.000 abstract description 89
- 238000012545 processing Methods 0.000 description 54
- 239000008186 active pharmaceutical agent Substances 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Abstract
Description
CADのオブジェクトの移動制御に関するプログラム、情報処理装置とその処理方法。 Program related to movement control of CAD object, information processing apparatus and processing method thereof
従来から、CADにおいて二次元の図面上で寸法が重ならないように制御する技術が開示されている(例えば、特許文献1)。 Conventionally, a technique of controlling so that dimensions do not overlap in a two-dimensional drawing in CAD has been disclosed (for example, Patent Document 1).
この技術は、図形の端線を基準線とし、基準線を開始線として、図形の端点を図形の外形線から識別し、寸法を作成する。また、寸法値を表す数字フォントのサイズに応じて寸法線の配置位置を調整している。特に同一の種別(水平寸法など)における調整を行っている。 In this technique, the end of a figure is identified from the outline of the figure by using the end of the figure as a reference line and the reference line as a start line, and dimensions are created. Also, the arrangement position of the dimension line is adjusted according to the size of the number font representing the dimension value. In particular, adjustments are made for the same type (horizontal dimension etc.).
しかしながら、図面においては、寸法線だけでなく、引き出し線を用いて図面に注記(アノテートともいう)を付すことが多くある。 However, in the drawings, not only dimension lines but also lead lines are often used to annotate the drawings (also referred to as annotations).
この注記は、ユーザがコマンドやテンプレートを使って、引き出し線とテキストを付すことがある。例えば、テンプレート(穴と引き出し線とテキストを生成するコマンドをまとめたもの)を用いた場合、単純に図面上に配置されてしまうため、他の注記(アノテート)と重なりが発生してしまう。仮に、初めは重なっていない場合でも、ユーザが微調整をする際に、他の注記と重なりがでてきてしまうことが発生してしまうという問題があった。例えば、3次元モデルを変更した場合に対応する2次元図面上も更新がされ、アノテートに重なりができてしまうという問題があった
従って、最終的に重ならないようにユーザが手作業で修正する必要があり、修正に手間がかかるという問題があった。
In this note, the user may add a leader and text using a command or template. For example, in the case of using a template (a collection of holes, leader lines, and commands for generating text), they are simply placed on the drawing, and thus overlap with other annotations (annotations). Even if they do not overlap at first, there is a problem that when the user makes a fine adjustment, an overlap with another note may occur. For example, when a 3D model is changed, the 2D drawing corresponding to the change is also updated, and there is a problem that an annotate is overlapped. Therefore, it is necessary for the user to manually correct so as not to finally overlap. There is a problem that it takes time to fix.
そのため、重なりを回避すべくアノテートの重なりを判定して、一定の方向にアノテートを移動させて回避させることも考えられるが、図面を利用するユーザによっては、移動させることで通常利用している見え方(形態)と異なるため、適さないあるいは使い勝手の悪い図面となってしまうことがあった。 Therefore, it is conceivable to determine the overlap of annotations in order to avoid the overlap, and move the annotations in a certain direction to avoid them, but some users who use the drawings will usually use the appearance of moving by moving them. Because they are different from ones (forms), they may be unsuitable or inconvenient.
また、一定の方向(例えば、図面より外側)にアノテートを移動させる場合、重なるアノテートが増えると、アノテートが図面から離れていくため、図面サイズが大きくなるという問題もあり、適さないことがあった。 In addition, when moving annotations in a certain direction (for example, outside the drawing), if the overlapping annotations increase, the annotations move away from the drawing, and there is also a problem that the size of the drawing becomes large. .
そこで、本発明の目的は、設定に応じて、図面の内容を付加的に示すオブジェクトの重なりを所望する方法で回避する仕組みを提供することである。 Therefore, an object of the present invention is to provide a mechanism for avoiding, in a desired manner, overlapping of objects additionally showing the contents of the drawing according to the setting.
本発明の目的を達成するための図面の内容を付加的に示すオブジェクトを表示する情報処理装置であって、前記オブジェクトの移動に用いる設定値を設定する設定手段と、前記オブジェクトの位置に基づき、オブジェクトの重なりを特定する特定手段と、前記設定手段により設定された設定値に従って、移動する位置を決定する位置決定手段と前記特定手段で特定された重なりのあるオブジェクトであって、優先度の低いオブジェクトを前記位置決定手段で決定された位置に移動するよう制御する移動制御手段とを備える。 An information processing apparatus for displaying an object additionally showing the contents of a drawing for achieving the object of the present invention, comprising: setting means for setting a setting value used for moving the object; and a position of the object It is an object having an overlap identified by specifying means for specifying overlapping of objects, position determining means for determining a moving position according to the setting value set by the setting means, and the specifying means having a low priority. And movement control means for controlling to move the object to the position determined by the position determination means.
本発明によれば、設定に応じて、図面の内容を付加的に示すオブジェクトの重なりを所望する方法で回避することができる。 According to the invention, depending on the settings, it is possible to avoid, in a desired way, overlapping of objects which additionally show the content of the drawing.
以下、図面を参照して、本発明の実施の形態の一例について説明する。 Hereinafter, an example of an embodiment of the present invention will be described with reference to the drawings.
図1は、本発明のCADシステム100のシステム構成の一例を示す図である。本発明のCADシステム100は、情報処理装置101、サーバ102が設置されており、それら装置はLAN(Local Area Network)等のネットワーク103を介して相互にデータ通信可能に接続されている。図1のネットワーク103上に接続される各種端末あるいはサーバの構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
FIG. 1 is a diagram showing an example of a system configuration of a
情報処理装置101は、オペレーティングシステム上でCADアプリケーションと重なり制御プログラムを実行する装置である。CADアプリケーションと重なり制御プログラムは後述する図2のROM202または外部メモリ211に記憶されており、ユーザからの指示に応じて、CPU201がRAM203に読み出して各種動作を行う。すなわち、2次元図面(設計図)を表示するアプリケーションとオペレーティングシステムを有する情報処理装置の一例を示す。
The
オペレーティングシステムは、情報処理装置101を動作させるための基本的なアプリケーションである。オペレーティングシステム上でCADアプリケーションや重なり制御プログラム、その他各種プログラムを動作させることができる。
The operating system is a basic application for operating the
CADアプリケーションは、ユーザからの操作に応じて、設計物の立体形状を示す3次元モデルの作成や構築、また3次元モデルに基づく2次元図面の作成を行う。 The CAD application performs creation and construction of a three-dimensional model indicating a three-dimensional shape of a design, and creation of a two-dimensional drawing based on the three-dimensional model, in accordance with an operation from a user.
重なり制御プログラムは、表示された2次元図面に配置されている寸法や注記(アノテート)情報をCADアプリケーションから取得する。この取得には、重なり制御プログラムがCADアプリケーションのAPIを実行して取得する。取得した寸法や注記(アノテート)情報と、ユーザにより重なりを回避するための優先度等の設定値(条件)をもとに、寸法や注記(アノテート)の移動する位置を決定し、CADアプリケーションのAPIを用いて、寸法や注記(アノテート)の重なりがなくなるように、寸法や注記(アノテート)を移動させる。 The overlap control program obtains, from the CAD application, dimension and annotation information arranged in the displayed two-dimensional drawing. For this acquisition, the overlap control program executes and acquires the API of the CAD application. Based on the acquired dimensions and annotation (annotation) information and setting values (conditions) such as priorities for avoiding overlap by the user, the position to which the dimension and annotation (annotation) moves is determined, and CAD application Use the API to move dimensions and annotations (annotations) so that dimensions and annotations do not overlap.
このように、重なり制御プログラムは、CADアプリケーションに備えられた各種APIを用いて指示を出力することが可能なプログラムである。重なり制御プログラムは、CADアプリケーションのアドオン(アドイン)であることが望ましい。 As described above, the overlap control program is a program capable of outputting an instruction using various APIs provided in the CAD application. The overlap control program is preferably a CAD application add-on (add-in).
サーバ102は、情報処理装置101で作成された各種データ(3次元モデルや2次元図面)を記憶管理する装置である。サーバ102にはファイル管理アプリケーションが動作している。
The
尚、情報処理装置101が、サーバ102の構成を含んでもよいし、サーバ102が情報処理装置101の構成を含んでもよい。また、本実施形態においては、情報処理装置101に各種データが記憶され、ユーザからの操作によって動作させる形態に基づいて説明を行う。
The
図2は、本発明の実施形態における各種端末のハードウェア構成を示す図である。 FIG. 2 is a diagram showing a hardware configuration of various terminals in the embodiment of the present invention.
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
The
また、ROM202あるいは外部メモリ211(記憶)には、CPU201の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM203は、CPU201の主メモリ、ワークエリア等として機能する。
In addition, the
CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
The
また、入力コントローラ(入力C)205は、キーボード209や不図示のマウス等のポインティングデバイスからの入力を制御する。
The input controller (input C) 205 controls input from a
ビデオコントローラ(VC)206は、CRTディスプレイ(CRT)210等の表示器への表示を制御する。表示器はCRTだけでなく、液晶ディスプレイでも構わない。これらは必要に応じて管理者が使用するものである。 A video controller (VC) 206 controls the display on a display such as a CRT display (CRT) 210. The display may be a liquid crystal display as well as a CRT. These are used by the administrator as needed.
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフロッピーディスク(登録商標 FD)或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ211へのアクセスを制御する。
A memory controller (MC) 207 is a hard disk (HD), floppy disk (registered trademark FD) or PCMCIA card slot for storing a boot program, browser software, various applications, font data, user files, editing files, various data, etc. Control access to an
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。 A communication I / F controller (communication I / FC) 208 connects and communicates with an external device via a network, and executes communication control processing in the network. For example, Internet communication using TCP / IP is possible.
尚、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
Note that the
本発明の情報処理装置101が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ211に格納されている。
Various programs and the like used for the
次に、情報処理装置101の機能部を示す機能構成図について、図3を用いて説明する。
Next, a functional configuration diagram showing functional units of the
情報処理装置101は、図面の内容を付加的に示すオブジェクトを表示する情報処理装置であり、重なり制御プログラム310により情報処理装置の各手段として機能させることができる。
The
設定部311は、オブジェクトの移動に用いる設定値を設定する機能部である。 The setting unit 311 is a functional unit that sets setting values used to move an object.
特定部312は、オブジェクトの位置に基づき、オブジェクトの重なりを特定する機能部である。
The identifying
位置決定部313は、設定部311により設定された設定値に従って、移動する位置を決定する機能部である。
The
移動制御部314は、特定部312で特定された重なりのあるオブジェクトであって、優先度の低いオブジェクトを位置決定部313で決定された位置に移動するよう制御する機能部である。
The
また、設定値は、オブジェクトで表示する値間の距離を得るための値を含み、位置決定部313は、オブジェクトで表示する値間の距離を得るための値を用いて、移動する位置を決定する機能部である。
Further, the setting value includes a value for obtaining the distance between the values displayed by the object, and the
また、設定値は、移動可能な距離を示す値を含み、位置決定部313は、移動可能な距離を示す値を用いて、移動する位置を決定する機能部である。
Further, the setting value includes a value indicating a movable distance, and the
また、設定値は、移動する方向の優先度を示す値を含み、位置決定部313は、移動する方向の優先度を示す値を用いて、移動する方向を決定して移動する位置を決定する機能部である。
Further, the setting value includes a value indicating the priority of the moving direction, and the
オブジェクト優先度決定部315は、設定値に含まれるオブジェクト種別の優先度を示す値を用いて、オブジェクトの優先度を決定する機能部である。
The object
また、移動制御部314は、オブジェクト優先度決定部315で決定されたオブジェクトの優先度により優先度の低いオブジェクトを位置決定部313で決定された位置に移動するよう制御する機能部である。
In addition, the
出力制御部316は、位置決定部313により移動する位置が決定できず、移動できなかったオブジェクトを他のオブジェクトと識別させるように出力する機能部である。
The
また、出力制御部316は、移動できたオブジェクトと移動できなかったオブジェクトと移動を要しないオブジェクトを識別可能に出力する機能部である。
The
また、出力制御部316は、異なる色情報を用いて、オブジェクトを識別可能に出力する機能部である。
In addition, the
次に、図4〜図21を用いて、本実施形態における詳細な処理について説明する。 Next, detailed processing in the present embodiment will be described with reference to FIGS.
図4は、重なり制御処理における全体の処理を示すフローチャートである。 FIG. 4 is a flowchart showing the entire process in the overlap control process.
なお、各ステップの処理は、各装置のCPU201が実行する。
The processing of each step is executed by the
ステップS400では、サーバ102又は、情報処理装置に格納されている2次元図面をCADアプリケーションが表示する。2次元図面は、3次元モデルから生成した三面図(正面図、上面図、側面図を含む図)を用いるものとする。この三面図は、正面図、上面図、側面図がそれぞれ別のビューで管理されているものとする。
In step S400, the CAD application displays a two-dimensional drawing stored in the
ステップS401では、重なり制御プログラムを起動する。重なり制御プログラムを起動することで重なり回避処理が実行される。なお、重なり制御プログラムを起動し、ユーザからの所定の条件や実行ボタンの押下後に重なり回避処理が実行される構成であってもよいことは言うまでもない。 In step S401, the overlap control program is activated. The overlap avoidance process is executed by activating the overlap control program. It is needless to say that the configuration may be such that the overlap control process is started and the overlap avoidance processing is executed after the user presses a predetermined condition or the execution button.
ステップS402では、重なり回避設定処理を実行する。重なり回避設定処理については、図9を用いて後述する。この重なり回避設定(条件設定)を用いて、アノテートの重なり回避が実行される。 In step S402, an overlap avoidance setting process is performed. The overlap avoidance setting process will be described later with reference to FIG. Annotate overlap avoidance is performed using this overlap avoidance setting (condition setting).
ステップS403では、最初のビューを取得する。例えば、正面図のビュー情報(ビューの識別情報)を取得する。このビュー情報はCADアプリケーションのAPIを用いて取得することが可能である。 In step S403, the first view is acquired. For example, view information of the front view (identification information of the view) is acquired. This view information can be acquired using the CAD application API.
ステップS404では、取得したビュー情報をもとにアノテート情報を取得する。アノテートとは図面上に付されている引き出し線、注記、注釈、寸法のオブジェクトである。アノテート情報の取得には、CADアプリケーションのAPIを用いて取得することが可能である。なお、ステップS404の処理については、図5を用いて後述する。 In step S404, annotation information is acquired based on the acquired view information. Annotates are objects with leader lines, notes, annotations, and dimensions attached on the drawing. The annotation information can be acquired using the API of the CAD application. The process of step S404 will be described later with reference to FIG.
ステップS405では、ステップS404で取得したアノテート情報に対して、アノテートの位置や種別や値の情報を基に重み付けを実施する。ステップS405の処理については、図13を用いて後述する。 In step S405, weighting is performed on the annotation information acquired in step S404 based on the information on the position, type, and value of the annotation. The process of step S405 will be described later with reference to FIG.
ステップS406では、重なっているアノテートを特定して、アノテートの重み付けに従ってアノテートを移動させる(重なり回避処理)。ステップS406の処理については、図16を用いて後述する。 In step S406, overlapping annotations are identified, and annotations are moved according to the annotation weighting (overlap avoidance processing). The process of step S406 will be described later with reference to FIG.
ステップS407では、現在処理しているビューが最後のビューか否かを判定する。最後のビューである場合には、ステップS409へ処理を移す。最後のビューでない場合(他のビューがある場合)には、ステップS408へ処理を移す。 In step S407, it is determined whether the currently processed view is the last view. If it is the last view, the process proceeds to step S409. If it is not the last view (if there are other views), the process moves to step S408.
ステップS408では、処理していない次のビューを取得する。ビューの情報はステップS403と同様に取得することができる。 In step S408, the next view not processed is acquired. The view information can be acquired in the same manner as step S403.
ステップS409では、移動したアノテートの識別表示を行う。具体的には、アノテート情報記憶領域を用いて、移動したレコードについて移動フラグを付し、この移動フラグのあるアノテートについて任意に設定した色「例えば青」で表示するように、CADアプリケーションのAPIを用いて実行し、図面上で変更箇所(移動されたアノテーション)がわかるように表示(出力制御)する。 In step S409, identification of the moved annotation is displayed. More specifically, the annotation information storage area is used to attach a movement flag to a moved record, and the API of the CAD application is displayed in a color "eg blue" arbitrarily set for an annotation having this movement flag. It is executed and displayed (output control) so that the changed part (annotated moved) can be seen on the drawing.
これにより、移動できたオブジェクト(青)と、移動できる地点がなく移動できなかったオブジェクト(赤)を識別させることができる。また、重なりがなく移動を要しないオブジェクト(黒)との識別状態となる。すなわち、移動できたオブジェクトと移動できなかったオブジェクトと移動を要しないオブジェクトを識別可能に出力する処理の一例である。 This makes it possible to identify an object which could be moved (blue) and an object which could not be moved (red) because there were no movable points. In addition, it is in a state of identification with an object (black) that does not require overlapping and does not require movement. That is, this is an example of processing for identifiably outputting an object that has been moved, an object that has not been moved, and an object that does not require movement.
なお、ユーザの設定により、移動できなかったオブジェクトだけ識別表示する設定があった場合には、ステップS409の表示(出力制御)を行わないようにしてもよい。 Note that if there is a setting for identifying and displaying only objects that could not be moved, the display (output control) in step S409 may not be performed.
ステップS409は、移動制御されたオブジェクトを識別表示する処理と言い換えることが可能である。 Step S409 can be paraphrased as a process of identifying and displaying the movement-controlled object.
ステップS410では、重なり制御プログラムのダイアログで重なり回避処理の完了指示をするとステップS409で識別表示したアノテートを基の色(例えば、黒色)に戻すように制御する。識別表示OFF(識別表示解除)して、最終の2次元図面を確定する。 In step S410, when an instruction to complete the overlap avoidance process is issued in the dialog of the overlap control program, control is performed to return the annotation identified in step S409 to the original color (for example, black). The identification display is OFF (identification display cancellation), and the final two-dimensional drawing is decided.
ステップS410は、識別表示したオブジェクトの識別表示を解除する処理と言い換えることが可能である。 Step S410 can be paraphrased in other words as a process of canceling the identification display of the object which has been identified and displayed.
次にステップS402の処理を、図9のフローチャート、図10A、図10B、図10C、図11、図12の例を用いて説明する。図9は、アノテートの条件設定処理の詳細を示すフローチャートである。 Next, the process of step S402 will be described using the flowchart of FIG. 9, and the examples of FIGS. 10A, 10B, 10C, 11, and 12. FIG. 9 is a flowchart showing details of annotate condition setting processing.
ステップS901では、判定領域の重み設定の入力を受け付ける。具体的には、図10Aの重なり回避設定画面の判定領域重み設定画面(タブ)にて、図面上の領域ごとの優先度を設定する。1001は図面が描画されている領域であり、優先度(重み付け値)が一番高い「1」が予め設定されている。1001は、図11のエリア005であり、モデルを囲う外形線(矩形)の領域である。この判定領域重み設定画面(タブ)で1〜9の優先度(重み付け値)の入力を受け付ける。重み付けの例が1002(例1)と1003(例2)である。1が重み付けとして一番高く、9が重み付けとして一番低い。
In step S901, the input of the weight setting of the determination area is received. Specifically, in the determination area weight setting screen (tab) of the overlap avoidance setting screen of FIG. 10A, the priority for each area on the drawing is set.
なお、重なり回避設定画面は、既に設定された値をHDDや外部ファイルから読み出すボタンや、設定された値をHDDや外部ファイルに保存するボタンや、重なり回避を開始するボタンを備えるものとする。 The overlap avoidance setting screen is provided with a button for reading the already set value from the HDD or the external file, a button for saving the set value in the HDD or the external file, and a button for starting the overlap avoidance.
ステップS902では、アノテート種別の重み設定の入力を受け付ける。具体的には、図10Bの重なり回避設定画面の判定領域重み設定画面(タブ)にて、アノテートの種別を表示し、1011で重み付け(順位)を決定する。この順位によって重み付け値が決定されるものとする。この重み付け値は、オブジェクトに係るオブジェクト種別の優先度を示す値と言い換えることができ、このオブジェクト種別の優先度を示す値を用いて、オブジェクトの優先度が決定される。 In step S902, an input of weight setting of annotation type is accepted. Specifically, the annotation type is displayed on the determination area weight setting screen (tab) of the overlap avoidance setting screen of FIG. 10B, and the weighting (order) is determined at 1011. It is assumed that the weighting value is determined by this order. This weighting value can be restated as a value indicating the priority of the object type related to the object, and the priority of the object is determined using the value indicating the priority of the object type.
なお、アノテートの種別は、現在表示している図面で用いられている種別を表示するようにしてもよいし、CADアプリケーションが有する種別を表示してもよい。この判定領域重み設定画面(タブ)で順番の入力(入れ替え)を受け付ける。重み付けの例が1012(例1)と1013(例2)である。70が重み付けとして一番高く、10が重み付けとして一番低い。 As the annotation type, the type used in the currently displayed drawing may be displayed, or the type possessed by the CAD application may be displayed. The input (replacement) of the order is accepted on the determination area weight setting screen (tab). Examples of weighting are 1012 (example 1) and 1013 (example 2). 70 is the highest as weighting, and 10 is the lowest as weighting.
ステップS903では、アノテートの回避方向優先度設定の入力を受け付ける。具体的には、図10Cの重なり回避設定画面の移動方向優先度設定画面(タブ)にて、アノテートを移動させる際の優先度を設定する。1021〜1024で優先度順に数値を入力する。この移動方向優先度設定画面(タブ)で1〜4の優先度(重み付け値)の入力を受け付ける。重み付けの例が1025〜1028である。1が重み付けとして一番高く、4が重み付けとして一番低い。すなわち、1の方向を優先してアノテートを移動させる。1の方向に移動できない場合には、2の方向への移動を試みて、移動できない場合には、3,4と順に移動できるかを判定するものとする。この1〜4の優先度(重み付け値)は、移動する方向の優先度と言い換えることができる。この移動する方向の優先度を示す値を用いて、移動する方向を決定して移動する位置が決定される。 In step S 903, an input of an annotating avoidance direction priority setting is accepted. Specifically, in the movement direction priority setting screen (tab) of the overlap avoidance setting screen of FIG. 10C, the priority when moving the annotation is set. Input numerical values in order of priority in 1021 to 1024. In the movement direction priority setting screen (tab), the input of the priorities (weighting values) 1 to 4 is accepted. Examples of weighting are 1025 to 1028. 1 is the highest as weighting and 4 is the lowest as weighting. That is, the annotation is moved with priority given to the direction of 1. If it can not move in the direction of 1, it tries to move in the direction of 2, and if it can not move, it is judged whether it can move in the order of 3 and 4. The priorities (weighting values) of 1 to 4 can be paraphrased as the priorities in the moving direction. The movement direction is determined using the value indicating the priority of the movement direction, and the movement position is determined.
図10Aと図10Bで設定して保存されたデータの例が、図12の重み付けテーブル1210である。設定例ごとに保存されているデータイメージで、1002と1012が1211、1003と1013が1212に対応する。
An example of the data set and stored in FIGS. 10A and 10B is the weighting table 1210 in FIG.
図10Cの例では、「1」の方向は「上方向」、「2」の方向は「右方向」、「3」の方向は「下方向」、「4」の方向は「左方向」である。 In the example of FIG. 10C, the direction of “1” is “up”, the direction of “2” is “right”, the direction of “3” is “down”, the direction of “4” is “left”. is there.
図10A〜図Cの設定は、オブジェクトの移動に用いる設定値を設定する処理の一例を示すものである。 The settings in FIGS. 10A to 10C illustrate an example of processing for setting setting values used for moving an object.
ステップS904では、回避方向別の最大移動移動距離の入力を受け付ける。具体的には、図10Cの重なり回避設定画面の移動方向優先度設定画面(タブ)にて、アノテートを移動させる際の最大移動距離を設定する。1031〜1034で、移動距離の数値を入力する。任意の数値を入力するようにしているが、プルダウンなどで一定の範囲の数値を入れさせるように制御してもよい。この移動方向優先度設定画面(タブ)での最大移動距離の例が1035〜1038である。 In step S904, the input of the maximum movement distance according to the avoidance direction is accepted. Specifically, in the moving direction priority setting screen (tab) of the overlap avoidance setting screen of FIG. 10C, the maximum moving distance when moving the annotation is set. At 1031 to 1034, a numerical value of the movement distance is input. Although an arbitrary numerical value is input, control may be made to enter a certain range of numerical values by pull-down or the like. An example of the maximum moving distance on the moving direction priority setting screen (tab) is 1035 to 1038.
最大移動距離は、移動可能な距離を示す値とも言い換えることができる。すなわち、移動可能な距離を示す値を用いて、移動する位置が決定される。 The maximum movement distance can also be restated as a value indicating the movable distance. That is, the position to move is determined using the value indicating the movable distance.
ステップS905では、寸法値領域拡大幅の入力を受け付ける。具体的には、図10Cの回避設定画面の移動方向優先度設定画面(タブ)にて、寸法値領域拡大幅の数値を設定する。1041で寸法値を囲う外形(矩形)を拡大する幅の入力を受け付ける。入力された値の例が1042である。 In step S905, the input of the dimension value area expansion width is received. Specifically, in the moving direction priority setting screen (tab) of the avoidance setting screen of FIG. 10C, the numerical value of the dimension value area enlargement width is set. The input of the width which expands the external shape (rectangle) which encloses a dimension value by 1041 is received. An example of the input value is 1042.
なお、本実施形では、拡大幅を設定するようにしたが、寸法値と他のアノテートの間隔を所定範囲確保するための値である間隔値(距離)を設定するようにしてもよい。この距離を満たすようにアノテートを移動させる。すなわち、オブジェクトで表示する値(寸法値)間の距離を得るための値とも言い換えることができる。よって、このオブジェクトで表示する値間の距離を得るための値を用いて、移動する位置が決定される。 Although the enlargement width is set in the present embodiment, an interval value (distance) may be set which is a value for securing a predetermined range between the dimension value and another annotation. Annotate is moved to satisfy this distance. That is, it can be reworded as a value for obtaining the distance between values (dimension values) displayed by the object. Therefore, the position to move is determined using the value for obtaining the distance between the values displayed by this object.
次にステップS404の処理を、図5のフローチャート、図6、図7、図8の例を用いて説明する。図5は、アノテートの情報取得処理の詳細を示すフローチャートである。 Next, the process of step S404 will be described using the flowchart of FIG. 5, and the examples of FIGS. 6, 7, and 8. FIG. 5 is a flowchart showing details of annotate information acquisition processing.
ステップS501では、処理対象のビュー(図6の601)の最初の処理対象のアノテートを特定する情報(例えば、ターゲットとなるアノテートのハンドル)を取得する。アノテートを特定する情報はCADアプリケーションのAPIを利用することで取得することができる。なお、本実施形態では、処理対象のアノテートを特定する情報を取得して、その後にCADアプリケーションのAPIを用いて種別等を取得する構成としたが、アノテート情報を構造体として一括して取得する構成であってもよい。 In step S501, information (for example, a handle of an annotation to be a target) for specifying an annotation to be processed first in a view to be processed (601 in FIG. 6) is acquired. Information for identifying annotations can be obtained by using the API of the CAD application. In this embodiment, the information for specifying the annotation to be processed is acquired, and thereafter the type and the like are acquired using the API of the CAD application. However, the annotation information is collectively acquired as a structure. It may be a configuration.
図6の602を例にすると、アノテート1を取得する。図6はアノテート1の情報を取得する際の概念を示す図である。また、図7は、図6に対応する記憶領域を示す図である。
Taking 602 in FIG. 6 as an example,
ステップS502では、取得したアノテートを特定する情報を用いて、処理対象のアノテートの種別を取得する。この種別の取得もCADアプリケーションのAPIを用いて取得する。図6の602のアノテート1では「水平」の種別が取得される。この取得された種別を図7の重なり制御プログラムが管理するメモリ上の記憶領域(アノテート情報記憶領域)701に記憶する。種別を記憶した例が702である。不図示であるがアノテートの識別情報(アノテートID)なども合わせて管理されるものとする。
In step S502, the type of annotation to be processed is acquired using the information that specifies the acquired annotation. This type of acquisition is also acquired using the CAD application API. In
ステップS503では、取得したアノテートを特定する情報を用いて、アノテートのテキスト(値)の座標を取得する。この座標の取得もCADアプリケーションのAPIを用いて取得する。具体的にはテキストを囲う矩形の左下と右上の座標値を取得し、記憶する。座標を記憶した例が703である。 In step S503, the coordinates of the text (value) of the annotation are acquired using the information specifying the acquired annotation. Acquisition of this coordinate is also acquired using the API of the CAD application. Specifically, the coordinate values of the lower left and upper right of the rectangle surrounding the text are acquired and stored. An example of storing coordinates is 703.
ステップS504では、取得したアノテートを特定する情報を用いて、最初の処理対象の引き出し線を特定する情報(例えば、ターゲットとなる引き出し線のハンドル)を取得する。図6の604の引き出し線1が処理対象の引き出し線となる。引き出し線を特定する情報はCADアプリケーションのAPIを利用することで取得することができる。アノテート1の場合、引き出し線が3つあるため、3つの引き出し線に対して処理が繰り返される。
In step S504, information (for example, a handle of a lead line serving as a target) for specifying a lead line to be processed first is acquired using the information specifying the acquired annotation. The
なお、引き出し線についても、複数の引き出し線の情報をまとめた構造体で一括して取得する構成であってもよい。 In addition, it may be the structure acquired collectively by the structure which put together the information of a several lead-out also about a lead-out line.
ステップS505では、引き出し線を特定する情報を用いて、対象の引き出し線の始点と終点の座標を取得し、記憶する。記憶した例が704である。引き出し線の始点と終点の座標はCADアプリケーションのAPIを利用することで取得することができる。 In step S505, the coordinates of the start point and the end point of the target lead line are acquired and stored using the information for specifying the lead line. An example stored is 704. The coordinates of the start point and the end point of the leader line can be obtained by using the API of the CAD application.
ステップS506では、最後の引き出し線か否かを判定する。最後の引き出し線の場合には、ステップS508へ処理を移す。最後の引き出し線でない場合(残りの引き出し線がある場合)には、ステップS507へ処理を移す。 In step S506, it is determined whether it is the last leader. If it is the last leader line, the process proceeds to step S508. If it is not the last leader line (if there are remaining leader lines), the process proceeds to step S507.
ステップS507では、取得したアノテートを特定する情報を用いて、次の引き出し線の情報を取得し、ステップS505の処理を繰り返す。図6の605と606の引き出し線2と引き出し線3が処理対象の引き出し線となる。引き出し線の始点と終点の座標を繰り返し取得し、記憶した例が、図7の705と706である。706はすべての引き出し線の始点と終点の座標を記憶した場合の例である。 In step S507, the information on the next lead-out line is acquired using the acquired information specifying the annotation, and the process in step S505 is repeated. The lead lines 2 and 3 of 605 and 606 in FIG. 6 are the lead lines to be processed. An example in which the coordinates of the start point and the end point of the leader line are repeatedly acquired and stored is 705 and 706 in FIG. 706 is an example in the case of storing the coordinates of the start point and the end point of all the lead lines.
ステップS508では、最後のアノテートか否かを判定する。最後のアノテートの場合には、処理を終了する。最後のアノテートでない場合(他のアノテートがある場合)には、ステップS509に処理を移す。 In step S508, it is determined whether it is the last annotate. In the case of the last annotation, the process ends. If it is not the last annotation (if there is another annotation), the process moves to step S509.
ステップS509では、次のアノテートを特定する情報を取得し、各アノテートの種別、座標値を取得して、記憶する。すべてのアノテートの種別、座標値を記憶した例(アノテート情報記憶領域)が、図8の801である。また、801は、802の図面のアノテート(レコードNo 1〜8)の情報が801に記憶されている例で、図5の処理の完了時の例である。
In step S509, the information specifying the next annotation is acquired, and the type and coordinate value of each annotation are acquired and stored. An example (annotate information storage area) in which all annotation types and coordinate values are stored is 801 in FIG. Reference numeral 801 denotes an example in which information of annotations (
なお、各レコードは、CADアプリケーションが管理しているアノテートの識別情報(アノテートID)と対応付いて管理されているものとする。 Each record is managed in association with identification information (annotate ID) of an annotation managed by the CAD application.
次にステップS405の処理を、図13のフローチャート、図14、図15の例を用いて説明する。図13は、アノテートの重み付け処理の詳細を示すフローチャートである。 Next, the process of step S405 will be described using the flowchart of FIG. 13 and the examples of FIG. 14 and FIG. FIG. 13 is a flowchart showing the details of the annotation weighting process.
ステップS1301では、対象のビューのモデルの表示領域を取得する。図11の例を参照すると、「エリア5」の領域の座標が取得できる。座標は、CADアプリケーションのAPIを用いて取得することができる。本実施形態では、各ビューに対応する3次元モデルを保持する構成となっており、3次元モデルから高さ、幅、奥行きを特定することで現在表示している図面の領域(囲う枠)を特定することができる。なお、3次元モデルから特定せずに、処理対象のビューの2次元図面から直接領域を特定する構成であってもよい。
In step S1301, the display area of the model of the target view is acquired. Referring to the example of FIG. 11, the coordinates of the area of “
ステップS1302では、アノテートを移動させる際に用いる判定領域を設定する。具体的には、図11を参照すると、CADアプリケーションから「エリア5」の領域(モデルを囲う矩形領域)の四隅の座標が取得されるため、四隅から延長線を引いた9個の領域を座標領域として定義する。各領域の優先順位は、図10Aで設定した優先順位となる。設定例(1002)では、「エリア5>エリア4>エリア6>エリア8>エリア2>エリア1>エリア3>エリア7>エリア9」。「エリア5」の優先度が一番高いのは、重なっているアノテートを移動させる際に、モデルに重ならないように移動することが望ましいためである。この優先順位は、後述のステップS1304で用いる。
In step S1302, a determination area to be used when moving the annotation is set. Specifically, referring to FIG. 11, since the coordinates of the four corners of the area 5 (the rectangular area surrounding the model) are acquired from the CAD application, the nine areas obtained by drawing extension lines from the four corners are used as coordinates. Define as an area. The priority of each area is the priority set in FIG. 10A. In the setting example (1002), “
以降は、各アノテートの優先度を決定するために、各要素の設定を行う処理である。ここで要素について説明する。図12の1200のように、第1要素は[領域の重み付け]。第2要素は[寸法種別の重み付け]、第3要素は[アノテートの値による重み付け]となる。また、第2要素の[寸法種別の重み付け]には、重み付けテーブル1210を用いて決定する。 The following is processing for setting each element in order to determine the priority of each annotation. Here, the elements will be described. As in 1200 of FIG. 12, the first element is [region weighting]. The second element is [dimension type weight], and the third element is [weight by annotation value]. Further, “weighting of dimension type” of the second element is determined using the weighting table 1210.
ステップS1303では、記憶領域に記憶したアノテート(例えば、レコードNo.1)の情報を取得する。 In step S1303, the information of the annotation (for example, record No. 1) stored in the storage area is acquired.
ステップS1304では、第1要素の設定を行う。具体的には、処理対象のアノテートの2点座標(寸法値の矩形領域の座標点1&2)を用いて判定領域のどの領域に位置するかを決定する(図11を参照)。そして、重み付けテーブル1210を用いて、処理対象のアノテートの位置する領域に対応する重み付けを決定する。「エリア5」の場合重み付け値「1」となる。
In step S1304, the first element is set. Specifically, it is determined which region of the determination region is located using two-point coordinates of the annotation to be processed (coordinate
ステップS1304は、図面の位置を基に設定された領域を用いて、オブジェクトの位置する領域を決定する処理と言い換えることが可能である。 Step S1304 can be paraphrased as processing for determining the area in which the object is positioned using the area set based on the position of the drawing.
図11は、各領域におけるアノテートの位置を示す図である。なお、図11の1101の例のように、座標点が複数の領域にまたがっているケースにおいて、「エリア4」と「エリア5」にまたがる場合には優先度の高い「5」と設定する。1102の例のように座標点が複数の領域にまたがっているケースにおいて、領域の序列(優先度)に従って最も低い序列の領域を位置する領域(例えば、設定例1ではエリア9)として設定する。
FIG. 11 is a diagram showing the positions of annotations in the respective regions. In the case where the coordinate points straddle a plurality of areas as in the example of 1101 of FIG. 11, when straddling “
なお、領域の設定は、これに限ることなく、重なっている領域面積がより広いほうを設定する領域として設定してもよい。 Note that the setting of the area is not limited to this, and the larger overlapping area area may be set as the area to be set.
ステップS1305では、第2要素の設定を行う。具体的には、重み付けテーブル1210を用いて、処理対象のアノテートの種別に対応する重み付けを決定する。 In step S1305, the second element is set. Specifically, using the weighting table 1210, the weighting corresponding to the type of annotation to be processed is determined.
ステップS1306では、第3要素の設定を行う。具体的には、アノテートの表示内容(寸法値等)に基づいて設定する。例えば、処理対象のアノテートが寸法だった場合、値に−1を乗算した値を設定する。また、処理対象のアノテートがテキスト(種別:注記)だった場合、そのテキスト文字数を設定する(例えば、図14の1421の通り「注記:XXXXXXX」は10文字であるため10が設定されている。)。 In step S1306, the third element is set. Specifically, it is set based on the display content (dimension value etc.) of the annotation. For example, when the annotation to be processed is a dimension, a value obtained by multiplying the value by -1 is set. If the annotation to be processed is text (type: note), the number of text characters is set (for example, 10 is set because “note: XXXXXXX” is 10 characters as shown by 1421 in FIG. 14). ).
なお、本実施形態においては、水平寸法や累進寸法は値の小さいアノテートが重い。直径寸法や角度寸法は値の大きいアノテートが重い。また、注記はテキスト文字数の多いアノテートが重く優先度が高いものとなる。 In the present embodiment, the horizontal dimension and the progressive dimension are heavy in the small annotation. The diameter and angle dimensions are heavy with large value annotations. In addition, annotations with a large number of text characters are heavy and have high priority.
また、第1の要素と第2の要素を用いて優先度を決定して移動することで一部は重なり回避することも可能であるが、第3の要素を用いて優先度を決定して重なり回避することでより容易に効率的に重なり回避することができる。 In addition, it is possible to avoid overlapping by partially determining the priority using the first element and the second element and moving, but using the third element to determine the priority Overlap avoidance can be more easily and efficiently avoided.
すなわち、複数の属性による重み付けは、領域決定により決定した領域に係る情報と、オブジェクトの種別に係る情報に基づき決定される。そして、複数の属性による重み付けは、更にオブジェクトで表示する値に基づき決定される。 That is, the weighting by the plurality of attributes is determined based on the information on the area determined by the area determination and the information on the type of the object. Then, the weighting by the plurality of attributes is further determined based on the value displayed on the object.
ステップS1307では、最後のアノテートか否かを判定する。最後のアノテートの場合には、ステップS1309に処理を移す。最後のアノテートでない場合(他のアノテートがある場合)には、ステップS1308に処理を移す。 In step S1307, it is determined whether it is the last annotate. If it is the last annotation, the process moves to step S1309. If it is not the last annotation (if there are other annotations), the process moves to step S1308.
ステップS1308では、記憶領域に記憶した次のアノテート(例えば、レコードNo.2以降)の情報を取得して、重み付けの処理(要素設定)を繰り返す。 In step S1308, information on the next annotation (for example, record No. 2 or later) stored in the storage area is acquired, and weighting processing (element setting) is repeated.
すべてのアノテートの重み付けの処理(要素設定)が終了した際の例が、図14の1420で、1422が重み付けした例である。なお、1220は重み付けによるソート前の例である。設定例2の重み付けによるソート前の例は、1520である。 An example when weighting processing (element setting) of all annotations is finished is an example in which 1422 is weighted in 1420 of FIG. Note that 1220 is an example before sorting by weighting. An example before sorting by weighting of setting example 2 is 1520.
ステップS1309では、1422の重み付けの情報を用いてソートする。ソートした結果の例(ソート後の例)が図14の1430である。本実施形態では、第1の要素、第2の要素、第3の要素の順にソートがされる。なお、設定例2のソートした結果の例は、図15の1530である。 In step S1309, sorting is performed using 1422 weighting information. An example of the sorted result (example after sorting) is 1430 in FIG. In this embodiment, sorting is performed in the order of the first element, the second element, and the third element. An example of the sorting result of setting example 2 is 1530 in FIG.
ステップS1309は、複数の属性による重み付けに基づき、各オブジェクトの優先度を決定する処理と言い換えることが可能である。 Step S1309 can be paraphrased as processing of determining the priority of each object based on weighting by a plurality of attributes.
図14は図12の1211の設定例1に対応する重み付け結果である。また図15は図12の1212の設定例2に対応する重み付け結果である。 FIG. 14 is a weighting result corresponding to setting example 1 of 1211 of FIG. FIG. 15 is a weighting result corresponding to setting example 2 of 1212 of FIG.
次にステップS406の処理を、図16のフローチャート、図17、図18、図19の例を用いて説明する。図16は、アノテートの重なり回避処理の詳細を示すフローチャートである。 Next, the process of step S406 will be described using the flowchart of FIG. 16 and the examples of FIG. 17, FIG. 18, and FIG. FIG. 16 is a flowchart showing details of the overlap avoidance process of annotation.
ステップS1601では、ソート後のアノテート情報記憶領域から2つ目のレコードの情報を取得する(処理レコードの情報取得)。1つ目のレコードは、一番優先度の高いレコード(アノテート)であるため移動しないことから2つ目のレコードから処理をスタートするものとする。また、2つ目のレコードが終了したら、3つ目のレコードを処理レコードとし、4つ目、5つ目と繰り返す。処理レコード以外のレコードが比較レコードの対象となる。 In step S1601, the information of the second record is acquired from the annotation information storage area after sorting (acquisition of processing record information). Since the first record is the highest priority record (annotate) and therefore does not move, the processing is started from the second record. Also, when the second record is finished, the third record is taken as the processing record, and the fourth and fifth are repeated. Records other than processing records are targets of comparison records.
ステップS1602では、比較対象となる1つ目のレコードの情報を取得する(比較レコードの情報取得)。 In step S1602, information of a first record to be compared is acquired (acquisition of information of comparison record).
ステップS1603では、上位の比較レコードである(優先度の高いアノテート)の矩形領域に、処理レコードの矩形領域(座標点1&2)が重なるか否かを判定する。重なる場合には、処理レコードのアノテート(優先度の低いアノテート)を移動させるべく、ステップS1615へ処理を移す。重ならない場合には、ステップS1607へ処理を移す。
In step S1603, it is determined whether the rectangular area (coordinate
なお、矩形領域に対して引き出し線が重なる場合については、ステップS1611で後述する。 The case where the lead lines overlap the rectangular area will be described later in step S1611.
ステップS1603は、図面の内容を付加的に示すオブジェクトで表示する値の表示領域を用いて、他のオブジェクトの表示領域と重なるか否かを判定する第1の重なり判定処理の一例を示すステップである。 Step S1603 is a step showing an example of a first overlap determination process of determining whether or not to overlap the display area of another object using a display area of a value displayed by an object additionally indicating the contents of the drawing. is there.
矩形領域の重なりの詳細を、図17を用いて説明する。図17は、矩形領域同士の重なりを示す概念図である。 The details of the overlapping of the rectangular areas will be described with reference to FIG. FIG. 17 is a conceptual view showing overlapping of rectangular regions.
図17の1700と1710の例は、矩形領域が重なる例を示している。具体的には、レコードの座標点XYである「1」「2」と、異なるレコードの座標点XYである「3」「4」の比較によって重なりを判定する。「X1≦X3≦X2、且つY1≦Y3≦Y2」もしくは「X1≦X4≦X2、且つY1≦Y4≦Y2」のいずれかを満たす場合は重なるものとなる。 The examples of 1700 and 1710 in FIG. 17 show an example in which the rectangular areas overlap. Specifically, the overlap is determined by comparing “1” “2” which is the coordinate point XY of the record and “3” “4” which is the coordinate point XY of the different record. When either “X1 ≦ X3 ≦ X2 and Y1 ≦ Y3 ≦ Y2” or “X1 ≦ X4 ≦ X2 and Y1 ≦ Y4 ≦ Y2” is satisfied, they overlap.
ステップS1615では、設定値(方向優先、寸法値領域拡大幅、最大移動距離の移動条件)を基に、移動できる地点があるかを判定する。ここでステップS1615の処理の具体的な例を示す。図10Cの移動方向優先度設定例1を参照し、図19の1900のように、鉛直寸法「100」を方向優先で優先度の高い「1」である上へ移動できるかを試みる。「100」の寸法値を上に移動しても、寸法線が鉛直寸法「30」にかかるため、上方向に移動できる地点はないと判定される。 In step S1615, it is determined whether there is a movable point based on the set values (direction priority, dimension value area expansion width, movement condition of maximum movement distance). Here, a specific example of the process of step S1615 is shown. Referring to the moving direction priority setting example 1 of FIG. 10C, it is attempted to move the vertical dimension “100” upward to “1” with high priority with priority given to the direction as in 1900 of FIG. Even if the dimension value of "100" is moved upward, it is determined that there is no point where it can move upward because the dimension line is on the vertical dimension "30".
次に、鉛直寸法「100」を方向優先で次に優先度の高い「2」である右へ移動できるかを試みる。寸法値領域拡大幅1402を参照し、その値、例えば「3mm」の幅を、寸法値の領域に加え、領域を拡大する(オフセットする)。 Next, it is attempted to move the vertical dimension "100" to the right, which is "2", which is the next highest priority with direction priority. Referring to the dimension value area enlargement width 1402, the value, for example, a width of “3 mm” is added to the area of the dimension value to enlarge (offset) the area.
そして、この拡大した領域を有する寸法値と寸法線(オブジェクト)を右に、他のアノテーションの領域と重なる位置を特定する。この位置があれば移動できる地点があると判定する。なお、元の位置からの距離が、最大移動距離1036を超える場合、移動できないと判定する。移動できないと判定された場合には、次の優先度の方向へ、寸法値領域拡大幅や最大移動距離を用いて移動を試みることを繰り返す。 Then, the dimension value having the enlarged area and the dimension line (object) are specified on the right, and the position where the area overlaps with the area of another annotation is specified. If there is this position, it is determined that there is a movable point. If the distance from the original position exceeds the maximum movement distance 1036, it is determined that the movement is impossible. If it is determined that the movement can not be performed, the movement is repeatedly attempted in the direction of the next priority using the dimension value area expansion width and the maximum movement distance.
移動できる位置が特定できない場合には、ステップS1616へ処理を移す。移動できる位置が特定できない場合には、ステップS1604へ処理を移す。なお、寸法値領域拡大幅の適用は、移動前に行うように構成したが、移動するたびに寸法値領域拡大幅を適用して、重なるか否かを判定する手順であってもよい。また、まず、寸法値領域拡大幅は適用せず、アノテートを移動させて移動できる位置が特定できた場合に、寸法値領域拡大幅を適用して最終的な位置を決定する手順であってもよい。 If the movable position can not be identified, the process advances to step S1616. If the movable position can not be identified, the process advances to step S1604. Although application of the dimension value area expansion width is performed before movement, it may be a procedure of applying the dimension value area expansion width to each time moving to determine whether or not they overlap. Also, first, even if the dimension value area enlargement width is not applied, and the annotate can be moved and the movable position can be specified, the procedure for determining the final position by applying the dimension value area enlargement width is also possible. Good.
なお、寸法値領域拡大幅を最後に適用した結果、最大移動距離を超える場合には、移動できる位置が特定できない(位置がない)と判定するようにしてもよい。また、注記や半径を示すアノテーションは、方向優先度は用いず、同心円状の任意角度(45度など)に移動を試みて、移動できる位置を特定する。 これにより、種別により見易い位置にアノテーションが移動され、よりユーザが所望する形での移動が可能となる。 In addition, as a result of applying the dimension value area expansion width at the end, when it exceeds the maximum movement distance, it may be determined that the movable position can not be specified (there is no position). In addition, annotations indicating annotations and radii do not use direction priority, but attempt to move at an arbitrary concentric angle (such as 45 degrees) to specify a position that can be moved. Thereby, the annotation is moved to a position that is easy to view depending on the type, and movement in a form desired by the user is possible.
なお、ステップS1615は、設定された設定値に従って、移動する位置を決定する処理の一例を示すステップである。 Step S1615 is a step showing an example of processing for determining the position to move in accordance with the set value that has been set.
ステップS1604では、処理レコードのアノテートを特定された移動できる位置に移動させる。 In step S1604, the annotation of the process record is moved to the specified movable position.
ステップS1604は、移動にかかる設定条件に従って特定された位置に、オブジェクトを移動するように制御する移動制御処理の一例を示すステップである。また、優先度の低いオブジェクトを決定された位置に移動するよう制御する移動制御処理の一例を示すステップとも言い換えることができる。 Step S1604 is a step showing an example of movement control processing for controlling movement of the object to the position specified according to the setting condition for movement. It can also be reworded as a step showing an example of a movement control process for controlling an object with low priority to move to a determined position.
ステップS1605では、移動後のアノテート(処理レコードのアノテート)の座標点をCADアプリケーションから取得する。 In step S1605, the coordinate point of the annotation after movement (annotation of the processing record) is acquired from the CAD application.
ステップS1606では、移動後のアノテート(処理レコードのアノテート)の引き出し線の情報をCADアプリケーションから取得する。アノテートが移動されたため、ステップS1605とステップS1606で取得した情報を用いて、処理レコードに対応するアノテート情報記憶領域を更新する。そして、ステップS1602に処理を移し、移動させたアノテーション(処理レコードのアノテーション)と、次の比較レコードのアノテーションと重なるかを再度判定する。ステップS1602で比較レコードを取得して、S1603で矩形領域が重なるかを判定し、移動後のアノテーションが重ならない場合には、次の処理に移る。 In step S1606, the information on the lead-out line of the annotation after movement (annotation of the processing record) is acquired from the CAD application. Since the annotation is moved, the annotation information storage area corresponding to the processing record is updated using the information acquired in step S1605 and step S1606. Then, the process moves to step S1602 to determine again whether the moved annotation (an annotation of the processing record) and the annotation of the next comparison record overlap. A comparison record is acquired in step S1602, and it is determined in step S1603 whether rectangular areas overlap or not. If annotations after movement do not overlap, the process proceeds to the next process.
ステップS1616は、ステップS1615で設定値(方向優先、寸法値領域拡大幅、最大移動距離の移動条件)を基に、移動できる地点がない場合の処理である。ステップS1616では、対象のレコード(オブジェクト)の表示色を変更する(出力制御)。具体的には、CADアプリケーションのAPIを用いて、対象のアノテートの表示色を赤に変更する。これにより、移動できたオブジェクト(青)と、移動できる地点がなく移動できなかったオブジェクト(赤)を識別させる。また、重なりがなく移動を要しないオブジェクト(黒)との識別状態となる。すなわち、移動できたオブジェクトと移動できなかったオブジェクトと移動を要しないオブジェクトを識別可能に出力する処理(出力制御)の一例である。 Step S1616 is processing in the case where there is no movable point based on the set values (direction priority, dimension value area expansion width, moving condition of maximum moving distance) in step S1615. In step S1616, the display color of the target record (object) is changed (output control). Specifically, the display color of the target annotation is changed to red using the API of the CAD application. As a result, it is possible to identify an object that could be moved (blue) and an object that could not be moved (red) because there were no movable points. In addition, it is in a state of identification with an object (black) that does not require overlapping and does not require movement. That is, this is an example of processing (output control) for identifiably outputting an object that has been moved, an object that has not been moved, and an object that does not require movement.
ステップS1617では、移動できなかったアノテートを他のレイヤー(移動できないアノテート用のレイヤー)に移行する。他のレイヤーがない場合には、新規に生成して移行させるものとする。 In step S1617, the annotation that can not be moved is transferred to another layer (a layer for annotation that can not be moved). If there is no other layer, it is newly generated and transferred.
本実施形態では、ステップS1616、ステップS1617の手順としたが、これに限ることはない。例えば、CADアプリケーションによっては、レイヤー自体に色設定でき、そのレイヤーのアノテートは設定された色で表示される場合がある。その際には、ステップS1616でアノテートに色設定を行わず、レイヤーに移行することで実現できる。 In the present embodiment, the procedure of step S1616 and step S1617 is used, but the present invention is not limited to this. For example, in some CAD applications, the color of the layer itself can be set, and the annotation of the layer may be displayed in the set color. At this time, color setting is not performed on the annotation in step S1616, and this can be realized by moving to a layer.
なお、レイヤーに移行することで、レイヤーの切り替えにより、移動できなかったアノテートを表示することができ、その後のユーザの手作業によるアノテートの移動を容易にすることが可能となる。 Note that by switching to a layer, it is possible to display annotations that could not be moved by switching layers, and it is possible to facilitate the subsequent manual movement of annotations by the user.
更に、移動できなかったアノテートをユーザの任意の操作により、所定の位置に移動した場合には、アノテートの色を移動後の色(例えば、ステップS409と同様の青色)にする。 Furthermore, when the annotation that can not be moved is moved to a predetermined position by an arbitrary operation of the user, the color of the annotation is made the color after movement (for example, the same blue as step S409).
ステップS1607では、比較レコードは処理レコードの直前のレコードかを判定する。なお、1回目の処理は、比較レコードは処理レコードの直前となるため、ステップS1609に処理を移し、引き出し線の重なり回避処理に移行する。すなわち処理レコードより優先度の高い比較レコードがあるか否かを判定する。優先度の高い比較レコードがある場合には、ステップS1608へ処理を移し、優先度の高い比較レコードがない場合にはステップS1610へ処理を移す。 In step S1607, it is determined whether the comparison record is a record immediately before the processing record. In the first process, since the comparison record is immediately before the process record, the process moves to step S1609 to shift to the overlap avoiding process of the lead line. That is, it is determined whether there is a comparison record having higher priority than the process record. If there is a comparison record with high priority, the process proceeds to step S1608, and if there is no comparison record with high priority, the process proceeds to step S1610.
ステップS1608では、次の比較レコード(優先度の高いアノテート)を取得して、ステップS1603へ処理を移し、矩形領域の重なりを判定する。 In step S1608, the next comparison record (an annotation with high priority) is acquired, and the process proceeds to step S1603 to determine overlapping of rectangular areas.
次に、すべてのレコードを対象に矩形領域と引き出し線との重なり判定を行うためステップS1609以降の処理を実行する。なお、いずれかのアノテートの引き出し線と重なっていた場合は回避対象として、処理レコードのアノテートを移動する処理となる。 Next, in order to determine whether the rectangular area and the leader line overlap with respect to all the records, the processing of step S1609 and subsequent steps is executed. In the case where it overlaps with the lead line of any of the annotations, it becomes processing to move the annotation of the processing record as an avoidance target.
ステップS1609では、1つ目のレコード(比較レコード)を取得する。例えば、アノテート情報記憶領域1430のレコードNo.1の情報を取得する。
In step S1609, the first record (comparison record) is acquired. For example, record No. of annotation
ステップS1610では、処理レコードと比較レコードが同じレコードか否かを判定する。同じレコードの場合には、ステップS1612へ処理を移す。同じレコードでない場合には、ステップS1611へ処理を移す。 In step S1610, it is determined whether the process record and the comparison record are the same record. If it is the same record, the process proceeds to step S1612. If the records are not the same, the process moves to step S1611.
ステップS1611では、処理レコードの矩形領域と、比較レコードの引き出し線と重なるか否かを判定する。引き出し線と重なる場合には、ステップS1615へ処理を移す。引き出し線と重ならない場合には、ステップS1612へ処理を移す。
In step S1611, it is determined whether the rectangular area of the process record and the lead line of the comparison record overlap. If it overlaps with the lead line, the process proceeds to step
ステップS1611は、図面の内容を付加的に示すオブジェクトで表示する値の表示領域を用いて、他のオブジェクトの引き出し線と重なるか否かを判定する第2の重なり判定処理の一例を示すステップである。 Step S1611 is a step showing an example of a second overlap determination process of determining whether or not to overlap the leader line of another object using a display area of a value displayed by an object additionally indicating the contents of the drawing. is there.
矩形領域と引き出し線の重なりの詳細を図18を用いて説明する。図18は、矩形領域と引き出し線の重なりを示す概念図である。 Details of the overlap between the rectangular area and the leader line will be described with reference to FIG. FIG. 18 is a conceptual view showing an overlap of a rectangular area and a leader line.
図18の1800と1810の例は、矩形領域と引き出し線が重なる例を示している。具体的には、レコードの座標点XYである「1」「2」から一時的に算出する「3」「4」を用いた矩形の線分(「1」「4」、「4」「2」、「2」「3」、「3」「1」)と、異なるレコードの引き出し線XYである線分ab、cd、bdとの比較によって交点の有無を判定し、交点がある場合は重なるものとなる。 The examples of 1800 and 1810 in FIG. 18 show an example in which the rectangular area and the leader line overlap. Specifically, rectangular line segments (“1”, “4”, “4”, “2”) using “3” and “4” temporarily calculated from “1” and “2” that are coordinate points XY of the record "," "2" "3" "3" "1" ") and the line segments ab, cd, bd which are the leader lines XY of different records to determine the presence or absence of the intersection, overlapping if there is an intersection It becomes a thing.
なお、ステップS1604のアノテートの移動の詳細については、後述の図16にて説明する。 The details of the annotation movement in step S1604 will be described later with reference to FIG.
ステップS1612では、最後の比較レコードか否かを判定する。最後の比較レコードの場合には、ステップS1614へ処理を移し、最後の比較レコードでない場合(他の比較レコードが存在する場合)には、ステップS1613へ処理を移す。 In step S1612, it is determined whether it is the last comparison record. If it is the last comparison record, the process proceeds to step S1614. If it is not the last comparison record (if there is another comparison record), the process proceeds to step S1613.
ステップS1613では、次の比較レコードをアノテート情報記憶領域から取得し、引き出し線との重なりがあるかを判定する処理を繰り返す。 In step S1613, the next comparison record is acquired from the annotation information storage area, and the process of determining whether there is an overlap with the leader line is repeated.
ステップS1614では、未処理の処理レコードがあるか否かを判定する。未処理(重なり回避判定を行っていないアノテート)の処理レコードがある場合にはステップS1601へ処理を移し、次のレコードを取得して、重なり回避処理を繰り返す。未処理の処理レコードがない場合、すなわち最後の処理レコードである場合には、重なり回避処理を終了する。なお、ステップS1604により、アノテート情報記憶領域が更新された場合には、その移動した処理レコードが優先度の高い比較レコードと重なっていないかを再度判定してもよい。これは、例えば、後から寸法値領域拡大幅を適用する場合、矩形領域が重なる可能性があるためである。 In step S1614, it is determined whether there is an unprocessed process record. If there is an unprocessed (annotated for which overlap avoidance determination is not performed) process records, the process advances to step S1601 to acquire the next record, and the overlap avoidance process is repeated. If there is no unprocessed processed record, that is, if it is the last processed record, the overlap avoidance processing is ended. If the annotation information storage area is updated in step S1604, it may be determined again whether the moved processing record overlaps with the comparison record having high priority. This is because, for example, in the case where the dimension value area enlargement width is applied later, the rectangular areas may overlap.
なお、図16では、処理レコードと比較レコードを用いて、1つずつ比較をして図面上でアノテートを移動させるようにしたが、この処理手順に限定されるものではない。例えば、先に重なりがあるアノテートを特定しておき、重なりのあるアノテート同士の比較により移動させる。また、移動させたのちに、再度、先に重なりがあるアノテートを特定して、重なりのあるアノテート同士の比較により移動させることを繰り返してもよい。 In FIG. 16, although the processing record and the comparison record are used to compare one by one and move the annotation on the drawing, the processing procedure is not limited to this processing procedure. For example, annotations having overlap in advance are identified and moved by comparing annotations having overlap. In addition, after the movement, it may be repeated to specify again the annotations having overlap first, and to move by comparing the annotations having overlap.
なお、ステップS1603とステップ1611の処理をまとめて、オブジェクトの位置に基づき、オブジェクトの重なりを特定する処理と言い換えることが可能である。 Note that the processes of step S1603 and step 1611 can be put together and rephrased as a process of specifying overlapping of objects based on the position of the object.
ステップS1604の処理は、特定された重なりのあるオブジェクトであって、オブジェクトに係る複数の属性に基づき決定された優先度の低いオブジェクトを移動するよう制御する処理と言い換えることが可能である。また、ステップS1309により決定した優先度に従って、優先度の低いオブジェクトを移動するよう制御する処理と言い換えることが可能である。 The process of step S1604 can be reworded as a process of controlling to move an object having the specified overlap, which is a low priority object determined based on a plurality of attributes of the object. Also, it can be paraphrased as a process of controlling to move an object with a low priority according to the priority determined in step S1309.
ステップS1604におけるアノテートの移動について、図19を用いて説明する。図16はアノテートの移動処理の概略を示す図である。 The movement of the annotation in step S1604 will be described using FIG. FIG. 16 is a diagram showing an outline of an annotation transfer process.
なお、図16は重み付け設定例1と、図10Cで設定された方向優先(上→右→下→左)と、寸法値領域拡大幅(3mm)を用いてアノテートを移動した際の例である。 FIG. 16 is an example when moving an annotation using weighting setting example 1, direction priority (upper → right → lower → left) set in FIG. 10C, and dimension value area enlargement width (3 mm) .
1600では、鉛直寸法の寸法値が「30」「100」のアノテートが重なっている状態であり、「100」の引き出し線と「30」の矩形領域が重なっている状態である。図14の1430を参照すると、「30」はレコードNo.1で、「100」はレコードNo.2であり、優先度の低い「100」をモデルから離れるように移動される。 At 1600, annotations with vertical dimensions of "30" and "100" overlap, and a leader of "100" and a rectangular area of "30" overlap. Referring to 1430 of FIG. 1, “100” is the record number. 2 and the lower priority "100" is moved away from the model.
より詳細には、まず、方向優先の設定から、「100」を上方向に移動することを試みるが、「100」を上方向に移動しても、引き出し線が「30」の矩形領域に重なるため、方向優先の次の方向である右方向に移動することを試みる。右に移動することで引き出し線も右に移動されるため、「30」の矩形領域に重ならない位置が決定できる。その決定された位置で、「100」の矩形領域を寸法値領域拡大幅(3mm)で拡大する。拡大した結果「30」の矩形領域と重ならない場合には、その位置が移動位置となる。拡大した結果「30」の矩形領域と重なる場合には、「30」の矩形領域と重ならない位置まで移動した位置が実際の移動位置となる。この時、元の位置から、移動位置の距離が最大移動距離内とする。これは、アノテートを移動しすぎることで図面の閲覧性が低下するためである。 More specifically, first, from the setting of direction priority, try to move "100" upward, but even if "100" is moved upward, the leader line overlaps the rectangular area of "30" Because of this, we try to move to the right, which is the next direction of direction preference. By moving to the right, the leader line is also moved to the right, so that it is possible to determine a position not overlapping the “30” rectangular area. At the determined position, the rectangular area of "100" is expanded by the size expansion area width (3 mm). If the result does not overlap the rectangular area “30” as a result of enlargement, the position becomes the movement position. When it overlaps with the rectangular area of "30" as a result of expansion, the position moved to a position not overlapping with the rectangular area of "30" becomes the actual movement position. At this time, the distance of the movement position is within the maximum movement distance from the original position. This is because moving the annotation excessively reduces the viewability of the drawing.
なお、「30」の矩形領域に対しても寸法値領域拡大幅(3mm)で拡大して重なりを判定するようにしてもよい。 The overlap may be determined by enlarging the rectangular area of “30” with the dimension value area expansion width (3 mm).
なお、本実施形態では、右(水平方向)に「100」の矩形領域が、「30」の引き出し線の座標の外にくるまで所定値分ずらす処理を繰り返すが、「30」の引き出し線の座標の外になる距離を先に算出して、その距離分ずらすようにしてもよい。1902の矢印は移動方向を示すものである。移動された結果が1901である。 In the present embodiment, the process of shifting the rectangular area “100” on the right (horizontal direction) by a predetermined value until the rectangular area “100” comes out of the coordinates of the “30” lead line is repeated. The distance outside the coordinates may be calculated first and shifted by that distance. The arrow of 1902 indicates the moving direction. The result moved is 1901.
1930では、半径寸法の寸法値が「φ30」と注記の値「注記:XXXXXXX」のアノテートが重なっている状態であり、「φ30」の矩形領域と「注記:XXXXXXX」の矩形領域が重なっている状態である。図14の1430を参照すると、「φ30」はレコードNo.4で、「注記:XXXXXXX」はレコードNo.7であり、優先度の低い「注記:XXXXXXX」をモデルから離れるように移動する。移動する距離は、「注記:XXXXXXX」の矩形領域が、「φ30」の矩形領域の座標の外にくるまでの距離である。また、「注記:XXXXXXX」の矩形領域の中心として、同心円上の所定の角度(例えば、優先度の低い判定領域側である左上45度)の方向に所定値分ずらす処理を繰り返す。なお、「φ30」の矩形領域の座標の外になる距離を先に算出して、その距離分・所定の角度方向にずらすようにしてもよい。1932の矢印は移動方向を示すものである。
In 1930, the dimension value of the radial dimension is in the state where the annotation value of “φ30” and the annotation value “Note: XXXXXXX” overlap, and the rectangular area of “φ30” and the rectangular area of “Note: XXXXXXX” overlap It is a state. Referring to 1430 of FIG. 4 and “Note: XXXXXXX” is the record number. 7, move the low priority "Note: XXXXXXX" away from the model. The moving distance is the distance until the rectangular area of “Note: XXXXXXX” comes out of the coordinates of the rectangular area of “φ30”. Also, the processing of shifting a predetermined value in the direction of a predetermined angle on the concentric circle (for example, 45 degrees on the upper left side of the determination area with low priority) is repeated as the center of the rectangular area of “Note: XXXXXXX”. Note that the distance outside the coordinates of the rectangular region of “φ30” may be calculated first, and the distance may be shifted in the predetermined angular direction by the distance. The
1910では、水平寸法の寸法値が「78」「250」のアノテートが重なっている状態であり、「78」の矩形領域と「250」の矩形領域が重なっている状態である。図14の1430を参照すると、「78」はレコードNo.5で、「250」はレコードNo.6であり、優先度の低い「250」をモデルから離れるように移動する。移動は「250」のある領域「エリア008」内とする。そして、上方向に移動させた場合には、重なりを回避することができないため、次の右方向に移動させることを試みる。右に移動させた場合には、「78」の引き出し線と重ならない位置まで動かす必要があり最大移動距離を超えるため、移動することができない。次の下方向に移動させることを試みて、移動できるため「250」は下方向に移動して重ならない位置を決定する。その決定された位置で、「250」の矩形領域を寸法値領域拡大幅(3mm)で拡大し、「78」のアノテートとの一定の距離を保つ。なお、本実施形態では、下に「250」の矩形領域が、「78」の引き出し線の座標の外にくるまで鉛直方向に所定値分ずらす処理を繰り返す。「78」の引き出し線の座標の外になる距離を先に算出して、その距離分ずらすようにしてもよい。1912の矢印は移動方向を示すものである。なお、本実施形態では、同じ領域内で移動させるものとしたが、隣の領域で優先度の低い領域であれば、その領域にアノテートを移動させてもよい。
In 1910, annotations of horizontal dimensions “78” and “250” overlap, and a rectangular area “78” and a rectangular area “250” overlap. Referring to 1430 of FIG. In No. 5, "250" is the record number. 6 and move the lower priority "250" away from the model. The movement is within the area "area 008" with "250". And when it is made to move upward, since it can not avoid overlap, it tries moving to the next right. If it is moved to the right, it must be moved to a position not overlapping with the lead-out line of "78", and it can not move because it exceeds the maximum movement distance. In an attempt to move to the next downward direction, “250” moves downward to determine the non-overlapping position as it can move. At the determined position, the "250" rectangular area is expanded by the dimension area expansion width (3 mm) to maintain a constant distance from the "78" annotation. In the present embodiment, the process of shifting the rectangular area of “250” downward by a predetermined value in the vertical direction is repeated until the rectangular area of “250” comes out of the coordinates of the lead line of “78”. The distance outside the coordinates of the lead line of “78” may be calculated first and shifted by that distance. The
1920では、鉛直寸法の寸法値が「20」と水平寸法の寸法値が「250」のアノテートが重なっている状態であり、「250」の引き出し線と「20」の矩形領域が重なっている状態である。図14の1430を参照すると、「250」はレコードNo.6で、「20」はレコードNo.8であり、優先度の低い「20」をモデルから離れるように移動する。優先度の高い上方向への移動では引き出し線との回避ができないため、次に優先度の高い右方向に移動を試みる。移動できるため「20」は右方向に移動して重ならない位置を決定する。その決定された位置で、「20」の矩形領域を寸法値領域拡大幅(3mm)で拡大し、位置を調整し、「250」のアノテート(線分)と一定の距離を保つ。なお、本実施形態では、右方向に「20」の矩形領域が、「250」の引き出し線の座標の外にくるまで所定値分ずらす処理を繰り返す。なお、「250」の引き出し線の座標の外になる距離を先に算出して、その距離分ずらすようにしてもよい。1922の矢印は移動方向を示すものである。 At 1920, an annotation in which the dimension value of the vertical dimension is "20" and the dimension value of the horizontal dimension is "250" is overlapped, and the lead-out line of "250" and the rectangular region of "20" are overlapped. It is. Referring to 1430 of FIG. 6, “20” is the record number. 8. Move the lower priority "20" away from the model. Since the upward movement with high priority can not avoid the leader line, the movement to the right with high priority is attempted next. Since it can move, "20" moves to the right to determine the position not overlapping. At the determined position, the "20" rectangular area is enlarged by the dimension value area expansion width (3 mm), the position is adjusted, and a constant distance from the annotate (line segment) of "250" is maintained. In the present embodiment, the process of shifting the rectangular area “20” in the right direction by a predetermined value is repeated until it comes out of the coordinates of the “250” leader line. Note that the distance outside the coordinates of the lead-out line “250” may be calculated first and shifted by that distance. The arrow of 1922 indicates the moving direction.
上述した移動は一例であり、この移動処理に限定されるものではないことは言うまでもない。また、移動には、CADアプリケーションのAPIを用いて移動制御させ、図面上でアノテートの位置を変える処理を行うものとする。モデルの図面にアノテーションが重ならないようにするため、モデルの枠(図11の領域「エリア005」)の外向きに移動するように制御することが望ましいがこの限りでない。 It goes without saying that the above-described movement is an example, and the present invention is not limited to this movement processing. Also, for movement, movement control is performed using the API of the CAD application, and processing of changing the position of annotation on the drawing is performed. In order to prevent the annotation from overlapping the drawing of the model, it is desirable to control to move outward of the frame of the model (area “area 005” in FIG. 11), but this is not the only case.
次に、図20を用いて、重なり回避処理の他の例を説明する。図20は方向優先で、一番高い方向に動かせた場合の移動例を示すものである。なお、最大移動距離内で、他の領域にもアノテートを動かせる場合の例とする。鉛直寸法「20」の矩形領域と水平寸法の引き出し線が重なっており、鉛直寸法「20」を移動させる例で説明する。 Next, another example of the overlap avoidance processing will be described with reference to FIG. FIG. 20 shows an example of movement in the case of moving in the highest direction with direction priority. In addition, it is assumed that an annotation can be moved to another area within the maximum movement distance. The rectangular region of the vertical dimension "20" and the leader line of the horizontal dimension overlap, and an example in which the vertical dimension "20" is moved will be described.
2000は、右方向が一番優先度が高い場合の例で、移動前の状態である。2001の矢印は移動方向(右)を示すものである。鉛直寸法「20」の矩形領域と水平寸法の引き出し線が重なっているため、2002のように、重ならない移動できる位置にアノテートを移動する。
2000 is an example in the case where the right direction has the highest priority, and is a state before movement. The
2010は、左方向が一番優先度が高い場合の例で、移動前の状態である。2011の矢印は移動方向(左)を示すものである。鉛直寸法「20」の矩形領域と水平寸法の引き出し線が重なっているため、2012のように、重ならない移動できる位置にアノテートを移動する。すなわち、この例は、エリア005からエリア008へ鉛直寸法「20」が移動する。 2010 is an example in the case where the left direction has the highest priority, and is a state before movement. The arrow of 2011 indicates the moving direction (left). Since the rectangular region of the vertical dimension "20" and the leader line of the horizontal dimension overlap, as in 2012, the annotation is moved to a non-overlapping movable position. That is, in this example, the vertical dimension "20" moves from the area 005 to the area 008.
2020は、上方向が一番優先度が高い場合の例で、移動前の状態である。2021の矢印は移動方向(上)を示すものである。鉛直寸法「20」の矩形領域と水平寸法の引き出し線が重なっているため、2022のように、重ならない移動できる位置にアノテートを移動する。 2020 is an example in the case where the upward direction is the highest priority, and is a state before movement. The arrow of 2021 shows the movement direction (upper). Since the rectangular region of the vertical dimension "20" and the leader line of the horizontal dimension overlap, the annotation is moved to a non-overlapping movable position as in 2022.
2030は、下方向が一番優先度が高い場合の例で、移動前の状態である。2031の矢印は移動方向(下)を示すものである。鉛直寸法「20」の矩形領域と水平寸法の引き出し線が重なっているため、2032のように、重ならない移動できる位置にアノテートを移動する。
2030 is an example in the case where the downward direction is the highest priority, and is a state before movement. An
次に、図21を用いて、重なり回避処理の他の例を説明する。図21は寸法値領域拡大幅を適用した場合の移動例を示すものである。水平寸法「78」の矩形領域と水平寸法「250」の矩形領域が重なっており、水平寸法「250」を移動させる例で説明する。 Next, another example of the overlap avoidance processing will be described with reference to FIG. FIG. 21 shows an example of movement in the case where the dimension value area expansion width is applied. The rectangular area of horizontal dimension "78" and the rectangular area of horizontal dimension "250" overlap, and an example of moving horizontal dimension "250" will be described.
図21は、寸法値領域拡大幅:0mmの例と、寸法値領域拡大幅:3mmの例である。 FIG. 21 shows an example of a dimension value area expansion width: 0 mm and an example of a dimension value area expansion width: 3 mm.
2100は、「78」と「250」の矩形が重なっており、寸法値領域拡大幅:0mm(矩形を拡大しない)の場合である。2101は、下方向に水平寸法「250」を移動した例である。寸法値領域拡大幅:0mmであるため、「78」「250」は近い状態で表示されている。 2100 is a case where "78" and "250" rectangles overlap, and the dimension value area enlargement width: 0 mm (does not enlarge the rectangle). 2101 is an example in which the horizontal dimension "250" is moved downward. Since the dimension value area expansion width is 0 mm, “78” and “250” are displayed in a close state.
2102は、「78」と「250」の矩形が重なっており、寸法値領域拡大幅:3mm(矩形を拡大する)の場合である。また、2102は、「78」と「250」の外接する矩形を3mmで拡大した状態である。2103は、下方向に水平寸法「250」を移動した例である。寸法値領域拡大幅:3mmであるため、「78」「250」は一定距離離れた状態で表示されている。これにより、ユーザが所望する形(視認しやすい状態)で重なり回避時の表示を行うことができる。
以上説明したように、本実施形態によれば、設定に応じて、図面の内容を付加的に示すオブジェクトの重なりを所望する方法で回避することができる。また、容易に回避することができるため、重なりのチェックを効率化することができる。移動できなかったオブジェクト、移動したオブジェクトを識別表示させるため、より効率化につながる。 As described above, according to the present embodiment, it is possible to avoid overlapping of objects additionally showing the contents of the drawing in a desired method according to the setting. Moreover, since the process can be easily avoided, the overlap check can be made more efficient. This system is more efficient because it identifies and displays objects that could not be moved and moved objects.
オブジェクトの表示する値の表示領域を用いて重なり判定することで、異なる種別のオブジェクトであっても容易に重なり回避を行うことが可能である。 Overlap determination can be easily performed even for objects of different types by performing overlap determination using a display area of values displayed by the objects.
なお、本実施形態では、同一種別のオブジェクトの重なりを回避することに加え、異なる種別のオブジェクト同士でも重なりを容易に回避することができる。 In the present embodiment, in addition to avoiding overlapping of objects of the same type, overlapping can be easily avoided even between objects of different types.
また、オブジェクトの位置する領域(判定領域)と、オブジェクトの種別又は/及びオブジェクトの内容(値)により、優先度を決定して移動することができ、ユーザが所望する箇所に移動させることができる。 Also, the priority can be determined and moved according to the area (judgment area) where the object is located and the type of the object or / and the content (value) of the object, and the user can move to a desired location. .
更に、モデルの枠を特定して、その枠の外側に重なるオブジェクトを移動させることでより見栄えの良い図面を作成することができる。 Further, by specifying the frame of the model and moving the objects overlapping on the outside of the frame, it is possible to create a more attractive drawing.
CADの世界においては、まず3次元モデルを作成する。そして、特に日本の習慣では3次元モデルをそのまま用いずに、3次元モデルから2次元図面データを作成する。3次元モデルから2次元図面データを作成する機能は各CADアプリケーションには備わっているのが通常であり、3次元モデルと作成された2次元図面データは対応付いて管理される。2次元図面データを作成したのち、2次元図面データを用いてレビュー(関係者による詳細検討)がなされるが、レビューにより仕様変更がなされることがある。そのため仕様変更内容に基づいて、オペレーターが3次元モデル上でモデルの形状等の仕様を変更する。この場合、3次元モデルの形を変更することで先に作成された2次元図面データにも自動的に反映されるが、CADアプリケーションは形状等をアップデートするだけであり、付加されたアノテートの重なりまでチェックすることがなく、アノテートが重なるといった事態が発生する。このような形態より効果を得ることが可能な仕組みである。 In the CAD world, first create a three-dimensional model. And, especially in Japanese practice, 2D drawing data is created from the 3D model without using the 3D model as it is. The function of creating two-dimensional drawing data from a three-dimensional model is usually provided in each CAD application, and the three-dimensional model and the created two-dimensional drawing data are managed in association with each other. After two-dimensional drawing data is created, a review (detailed examination by a person in charge) is performed using the two-dimensional drawing data, but the specification may be changed by the review. Therefore, the operator changes the specifications such as the shape of the model on the three-dimensional model based on the contents of the specification change. In this case, changing the shape of the 3D model automatically reflects it on the 2D drawing data created earlier, but the CAD application only updates the shape etc., and the added annotation overlap There is a situation where annotations overlap without checking up to. It is a mechanism which can obtain an effect from such a form.
本実施形態は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。 The present embodiment is also possible, for example, as a system, an apparatus, a method, a program, a storage medium, etc. Specifically, the embodiment may be applied to a system constituted by a plurality of devices, and You may apply to the apparatus which consists of one apparatus.
なお、本実施形態は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。 Note that this embodiment includes one that supplies a program of software that implements the functions of the above-described embodiments directly to a system or apparatus or remotely. The present invention is also included in the present invention if the computer of the system or apparatus reads out and executes the supplied program code.
したがって、本実施形態の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。 Therefore, the program code itself installed in the computer to realize the functional processing of the present embodiment by the computer also implements the present invention. That is, the present invention also includes a computer program itself for realizing the functional processing of the present invention.
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。 In that case, as long as it has the function of a program, it may be in the form of an object code, a program executed by an interpreter, script data supplied to an OS, or the like.
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。 Examples of recording media for supplying the program include a flexible disk, a hard disk, an optical disk, a magneto-optical disk, an MO, a CD-ROM, a CD-R, and a CD-RW. There are also magnetic tapes, non-volatile memory cards, ROMs, DVDs (DVD-ROMs, DVD-Rs) and the like.
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本実施形態のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。 In addition, as a program supply method, a browser on a client computer is used to connect to an Internet home page. Then, it can be supplied by downloading the computer program of the present embodiment itself or a compressed file including an automatic installation function from the home page to a recording medium such as a hard disk.
また、本実施形態のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。 The present invention can also be realized by dividing the program code constituting the program of the present embodiment into a plurality of files, and downloading each file from different home pages. That is, the present invention also includes a WWW server which allows a plurality of users to download program files for realizing the functional processing of the present invention by a computer.
また、本実施形態のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。 Further, the program of the present embodiment is encrypted, stored in a storage medium such as a CD-ROM, and distributed to the user, and the user who clears the predetermined conditions has key information for deciphering encryption from the homepage via the Internet. Make it download. Then, it is possible to execute the program encrypted by using the downloaded key information and install it on a computer.
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。 Also, the functions of the above-described embodiments are realized by the computer executing the read program. In addition, based on the instructions of the program, an OS or the like running on the computer performs part or all of the actual processing, and the functions of the above-described embodiment can be realized by the processing.
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。 Furthermore, the program read from the recording medium is written to a memory provided in a function expansion board inserted in the computer or a function expansion unit connected to the computer. Thereafter, based on the instruction of the program, a CPU or the like provided in the function expansion board or the function expansion unit performs part or all of the actual processing, and the function of the above-described embodiment is also realized by the processing.
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。 The embodiments described above merely show examples of implementation in practicing the present invention, and the technical scope of the present invention should not be interpreted in a limited manner by these. That is, the present invention can be implemented in various forms without departing from the technical concept or the main features thereof.
100 CADシステム
101 情報処理装置
102 サーバ
103 ネットワーク
201 CPU
300 CADアプリケーション
310 重なり制御プログラム
100
300 CAD application 310 overlap control program
Claims (10)
前記情報処理装置を、
前記オブジェクトの移動に用いる設定値を設定する設定手段と、
前記オブジェクトの位置に基づき、オブジェクトの重なりを特定する特定手段と、
前記設定手段により設定された設定値に従って、移動する位置を決定する位置決定手段と
前記特定手段で特定された重なりのあるオブジェクトであって、優先度の低いオブジェクトを前記位置決定手段で決定された位置に移動するよう制御する移動制御手段
として機能させるためのプログラム。 A program of an information processing apparatus for displaying an object additionally showing contents of a drawing,
The information processing apparatus
Setting means for setting setting values used for moving the object;
Specifying means for specifying overlapping of objects based on the position of the objects;
According to the setting value set by the setting means, the position determining means for determining the position to move and the overlapping objects specified by the specifying means, and the objects with low priority are determined by the position determining means A program for functioning as movement control means for controlling movement to a position.
前記位置決定手段は、前記オブジェクトで表示する値間の距離を得るための値を用いて、移動する位置を決定することを特徴とする請求項1に記載のプログラム。 The setting value includes a value for obtaining a distance between values displayed on the object,
The program according to claim 1, wherein the position determination means determines a position to move using a value for obtaining a distance between values displayed on the object.
前記位置決定手段は、前記移動可能な距離を示す値を用いて、移動する位置を決定することを特徴とする請求項1又は請求項2に記載のプログラム。 The setting value includes a value indicating a movable distance,
The program according to claim 1 or 2, wherein the position determining means determines the position to move using the value indicating the movable distance.
前記位置決定手段は、前記移動する方向の優先度を示す値を用いて、移動する方向を決定して移動する位置を決定することを特徴とする請求項1乃至請求項3のいずれか1項に記載のプログラム。 The setting value includes a value indicating the priority of the moving direction,
4. The apparatus according to claim 1, wherein the position determining means determines the moving direction by determining the moving direction using a value indicating the priority of the moving direction. The program described in.
前記オブジェクト種別の優先度を示す値を用いて、オブジェクトの優先度を決定するオブジェクト優先度決定手段を更に備え、
前記移動制御手段は、前記オブジェクト優先度決定手段で決定されたオブジェクトの優先度により優先度の低いオブジェクトを前記位置決定手段で決定された位置に移動するよう制御することを特徴とする請求項1乃至請求項4のいずれか1項に記載のプログラム。 The setting value includes a value indicating a priority of an object type related to the object,
The apparatus further comprises an object priority determination unit that determines the priority of an object using a value indicating the priority of the object type.
The movement control means is controlled to move an object having a low priority to the position determined by the position determination means according to the priority of the object determined by the object priority determination means. The program according to any one of claims 1 to 4.
前記オブジェクトの移動に用いる設定値を設定する設定手段と、
前記オブジェクトの位置に基づき、オブジェクトの重なりを特定する特定手段と、
前記設定手段により設定された設定値に従って、移動する位置を決定する位置決定手段と
前記特定手段で特定された重なりのあるオブジェクトであって、優先度の低いオブジェクトを前記位置決定手段で決定された位置に移動するよう制御する移動制御手段と
を備えることを特徴とする情報処理装置。 An information processing apparatus for displaying an object additionally showing the contents of a drawing
Setting means for setting setting values used for moving the object;
Specifying means for specifying overlapping of objects based on the position of the objects;
According to the setting value set by the setting means, the position determining means for determining the position to move and the overlapping objects specified by the specifying means, and the objects with low priority are determined by the position determining means An information processing apparatus comprising: movement control means for controlling movement to a position.
前記オブジェクトの移動に用いる設定値を設定する設定ステップと、
前記オブジェクトの位置に基づき、オブジェクトの重なりを特定する特定ステップと、
前記設定ステップにより設定された設定値に従って、移動する位置を決定する位置決定ステップと
前記特定ステップで特定された重なりのあるオブジェクトであって、優先度の低いオブジェクトを前記位置決定ステップで決定された位置に移動するよう制御する移動制御ステップと
を含むことを特徴とする処理方法。
A processing method of an information processing apparatus for displaying an object additionally showing the contents of a drawing,
A setting step of setting a setting value used to move the object;
Identifying an overlap of objects based on the position of the objects;
According to the setting value set in the setting step, a position determining step for determining a position to move and an overlapping object specified in the specifying step, an object having a low priority determined in the position determining step And d) controlling movement to move to a position.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017240011A JP6908852B2 (en) | 2017-12-14 | 2017-12-14 | Programs, information processing devices and their processing methods |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017240011A JP6908852B2 (en) | 2017-12-14 | 2017-12-14 | Programs, information processing devices and their processing methods |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019106151A true JP2019106151A (en) | 2019-06-27 |
JP6908852B2 JP6908852B2 (en) | 2021-07-28 |
Family
ID=67062067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017240011A Active JP6908852B2 (en) | 2017-12-14 | 2017-12-14 | Programs, information processing devices and their processing methods |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6908852B2 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0721217A (en) * | 1993-06-15 | 1995-01-24 | Kubota Corp | Pipe network analysis device |
JPH07262341A (en) * | 1994-03-18 | 1995-10-13 | Fujitsu Ltd | Automatic arranging device for character string |
JPH10154174A (en) * | 1996-09-24 | 1998-06-09 | Fujitsu Ltd | Character string automatic editing system |
JP2008158419A (en) * | 2006-12-26 | 2008-07-10 | Fuji Xerox Co Ltd | Image projection device, image control system and image control program |
JP2014126954A (en) * | 2012-12-25 | 2014-07-07 | Mitsubishi Heavy Ind Ltd | Drawing character arrangement support system |
JP2016042104A (en) * | 2015-12-15 | 2016-03-31 | 株式会社ナビタイムジャパン | Navigation system, navigation method, and program |
-
2017
- 2017-12-14 JP JP2017240011A patent/JP6908852B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0721217A (en) * | 1993-06-15 | 1995-01-24 | Kubota Corp | Pipe network analysis device |
JPH07262341A (en) * | 1994-03-18 | 1995-10-13 | Fujitsu Ltd | Automatic arranging device for character string |
JPH10154174A (en) * | 1996-09-24 | 1998-06-09 | Fujitsu Ltd | Character string automatic editing system |
JP2008158419A (en) * | 2006-12-26 | 2008-07-10 | Fuji Xerox Co Ltd | Image projection device, image control system and image control program |
JP2014126954A (en) * | 2012-12-25 | 2014-07-07 | Mitsubishi Heavy Ind Ltd | Drawing character arrangement support system |
JP2016042104A (en) * | 2015-12-15 | 2016-03-31 | 株式会社ナビタイムジャパン | Navigation system, navigation method, and program |
Also Published As
Publication number | Publication date |
---|---|
JP6908852B2 (en) | 2021-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3862336B2 (en) | Image editing method and apparatus | |
CN114675925B (en) | Configuration image processing method and device, computer equipment and storage medium | |
JP5404969B1 (en) | Electronic manual browsing device and system | |
JP5830055B2 (en) | Image processing apparatus and image processing system | |
JP5278927B2 (en) | Information processing apparatus, information processing apparatus control method, and program | |
JP7192953B2 (en) | Information processing device, information processing method and program | |
US20220337709A1 (en) | Information processing apparatus, information processing method, and storage medium | |
JP6908852B2 (en) | Programs, information processing devices and their processing methods | |
JP6222896B2 (en) | Display control apparatus, control method thereof, and program | |
JP6572940B2 (en) | Information processing apparatus, control method thereof, and program | |
JP5949278B2 (en) | Information processing apparatus, information processing apparatus control method, program, and recording medium | |
JP5370561B1 (en) | Information processing apparatus, control method thereof, and program | |
JP6908835B2 (en) | Programs, information processing devices and their processing methods | |
JP6011603B2 (en) | Information processing apparatus, control method thereof, and program | |
JP6063153B2 (en) | Information processing apparatus, information processing method, and program | |
JP7381900B2 (en) | Information processing system, its control method and program | |
JP2019148649A (en) | Image processing apparatus, control method, and program | |
JP2018106327A (en) | Program, system, information processing apparatus and processing method | |
JP2013088777A (en) | Viewer device, server device, display control method, electronic comic editing method and program | |
US10459681B2 (en) | Information processing apparatus, information processing method, and storage medium | |
JP6904672B2 (en) | Information processing device, its control method, and program | |
JP2005165452A (en) | Information processor, client terminal equipment, information processing method, its program and recording medium | |
JP2018106333A (en) | Information processing apparatus, information processing system, and control method and program therefor | |
JP2018045465A (en) | Information processing device, information processing system, control method thereof, and program | |
JP2022101746A (en) | Information processing apparatus, information processing method, and program |
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: 20190115 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191218 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210209 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210409 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210601 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210614 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6908852 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |