260
Creo Elements/Direct Drafting Writing Macros 本語版 Creo Elements/Direct Drafting 20.3.0.0

Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

Creo Elements/DirectDrafting Writing Macros日

本語版Creo Elements/Direct Drafting 20.3.0.0

Page 2: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

Copyright © 2020 PTC Inc. and/or Its Subsidiary Companies. All Rights Reserved.

PTC Inc.およびその子会社 (総称「PTC」)のユーザー、トレーニングガイドおよびその関連ドキュメントは、アメリカ合衆国およびその他の国の著作権法の制限に従うものとし、ユーザードキュメ

ントの複製、開示、使用を制限するライセンス契約に基づいて提供されています。PTCは、本契約によりライセンスを与えられたユーザーに対してソフトウェアの媒体により提供されるこのドキュ

メントを印刷物の形式で複製する権利を許可します。ただし、その目的は、適用対象のソフトウェ

アを許諾する根拠となるライセンス契約の下で許諾されたユーザーによる社内的または個人的使用

に限定されます。作成されたコピーには、PTCの著作権表示および PTCによって提供されるその他すべての所有権表示が含まれるものとします。トレーニング教材は、PTCの事前の書面による同意なしに複製することは禁止されています。本ドキュメントの内容を、電子メディア、伝送、公表

を含み、その手段にかかわらず PTCの事前の書面による同意なしに開示、譲渡、修正、縮小することは一切禁止します。また、そのような目的での複製は、いかなる理由によっても許諾されませ

ん。本ドキュメントに記載されている内容は、情報としてのみ提供されるものであり、予告なしに

変更されることがあります。PTCがその内容に関して責任を表明するものではありません。PTCは、本マニュアル中の誤りや不明な点に関し責任を負いません。

本マニュアルに記載されたソフトウェアは書面によるライセンス契約に基づいて提供されるもので

あり、弊社の重要な商用機密および知的財産情報を含み、アメリカ合衆国およびその他の国の著作

権法により保護されています。このソフトウェアを、その形式または媒体にかかわらずコピーまた

は配布、外部企業に開示、あるいは PTCの書面による事前の同意なしにソフトウェアライセンス契約に記載されていない用途で使用することは禁止されています。

弊社ソフトウェアとユーザードキュメントの無断使用は、損害賠償、刑事訴訟の対象となります。

PTCは、ソフトウェアの著作権侵害を犯罪として認識し、この行為を行うものを犯罪者と見なします。PTCは、当社のソフトウェア製品に対する著作権侵害行為を許容しません。PTCでは、そのような行為を行う者に対して、公私の監視手段などのすべての法的手段を用いて法的措置 (民事および刑事)を取ります。その一環として、弊社ソフトウェアの不正コピーを使用しているユーザーのデータを取得および転送するために、PTCはデータの監視および検索の技術を使用しています。このデータ収集は、PTCから合法的にライセンスを与えられたユーザーおよび承認された代理店に対しては実行されません。PTCソフトウェアの不正コピーを使用しているが、データの収集および転送に同意しない場合 (アメリカ合衆国を含む)、不正バージョンの使用を中断し、PTCに連絡して合法的にライセンスを与えられたコピーを取得してください。

著作権、商標、特許、およびライセンスに関する重要な情報: PTCソフトウェアのアバウトボックスまたは著作権表示を参照してください。

アメリカ合衆国政府の権利

PTCソフトウェア製品およびソフトウェアマニュアルは 48 C.F.R. 2.101で定義された「商用品目」です。民間機関向けの連邦調達規則 (FAR) 12.212 (a)-(b) (コンピューターソフトウェア) (2014年 5月)または国防省向けの防総省調達規則 (DFARS) 227.7202-1(a) (規定)および 227.7202-3 (a) (商用コンピューターソフトウェアまたは商用コンピューターソフトウェアマニュアルにおける権利) (FEB2014)に準じて、PTCソフトウェア製品およびソフトウェアマニュアルは、PTC商用ライセンス契約に基づいて米国政府に提供されるものとします。米国政府による使用、複製または開示は、該当

する PTCソフトウェアライセンス契約に記載されている条件に従ってのみ許可されるものとします。

PTC Inc., 121 Seaport Blvd, Boston, MA 02210 USA

Page 3: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

目次

まえがき.....................................................................................................................6

マクロとは何か.........................................................................................................14マクロを使用する理由 ........................................................................................15マクロ用ファイルの作成.....................................................................................16マクロの格納 .....................................................................................................16マクロの削除 .....................................................................................................18マクロの実行 .....................................................................................................18マクロのデバッグ...............................................................................................18マクロの停止 .....................................................................................................21

マクロを作成するためのエディタの使用法.................................................................22キーボード編集キーの使用する。 .......................................................................23エディタに入る方法およびエディタから出る方法 ................................................23迅速にエディタに入るための EDIT_PORTの使用法 .............................................23マーカの設定および使用方法 ..............................................................................24テキストのコピー...............................................................................................26エディタコマンドの使用.....................................................................................26EDIT_MACROの使用方法 ....................................................................................31

マクロの基本 ............................................................................................................34マクロの構成要素...............................................................................................35最小のマクロ .....................................................................................................37構文図 ...............................................................................................................38ローカル変数に関する説明 .................................................................................40ローカル変数を使用する理由 ..............................................................................44変数タイプを宣言するか.....................................................................................46制御文の使用法 ..................................................................................................48小かっこの使用法...............................................................................................51トレース機能の使用法 ........................................................................................53マクロの行の字下げ ...........................................................................................57防御プログラミング ...........................................................................................57マクロコマンド ..................................................................................................59組み込み関数 .....................................................................................................60

環境および要素についての問い合わせ .......................................................................61INQ_ENVの使用方法 ..........................................................................................62INQ_ELEMの使用方法 ........................................................................................63

3

Page 4: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

GETENVの使用方法 ............................................................................................64ほかの問い合わせの使用法 .................................................................................64

点およびベクトルのクイックレビュー .......................................................................65点 ......................................................................................................................66ベクトル ............................................................................................................67

幾何マクロの書き方 ..................................................................................................70矢印マクロ.........................................................................................................71パネルマクロ .....................................................................................................74

ファイル入出力およびテキスト文字列 .......................................................................80マクロが実行すること ........................................................................................81マクロの分析 .....................................................................................................82マクロ内からのマクロの呼び出し .......................................................................90マクロへのパラメータ渡し .................................................................................92

データファイルに格納される寸法線の使用.................................................................96マクロが実行すること ........................................................................................97栓の説明 ............................................................................................................97ベクトル解析 .....................................................................................................99データファイルの説明 ...................................................................................... 100マクロの分析 ................................................................................................... 100マクロの改良 ................................................................................................... 102

有益なマクロ .......................................................................................................... 104現存の線とある角度で交わる下書き線の作図..................................................... 105線を等しいセグメントに分割する ..................................................................... 105端が円形のスロットを描く ............................................................................... 106正多角形を描く ................................................................................................ 107円形のオブジェクトの周囲にテキストをフィットする ....................................... 107隠線作図のさまざまな Zレベルを示す .............................................................. 108

システム操作の記録 ................................................................................................ 110ECHO関数 ........................................................................................................ 111マクロを作成するための ECHOの使用 ............................................................. 112

コマンドを見つけるインターフェイスの使用 ........................................................... 114どのコマンドを使用するか ............................................................................... 115

カスタマイズ .......................................................................................................... 118Creo Elements/Direct Drafting環境とは何か ...................................................... 119Creo Elements/Direct Drafting環境のカスタマイズ ............................................ 120スクリーンメニューの作成方法......................................................................... 120スクリーンメニューのカスタマイズ .................................................................. 126ローカルディレクトリに対するカスタマイズ..................................................... 126キーボードのカスタマイズ ............................................................................... 130

4 Creo Elements/Direct Drafting Writing Macros日本語版

Page 5: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

テキストフォントとは何か ............................................................................... 133テキストフォントの作成方法 ............................................................................ 137スタートアップ手順のカスタマイズ .................................................................. 141ハッチングパターンのカスタマイズ .................................................................. 144キーボード入力文字 ......................................................................................... 146キーボード入力文字 ......................................................................................... 147

コマンドおよびファンクションの概説 ..................................................................... 148

付録 A.論理テーブルおよび表示テーブル ................................................................. 203論理テーブルおよび表示テーブルとは何か ........................................................ 205論理テーブルアクセスファンクション............................................................... 209表示テーブルファンクション ............................................................................ 217ユーザテーブルファンクション......................................................................... 235論理テーブルと表示テーブルの使用 -例 1 ......................................................... 242論理テーブルと表示テーブルの使用 -例 2 ......................................................... 246

索引 ....................................................................................................................... 254

目次 5

Page 6: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

まえがき

Creo Elements/Direct Draftingは汎用 2D設計製図システムで、設計プロセスの各段階における最適化を図ります。Creo Elements/Direct Draftingを使用することにより、2D図面を素早く簡単に作成できます。

このマニュアルの目的は、Creo Elements/Direct Draftingとともに使用するマクロの書き方について説明することです。マクロはユーザの日常の作業

の多くをスピードアップおよび自動化できます。

6 Creo Elements/Direct Drafting Writing Macros日本語版

Page 7: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

本書の対象読者本書は次の方を対象読者としています。

• システム管理者

経験豊富なシステム管理者で、UNIXベースおよびWindowsベースのオペレーティングシステムの管理に経験があります。スタートアップファイルおよびカスタマイズファイルについて理解しています。マクロを使用して、グループが利用する手順のカスタマイズを単純化します。

• 設計者または製図者

経験豊富な Creo Elements/Direct Draftingユーザです。多数の繰り返し作業を手動で実行しており、そのタスクを自動化するマクロの作成方法を理解する必要があります。プログラミング経験は必要ありません。

7

Page 8: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

本書のねらいこのマニュアルでは、以下の方法を説明します。

• 図形の作成

• データファイルからの仕様の抽出

• Pascalや Cなどのプログラム言語と通信して複雑な計算を実行(UNIXベースシステムの場合のみ)

• 図面のラベル付け

• パーツリストの作成

• スタートアップ手順のカスタマイズ

• スクリーンメニューの表示およびファンクションの制御

• キーボードのカスタマイズ

• テキストフォントのカスタマイズ

8 Creo Elements/Direct Drafting Writing Macros日本語版

Page 9: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

本書の使い方システム管理者

必要な情報を効率的に得られるよう、次の説明を参考にしてください。

1. 第 1章~第 4章:マクロ作成の基本を説明しています。

2. 第 12章:ユーザインターフェイスを介して手動で行われる作業にマクロまたは関数を関連付ける方法を説明しています。

3. 第 13章:カスタマイズについて説明しています。

4. 第 14章:コマンドまたはファンクションについて簡単に説明しています。

5. 付録 A:論理テーブルおよび表示テーブルについて説明しています。

設計者または製図者

必要な情報を効率的に得られるよう、次の説明を参考にしてください。

1. 第 1章~第 4章:マクロ作成の基本を説明しています。

2. 第 5章:ベクトルについて確認しています。

3. 第 6章~第 11章:通常の作業で使用するタスクに固有の詳細な説明です。

4. 第 12章:ユーザインターフェイスを介して手動で行われる作業にマクロまたは関数を関連付ける方法を説明しています。

5. 第 13章:独自の環境をカスタマイズする必要がある場合に参照してください。

6. 第 14章:コマンドまたはファンクションについて簡単に説明しています。

9

Page 10: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

本書の構成第 1章 What is a Macro?では、マクロの概要、およびマクロ

をストア、実行、デバッグする方法について説明しま

す。

第 2章 Using the Editor to Write a Macroでは、マクロを

書くために内蔵されたエディタを使用する方法を示し

ます。

第 3章 Macro Basicsでは、構文図、ローカル変数およびグ

ローバル変数、制御文、かっこ、防御プログラミング

の使用法について説明します。

第 4章 Inquiring about the Environment and Elements

では、現在の単位や線種などの環境情報にアクセスす

る方法、およびマクロ操作中に変更された環境情報の

リストア方法について説明します。

第 5章 Quick Review of Points and Vectorsでは、マクロ

に必要な知識レベルを引き上げます。

第 6章 Writing Geometry Macrosでは、最初のベクトル解

析の実行方法、およびベクトル解析をマクロに組み込

む方法について説明します。

第 7章 File Input/Output and Text Stringsでは、文字

列データの処理方法、および ASCIIファイルからの文字列の抽出方法について説明します。

第 8章 Using Dimensions Stored in a Data Fileでは、

ファイルの表形式データを使用して図形を作成する方

法について説明します。

第 9章 Useful Macrosでは、毎日の作業に使用できるマクロ

を選び、その説明をします。

第 10章 Recording the System Operationでは、CreoElements/Direct Draftingの操作での動作状態の記録およびユーザがマクロを書くのに有効な記録の使用方法に

ついて説明します。

第 11章 Using the Interface to Find a Commandでは、

ユーザインターフェイスで行う作業にマクロコマンド

を関連させる方法について説明します。

第 12章 Customizingでは、開始、環境、キーボード、および

テキストフォントなどをカスタマイズする方法につい

て説明します。

10 Creo Elements/Direct Drafting Writing Macros日本語版

Page 11: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

第 13章 Brief List of Commands and Functionsでは、各コ

マンドおよびファンクションについて 1~ 2行で説明します。

付録 A Logical and Display Tablesには、論理テーブルお

よび表示テーブルを使用するために必要な情報を記載

します。

11

Page 12: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

オンラインヘルプコマンドおよびファンクションについての説明および構文が知りたい場合

は、オンラインヘルプ機能を使用してください。

たとえば、編集コマンドのヘルプ情報を得るには、MODIFY Draftingのコマンド行で次のように入力します。help modify

スクリーンがクリアされ、Creo Elements/Direct Draftingで図面の編集に関するさらに詳しい情報が表示されます。

12 Creo Elements/Direct Drafting Writing Macros日本語版

Page 13: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

本書で使用する一般的表記本書では、次のような印刷表記を使用します。

表 1.本書で使用される表記規約

表記規約 表示内容

太字 ユーザインターフェイスから選択可能なメ

ニューパス、ダイアログボックスオプショ

ン、ボタンなどの要素。

たとえば、線グリッド、表示指定レイヤ、

ズームなどがあります。Courier ユーザ入力、システムメッセージ、ディレ

クトリ、ファイル名。

13

Page 14: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

1マクロとは何か

マクロを使用する理由...............................................................................................15マクロ用ファイルの作成 ...........................................................................................16マクロの格納 ............................................................................................................16マクロの削除 ............................................................................................................18マクロの実行 ............................................................................................................18マクロのデバッグ .....................................................................................................18マクロの停止 ............................................................................................................21

この章では、マクロの簡単な紹介、マクロの格納、実行、および停止の方

法を説明します。

14 Creo Elements/Direct Drafting Writing Macros日本語版

Page 15: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

マクロを使用する理由マクロは、一連のコマンドを自動的に実行するための迅速かつ簡単な方法

です。ユーザが入力する必要は、ほとんどあるいはまったくありません。

ME-CADユーザが頻繁に使用する一連のコマンドは、マクロの書き込みを考慮してください。

たとえば、一日に最低一度は、ワークステーションからログアウトしま

す。ログアウトの前に作図したものを格納し、コマンドラインに「exit

confirm」と入力します。

Quitと呼ばれる次のマクロを使用すると、上記の手順を自動化できま

す。DEFINE Quit

{###############################################}

{## This macro stores your current ##}

{## drawing in 'filename', then ends ##}

{## your ME-CAD session. ##}

{###############################################}

STORE ALL DEL_OLD 'filename'

EXIT CONFIRM

END_DEFINE

マクロには、ログアウトする前に入力する一連のコマンドが含まれている

ことがわかります。マクロの最初のコメントによって、ユーザはマクロの

内容を理解できます。

コマンドは、ファイルに格納されていて、マクロ開始時に実行されます。

マクロの実行は、コマンドラインにマクロ名を入力するか、スクリーンメ

ニュー上でスロットを選択することによって行います。

マクロの主要な用途を、以下に示します。

• 図形の作成

• 計算

• 作図のラベル付け

• パーツリストの作成

• スクリーンメニュー画面および機能の制御

マクロについて詳細に説明する前に、内蔵のエディタでマクロを入力する

方法およびマクロを格納する方法について説明します。

次の 2つの方法によって、マクロを作成できます。

• 通常お使いになっているエディタの使用

マクロとは何か 15

Page 16: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

• ME-CADシステムソフトウェアに内蔵されているスクリーンエディタの使用

内蔵のエディタは、PCをベースにしたエディタに似ています。この章で取り上げる例は、すべて内蔵のエディタを用いて行われることになりま

す。

マクロ用ファイルの作成マクロを書き込む前に、まずそれを格納するためのファイルを作成する必

要があります。たとえば、cad_mac.mと呼ばれるファイルを作成する場

合は、ME-CAD環境下のコマンドラインで、次のように入力します。EDIT_FILE 'cad_mac.m'

このファイルがすでに存在する場合、システムがファイル内容を表示し、

マクロを加えることができます。ファイルが存在しない場合、システムは

空のファイルを作成します。後の22ページの「マクロを作成するためのエディタの使用法」の説明に従って、マクロを入力します。

マクロの格納マクロを格納して、ME-CADスクリーンに戻る場合は、[Ctrl] [D]キー

を押してください。ファイルは、システムディスク上に格納されます。こ

れは、スクリーンの一番下の次のメッセージによって示されます。writing 'cad_mac.m'

カレントディレクトリをリストすると、'cad_mac.m'がリストに現れま

す。

エディタ内でファイルを変更した場合、変更結果を無効にできます。

[ESC]キーあるいは [Break]キーを押してエディタを終了してくださ

い。変更結果がディスクに書き込まれることはありません。

必要な数のマクロをファイルに加えることができます。ファイル内でのマ

クロの順序は重要ではありません。しかし、アルファベット順にマクロを

配列しておくと、簡単にマクロを見つけることができます。

新しいマクロの書き込みおよびデバッグを行っている最中に、ファイルの

最初に新しいマクロを書き込んでおきたいことがあります。EDIT_FILE

コマンドを使ってエディタに入ると、ファイルの最初のページが表示され

16 Creo Elements/Direct Drafting Writing Macros日本語版

Page 17: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

ますので、ファイルをスクロールしてマクロを見つける必要がありませ

ん。後で、マクロが完全にデバッグされた時点で、ファイル内で正しいア

ルファベット順に移動できます。

新しくマクロを書いたり、デバッグしたりするための別の方法は、新しい

マクロ用の個別のファイルを作成することです。マクロが十分にデバッグ

された時点で、マクロを普通のマクロファイルに付加します。この方法に

は、次の 2つの利点があります。

• EDIT_FILEコマンドを使用すると、テキストがさらに速く表示され

ます。

• INPUTコマンドが、より速く実行されます (INPUTは、マクロをコンパイルおよびロードしますが、それについては次の項で説明します)。

マクロごとに個別のファイルを残してください。そうすれば、マクロと同

じ名前をファイルにつけることができます。使用しているマクロが別のマ

クロを呼び出す場合、これらの別のマクロを個別に入力する必要がある場

合もあります。

あまり使用されることがないマクロを格納する方法は、別にあります。類

似したマクロを 1つのファイルにまとめてください。たとえば、すべてのボルトマクロはファイル 'bolt.m'に、フランジマクロは 'flange.m'

に、といった具合に格納できます。すべてのファイルに共通のマクロ名を

使用してください。たとえば、最初のボルトマクロと最初のフランジマク

ロは、双方とも macro1と呼び、2番目のボルトマクロと 2番目のフランジマクロは双方とも macro2と呼ぶ、といった具合にです。必要な場合

は、各ファイルをロードしてください。ファイルをロードするたびに、同

名のマクロは上書きされます。たとえば、ボルト macro1は、フランジ

macro1に上書きされるといった具合です。そうすると、可変のメモリ空

間があまり使用されることのないマクロによって使われることはなくなり

ます。

マクロの中で INPUTコマンドを使用する場合、修飾子 IMMEDIATEをつ

けて使用する必要があります。37ページの「INPUT」も参照してください。

マクロとは何か 17

Page 18: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

マクロの削除DELETE_MACROコマンドを使って、RAMから個々のマクロを削除できます。大きな図をロードするために、より大きなメモリ空間が必要な場合

に、このコマンドが役に立ちます。たとえば、Quitと呼ばれるマクロを

削除する場合、次のコマンドを使ってください。DELETE_MACRO Quit

マクロの実行マクロを実行する前に、RAM内でコンパイルおよびロードする必要があります。コマンドラインで次のコマンドを入力することによって、マクロ

をコンパイルおよびロードします。INPUT 'cad_mac.m'

これでファイルが入力されたので、このファイルから 2つの方法でマクロを実行できます。それらの方法をここで説明します。

コマンドラインからのマクロの実行

コマンドラインでマクロ名を入力することによって、あらゆるマクロを実

行できます。ファイル cad_mac.mがマクロ Quitを含む場合、コマンド

ライン上で次のコマンドを入力することによって、マクロを実行できま

す。Quit

マクロは、行ごとに実行されます。実行される際、コマンドおよびステー

トメントがチェックされます。これは、Basicのプログラム言語の「インタプリタ」バージョンと似ています。エラーが見つかった場合、実行が停

止されてメッセージが表示されます。

マクロのデバッグマクロが実行できない場合、エディタを用いてマクロを編集する必要があ

ります。マクロを編集する手順は、マクロを作成する場合と同じです。つ

まり、EDIT_FILEを用いてファイルに入り、変更を行います。

エディタにファイルが表示されると、ファイルの最初のページが表示され

ているはずです。矢印キーを使って、変更するマクロまでスクロールしま

す。エラーが見つかるまで各行のマクロを確認します。かっこやアンダー

スコア (_)がないなど、多くのエラーは単純なものです。

18 Creo Elements/Direct Drafting Writing Macros日本語版

Page 19: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

エラーがすぐに見つからない場合は、BREAKPOINT関数を使用してマク

ロをデバッグします。マクロコードの適切な場所に BREAKPOINTを挿入

します。これを行うには、ディスクにあるファイルの編集や、EDIT_

MACRO関数を使用します。コードが BREAKPOINTまで到達すると、シス

テムはデバッグモードになります。

デフォルトでブレークポイント関数が有効になります。有効にならない場

合、ENABLE_BREAKPOINTが ONになっているかどうかを確認します。

Creo Elements/Direct Draftingで BREAKPOINT関数を有効化するには、次の

操作を行います。

• 「その他」をクリックし、「システム」グループの「ブレークポイント」

のチェックボックスをオンにします。

ブレークポイントを使用し、それらが有効な場合、パラメータテーブルが

表示されます。

すでにデバッグモードになっており、デバッガコマンドを使用するトーク

ンを 1つでも移動した場合、BREAKPOINTキーワードはブレークポイン

トを現在の位置で設定します。

マクロの PARAMETERと LOCALの間に BREAKPOINTを挿入すると、デ

バッガは最初のコマンドで中断します。

ブレークポイントは、現在の OSDセッションのみに設定されます。ディスクの対応するファイルには追加されません。

デバッグモードになった後、以下のコマンドを使用して、マクロのステッ

プを 1つずつ確認し、有効でない部分を特定します。

• STEP_NEXT:トークンを一度に 1つずつマクロコードで実行するために使用します。

• STEP_OUT:現在のマクロ関数からステップアウトします。

• STEP_OVER:マクロ関数の場合、次のトークンにステップオーバーします。

• STEP n: 1つのステップで複数のトークンに進みます。

• SKIP n:現在のトークンを何回かスキップします。

• CONTINUE:次のブレークポイントまでマクロの実行を継続します。

• GO:ブレークポイントに関係なく、残りのコードを実行します。

• REMOVE_BREAKPOINT:現在のブレークポイントを削除します。

マクロとは何か 19

Page 20: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

• ENABLE_BREAKPOINTS:全ブレークポイントを有効にします。

• LIST_BREAKPOINTS:エディタにブレークポイントすべてをリストします。

BREAKPOINTを使用してデバッグする際には、以下の点に注意してくだ

さい。

• DISPLAYコマンドを使用して、マクロのステップを確認しながら、変

数の値を参照します。

• 切断状態では、あらゆる Creo Elements/Direct Drafting関数が実行できます。

• Creo Elements/Direct Draftingコマンドはマクロを中断します。

• 呼び出しスタックのマクロが変更されると、INPUT, EDIT_MACRO,

DELETE_MACRO, or DEFINEコマンドがあるため、デバッガも中断さ

れます。

• デバッガには、ユーザインターフェイスはありません。詳細について

は、現在のコマンド、最終のトークン、次のコマンドなど、コマンド

プロンプトを参照してください。

• デバッガには、コードを表示するビューアはありません。デバッグの

コードを表示するには、別にビューアを開いて使用してください。

エラーを見つけて、訂正した場合、[Ctrl] Dキーを押してME-CAD画面に戻ります。ファイルの新しいバージョンが、ディスク上の古いバー

ジョンに上書きされます。

RAM内のファイルのコンパイルバージョンは、変更されない状態のままです。コンパイルバージョンを変更できる唯一の方法は、INPUTコマン

ドを使って新しいバージョンのファイルを RAMにロードすることです。よくあるエラーは、INPUTコマンドを使わずにファイルを編集して、マ

クロを実行することです。この場合、古いバージョンのマクロが実行され

ます。

次のコマンドを入力することによって、もう一度ファイルを入力します。INPUT 'cad_mac.m'

20 Creo Elements/Direct Drafting Writing Macros日本語版

Page 21: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

注記

以前に入力したコマンドを繰り返す場合は、[PgUp]キーを押してく

ださい。以前のコマンドとよく似たコマンドを入力する場合、[PgUp]

キーを押してからコマンドを編集します。

cad_mac.mの内容がディスクから再ロードされ、RAMの古いコピーに上書きされます。その時点で、マクロの再実行が可能です。ファイルが

ロードされた後であれば、好きな回数だけマクロが実行できます。

要約すると、cad_mac.mと呼ばれるファイル内の Quitと呼ばれるマク

ロを作成およびデバッグする場合は、次の手順を使用してください。EDIT_FILE 'cad_mac.m '

INPUT 'cad_mac.m '

Quit

マクロのデバッグに有効な trace機能があります。これについては、53ページの「トレース機能の使用法」で説明します。

マクロの停止永久ループのような何らかの理由でマクロを停止する場合は、[Ctrl]

[Break]キーを押してください。[Break]キーの効果は、操作環境に依

存します。

注記

[Break]や [Again]を、Creo Elements/Direct Draftingの起動時にワークスペースメニューで押したり、グラフィックススクリーンで押

したりしても、システムが入力を受け入れる用意ができるまで、割り

込みが行われません。

詳細については、Windowのドキュメンテーションを参照してください。

マクロとは何か 21

Page 22: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

2マクロを作成するためのエディタの

使用法キーボード編集キーの使用する。 ..............................................................................23エディタに入る方法およびエディタから出る方法.......................................................23迅速にエディタに入るための EDIT_PORTの使用法....................................................23マーカの設定および使用方法.....................................................................................24テキストのコピー .....................................................................................................26エディタコマンドの使用 ...........................................................................................26EDIT_MACROの使用方法...........................................................................................31

この章では、マクロを書くために内蔵されたテキストエディタを使用する

方法を示します。以下について説明します。

• ファイルのある部分から別の部分へラインブロックをコピーする。

• ほかのファイルからカレントファイルへロードする。

• 次の指定文字列を検索する。

• すべての指定文字列を検索し、ほかの指定文字列と置換する。

• テキストの正しい位置調整を行う。

22 Creo Elements/Direct Drafting Writing Macros日本語版

Page 23: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

キーボード編集キーの使用する。キーボードの簡単な編集キーが、エディタで使用できます。これらのキー

には、次のものが含まれます。

• [Insert char]または [Ins]

• [Delete char]または [Del]

• [Clear line]または [Alt] [Del]

• [Clear display]または [Control] [Del]

• 矢印キー: [<] [>] [^] [v]

エディタに入る方法およびエディタから出る方法ME-CAD環境の使用中にのみ、エディタに入ることができます。エディタに入るには、EDIT_FILEの後に編集するファイル名を引用符で囲んで

入力してください。たとえば、'macros'というファイルを編集する場合

は、次のように入力してください。EDIT_FILE 'macros'

ファイルが存在する場合は、エディタスクリーンに表示されます。存在し

ない場合は、エディタスクリーンは、ブランクです。

エディタから出て、変更結果をファイルに保存する場合は、[Ctrl] [D]

キーを押してください。

エディタから出て、変更結果をディスクへ書き込まない場合は、[ESC]

キーまたは [Ctrl] [Break]キーを押してください。

迅速にエディタに入るための EDIT_PORTの使用法EDIT_PORTコマンドによって、ME-CADスクリーンに小さいビューポートが開きます。このビューポートは、エディタによって使用され、エディ

タを呼び出すときにだけ現れます。ビューポートを小さくするほど、スク

リーンの再描画時間が少なくてすむので、エディタに速く出入りできま

す。

このコマンドを使用するには、コマンドラインに「EDIT_PORT」と入力

します。次のようにプロンプトが現れます。

マクロを作成するためのエディタの使用法 23

Page 24: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

Enter background color or border width or corner of new port

ME-CADスクリーンの左の隅をピックしてください。次に、必要なビューポートの対角線上の反対側の隅をピックします。

結果を調べるために、コマンライン上で EDIT_FILEの後に引用符で囲ん

だファイル名を入力してください。ビューポートサイズが正しくない場合

は、再試行してください。ビューポートサイズは、ほかの EDIT_PORTコ

マンドで変更するか、または EXIT CONFIRMでME-CADセッションを終了するまでそのままです。次にME-CADシステムを使用するときは、再び EDIT_PORTを使用しなければなりません。

テキストを図面に追加する場合に、EDIT_PORTは便利です。このコマン

ドに使用できるテキストは、通常数ワードのみとなります。幅 8 cm、高さ 2 cmの小さいビューポートをME-CADスクリーンの一番上の左側コーナーに作る場合、再描画する時間が非常に速いことに気づくでしょう。

HELP_PORTが同じように動作することに注意してください。HELP_PORT

は、小さいビューポートを使用してスクリーンの再描画を最小限にするこ

とによって helpファイルへのアクセスをスピードアップします。

マーカの設定および使用方法後に説明する多数のエディタコマンドは、マーカなしでは適切に動作しま

せん。たとえばファイルのある部分から別の部分へテキストのブロックを

コピーする場合、ブロックの始めか終わりのいずれかを示さなければなり

ません。

マーカは、行を識別するキャラクタですが、ファイルの中では表示されま

せん。システムは、自動的にいくつかのマーカを設定します。

次の表は、マーカとして使用されるキャラクタを示します。

マーカ 使用法

^ システムがファイルの最初の行をマークするため

に、設定する。

! システムがファイルの最後の行をマークするため

に、設定する。

0 . . . 9 ユーザがファイルの任意の行をマークするために、

設定する。

いくつかのマーカを使用してみましょう。ME-CADスクリーン内で、コマンドラインに次のとおりに入力して新しいファイルを作成します。

24 Creo Elements/Direct Drafting Writing Macros日本語版

Page 25: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

EDIT_FILE 'markers'

次のとおりに、ファイルに数行入力します。AAAAAAAAA

BBBBBBBBBBBB

CCCCCCCCCCCC

DDDDDDDDDDDD

EEEEEEEEE

FFFFFFFFF

後で簡単に識別できるように、ほかの行よりも長く B、C、および Dの行

を作成しました。

システム定義のマーカを使用してファイルの始めおよび終わりに移動して

みましょう。以下にその方法を示します。

「$」と入力します ([Enter]キーを押さないでください)。カーソルが $

シンボルが前についた状態でスクリーンの一番下へ移動します。$は、指

定省略時のエスケープ文字です。この文字を入力してから任意のエディタ

コマンドを入力しなければなりません。

「^」と入力して、[Enter]キーを押します。ファイルの先頭行へカーソ

ルが移動します。

「$!」と入力して、[Enter]キーを押します。ファイルの最後の行へ

カーソルが移動します。

このファイルのどの行でもマーカを設定できます。カーソルをマークする

行に置き、次のとおり入力します。$sm n

$シンボルは、指定省略時のエスケープ文字です。smはマーカ設定コマ

ンドで、nは 0~ 9までの数です。smと nの間のブランクはオプションです。行はその数によってマークされますが、マークはスクリーン上には

現れません。

例として、D行にマーカ 1を設定しましょう。D行にカーソルを移動し、

次のように入力します。$sm1

ここでほかの行へカーソルを移動し、次のように入力してください。$1

D行へカーソルがジャンプします。

マクロを作成するためのエディタの使用法 25

Page 26: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

テキストのコピーテキストのブロックをコピーしてみましょう。B、C、D行をコピーし、こ

れらの 3行を E行の後に置きます。ここで、次のように入力します。

• 3行のブロックを定義するために、B行をマークし、次に D行にカー

ソルを置きます。D行をマークしてから B行にカーソルを置くことも

できます。すでにマーカ 1が D行にあるので、このマーカを使用しま

す。

• E行の後にテキストを挿入するために、E行にマーカを設定します。E

行にカーソルを移動し、次のように入力します。$sm2

• B行の任意の場所に、カーソルを置いてください。

マーカが目に見えないことを思い出してください。もしマーカが見えると

したら、ファイルは次のような状態になっているでしょう。AAAAAAAAA

BBBBBBBBBBBB * (cursor line)

CCCCCCCCCCCC

DDDDDDDDDDDD 1 (marker)

EEEEEEEEE 2 (marker)

FFFFFFFFF

B、C、および D行をコピーし、これらの 3行を E行の後に置くというこ

とを思い出してください。ここで、次のように入力します。$c12

現在カーソルがある箇所からマーカ 1までのテキストのブロックがマーカ

2以降にコピーされます。ファイルは次のようになっています。AAAAAAAAA

BBBBBBBBBBBB

CCCCCCCCCCCC

DDDDDDDDDDDD

EEEEEEEEE

BBBBBBBBBBBB

CCCCCCCCCCCC

DDDDDDDDDDDD

FFFFFFFFF

エディタコマンドの使用この項では、すべてのエディタコマンドについて説明します。次の用語が

説明の中で使用されます。

• 角かっこ [. . .]で囲まれた項目は、オプションです。

26 Creo Elements/Direct Drafting Writing Macros日本語版

Page 27: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

• 引用符 '. . .'で囲まれた項目は、入力する文字列を引用符で囲まな

ければならないことを意味します。

• 項目は、入力する項目を一般的に記述したものです。たとえば、次の

コマンド$marker

は 2のようなマーカとしての数値を入力しなければならないことを意味します。

ほかの例として、ファイルをロードするためのコマンドは次のとおりです。L 'filename'

これは Lの後に (引用符で囲んで)ファイル名を入力しなければならないことを意味します。したがって、ロードするファイルが cad_mac.mならば、次のとおり入力しなければなりません。L 'cad_mac.m'

• 現在行は、カーソルが位置する行です。

次の表は、エディタコマンドのフルセットを示します。エディタコマンド

を入力する前に、$を入力しなければなりません。カーソルが $シンボル

が前についた状態でスクリーンの一番下へ移動します。$が指定省略時の

エスケープ文字であることを思い出してください。

コマンド コマンドの意味marker 指定されたマーカを含む行へカーソルを移動させま

す。たとえば、「$ 4」と入力すると、マーカ番号

4を含む行へカーソルが移動します。'string' 次の指定された文字列へカーソルを移動させます。

たとえば、「$ 'SolidDesigner'」と入力する

と、SolidDesignerという文字列へカーソルが

移動します。? ['keyword'] このコマンドは、システムの helpファイルのキー

ワードを説明するセクションを表示します。キー

ワードなしで「?」と入力すると、スクリーンエ

ディタを説明するセクションが表示されます。編集

中のファイルへ戻るためには、[Ctrl] [D]キーを

押してください。AC 中央揃え。このコマンドは、パラグラフの各行に対

して、マージン間でテキストのセンタリングを行い

ます。

マクロを作成するためのエディタの使用法 27

Page 28: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

コマンド コマンドの意味AF 左揃え。このコマンドは、パラグラフをマージン間

に移動します。左端が揃えられますが、右端は不揃

いです。AJ 両端揃え。このコマンドは、パラグラフをマージン

間に移動します。左右の端が揃えられます。これ

は、ワード間の間隔が変更されることを意味しま

す。

注記

各行が前の行の終わりと結合するので、マクロを編集するために AF

または AJを使用しないでください。これらのコマンドは、テキスト

編集のためにだけ使用してください。

コマンド コマンドの意味C marker1 marker2 コピーします。現在行と marker1

(を含めて)間のすべてのテキスト行をコピーして marker2の後に挿入

します。たとえば、「$C34」と入

力すると、現在行と marker 3の間

にあるすべてのテキストがコピーさ

れ、marker 4の後に挿入されま

す。D marker 削除します。現在行とマーカ (を含

めて)間のすべてのテキスト行を削除します。

H ['keyword'] ヘルプ。これは ?コマンドと同じです。

L 'filename' ロードします。指定されたファイル

からすべてのテキスト行をコピー

し、現在行の後に挿入します。たと

えば、「$L 'cad_macros'」と入力すると、ファイル cad_macrosが現在行の後にロードされます。

M marker1 marker2 移動します。現在行と marker1 (を含めて)間のすべてのテキスト行を

28 Creo Elements/Direct Drafting Writing Macros日本語版

Page 29: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

コマンド コマンドの意味

移動して marker2の後に挿入しま

す。移動元と移動先は、オーバラッ

プしてはいけません。たとえば、

「$M67」と入力すると、現在行と

marker 6の間のすべてのテキスト

が移動し、marker 7の後にテキス

トが配置されます。N 次へ。直前の文字列の検索を繰り返

します。O 'filename' [marker] 上書きします。現在行とマーカ (を

含む)間のすべてのテキスト行をコピーし、指定されたファイル名で

ファイルに書き込みます。マーカが

指定されない場合、カーソルのある

箇所は無視され、すべてのファイル

がコピーされます。指定ファイル名

の既存ファイルは、上書きされま

す。たとえば、「$O 'cad_

macros' !」と入力すると、現在行

と最後の行 (を含む)間のテキストが、cad_macrosという名前の

ファイルにコピーされます。!を省

略すると、ファイル全体がコピーさ

れます。

マクロを作成するためのエディタの使用法 29

Page 30: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

コマンド コマンドの意味R [V] ['string1']

['string2'] [marker]置換。現在行とマーカ (を含む)の間に存在するすべての文字列 string1を文字

列 string2で置き換えます。Vは、stringの変更をそのつど確認します。

マーカを省略すると、1つだけ置き換えが行われます。どちらかの文字列が省略

されると、最後に使用した stringが指

定省略時値となります。たとえば、次の

ように入力した場合、$RV 'black' 'white' !

次の blackという文字列へカーソルが移

動します。ここで whiteに置き換える

か、次の blackへ移動できます。

置き換える場合は Rキーを押し、

置き換えない場合はスペースバーを押

し、

中止する場合は Sキーを押します。

Rキーを押すと、blackが whiteに置

き換えられます。スペースバーを押す

と、次の blackへ移動します。Sキーを

押すと、操作が中止します。SE 'character' エスケープの設定。エスケープ文字を再

定義します。この文字は、カーソルを

ファイルからエディタコマンドラインま

でジャンプさせます。指定省略時のエス

ケープ文字は、$です。

0 ... 9, A ... Z, a ... z, ... !と ?

以外の任意の文字を使用できます。再定

義するか、システムのスイッチを切るま

で、新しいエスケープ文字が有効です。

エスケープ文字を #として定義する場

合、次のように入力します。$ SE '#'

30 Creo Elements/Direct Drafting Writing Macros日本語版

Page 31: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

コマンド コマンドの意味SL 左側マージンの設定。現在カーソルがあ

る箇所に左マージンを設定します。SM n マーカの設定。現在行で指定されたマー

カを設定します。nは、0から 9までの

任意の数値を持つことができます。SMと

nの間のスペースはオプションです。た

とえば、「$ SM7」と入力すると、現在

行にマーカ 7が設定されます。

コマンド コマンドの意味SR 右マージンの設定。現在カーソルがある

箇所に右マージンを設定します。

W 'filename' [marker] 書き込み。現在行とマーカ (を含む)間のすべてのテキスト行をコピーし、指定さ

れたファイル名でファイルに書き込みま

す。マーカが指定されない場合は、ファ

イルがすべてコピーされます。すでにそ

のファイル名のファイルが存在している

場合は、操作は中止されます。たとえ

ば、現在行とマーカ 6の間のテキストをcad_macrosというファイルにコピー

するためには、次のように入力してくだ

さい。$ W 'cad_macros' 6

注記

AFあるいは AJを使用した後でないと、SL、SM、および SRは、テキ

ストを調整しません。AFおよび AJは、通常はマクロとともに使用さ

れないことを憶えていてください。

EDIT_MACROの使用方法この章において、マクロに関するすべての作業が、EDIT_FILEを使用し

て行われました。EDIT_FILEコマンドは、すべてのファイルを調べるこ

とができるので有効です。ファイルはマクロを含む必要はありません。

マクロを作成するためのエディタの使用法 31

Page 32: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

EDIT_MACROコマンドは、マクロのためにのみ使用します。

最初に EDIT_MACROコマンドについて説明し、次に EDIT_FILEとの比

較を行います。その結果からマクロに使用するコマンドを決定できます。

マクロがすでに RAMに存在していなければ EDIT_MACROコマンドを使

用できません。マクロを RAMの中に入れる方法が 2つあります。これらの方法について次のいくつかのパラグラフで説明します。

既存ファイルでの INPUTの使用法

この方法はこの章を通して使用しているため、すでによく理解されている

と思います。

マクロの中で INPUTコマンドを使用する場合、修飾子 IMMEDIATEをつ

けて使用する必要があります。37ページの「INPUT」も参照してください。

コマンドラインでのマクロの入力

この方法では、DEFINEの後にマクロ名を入力します。たとえば、マクロ

が Slot_macである場合、次のように入力します。DEFINE Slot_mac

システムは、次のプロンプトで応答します。Enter macro definition

ここで、マクロの残りの行を 1行ずつ入力してください。[Enter]キー

を押すたびに、システムは次のプロンプトで応答します。Enter macro definition

ここでコマンドラインでマクロ名を入力することによって、マクロを実行

できます。この方法では、INPUTを使用する必要がないことに注意して

ください。

マクロが RAMにあるとき、EDIT_MACROと、その後にマクロ名をコマン

ドラインに入力することにより、マクロを編集できます。たとえば、次の

ように入力してください。EDIT_MACRO Slot_mac

マクロがエディタ内に現れて、EDIT_FILEコマンドを使用した場合と同

じように編集できます。エディタから出るために、[Ctrl] [D]キーを押

してください。マクロを実行するために、コマンドライン上にマクロ名を

入力してください。INPUTコマンドを使用する必要はありません。

32 Creo Elements/Direct Drafting Writing Macros日本語版

Page 33: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

EDIT_MACROを使用してエディタに入る場合、マクロは [Ctrl]+[D]キーを押しても記憶されないことに注意してください。マクロを記憶する

には、コマンドラインで SAVE_MACROの後にマクロ名を入力してくださ

い。

システムは、次のプロンプトで応答します。Enter SCREEN, DEL_OLD, APPEND or 'file name'

エディタにマクロを表示する場合は、「SCREEN」と入力してください。

同じ名前の既存のファイルを上書きするには「DEL_OLD」と入力してく

ださい。既存のファイルの終わりにマクロを追加するには、「APPEND」

と入力してください。新規ファイルに対しては 'ファイル名'を入力してください。

EDIT_FILEと EDIT_MACROの比較

マクロのデバッグを試行する場合に、EDIT_MACROは優れています。変

更を行うたびに INPUTを使用する必要がありません。

EDIT_MACROの欠点は、[Ctrl] [D]キーをエディタの終了に使用する

とき、マクロが自動的に記憶されないことです。EXIT CONFIRMを使用し

て Creo Elements/Direct Drafting環境から出た場合、マクロは失われます。

マクロを作成するためのエディタの使用法 33

Page 34: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

3マクロの基本

マクロの構成要素 .....................................................................................................35最小のマクロ ............................................................................................................37構文図 ......................................................................................................................38ローカル変数に関する説明 ........................................................................................40ローカル変数を使用する理由.....................................................................................44変数タイプを宣言するか ...........................................................................................46制御文の使用法.........................................................................................................48小かっこの使用法 .....................................................................................................51トレース機能の使用法...............................................................................................53マクロの行の字下げ ..................................................................................................57防御プログラミング ..................................................................................................57マクロコマンド.........................................................................................................59組み込み関数 ............................................................................................................60

この章は、マクロの構造、ローカルおよびグローバル変数の違い、小かっ

こを使用する時期、および traceを使用してマクロのデバッグを行う方

法について説明します。

34 Creo Elements/Direct Drafting Writing Macros日本語版

Page 35: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

マクロの構成要素マクロは、次の 6つのセクションから構成されます。

• マクロ名の定義

• パラメータ

• ローカル変数 [日本語入力機能]

• ユーザ入力 [日本語入力機能]

• マクロボディ

• END_DEFINE

マクロは、これらのセクションのすべてを含む必要はありません。次の例

で、各セクションを理解できます。DEFINE Circle_mac

PARAMETER P2

LOCAL P1

READ 'Indicate center of circle' P1

CIRCLE CENTER P1 P2 END

END_DEFINE

このマクロは、コマンドラインに Circle_macとその後に円の半径の値

を入力することによって呼び出されます。このマクロは、明らかにあまり

有効とは言えません。しかし、ほんの数行でマクロのすべての部分を示す

ことができます。

DEFINEこの行は、常に、DEFINEというワードとそれに続くマクロ名により開始

します。例では、マクロ名は、Circle_macです。DEFINE Circle_mac

マクロを書くときには、大文字および小文字の使用方法に注意してくださ

い。マクロ名と変数およびコマンドとファンクションを区別するために、

大文字および小文字を使用しています。

コマンドおよびファンクションのようなキーワードは、すべて大文字で

す。たとえば、DEFINE、LOCAL、END_DEFINEはキーワードです。

システムは、大文字または小文字のみで入力されたキーワードは受け入れ

ますが、混在している場合は、受け入れません。たとえば、システムは、

DEFINEまたは defineは受け入れますが、Define、dEFINE、

DeFiNE、またはほかのすべての混在した文字は受け入れません。

マクロの基本 35

Page 36: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

マクロ名の最初の文字は、通常は大文字です。マクロリストに、

Circle_macのようなメッセージが表示された場合は、Circle_macが

マクロであり、キーワードではないことがわかるでしょう。

この章では、大文字と小文字を常に正しく使用しますが、どちらか簡単な

方法で入力できます。たとえば、コマンドラインに次のように入力するこ

とが要求されているとします。EDIT_FILE 'cad_macros'

これは、次のように入力できます。edit_file 'cad_macros'

注記

引用符で囲まれた文字列はすべて、示されたとおり正確に入力しなければなりません。

パラメータ

このセクションは、マクロへ引数として渡される変数を定義します。2つ以上のパラメータが存在する場合は、それらは特定の順番でリストされな

ければなりません。パラメータの詳細については、80ページの「ファイル入出力およびテキスト文字列」を参照してください。次の例で挙げてい

るマクロでは、パラメータステートメントは 1つだけです。PARAMETER P2

ローカル変数 [日本語入力機能]ここでは、マクロ内にのみ存在する変数が定義されています。マクロの

ユーザ入力のセクションまたはマクロのボディで現れる変数は、通常、

ローカル変数として定義されます。この章の後半で、ローカル変数につい

て詳しく説明しています。前述の例では、ローカル変数は 1つだけです。LOCAL P1

ユーザ入力 [日本語入力機能]コンパイル時にプロセッサに登録されていない変数は、ユーザが実行時に

指定しなければなりません。次の例では、P1の数値を、ユーザが指定し

ています。READ 'Indicate center of circle' P1

システムは、次のプロンプトを表示します。

36 Creo Elements/Direct Drafting Writing Macros日本語版

Page 37: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

Indicate center of circle

ユーザが次に入力する数値が、変数 P1に割り当てられます。ユーザは、

点の x,y座標に入力するか、または点をピックできます。いずれの場合

も、座標は、変数 P1に割り当てられます。

ローカル変数は、マクロの始めに定義されなければなりません。しかし、

プログラマは、マクロの残りを書いた後にこれらの変数を定義するほうを

好むでしょう。

マクロボディ

マクロのボディには、実行可能なコードが含まれています。これは、作業

が行われるところです。各行の始まりには、コマンドまたはファンクショ

ンと、それに続いて、オプション、式、または演算子が含まれます。これ

らのメッセージについて、この章で後に説明されています。ここにマクロ

例のボディを示します。CIRCLE CENTER P1 P2 END

END_DEFINEこのステートメントは、マクロの終了を示します。

INPUTマクロの中で INPUTコマンドを使用する場合、修飾子 IMMEDIATEをつ

けて使用する必要があります。この例を次に示します。DEFINE xyz

LINE 0,0 1,1 END

INPUT IMMEDIATE 'filename'

....

....

END_DEFINE

最小のマクロ前述したようにマクロは 6つのセクションからなります。しかし、すべてのマクロが 6つのセクションを必要とするわけではありません。マクロが引数を受け取らない場合は、PARAMETERセクションはありません。マク

ロが変数を使用しない場合は、ローカル変数を定義するセクションはあり

ません。ユーザインプットセクションがない場合もあります。

どんなに小さなマクロにも、必ずこの 3つのセクションがあります。

マクロの基本 37

Page 38: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

• DEFINE

• ボディ

• END_DEFINE

この章の始めのマクロは、最小のマクロの例です。ここで、再びそれを示

します。DEFINE Quit

{###############################################}

{## This macro stores your current ##}

{## drawing in 'filename', then ends ##}

{## your ME-CAD session. ##}

{###############################################}

STORE ALL DEL_OLD 'filename'

EXIT CONFIRM

END_DEFINE

理解しやすくするために、何行かに分けてステートメントを書くことに注

意してください。しかし、次のように書いても、コンピュータは、マクロ

を理解します。DEFINE Quit STORE ALL DEL_OLD 'filename' EXIT CONFIRM END_DEFINE

構文図ここで、構文図を紹介します。それはコマンドのシーケンスを何行かに分

けて書いても、すべて同一行に書いても、コンピュータには差し支えがな

いのはなぜかを理解するのに有効です。

DEFINE構文図について学習すると、コンピュータがマクロを理解する理

由がわかります。あらゆるコマンドおよびファンクションの構文図が、オ

ンラインヘルプで参照できますが、便宜上、DEFINEについての図も含め

ました。DEFINE function

|

v

(DEFINE)

|

v

|macro name|

|

v

+---------------<-----------------,

| |

v |

+-->(PARAMETER)-->|param. name|-->'

|

v

+----------------<-----------------,

| |

38 Creo Elements/Direct Drafting Writing Macros日本語版

Page 39: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

v |

+-->(LOCAL)-->|local macro name|-->'

|

v

+-----<-------,

| |

v |

+-->|token|-->'

|

v

(END_DEFINE)

|

v

コンピュータは、DEFINEステートメントの後に、以下が現れると予測し

ます。

• キーワード PARAMETER、

• キーワード LOCAL、または

• トークン

コンピュータがこれらのいずれかの項目を確認すると、次のステートメン

トに進みます。その他の場合は、マクロが停止します。

オンラインヘルプの TOKENについて見ると、コマンドが受け入れ可能な

トークンであることがわかります。

ここで、STOREの構文図を見てみましょう。STORE command

->(STORE)-->+------>+-+--->(ALL)---->+->+-------------+->|file name|->

| | | | | |

`-(MI)->' `->|partname|->' `->(DEL_OLD)->'

まず、STOREがコマンドであり、したがって、STOREをトークンとして

使用可能であることがわかります。

STORE以降に、キーワード MI、キーワード ALL、またはパーツ名のいず

れかがなくてはなりません。ここでは、ALLがあります。

ALL以降に、DEL_OLDまたはファイル名がなければなりません。ここで

は、まず DEL_OLDがあり、次に一重引用符で囲まれたファイル名があり

ます。

EXITの後に CONFIRMが続かなければならないことが確認できます。

ここで、ALLなしでマクロを試みてください。DEFINE Quit STORE DEL_OLD 'workfile' EXIT CONFIRM END_DEFINE

メッセージが表示されます。Enter option or 'part_name'

マクロの基本 39

Page 40: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

MI、ALL、またはパーツ名が来ることを予想していたコンピュータは、混

乱します。

そこで、マクロを行ごとに書くと、人間が読むのには役立ちますが、コン

ピュータはマクロを理解するのに、構文図のようなアルゴリズムに頼るこ

とがわかります。

ローカル変数に関する説明ローカル変数は、カレントマクロ、またはカレントマクロによって呼び出

されるすべてのマクロに対してのみ知られています。ローカル変数として

定義されない変数は、自動的にグローバルとなります。グローバル変数

は、すべてのマクロで見られます。一般的に変数はすべてローカライズし

てください。グローバル変数は危険な場合もあるので、使用しないように

してください。

ローカル変数とグローバル変数の違いを理解するために、次の 3つのマクロをファイルに入力してください。3つのマクロは、非常に似ているので、まず最初のマクロを入力し、次に残りの 2つに対しては、ブロックコピーを使用してください。いずれのコメントも省略できます。DEFINE Outer_macro

{##############################################}

{## This macro shows the use of ##}

{## global variables ##}

{##############################################}

LET X 5 {initialize the variable "X"}

DISPLAY_NO_WAIT ('outer X = '+STR(X))

{display a message on the

command line }

WAIT 3 {allow time to read the message}

Middle_macro {call another macro }

DISPLAY_NO_WAIT ('outer X = '+STR(X))

WAIT 3

END_DEFINE

DEFINE Middle_macro

DISPLAY_NO_WAIT ('middle X = '+STR(X))

WAIT 3

Inner_macro

DISPLAY_NO_WAIT ('middle X = '+STR(X))

WAIT 3

END_DEFINE

DEFINE Inner_macro

DISPLAY_NO_WAIT ('inner X = '+STR(X))

WAIT 3

LET X 20

DISPLAY_NO_WAIT ('inner X = '+STR(X))

WAIT 3

END_DEFINE

40 Creo Elements/Direct Drafting Writing Macros日本語版

Page 41: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

コメントは中かっこで囲んで使用する、ということに注意してください。

中かっこで囲まれたものはすべて、コンパイラによって無視されます。コ

メントは、ほかの読者がマクロを理解するのに役立ちます。マクロが非常

に複雑な場合は、マクロを理解するのにコメントが役に立つ可能性があり

ます (特に半年以上経った後)。

コメントは、コマンドの目的について説明してください。ユーザは、構文

図を使用するとコマンドを理解できます。次のコメントの方が{allow time to read the message}

以下のコメントよりも明瞭です。{wait approximately 3 seconds}

注記

コメントはネストできません。つまり、コードのセクションがコメントを含む場合は、デバックの間にこのコードを「コメントアウト」できません。

outer_macroが middle_macroを呼び出し、次に middle_macroがinner_macroを呼び出します。これがネストされたマクロの例です。

いずれのマクロもローカル変数を使用しないため、変数 Xはグローバル変

数です。つまり、Xは 3つのマクロすべてに対して使用可能です。

3つのマクロを含むファイルを入力し、コマンドラインに次のように入力します。Outer_macro

コマンドラインの出力は、次のような順番で行われます。'outer X = 5'

'middle X = 5'

'inner X = 5'

'inner X = 20'

'middle X = 20'

'outer X = 20'

Enter command

グローバル変数について説明する前に、いくつかのマクロステートメント

について、簡単に見てみましょう。

DISPLAY_NO_WAITは、コマンドラインにメッセージを表示するために

使用されます。メッセージが表示された後は、何もする必要がありませ

ん。マクロを続行するためにユーザがキーを押さなければならない

DISPLAYとは、機能が異なります。

マクロの基本 41

Page 42: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

DISPLAY_NO_WAITは、最初に次のように表示します。outer X =

STR(X)はどのような処理を行うでしょうか? Xは、ビットの「セット」または「クリア」で表した、ある種の内部的な機械表現による NUMBERで

す。ASCII文字のみ、DISPLAY_NO_WAITステートメントを使用して表

示できます。STR(Age)は、内部的に表現した Xを、同等の ASCII文字列へ変換し、表示できるようにします。

文字列とともに使用される場合、+シンボルは文字列をつなげます。たと

えば、String1が 'to'、String2が 'get'、String3が 'her'であ

るとします。その場合、String1+String2+String3は togetherに

なります。引用符中のすべてのブランクも、同様に表示されます。

WAIT 3は、メッセージが表示された後で約 3秒間システムを待機させます。これにより、メッセージを読み取る時間が与えられます。

Middle_macroステートメントは、実行時にシステムが認識していなけ

ればならないほかのマクロを呼び出します。3つのマクロがすべて同じファイルにあるので、要求されたときに、システムが Middle_macroを

発見できます。

ここで、グローバル変数に戻ります。Outer_macroで定義された Xの数

値 5は、Middleおよび Innerマクロも認識します。Inner_macroで Xの

数値を 20に変更しました。このことは、Middleおよび Outerマクロでも確認しました。

次の例で示されるように、Middleマクロの DEFINEステートメントの後

に、行を追加します。DEFINE Middle_macro

LOCAL X {added}

DISPLAY_NO_WAIT ('middle X = '+STR(X))

WAIT 3

Inner_macro

DISPLAY_NO_WAIT ('middle X = '+STR(X))

WAIT 3

END_DEFINE

ファイルを入力し、コマンドラインに「Outer_macro」と入力してくだ

さい。次のように出力されます。'outer X = 5'

***The macro X is not defined

システムは Xの値を認識していないことを示しています。Xが現在

Middle_macroにおいてローカル変数であるためです。Middle_macro

はいずれの外部マクロのほかの同名の変数も、認識できません。

42 Creo Elements/Direct Drafting Writing Macros日本語版

Page 43: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

マクロを実行させるために、次のように、Middleマクロにさらに 1行を追加してください。DEFINE Middle_macro

LOCAL X

LET X 10 {added}

DISPLAY_NO_WAIT ('middle X = '+STR(X))

WAIT 3

Inner_macro

DISPLAY_NO_WAIT ('middle X = '+STR(X))

WAIT 3

END_DEFINE

ファイルを入力し、コマンドラインに「Outer_macro」と入力してくだ

さい。

次のように出力されます。'outer X = 5'

'middle X = 10'

'inner X = 10'

'inner X = 20'

'middle X = 20'

'outer X = 5'

Enter command

ここでその経緯を説明します。

• Middle_macroにおける LOCAL Xステートメントは、Middle_

macroに壁を作ります。Xの数値は、この壁を通過できません。Xの

数値が Outer_macroから Middle_macroへと内部に渡されてゆく

こと、Middle_macroから Outer_macroへと外部に渡されてゆくこ

とはできないことを意味します。しかし、Xは、これらの内部マクロ

のすべてが Xに対して同様に壁を作らないかぎり、Middle_macroに

よって呼び出されるすべてのマクロへと内部に渡されます。

• Xが Middle_macroで 10に設定されているとき、この数値は、

Inner_macroまで渡されます。

• Xが inner_macroで 20に設定されているとき、この数値は、

Middle_macroへと外部に渡されます。

• Xが Middle_macro内でローカル変数であるため、Outer_macro

は、Middle_macroからの Xの数値を認識しません。Xの数値は、は

じめに Outer_macroで設定された数値と同じで、5です。

最終的に、3つのマクロすべてにおいて Xをローカル変数とします。DEFINE Outer_macro

LOCAL X {added}

LET X 5

DISPLAY_NO_WAIT ('outer X = '+STR(X))

WAIT 3

マクロの基本 43

Page 44: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

Middle_macro

DISPLAY_NO_WAIT ('outer X = '+STR(X))

WAIT 3

END_DEFINE

DEFINE Middle_macro

LOCAL X

LET X 10

DISPLAY_NO_WAIT ('middle X = '+STR(X))

WAIT 3

Inner_macro

DISPLAY_NO_WAIT ('middle X = '+STR(X))

WAIT 3

END_DEFINE

DEFINE Inner_macro

LOCAL X {added}

LET X 15 {added}

DISPLAY_NO_WAIT ('inner X = '+STR(X))

WAIT 3

LET X 20

DISPLAY_NO_WAIT ('inner X = '+STR(X))

WAIT 3

END_DEFINE

ファイルを入力し、コマンドラインに「Outer_macro」と入力してくだ

さい。次のように出力されます。'outer X = 5'

'middle X = 10'

'inner X = 15'

'inner X = 20'

'middle X = 10'

'outer X = 5'

Enter command

出力について理解できますか。

ローカル変数を使用する理由ローカル変数を使用することの 1つの大きな理由は、「副作用」を回避するために、マクロを可能なかぎり独立させることです。副作用は、変数が

不注意による内部マクロの同じ名前の変数から影響を受けた場合に発生し

ます。

ユーザのマクロライブラリは、マクロ内に大きなブロックのコードを書く

ことを避けるためにちょうど必要な、便利なマクロを含むこともできま

す。呼び出されたマクロが自分の変数名と矛盾した変数名を使用するかど

うかにかかわらず自分のマクロからこのマクロを呼び出すとします。呼び

出されたマクロは、ほかのマクロを呼び出し、次にそのマクロが 3つ目のマクロを呼び出します。矛盾した変数を発見するために、これらのマクロ

44 Creo Elements/Direct Drafting Writing Macros日本語版

Page 45: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

におけるコードのすべての行を読み取るのは、望ましくありません。これ

らのマクロの作成者がローカル変数を使用している場合は、そのことを心

配する必要はありません。

例として、次のマクロは、プログラマが意図したように働かない場合があ

ります。DEFINE Outer_loop

LOCAL X

LET X 1 {initialize the loop counter}

WHILE (X < 3) {while X is less than 3,

execute the code up to the next

END_WHILE statement}

DISPLAY_NO_WAIT ('outer X = '+STR(X))

WAIT 3

Inner_loop

LET X (X+1) {increment the loop counter}

END_WHILE

END_DEFINE

DEFINE Inner_loop

LET X 1

WHILE (X < 4)

DISPLAY_NO_WAIT ('inner X = '+STR(X))

WAIT 3

LET X (X+1)

END_WHILE

END_DEFINE

マクロは次のように出力しますか。出力しない場合、それはなぜでしよう

か。'outer X = 1'

'inner X = 1'

'inner X = 2'

'inner X = 3'

'outer X = 2'

'inner X = 1'

'inner X = 2'

'inner X = 3'

Enter command

ここまでローカル変数について詳しく学習してきたので、何が出力される

べきであるかわかるはずです。

X、I、および Nのような変数は、通常ループ内のカウンタとして使用さ

れるので、プログラマがほかのマクロからこれらの数値を保護することが

いかに重要であるがわかります。

マクロの基本 45

Page 46: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

変数タイプを宣言するかプログラミングについていくらか知識のある人は、ほとんどのプログラム

言語において変数が宣言されなければならないことを知っています。たと

えば、Pascalでは、integer、real、および charのような変数を持ちます。Cでは、int、float、charなどの変数を持ちます。

変数を宣言することは、正しいサイズの記憶場所がその変数のために予約

されることです。

マクロにおいては、変数を正式に宣言しません。

変数を宣言するのに最も近い状態になるのは、READステートメントを使

用するときです。READステートメントは、ユーザが入力を行えるようにコマンドラインプロンプトを作成します。ここにいくつかの例を挙げま

す。DEFINE Read_test

READ STRING 'Enter file name' File

{The string 'Enter file name'

appears on the command line. You must

enter a string is single quotes. The

string is assigned to the variable,

"File"}

READ NUMBER 'Enter your age' Age

READ PNT 'Enter a point' P1

READ PNT 'Digitize a point' RUBBER_LINE P1 P2

DISPLAY_NO_WAIT ('File = '+File)

WAIT 3

DISPLAY_NO_WAIT ('Age = '+STR(Age))

{"Age" is converted to an ASCII

string, then printed after 'Age = ' }

WAIT 3

DISPLAY_NO_WAIT ('P1 = '+STR(P1))

WAIT 3

DISPLAY_NO_WAIT ('P2 = '+STR(P2))

WAIT 3

END_DEFINE

ローカル変数は省略してあります。

最初の READステートメントについて見てください。READ STRING 'Enter file name' File

マクロを実行する (試してみてください)と、プロンプトが、コマンドラインに表示されます。Enter file name

46 Creo Elements/Direct Drafting Writing Macros日本語版

Page 47: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

ここで、引用符で囲んだ文字列を入力してください。引用符がないと、シ

ステムは、再び同じプロンプトを表示します。これが、READステートメ

ントの直後に、変数のタイプを示すことの利点です。間違ったタイプの入

力を行うと、システムは、指定されたタイプと入力が一致するまでマクロ

行を再実行します。

2つ目の READステートメントでは、引用符で囲んだ数値を入力したり、

数値の代わりに点を入力したりすると、プロンプトが再び表示されます。

したがって、タイプ NUMBERを満たさない値を入力しようとすると、警告

されるわけです。

STRINGまたは NUMBERのように、タイプを指定せずに READステートメ

ントを使用することが可能です。そして、READステートメントが実行さ

れている間、システムは、どんな誤ったデータでも受け付けます。システ

ムは、マクロがそのデータを使用する時点までエラーを検出しません。こ

のマクロにおいて、これは、DISPLAY_NO_WAITステートメント間にあ

ります。READステートメント後のタイプ宣言文の 1つを削除してみてください。マクロを実行するとき、わざと誤ったデータをいくつか与えてく

ださい。

STR(Age)および STR(Point)を使用しているのに STR(File)を使用

していないことに気づきましたか。STR(Age)が、内部表現の Ageを

ASCIIの等価表現に変換することを思い出してください。STR(Point)

は、同じことを行います。Fileは、すでに、ユーザが入力したとおりの

ASCII文字列であり、変換の必要はありません。

以下の例は、既存の値または計算された値をスクリーンに表示する方法を

示したものです。DEFAULTオプションは、指定されたパラメータに基づき、入力ラインに値を返します。[Return]キーを押すと、READ文に対する入力としてその値が入力されます (ユーザが出力すれば値は入力値に変更されます)。DEFINE Test

LOCAL Value

LET Value (100/2)

READ NUMBER 'Current value is:' DEFAULT Value Value

DISPLAY (STR Value)

END_DEFINE

マクロの基本 47

Page 48: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

制御文の使用法マクロのステートメントは、常にマクロ内に現れる順に実行させるとはか

ぎりません。いくつかのステートメントを数度実行することもあります。

特定の条件が真である場合だけ、実行するステートメントもあります。マ

クロの実行順序を変更する際に、制御文が使用されます。

WHILE ... END_WHILE前項「ローカル変数を使用する理由」で、WHILEステートメントが使用

されました。ここで、マクロの一部を繰り返します。DEFINE Outer_loop

LOCAL X

LET X 1 {initialize the loop counter}

WHILE (X < 3) {while X is less than 3,

execute the code up to the next

END_WHILE statement}

DISPLAY_NO_WAIT ('outer X = '+STR(X))

WAIT 3

Inner_loop

LET X (X+1) {increment the loop counter}

END_WHILE

END_DEFINE

Xが 3未満であるかぎり、WHILEと END_WHILEの間のコードが実行され

ます。WHILEステートメントが実行される前に、Xが 1に設定され、

ループが実行されるたびに、Xが 1インクリメントされます。したがって、このループは (3度ではなく) 2度実行されます。実際は、内部マクロのグローバル変数によって生じる副作用のせいで、このループは 1度しか実行されませんでした。

WHILE ... END_WHILE構文は、ループの実行回数を制御するために使用

します。この構文の重要な機能は、ループが 1度も実行される必要がないことです。ループへのエントリ時に WHILEステートメントの条件が満た

されない場合、ループが実行されることはありません。少なくとも 1度は実行する必要があるループを作成する、REPEAT ... UNTIL構文につい

ては、後で見ていきます。

LOOP... EXIT_IF ... END_LOOPWHILE ... END_WHILE構文は、ループの始めに条件テストを行うこと

が、わかっています。LOOP ... EXIT_IF ... END_LOOP構文では、条

件テストを、ループのどの時点でも行うことができます。

48 Creo Elements/Direct Drafting Writing Macros日本語版

Page 49: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

次のプログラム例では、ユーザはプロンプトにより数値入力を求められま

す。正しい数値を与えないと、正しい数値が入力されるまで、プロンプト

が繰り返し表示されます。LOOP

READ NUMBER 'Enter a fractional value for the split' Fract

EXIT_IF ((Fract>0)) AND (Fract< 1))

END_LOOP

次の簡略化した例で示されるように、EXIT_IFステートメントはいくつ

でもループのボディ内で使用できます。LOOP

...

...

EXIT_IF

...

...

EXIT_IF

...

...

END_LOOP

EXIT_IFを使用しないと、ユーザが ENDを入力するかまたはコマンドを

開始した場合にマクロが終了するだけです。ここで、例を示しておきま

す。DEFINE Circ_rad

{Create several circles with the same }

{radius, or several circles passing through the same peripheral}

{point }

{ local variables here }

READ 'Indicate peripheral point or enter radius or END' P2

LOOP

READ 'Indicate center of circle' P1

CIRCLE CENTER P1 P2

END

END_LOOP

END_DEFINE

LOOP ... END_LOOP構文内に 1つ目の READステートメントを挿入した

場合どうなるでしょう。以下は、変更されたマクロです。DEFINE Circ_rad

LOOP

READ 'Indicate peripheral point or enter radius or END' P2

READ 'Indicate center of circle' P1

CIRCLE CENTER P1 P2

END

END_LOOP

END_DEFINE

マクロの基本 49

Page 50: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

ループは、最初と最後だけでなく、どこででも終了できるため、LOOP

... EXIT_IF ... END_LOOP構文は、とても有効です。また、すでに見

たように、ユーザは ENDを入力することによって、マクロを終了できま

す。

ユーザが ENDを入力した場合、ループだけでなく、マクロが完全に終了

することに、注意してください。マクロが、ループから抜け出し END_

LOOP後のステートメントの実行を継続することはありません。

REPEAT ... UNTILこの構文は、END_LOOPの直前に EXIT_IFステートメントを置いた

LOOP ... EXIT_IF ... END_LOOP構文に似ています。UNTILに続く条

件テストは、ループの終わりまで行われませんので、このループは少なく

とも 1度は常に実行されることになります。

IF ... ELSE_IF ... ELSE ... END_IFステートメントの IFファミリを使用して判断します。判断によって、マ

クロの一部が実行され、その他は実行されません。

次のプログラム例では、下書き線は現存の線に対して水平、鉛直あるいは

垂直のどれにするか、質問されています。READ "ENTER 'H' FOR HORIZ, OR 'V' FOR VERT, OR 'P' FOR PERP" Q

IF (Q='H')

C_LINE HORIZONTAL P2 {if Q='H', only this statement}

{is executed}

ELSE_IF (Q='V')

C_LINE VERTICAL P2 {if Q<>'H', but Q='V', only these}

LET X 3 {two statements are executed}

ELSE

C_LINE PERPENDICULAR P1 P2 {if Q<>'H', and Q<>'V',}

{but Q='P', only this statement is}

{executed}

END_IF

条件は、段階的に上から下に順に評価されます。真の条件が見つかると、

その条件に対応するステートメントが実行されて、その他の条件は無視さ

れます。

必要な数だけ、ELSE_IFステートメントを使用することも、まったく使

用しないでおくこともできます。ELSEステートメントを 1つだけ使用することもできますが、その場合は最後でなくてはなりません。最後の

ELSEは、指定省略時の条件です。言い換えると、その他の条件テストが

満足されない場合、最後の ELSEが実行されるということです。最後の

50 Creo Elements/Direct Drafting Writing Macros日本語版

Page 51: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

ELSEが存在せず、その他の条件がすべて偽の場合、なんの動作も行いま

せん。防御プログラミングでエラー処理のために最後の ELSEが使用され

ることがあります。

最小構成の IFステートメントには、ELSE_IFや ELSEがありません。以

下に例を示します。IF (X = 4)

LET P2 P5

END_IF

IFステートメントをネストできますが、それぞれの IFは、個別の END_

IFを持つ必要があります。前の例を拡張します。IF (X < 6)

IF (X = 4)

LET P2 P5

END_IF

LINE TWO_PTS P1 P2 END

END_IF

小かっこの使用法プログラム言語の問題の 1つは、小かっこの使用時期です。次のガイドラインを参考にしてください。

論理式

小かっこは常に論理式とともに使います。

論理式は条件式とも呼ばれますが、真あるいは偽の値をもつ式のことで

す。

論理式は、次の 4つの主な構文のテスト部分で使用されます。IF (boolean expression) ... END_IF

LOOP...EXIT_IF (boolean expression) ... END_LOOP

REPEAT ... UNTIL (boolean expression)

WHILE (boolean expression) ... END_WHILE

算術式、代数式、および三角関数の式

式をトークンとして使用する場合は、常に小かっこを使用してください。

以下に、式の例を挙げておきます。

• X + Y

• X - 5

• X - 5.147

マクロの基本 51

Page 52: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

• X * 312

• X/312

• X DIV Y

• Point1 + 4.29,3.42

• SIN 30

• SIN (Angle3 + 30)

• SQRT 16.238

• SQRT (X + 16.238)

• LEN 'Have a nice day!'

可能なトークンの完全なリストは、オンラインヘルプを参照してくださ

い。構文図がトークンを必要とし、上記の式が使用される場合は、式は小

かっこで囲っておく必要があります。以下に例を示します。LET Radius1 (X + Y)

LET Radius1 ((X + Y) * COS 60 )

LET Point2 Point1

LET Point2 (Point1 + 4.29,3.42)

DISPLAY_NO_WAIT Point2

DISPLAY_NO_WAIT (Point1 + 4.29,3.42)

上記の例には、興味深い点がいくつかあります。これらの例を 1つずつ見ることにしましょう。

「構文」の章の LETの構文図を見てください。LETの後に変数名が、そ

の後にトークンが続きます。最初の例の X + Yはトークンとして使用され

ている式なので、小かっこで囲む必要があります。

2番目の例を見てみましょう。以下に、その式があります。(X + Y) * COS 60

この例では、評価の順序を正しくするために、小かっこが必要です。小

かっこを含むこの式が、トークンとして用いられる場合、さらに小かっこ

が必要になります。

3番目の例では、シンプルなトークンは小かっこを必要としないことがわかります。LET Point2 Point1

このシンプルなトークンを変更して式にするためには、小かっこが必要で

す。LET Point2 (Point1 + 4.29,3.42)

次のステートメントも問題なく受け入れられます。LET Point2 (Point1)

52 Creo Elements/Direct Drafting Writing Macros日本語版

Page 53: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

「構文」の章の DISPLAY_NO_WAITの構文図を見れば、DISPLAY_NO_

WAITの後にトークンが続くことがわかります。DISPLAY_NO_WAITの例

は、LETの最後の 2つの例と似ています。

LETステートメントの場合、トークンが小かっこ付きでなければならない

こともあれば、そうでないこともあることが、前の例からわかります。マ

クロ作成の初心者は、LETステートメントには常に小かっこを使用すると

いうことをルールにしてください。

トレース機能の使用法

「トレース」は便利なデバッグツールです。論理式およびその他の式

が評価される方法が理解されたこの時点で、 「トレース」を紹介しま

す。

ここで、トレース対象のマクロを示しておきます。DEFINE Parenth

LET P1 (0,0) {parentheses not necessary}

LET P2 (10,0) {parentheses not necessary}

LET X (1) {parentheses not necessary}

WHILE ( X < 5 ) {parentheses necessary}

LET P1 (P1 + 0,10) {parentheses necessary}

LET P2 (P2 + 0,10) {parentheses necessary}

LINE TWO_PTS P1 P2 END

LET X ( X + 1) {parentheses necessary}

END_WHILE

END_DEFINE

このマクロは 4つの線を描きます。Xが 1に等しい場合、0,0から 10,0

に 1本の線が描かれます。Xが 2に等しい場合、0,10から 10,10に 1本の線が描かれる、といった具合です。

どこに小かっこが必要か、どこに必要でないかもわかりました。

このマクロは、重要な原理を示しています。Creo Elements/Direct DraftingPrograming Reference Guideで LINE TWO_PTSの構文図を見てください。

マクロ内で示されているリカーシブループは、ENDステートメントによっ

てのみ終了できます。これは一般的な原則です。構文図がリカーシブルー

プで終わる場合は、ENDステートメントを用いて、ループから抜け出して

ください。

LINETYPEの図を見てください。この図は、リカーシブループでは終わり

ません。マクロでは、ENDステートメントは必要ありません。

マクロの基本 53

Page 54: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

さて、前出のマクロに 「トレース」を使って、その結果を traceとい

う名前のファイルに格納してみましょう。

「トレース」を使用する前に、parenthの 2番目の行LET P1 (0,0)

を次のように変更します。LET P1 0,0

ユーザ入力ラインに次のように入力して、各コマンドの後で Enterキーを押します。

input 'parenth'

trace

parenth

マクロが終了した後、 「トレース」を無効にします。

1. 「その他」をクリックし、「システム」グループの 「トレース」をク

リックします。

2. 「オフ」をクリックします。

「トレース」が無効であることを示す がステータスバーに表示されます。

注記

traceファイルが予期せず空であるか不完全な場合は、 「ト

レース」を無効にしていない可能性があります。

「トレース」操作の結果を既存のファイルに追加する場合、次の操作

を行います。

1. 「その他」をクリックし、「システム」グループの 「トレース」をク

リックします。

2. 「オン」をクリックします。

3. 「追加」をクリックします。

「トレース」が有効であることを示す がステータスバーに表示されます。

54 Creo Elements/Direct Drafting Writing Macros日本語版

Page 55: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

実行のたびにクリーンファイルが必要な場合は、次の操作を行います。

1. 「その他」をクリックし、「システム」グループの 「トレース」をク

リックします。

2. 「オン」をクリックします。

3. 「新規」をクリックします。

「トレース」が有効であることを示す がステータスバーに表示されます。

「トレース」操作の結果を表示するには、次の操作を行います。

1. 「その他」をクリックし、「システム」グループの 「トレース」をク

リックします。

2. 「編集」をクリックします。

「トレース」操作の結果が標準テキストエディタに表示されます。

ここに、parenthの traceファイルを示しておきます。Parenth

LET P1 0,0

LET P2 ( 10,0 ) 10,0

LET X ( 1 ) 1

WHILE ( X 1 < 5 ) 1

LET P1 ( P1 0,0 + 0,10 ) 0,10

LET P2 ( P2 10,0 + 0,10 ) 10,10

LINE TWO_PTS P1 0,10 P2 10,10

END

LET X ( X 1 + 1 ) 2

END_WHILE ( X 2 < 5 ) 1

LET P1 ( P1 0,10 + 0,10 ) 0,20

LET P2 ( P2 10,10 + 0,10 ) 10,20

LINE TWO_PTS P1 0,20 P2 10,20

END

LET X ( X 2 + 1 ) 3

END_WHILE ( X 3 < 5 ) 1

LET P1 ( P1 0,20 + 0,10 ) 0,30

LET P2 ( P2 10,20 + 0,10 ) 10,30

LINE TWO_PTS P1 0,30 P2 10,30

END

LET X ( X 3 + 1 ) 4

END_WHILE ( X 4 < 5 ) 1

LET P1 ( P1 0,30 + 0,10 ) 0,40

LET P2 ( P2 10,30 + 0,10 ) 10,40

LINE TWO_PTS P1 0,40 P2 10,40

END

LET X ( X 4 + 1 ) 5

END_WHILE ( X 5 < 5 ) 0

TRACE

マクロの基本 55

Page 56: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

最初の行の trace

LET P1 0,0

は、マクロ内のものと同じです。

2番目の行は違います。ここで、小かっこ内の「式」は、評価されています。結果 10,0は、式の直後に示されています。

では、論理式を見てください。WHILE ( X 1 < 5 ) 1

Xの現在の数値は 1です。これは Xの直後に見られます。論理式 (1 < 5)

は、真なので、数値 1が式の直後に示されています。

WHILEが traceの中で再び示されることはありませんが、論理式の数値

は END_WHILEの後に示されることに注意してください。最後の END_

WHILEの後の最後の論理式を見てください。Xの現在の数値は 5です。

論理式 (5 < 5)は偽なので、式の数値は 0になります。

次のマクロの動きを見てみましょう。DEFINE Parenth_2

LET P1 (0,0) {parentheses not necessary}

LET P2 (10,0) {parentheses not necessary}

WHILE (1) {parentheses necessary}

LET P1 (P1 + 0,10) {parentheses necessary}

LET P2 (P2 + 0,10) {parentheses necessary}

LINE TWO_PTS P1 P2 END

END_WHILE

END_DEFINE

WHILEの後の式は、常に真です。このマクロは電源異常が起こるかある

いは [Break]キーが押されるまで、線を描き続けます。

シンプルなトークンが使用されている場合でも、論理式には常に小かっこ

が必要であることを示すために、このマクロ例を使いました。そのことに

確信がもてないようでしたら、WHILE (1)を WHILE 1に変更して確認し

てください。

WHILE (1)を WHILE (TRUE)に変えても、同じ動作をします。

次のマクロは、数値がゼロでない場合、論理式は真であることを示してい

ます。DEFINE Parenth

LET P1 0,0

LET P2 (10,0)

LET X (5)

WHILE (X)

LET P1 (P1 + 0,10)

LET P2 (P2 + 0,10)

LINE TWO_PTS (P1) (P2) END

56 Creo Elements/Direct Drafting Writing Macros日本語版

Page 57: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

LET X ( X - 1)

END_WHILE

DISPLAY_NO_WAIT 'something has changed'

WAIT 3

LET X ( X - 1 )

WHILE (X)

LET P1 (P1 + 0,10)

LET P2 (P2 + 0,10)

LINE (TWO_PTS) P1 P2 END

LET X ( X + 1)

END_WHILE

END_DEFINE

マクロの行の字下げマクロ内で、字下げされている行があることに気づかれたことでしょう。

この字下げはプロセッサでは無視されますが、論理の流れを理解するのに

役立ちます。

一般的に、論理式に続く行は字下げされます。前の例では、WHILEス

テートメントに続く行が字下げされています。WHILE構文の終了ステー

トメントは END_WHILEで、このステートメントは WHILEと同じ列位置

に示されます。その結果、構文のキーワードが視覚的にはマーカの働きを

します。これにより、コードの各セクションの始めと終わりを簡単に発見

でき、デバッグがさらに簡単になります。

同じように、以下の構文でも字下げが使用されます。

• IF ... ELSE_IF ... ELSE ... END_IF

• LOOP ... EXIT_IF ... END_LOOP

• REPEAT ... UNTIL

構文の各キーワードは、同じ列で始まります。キーワードに続くステート

メントは、字下げされます。

これらの構文のネスティングには、さらに字下げが必要になります。

防御プログラミング防御的にプログラミングして、あらゆるイベントの発生を考慮することに

よって、多くのよく起こるバグを避けることができます。ここに、いくつ

かのガイドラインを示しておきます。

• 一貫した字下げを使用してください。前の節でこのことは説明しまし

た。

マクロの基本 57

Page 58: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

• 内容を理解しやすい変数名を使用してください。Radius1あるいは

Rad1は、Sより理解するのが簡単です。誤って、TAN(S)と書くこと

があるかもしれませんが、TAN(Radius1)内でただちにエラーが検出

されます。

• シンプルなコードを作成してください。次の 2つのプログラム例は、同じ結果を出します。どちらが、理解しやすいでしょうか。

例 1:LET P3 (P1 - (PNT_RA O.5*(D2 - D1) ANG(P2 -P1)))

例 2:LET Shoulder (O.5*(D2 - D1)

LET Angle (ANG(P2 - P1)

LET Vect_S (PNT_RA Shoulder Angle)

LET P3 (P1 - Vect_S)

上記のプログラム例にバグがある場合、あなたならどちらをデバッグしますか。

• マクロを作成している際、効率的なコードについて考慮する必要はあ

りません。最後にマクロ動作が遅すぎる場合に、もっと速く実行でき

る部分に集中して考えればよいのです。

• 長いマクロを書かないようにしてください。短めのマクロをいくつか

使用するようにしてください。各マクロを個別にデバッグできます。

• 誤ったユーザ入力は、遮断するようにしてください。IFステートメン

トについて説明した際、次のプログラム例を見ました。READ "ENTER 'H' FOR HORIZ, OR 'V' FOR VERT, OR 'P' FOR PERP"

IF (Q='H')

C_LINE HORIZONTAL P2 {if Q='H', only this statement}

{is executed}

ELSE_IF (Q='V')

C_LINE VERTICAL P2 {if Q<>'H', but Q='V', only these}

LET X 3 {two statements are executed}

ELSE

C_LINE PERPENDICULAR P1 P2 {if Q<>'H', and Q<>'V',}

{but Q='P', only this statement is}

{executed}

END_IF

この例は、IFステートメントを示すには適していますが、防御プログラミングを示すには適していません。ユーザが、誤って 'Y'や'v'を'V'の代わりに入力した場合、どうなるでしょう。

ここに、ユーザの不注意によるエラーを防ぐために作成し直したバージョンを示します。LOOP

READ STRING "ENTER 'H' FOR HORIZ, OR 'V' FOR

VERT, OR 'P' FOR PERP" Q

EXIT_IF ((Q='H') OR (Q='h') OR (Q='V') OR

58 Creo Elements/Direct Drafting Writing Macros日本語版

Page 59: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

(Q='v') OR (Q='P') OR (Q='p'))

END_LOOP

IF ((Q='H') OR (Q='h'))

C_LINE HORIZONTAL P2

ELSE_IF ((Q='V') OR (Q='v'))

C_LINE VERTICAL P2

ELSE

C_LINE PERPENDICULAR P1 P2

END_IF

• ユーザが、あまり大きすぎたり小さすぎたりする数、あるいは負の数

を、マクロとして入力した場合、次のようなステートメントでこれら

の数の入力を防がなくてはなりません。LOOP

READ NUMBER 'Enter number of sides' Num_sides

EXIT_IF ((Num_sides > 0) AND (Num_sides < 20))

END_LOOP

マクロコマンドオンラインヘルプにリストされたコマンドは、すべてマクロのボディ内で

使用できます。コマンドやステートメントには、マクロに非常に有効なも

のがあります。ここにいくつかの例を挙げます。

DISPLAY P1 点 P1の X、Y座標を表示し、ユーザの応答を待ちます。

BEEP システムスピーカで固定周波/振幅の短い音を鳴らします。

IF (M>N)

...

ELSE

...

END_IF

ELSE if M>Nの前の行をすべて実行します。そ

うでない場合は、ELSEと END_IFの間の行を

すべて実行します。いくつの ELSEステートメ

ントでも実行できます。LET D (L1 + 5) Dを L1と 5の合計に等しいものと定義します。LOOP

...

EXIT_IF (N > 50)

...

EXIT_IF (M < 7)

END_LOOP

N > 50あるいは M < 7になるまで END_LOOPの

前の行を順に繰り返し実行します。いくつの

EXITステートメントでも実行できます。EXITステートメントが使用されない場合、ENDまた

は別のコマンドが選択されるまで、ループは無

限に繰り返します。

READ PNT P8 点 P8がユーザによって入力されるまで、シス

テムを停止します。REPEAT

...

UNTIL (N>10)

Nが 10より大きくなるまで、すべての行を順に

繰り返し実行します。

マクロの基本 59

Page 60: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

TONE 256 2 0.5 システムスピーカで、2秒間の相対振幅 0.5で

256 Hzの音を発生させます。WHILE (N< 20)

...

END_WHILE

Nが 20未満である間、WHILEの後のすべての

行を順に繰り返し実行します。

式は小かっこで囲みます。通常、式は、前の例のように、算術式、三角関

数、または比較演算を含みます。また、使用可能な特別な関数がありま

す。次章ではそれについて説明します。

組み込み関数ここに、式内で使用できる有効な組み込み関数をいくつか示しておきま

す。

ANG P6 ベクトル P6と X軸の間の角度を算出します。

LEN P4 ベクトル P4の長さを算出します。PNT_XY 20 65 X0、Y0の原点および X20、Y65の

ヘッドをもつベクトルを定義しま

す。PNT_RA 16 38 原点が X0、Y0で、長さが 16、X

軸に対する角度が 38のベクトルを

定義します。ROT P2 45 反時計回りの方向に、P2に対する

角度が 45度のベクトル P2と同じ

長さをもつベクトルを定義します。SQR 15 15の二乗を算出します。SQRT 15 15の平方根を算出します。X_OF P1 点 P1の X座標を算出します。Y_OF P6 点 P6の Y座標を算出します。

60 Creo Elements/Direct Drafting Writing Macros日本語版

Page 61: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

4環境および要素についての問い合わ

せINQ_ENVの使用方法.................................................................................................62INQ_ELEMの使用方法...............................................................................................63GETENVの使用方法...................................................................................................64ほかの問い合わせの使用法 ........................................................................................64

マクロを書いているとき、現在の環境について知ることが必要な場合がし

ばしばあります。現在の単位は何か。インチまたはミリメートルのどちら

か。現在の線色は白、または何かほかの色か。尺度は 1:1または 2.5:1。

たとえば、ドットセンタラインを使用して黄色の線を描くためにマクロを

使用するとします。色および線種を変えることは容易です。しかし、マク

ロが終了した後で、色および線種をそれらのオリジナルの数値に戻してく

ださい。マクロのユーザにこれらの数値をリセットさせてはいけません。

マクロは、現在の色および線種を格納し、終了する前に、これらの値を元

に戻さなければなりません。この章では、システム配列に情報を格納する

ための INQ_ENVおよび INQ_ELEMファンクションの使用方法、およびシ

ステム配列への問い合わせを行うための INQの使用方法を示していま

す。INQは、inquire (問い合わせ)を省略したものです。

61

Page 62: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

INQ_ENVの使用方法次のマクロは、INQ_ENVおよび INQの使用を示します。DEFINE Env_check

LINE HORIZONTAL 0,0 300

INQ_ENV 3 {load information in system array}

LET Col (INQ 201) {save color information}

LET Ltype (INQ 301) {save linetype information}

INQ_ENV 2 {load window position in system array}

LET Lower_left (INQ 101) {save lower left point of}

{current window}

LET Upper_right (INQ 102) {upper right point}

YELLOW {new color}

DOT_CENTER {new linetype}

LINE HORIZONTAL 0,50 300

COLOR Col {reset to original color}

LINETYPE Ltype {reset to original linetype}

LINE HORIZONTAL 0,100 300 END

DISPLAY_NO_WAIT ("Look at the OLD window")

WAIT 5

WINDOW -10,-10 350,150 {create a new window}

DISPLAY_NO_WAIT ("Now look at the NEW window")

WAIT 5

WINDOW Lower_left Upper_right

DISPLAY_NO_WAIT ("Back to the OLD window")

WAIT 5

END_DEFINE

マクロの第 2行は、現在の色および線種を使用して線を描きます。マクロの残りの行については、次のパラグラフで解説します。INQ_ENV 3

オンラインヘルプで INQ_ENVファンクションについて学習すると、INQ_

ENVがデータをシステム配列のセクションに挿入することがわかります。

配列のセクションは、INQ_ENVに続く数によって指定されます。たとえ

ば、セクション 0は、ソフトウェアバージョン番号、およびバージョンストリングの情報を含みます。セクション 1は、現在のビューポートなどに関する情報を含みます。

キャッチ範囲、図形、下書き線データ、テキストデータなどに関する情報

を含むセクション 3は、興味あるものです。

INQ_ENVを使用するたびに、システム配列のそのセクションにおける前

のデータに上書きします。LET Col (INQ 201)

62 Creo Elements/Direct Drafting Writing Macros日本語版

Page 63: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

INQは、最後に INQ_ENVを使用して書き込まれたシステム配列のセク

ションに問い合わせを行います。例では、最後の INQ_ENVが、セクショ

ン 3へ書き込みを行ったので、INQは、セクション 3に問い合わせを行います。特定の情報は、INQに続く数に依存します。

オンラインヘルプの INQ_ENVファンクションについて見直してみると、

INQ 201が現在の幾何色を戻すことがわかります。この数値は、変数

Colに割り当てられます。LET Ltype (INQ 301)

現在の幾何線種は、変数 Ltypeに割り当てられます。INQ_ENV 2

現在の画面に関する情報は、システム配列のセクション 2に挿入されます。LET Lower_left (INQ 101)

LET Upper_right (INQ 102)

左下の点および現在の画面の右上の点は、変数に割り当てられます。

次の 3行のマクロは、色および線種を変更します。その後、その変更の影響を示す線を描きます。COLOR Col

LINETYPE Ltype

色および線種のオリジナルの数値が復元されます。マクロは、変更の影響

を示すほかの線を描きます。

マクロの最後の数行は、現在の画面の座標値を変更します。そして変更が

わかるように、約 5秒間この画面を表示します。そのときオリジナルの座標値が復元されます。

INQ_ELEMの使用方法INQ_ELEMは、INQ_ENVと似ていて、同じようにデータをシステム配列

へ置きます。データは画面上の指定された点に存在する要素に依存しま

す。たとえば、要素が円である場合、円に関するデータは配列に置かれま

す。

要素をピックする場合、INQ 403を使用して、どのようなタイプの要素で

あるかを見い出すことができます。マクロで、ユーザに円をピックさせる

とします。たとえば、それが実際は長方形ではなく円であることを確かめ

るために INQ 403を使用できます。

次のプログラムは、その例を示しています。LOOP

環境および要素についての問い合わせ 63

Page 64: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

READ PNT 'Digitize a circle' P

INQ_ELEM P

EXIT_IF (INQ 403 = CIRCLE)

END_LOOP

このプログラムでは、INQ_ELEMは、数値化された点に関する情報をシス

テム配列へ読み出します。オンラインヘルプの INQ_ELEMファンクショ

ンについて参照してください。そうすれば、INQ 403が要素タイプを戻す

ことがわかります。タイプが円である場合は、マクロはループから抜け出

し、マクロの次のセッションを続けます。

円の半径または中心を調べる場合、以下を使用できます。LET Rad (INQ 3)

LET Cen_pt (INQ 101)

要素が数値化された点で発見されない場合は、INQ 403は ENDを戻すこ

とに注意してください。キャッチモードでのチェックを組み込んでから再

び指示をしてください。

GETENVの使用方法GETENVを使うと現在の環境変数の設定内容が取り出されます。たとえ

ば、変数 MEDIRの設定内容を取り出すにはコマンド行で次のように入力

します。display (getenv('MEDIR'))

Creo Elements/Direct Draftingにより現在の設定内容が返されます。

ほかの問い合わせの使用法HL_INQ_Z_VALUEおよび HL_INQ_FACE_COLORのようなほかの問い合

わせの使用法は、INQ_ENVおよび INQ_ELEMの使用法と同様です。各

ケースにおいて、数値は、システム問い合わせ配列へ書き込まれ、INQを

使用して引き出されます。

HL_INQ_Z_VALUEを使用するマクロの例として、104ページの「有益なマクロ」を参照してください。

64 Creo Elements/Direct Drafting Writing Macros日本語版

Page 65: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

5点およびベクトルのクイックレ

ビュー点.............................................................................................................................66ベクトル...................................................................................................................67

このようなマニュアルを読むユーザのほとんどは、点およびベクトルにつ

いて多くの知識を持っていることでしょう。しかし、ユーザが最後に点お

よびベクトルを使用してからすでに何年かの期間がたっているかも知れま

せん。この非常に短い章は、70ページの「幾何マクロの書き方」を読む前にユーザの記憶をリフレッシュするためのものです。

65

Page 66: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

点点は、X座標と Y座標によって定義されます。次の図の点を見てくださ

い。

図 1.点の表示

X軸と Y軸は、点 (0,0)で交わります。この点は、原点と呼ばれます。原点では X座標は 0であり、Y座標は 0です。

ほかの点は、その X座標と、続く Y座標によって確認できます。

マクロでは、ある点の X座標または Y座標を調べる場合、X_OFあるいは

Y_OFオペレータを使用します。以下に例を示します。LET X1 (X_OF P1)

LET Y1 (Y_OF P1)

P1が (3,2)であると仮定します。その場合、X_OF P1は 3、Y_OF P1は

2になります。

2つの数があれば、PNT_XYオペレータを使用してその数から点を作るこ

とができます。たとえば、数が 3と 2の場合、次のようになります。LET P1 (PNT_XY 3 2)

これは、点 (3,2)を作ります。

一般的には次のようになります。LET P1 (PNT_XY X Y)

これは、点 (X,Y)を作ります。

66 Creo Elements/Direct Drafting Writing Macros日本語版

Page 67: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

ベクトルベクトルは長さおよび方向を持ちます。次の図では、ベクトル Aは原点

(0,0)から点 (3,2)までの線を表します。ベクトル Bは、原点 (0,0)から点(1,4)まで描かれた線を表します。

図 2.原点で始まるベクトル

ベクトルが原点で始まるならば、前の図のようにベクトル Aを (3,2)、

ベクトル Bを (1,4)と指定できます。次の章で説明する幾何学マクロで

は、すべてのベクトルは原点で始まります。

ベクトルの加算

ベクトル Aをベクトル Bに加え、ベクトル Cを作成できます。次の図で

は原点から点 (4,6)までの線が Cを表すことがわかります。Cの X座標

は、(1,4)と (3,2)の X座標を加えたもので表され、ここでは 4になりま

す。同様に、Y座標は、これらの 2つの点の Y座標を加えたもので表さ

れ、ここでは 6になります。

点およびベクトルのクイックレビュー 67

Page 68: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

図 3.ベクトルの加算

ここではベクトル Aとベクトル Bの加算を図示するほかの方法を説明し

ます。まず、次の図で示すように、ベクトル Aの先端に接続するかたちで

ベクトル Bを新しい位置 B'に移動します。ベクトルが長さおよび方向に

よって定義されることを思い出してください。したがって、新しいベクト

ル B'は、古いベクトル Bと同じです。

図 4.ベクトルの加算の図

原点から始めて X方向に 3、Y方向に 2移動します。次に、X方向に 1、Y

方向に 4移動します。これは原点から始めて、X方向に 4、Y方向に 6移動した場合と同じ点になります。これで C = A + Bであると証明されま

す。

ベクトルの加算では、A + Bは B + Aと同じです。

68 Creo Elements/Direct Drafting Writing Macros日本語版

Page 69: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

ベクトルの減算

ベクトルの減算では、その Xおよび Y座標の減算を行います。減算の順

番は重要です。次の図は、A - Bおよび B - Aの結果を示します。

図 5.ベクトルの減算

通常の計算と同様に、ベクトル A - Bは、ベクトル B - Aと同じでないこ

とがわかります。ベクトルは、同じ長さですが方向は逆になっています。

加算と同様に、一方のベクトルを移動し、その先をほかのベクトルの先端

につけ、ベクトルの減算を図示できます。次の図は、A - Bの結果を示し

ます。

図 6.ベクトルの減算の図

点およびベクトルのクイックレビュー 69

Page 70: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

6幾何マクロの書き方

矢印マクロ ...............................................................................................................71パネルマクロ ............................................................................................................74

この章では、幾何マクロの書き方を説明します。おそらく、ほかのタイプ

のマクロよりも、幾何マクロを使うことが多いでしょう。一定の寸法線ま

たはさまざまな寸法線を使用して、同じタイプの形状を描くことが多い場

合は、そのジョブを代わりに実行してくれるようなマクロを書くべきで

す。

この章では、矢印マクロおよびパネルマクロを書く方法に関して詳細に説

明しています。

70 Creo Elements/Direct Drafting Writing Macros日本語版

Page 71: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

矢印マクロこのマクロは、次の図のような矢印を描きます。

基礎的形状を描くほか、このマクロでは、以下のことを行わなければなり

ません。

• 矢印は、スクリーン上でピックされた 2点間になければなりません。1つ目の点は、矢印の先端です。2つ目の点は、テールの中心にあります。

• 矢印の形状は、一定でなければなりません。

• このマクロは、ほかのコマンドによってキャンセルされるまで、操作

を繰り返さなければなりません。

これらの要件を満たすようにマクロを書く方法がいくつかあります。どの

方法を使用しても構いません。最も適するものを選択してください。

これから使用する方法において、点は、ベクトルと見なされます。これ

は、簡単なベクトル操作をよく知っている人にとってはよい方法です。

矢印マクロの書き方

1つ 1つの手順をここで示します。

1. 矢印を軸に対してあらゆる角度に描き、すべての点に注釈を付けます。スクリーンから選ばれる点は、P1および P2です。どの点も原点

(0,0)に対して描いてください。

幾何マクロの書き方 71

Page 72: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

2. 最初にマクロボディで作業を行います。幾何マクロとして、これは、作図を行う部分です。先の図で示されるように、点 P1および P2が定

義され、それぞれが原点から描かれたベクトルの先端を表すと仮定し

ます。

3. 先端から矢じりまでは、(矢印点からの)中心線に沿った全体の長さの一定の割合 (60 %を使用)になっています。この長さで、P2方向への

P1、P2間のベクトルを定義し、それを Hと呼びます。ほかのすべて

のベクトルのように、Hは、0,0を原点とします。LET H (0.6 * ( P2 - P1 ) )

4. 矢じりは中心線から Hの一定の割合 (30 %を使用)になっています。この長さで Hに垂直なベクトルを定義し、それを Wと呼びます。LET W ( 0.3 * ( ROT H 90 ) )

5. テールの厚さの半分は、Wの一定の割合 (40 %を使用)です。W方向へ

のこの長さのベクトルを定義し、それを Tと呼びます。LET T ( 0.4 * W )

6. これで、全点を定義できます。次の図のように、点 P3を定義するた

めに、Hおよび Wを P1に加えてください。

72 Creo Elements/Direct Drafting Writing Macros日本語版

Page 73: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

LET P3 ( P1 + H + W )

7. まったく同じ方法でほかの点を定義します。LET P6 ( P1 + H - W )

LET P4 ( P1 + H + T )

LET P5 ( P1 + H - T )

LET P8 ( P2 + T )

LET P9 ( P2 - T )

8. 矢印を形成するために、点をつなぎます。LINE POLYGON P1 P3 P4 P8 P9 P5 P6 P1

マクロボディが終了し、ここで点 P1および P2の操作に移ることが可能

となり、それらの点がスクリーンからピックされます。READコマンド

は、ユーザが P1および P2の座標値を入力できるようにします。READ PNT 'Pick the arrow point' P1

READ PNTは、点が入力されようとしていることをシステムに伝えます。

システムは Pick the arrow pointというメッセージを表示します。ユーザが点を入力するとき、その点は、P1と定義され、次の行のマクロが実行さ

れます。READ PNT 'Pick the tail centerpoint' RUBBER_LINE P1 P2

この行のマクロでは、カーソルがスクリーンを横切って移動し、

RUBBER_LINEコマンドが P1とカーソルの間に直線を描きます。これ

は、矢印の大きさを決めるのに便利です。次の点が入力されると、それ

は、P2と定義され、次の行のマクロが実行されます。この行のマクロ

が、マクロボディの開始です。

幾何マクロの書き方 73

Page 74: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

ここで、LOOPと END_LOOPを使用してループ内の READステートメント

とマクロボディを囲んでください。これは、ユーザが同じ操作を行ってい

る間に複数の矢印を作図できるようにするものです。必要な場合は操作を

行っている間に変更できるように、ループの外で LINETYPEおよび

COLORを指定します。すべてのマクロ変数を LOCALとして定義します。

以下にマクロ全体を示します。DEFINE Arrow_head

LOCAL P1

LOCAL P2

LOCAL P3

LOCAL P4

LOCAL P5

LOCAL P6

LOCAL P8

LOCAL P9

LOCAL H

LOCAL W

LOCAL T

COLOR WHITE

LINETYPE SOLID

LOOP

READ PNT 'Pick the arrow point' P1

READ PNT 'Pick the tail centerpoint' RUBBER_LINE P1 P2

LET H (0.6 * ( P2 - P1 ) )

LET W ( 0.3 * ( ROT H 90 ) )

LET T ( 0.4 * W )

LET P3 ( P1 + H + W )

LET P6 ( P1 + H - W )

LET P4 ( P1 + H + T )

LET P5 ( P1 + H - T )

LET P8 ( P2 + T )

LET P9 ( P2 - T )

LINE POLYGON P1 P3 P4 P8 P9 P5 P6 P1

END

END_LOOP

END

END_DEFINE

ジョブを実行するマクロを書く方法は、多数あることを憶えておいてくだ

さい。点を設定し形状を描く前に、軸を必要とされた角度に向けるという

方法もあります。この方法では、CS_SET、CS_ROTATE、CS_REF_PT、

CS_AXISのようなコマンドを使用します。

パネルマクロここでの目的は、次に示したようなフロントパネルを描くマクロを書くこ

とです。パネルは、標準の 19インチのラックに合うように設計されています。

74 Creo Elements/Direct Drafting Writing Macros日本語版

Page 75: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

このマクロでは、次のことを行わなければなりません。

• ラックの左側の垂直なボルト穴の 1つをピックすることによってパネルの位置を決めてください。

• 必要な U値を与え、パネルの高さを決定してください (幅は一定)。

• パネルの向きは、定規軸の向きと常に同じにしてください。

フロントパネルの形状は、主として一定です。したがって、ベクトルの代

わりに座標を用いて下書き点を定義することが可能です。

パネルマクロの書き方

フロントパネルを決まった角度 (0度が、最も容易です)で描き、含まれるすべての座標に注釈を付けてください。

幾何マクロの書き方 75

Page 76: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

矢印と同様に、最初にマクロボディ上で作業を始めてください。ベクトル

Pが定義され、フロントパネルの設計が図に示すとおりであると仮定しま

す。Mおよび Qは変数パラメータです。

ベクトル Pの終点からの座標によってすべてのポイントを定義します。P

は座標 (0,0)を持つと考えられます。パネルを作図するために、最初のベクトル Pにこれらの座標を順番に加えることができます。下の図は、いく

つかのパネルの座標の特徴を示します。

パネルの周辺でこのプロセスを続けると、すべての特徴的な座標が与えら

れますが、それらは、次のとおりに定義されます。LET A (PNT_XY -9 (7.5/2))

LET B (PNT_XY -9 (Q))

LET C (PNT_XY (483-9) (Q))

LET D (PNT_XY (483-9)(7.5/2))

LET F (PNT_XY (465-1.5)(7.5/2))

LET G (PNT_XY (465-1.5-(7.5/2)) 0)

LET H (PNT_XY (465-1.5)(-7.5/2))

LET J (PNT_XY (483-9)(-7.5/2))

LET K (PNT_XY (483-9)(-M+(7.5/2)))

LET F1 (PNT_XY (465-1.5)(-M+(7.5/2)))

LET G1 (PNT_XY (465-1.5-(7.5/2)) (-M))

LET H1 (PNT_XY (465-1.5)(-M-(7.5/2)))

LET A2 (PNT_XY (483-9)(-m-(7.5/2)))

LET B2 (PNT_XY (483-9)(-M-Q))

LET C2 (PNT_XY -9(-M-Q))

LET D2 (PNT_XY -9(-M-(7.5/2)))

LET F2 (PNT_XY 1.5(-M-(7.5/2)))

LET G2 (PNT_XY (1.5+(7.5/2))(-M))

LET H2 (PNT_XY 1.5(-M+(7.5/2)))

LET J2 (PNT_XY -9(-M+(7.5/2)))

LET K2 (PNT_XY -9(-7.5/2))

LET F3 (PNT_XY 1.5(-7.5/2))

LET G3 (PNT_XY (1.5+(7.5/2)) 1.5)

LET H3 (PNT_XY (1.5)(7.5/2))

76 Creo Elements/Direct Drafting Writing Macros日本語版

Page 77: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

マクロボディを終了するには、フロントパネルを作図するためにすべての

点を結んでください。これは、LINEおよび ARCコマンドを用いて行われ

ます。そして、どのような順番でも行えます。ここで使われる順番は、点

(P+H3)から点 (P+G3)で、以下のように与えられます。LINE POLYGON (P+H3) (P+A) (P+B) (P+C) (P+D) (P+F)

ARC THREE_PTS (P+F) (P+H) (P+G)

LINE POLYGON (P+H) (P+J) (P+K) (P+F1)

ARC_THREE_PTS (P+F1) (P+H1) (P+G1)

LINE POLYGON (P+H1) (P+A2) (P+B2) (P+C2) (P+D2) (P+F2)

ARC THREE_PTS (P+F2) (P+H2) (P+G2)

LINE POLYGON (P+H2) (P+J2) (P+K2) (P+F3)

ARC THREE_PTS (P+F3) (P+H3) (P+G3)

これでマクロボディは完全です。マクロ操作を行うために、ベクトル点 Pを設定しなければなりません。そしてデータを入力できるようにします。

READステートメントは、データを入力するために使用されます。READ

ステートメントは、次に示されるように実行されます。READ NUMBER "Enter the required height of the front panel" U

READ "Identify the position of the top left bolt hole" P

ここで、示されたとおりに、ベクトル点 Pを設定してください。READ NUMBER "Enter the required height of the front panel" U

READ "Identify the position of the top left bolt hole" P

マクロは、これで操作可能ですが、まだ非常に基礎的段階です。この段階

のマクロは、線種、色、いつマクロが終了するか、入力される値に関する

あらゆる制約条件、またはこの値をパネルの実際の高さに変換する方法を

指定していません。これらの微調整により、このマクロがユーザにとって

いかに役に立つものとなるかが決まります。

マクロで線種および色を指定できます。たとえば、以下のステートメント

を使用できます。COLOR YELLOW

LINETYPE SOLID

いつどこでマクロが操作を終了するかということも簡単に指定できます。

このためには、マクロで END_DEFINEの前に ENDを挿入します。ENDス

テートメントが使用されない場合、システムは、マクロが呼び出される前

に実行されていたコマンドメッセージを示します。

U値に対して制約条件を指定するのに複数の方法があります。この例にお

いて、入力される U値をチェックするために、LOOP文の中に ...EXIT_

IF...END_LOOPIF...END_IF文が使用されています。このマクロで

は、U値に対して次のような 3つの制約条件が課されます。

• 整数でなければなりません。

幾何マクロの書き方 77

Page 78: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

• 0より大きくなければなりません。

• 17より小さくなければなりません。

ループは、次のように使用されます。IF ((FRACT U <> 0) OR (U>16) OR (U< 1))

LOOP

READ NUMBER "Please re-enter an integer value between 1 and 16"

EXIT_IF ((FRACT U=0) AND (U>0) AND (U< 17))

END_LOOP

END_IF

このループは、IF文で指定された条件を U値が満たすまで繰り返されま

す。

値のチェックが完了したら、その値はマクロの使用にさらに適したフォー

ムに変換されなければなりません。値が整数で、パネルの装置の高さを表

しているとき、それは、実際の高さに変更されなければなりません。これ

は、マクロの最後の IF...END_IFループによって行われます。ループが

定義される前に、LET N (((U-1)*44.45)+43.6)によって U値が変換

されることで、パネルの実際の高さを示す N値が作成されます。この値

は、変数 Mおよび Qを定義するために使用されます。変数 Mは、スロッ

ト間の垂直距離を定義し、Qは、各スロットと水平稜線の間の垂直距離を

定義します。ここで、Mは U値の範囲を超えた変数であり、Qは以下の U値に対して別々の値が決められています。

• 0より大きく、3より小さい U

• 2より大きく、17より小さい U

以下にマクロ全体を示します。DEFINE Tline

LOCAL P

READ NUMBER 'Enter the required height of the front panel' U

COLOR YELLOW

LINETYPE SOLID

IF ((FRACT U <> 0) OR (U>16) OR (U< 1))

LOOP

READ NUMBER "Please re-enter an integer value between 1 and 16" U

EXIT_IF ((FRACT U=0) AND (U>0) AND (U< 17))

END_LOOP

END_IF

LET N (((U-1)*44.45)+43.6)

IF (U< 3)

LET M (N-11.9)

LET Q 5.95

LET M (N-75.4)

ELSE

LET Q 37.7

END_IF

78 Creo Elements/Direct Drafting Writing Macros日本語版

Page 79: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

READ "Identify the position of the top left bolt hole" P

LET A (PNT_XY -9 (7.5/2))

LET B (PNT_XY -9 (Q))

LET C (PNT_XY (483-9) (Q))

LET D (PNT_XY (483-9) (7.5/2))

LET F (PNT_XY (465-1.5) (7.5/2))

LET G (PNT_XY (465-1.5-(7.5/2)) 0)

LET H (PNT_XY (465-1.5) (-7.5/2))

LET J (PNT_XY (483-9) (-7.5/2))

LET K (PNT_XY (483-9) (-M+(7.5/2)))

LET F1 (PNT_XY (465-1.5) (-M+(7.5/2)))

LET G1 (PNT_XY (465-1.5-(7.5/2)) (-M))

LET H1 (PNT_XY (465-1.5) (-M-(7.5/2)))

LET A2 (PNT_XY (483-9) (-M-(7.5/2)))

LET B2 (PNT_XY (483-9) (-M-Q))

LET C2 (PNT_XY -9 (-M-Q))

LET D2 (PNT_XY -9 (-M-(7.5/2)))

LET F2 (PNT_XY 1.5 (-M-(7.5/2)))

LET G2 (PNT_XY (1.5+(7.5/2)) (-M))

LET H2 (PNT_XY 1.5 (-M+(7.5/2)))

LET J2 (PNT_XY -9 (-M+(7.5/2)))

LET K2 (PNT_XY -9 (-7.5/2))

LET F3 (PNT_XY 1.5 (-7.5/2))

LET G3 (PNT_XY (1.5+(7.5/2)) 1.5)

LET H3 (PNT_XY 1.5 (7.5/2))

LINE POLYGON (P+H3) (P+A) (P+B) (P+C) (P+D) (P+F)

ARC THREE_PTS (P+F) (P+H) (P+G)

LINE POLYGON (P+H) (P+J) (P+K) (P+F1)

ARC THREE_PTS (P+F1) (P+H1) (P+G1)

LINE POLYGON (P+H1) (P+A2) (P+B2) (P+C2) (P+D2) (P+F2)

ARC THREE_PTS (P+F2) (P+H2) (P+G2)

LINE POLYGON (P+H2) (P+J2) (P+K2) (P+F3)

ARC THREE_PTS (P+F3) (P+H3) (P+G3)

END

END_DEFINE

幾何マクロの書き方 79

Page 80: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

7ファイル入出力およびテキスト文字

列マクロが実行すること...............................................................................................81マクロの分析 ............................................................................................................82マクロ内からのマクロの呼び出し ..............................................................................90マクロへのパラメータ渡し ........................................................................................92

この章では、マクロ内で用いる際のファイルからデータを取り出す方法お

よびファイルにデータを書き込む方法について説明します。ここで取り上

げる例では、データはテキスト文字列から構成されていますが、同じ原理

が数字データに適用されます。

80 Creo Elements/Direct Drafting Writing Macros日本語版

Page 81: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

マクロが実行することhelpファイルの各セクションからキーワードを取り出して、その結果を

新規ファイルに書き込むことが、ここでの目的です。

「キーワード」の意味を知るために、helpファイルで次のセクションを

見てください。=======================================================

^AUTO_NEW_SCREEN

AUTO_NEW_SCREEN function

---->(AUTO_NEW_SCREEN)---->+------>(ON)----->+---->

| |

`------>(OFF)---->'

The AUTO_NEW_SCREEN function allows you to select ...

.

.

=======================================================

この例において、このセクションは AUTO_NEW_SCREENファンクション

を示します。キーワードは AUTO_NEW_SCREENであり、これが出力ファ

イルに書き込まれる文字列です。

2つの方法のどちらかで、キーワードを検索できることに注意してください。

• ^キャラクタを捜してください。次に、^の後の文字列を取り出しま

す。または、

• 文字列 commandまたは functionを捜してください。次に、前の文

字列を取り出してください。

プログラミングの視点から見ると、最初の方法が有効です。プロセッサは

"forwards"方向のファイルを調べるだけでよいのです。2番目の方法では、プロセッサは "forwards"方向に commandあるいは functionを見て

から前の文字列を見つけるために "backwards"を見なくてはなりません。ここでは、最初の方法を用いることにします。

次の例を見てください。=======================================================

^CANCEL ESC STOP INTERRUPT BREAK

^ABORT

^Meview_cancel

CANCEL command

---->(CANCEL)---->

CANCEL cancels the current activity ...

.

.

=======================================================

ファイル入出力およびテキスト文字列 81

Page 82: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

この例では、^CANCEL、^ABORT、および ^Meview_cancelは、すべて

^が前に付きますが、出力ファイルには CANCELを取り込むだけにしま

す。helpファイルのほかのセクションを参照するので、ABORTあるいは

Meview_cancelを取り込むことはしません。そこで、マクロはプロセッ

サに指示して、各セクションで ^が先行する最初の文字列を取り出し、そ

の他については無視するように指示する必要があります。

テキストを処理するマクロを論議する前に、注意しておくべき点が 1つあります。マクロが行う処理の 1つとしての各行中のブランクの検索です。前の例では、^CANCELはブランクによって、次の文字列 ESCから区切ら

れています。文字列の最後を示すためにブランクを用いることもありま

す。ここでもう一度 helpファイルのこのセクションを見てください。=======================================================

^AUTO_NEW_SCREEN

AUTO_NEW_SCREEN function

---->(AUTO_NEW_SCREEN)---->+------>(ON)----->+---->

| |

`------>(OFF)---->'

The AUTO_NEW_SCREEN function allows you to select ...

.

.

=======================================================

セクションの最初の行は ^AUTO_NEW_SCREENになっています。この行が

スクリーン上でプリントされるとき、ブランクが付加されるということを

認識しておくことは重要です。しかし、ファイルではこの行の中にブラン

クはありません。AUTO_NEW_SCREENの最後の Nのすぐ後で改行文字が

あり、スクリーン上ではプリントされませんがファイル内では存在しま

す。改行文字は 16進で 0Aという ASCIIコードです。"\n" ("\n"は Cプログラム言語の中で用いられます)が改行文字を表している場合、前の例は次のようになります。^AUTO_NEW_SCREEN\nAUTO_NEW_SCREEN function\n\n ... (and so on)

"\n"は 2文字ですが、実際の改行文字は 1文字だけであることに注意してください。

マクロの分析次のマクロは helpファイルからキーワードを取り出します。マクロは必

ずしも最も効率的であるとはかぎりません。しかし、理解することは容易

です。行ごとにマクロを分析することにします。DEFINE Keywords_search

{################################################}

{## This macro searches for all the keywords ##}

82 Creo Elements/Direct Drafting Writing Macros日本語版

Page 83: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

{## in the help file, and lists them in ##}

{## an output file. ##}

{################################################}

LOCAL File1

LOCAL File2

LOCAL Flag

LOCAL Filestring1

LOCAL First_char

LOCAL Line_pos

LOCAL String_length

LOCAL First_string

LET File1 '\me10\help'

LET File2 '\john\keywords.out'

OPEN_INFILE 1 File1

OPEN_OUTFILE 2 DEL_OLD File2

LET Flag 0 {initialize the value of Flag}

LOOP

READ_FILE 1 Filestring1 {read the next line of file 1}

EXIT_IF (Filestring1='END-OF-FILE')

LET First_char (SUBSTR Filestring1 1 1)

IF (First_char='^')

IF (Flag = 0)

LET Line_pos (POS Filestring1 ' ')

{find the position in the line}

{of the first blank character}

IF (Line_pos = 0) {no blank characters}

LET String_length (LEN Filestring1)

{find the length of the complete}

{line}

LET First_string (SUBSTR Filestring1 2 (String_length-1))

WRITE_FILE 2 First_string

LET Flag 1

ELSE

LET First_string (SUBSTR Filestring1 2 (Line_pos-2))

WRITE_FILE 2 First_string

LET Flag 1

END_IF

END_IF

ELSE

LET Flag 0

END_IF

END_LOOP

CLOSE_FILE 1

CLOSE_FILE 2

END_DEFINE

マクロの最初の行を見てくださいDEFINE Keywords_search

マクロはすべて DEFINEで始まりその後でマクロ名が続きます。ここで

は、マクロ名は Keywords_searchです。LOCAL File1

LOCAL File2

ファイル入出力およびテキスト文字列 83

Page 84: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

LOCAL Flag

LOCAL Filestring1

LOCAL First_char

LOCAL Line_pos

LOCAL String_length

LOCAL First_string

これらはローカル変数です。別のマクロによって Keywords_searchを

呼び出す場合、2つのマクロによって用いられる変数名の間で衝突が生じるおそれはありません。LET File1 '\me10\help'

LET File2 '\john\keywords.out'

このマクロにおいて変数 File1は、helpファイルの絶対パス名を表す

ために用いられます。同様に、File2は、キーワードのリストが書き込

まれるファイルです。OPEN_INFILE 1 File1

ファイルはオープンされるまで、マクロの中で使えません。ファンクショ

ン OPEN_INFILEは、読み込むため File1をオープンします。ファイル

ポインタは、ファイル内の最初のレコードを指示します。数字の 1は、

ファイル記述子です。File1がオープンした後、File1をさらに参照す

る場合、ファイル記述子 1を用います。ファイル記述子の使用法は、後で

さらに明瞭になるでしょう。ファイル記述子は、MS-DOSの "ハンドル"に似ています。

次のステートメントは、同様に正しく、前のステートメントと同じ結果を

得ることに注意してください。

プラットフォーム依存OPEN_INFILE 1 '\me10\help'

したがって、変数 File1が本当に必要ではないと考えられるかもしれま

せん。File1のような変数を用いる長所は、マクロを迅速に変更して、

C:\Program Files\PTC\Creo Elements\Direct Drafting

[version]\help以外のファイルを読み込むことができることです。行

を変更するだけでよいのです。LET File1 '\me10\help'

File1のような変数を用いない場合、マクロを調べ、\me10\helpのすべてを新規ファイルの絶対パス名に置換する必要があります。ここでのマクロ

は非常に短いので、置換は容易ですが、長いマクロの場合には時間を要し

ます。OPEN_OUTFILE 2 DEL_OLD File2

84 Creo Elements/Direct Drafting Writing Macros日本語版

Page 85: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

ファイルに書き込みを行うために、File2を開きます。ファイル記述子

は 2です。ファイルがすでに存在する場合、ファイルは DEL_OLD命令に

より上書きされます。LET Flag 0

Flagは 1あるいは 0の数値をもつ変数であり、その数値によりマクロの

それぞれのパスを通る 2つの分岐が決定されます。状態あるいは状況を示す変数はフラグと呼ばれることがよくありますが、それが Flagと命名し

た理由です。Flagの使用法は、後でさらに明瞭になるでしょう。この行

は Flagの数値を 0に初期化します。LOOP

ループを開始します。後の EXIT_IFステートメントの条件が満たされる

か、あるいは END_LOOPが実行されるまで、このループは続けられま

す。READ_FILE 1 Filestring1

ファイル記述子が 1であるファイルを読み込みます。これは File1すな

わち /me10/helpを読み込むということです。ファイルが新しくオープ

ンされまだ読み込まれてない場合、ファイルポインタはファイル内の最初

のレコードを指示します。READ_FILEファンクションはそれぞれの完結

した行を 1レコードとして扱うため、READ_FILEコマンドはファイルの

最初の行を読み込んでファイルポインタを次のレコードを指示するよう進

めます。次に同じファイルを読み込む場合、READ_FILEコマンドは 2番目の行を読み込みます。以降同様に進みます。数回ファイルをサーチし、

そのつどファイルの初めからサーチを開始するためにマクロを用いる場

合、各 READ_FILEステートメントの前に OPEN_INFILEを用いて、ファ

イルポインタがファイルの最初の行を指示するようにする必要がありま

す。EXIT_IF (Filestring1='END-OF-FILE')

すべてのファイルに、エンドオブファイルのマーカがあります。実際の

マーカは、オペレーティングシステムに依存しますが、それはヌルキャラ

クタであることがよくあります。マクロがこのファイルの終わりのマーカ

を検出すると、カレントループから抜け出します。LET First_char (SUBSTR Filestring1 1 1)

行の位置 1で始まり、長さ 1をもつ副文字列を見つけてください。すな

わち、行の最初の文字を見つけてください。

副文字列の例として、Filestring1を次のように仮定します。Have a nice day!

ファイル入出力およびテキスト文字列 85

Page 86: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

プログラムステートメントが次のような場合、LET Substring1 (SUBSTR Filestring1 3 6)

Substring1は ve a nです。IF (First_char='^')

最初の文字が ^ならば、ELSE_IF、ELSE、または END_IFになるまで次

のステートメントを実行します (14行後に、ELSEになります)。

最初の文字が ^でなければ、ELSEの後の最初のステートメントへジャン

プします。IF (Flag = 0)

Flagの数値が 0ならば、ELSE_IF、ELSE、または END_IFになるまで

次のステートメントを実行します。ELSE_IFまたは ELSEはありませ

ん。12行後に、END_IFになります

(まだ Flagの目的を説明できる段階までは来ていません)。LET line_position (POS Filestring1 ' ')

前に話したように、行が ^で開始し、行内にはキーワードが 1つしかない場合、行はブランクを含みません。キーワードが 2つ以上あれば、それらはブランクによって区切られます (' 'を使用して 1ブランクを示します。ブランク 2つは ' 'となります)。プログラムステートメントの目的は、行がブランクを含むかどうかを見極めることです。POSファンクションは文

字列 (最初の引数)内で副文字列 (2番目の引数)が最初に検出された位置を与えます。例として、helpファイルの現在の行は次のようになります。^CURRENT_DIRECTORY CD CURRENT DIRECTORY TM_FILE_2 SM_FILE_2

ここで最初の引数は ^CURRENT_DIRECTORYで始まり、SM_FILE_2で終

る完全な行です。2番目の引数は ' 'です。このため、Line_posは 19

になります。

現在の行は次のとおりです。^AUTO_NEW_SCREEN

ここで、Line_posの数値は 0です。各行は改行文字で終了するため、

この行にはブランクがありません。LET String_length (LEN Filestring1)

このステートメントによって、完全な行の長さを算出します。行が次のよ

うなものである場合、^AUTO_NEW_SCREEN

String_lengthの数値は、16です。

86 Creo Elements/Direct Drafting Writing Macros日本語版

Page 87: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

次のプログラムラインを見れば、文字列の長さが必要である理由がわかり

ます。LET First_string (SUBSTR Filestring1 2 (String_length-1))

前に SUBSTRを見ました。このステートメントによって、文字列の位置 2

から始まる、String_length-1の長さをもつ副文字列を取り出しま

す。文字列が次のような場合、^AUTO_NEW_SCREEN

First_stringは AUTO_NEW_SCREENです。すなわち、^は、行の始め

から除外されています。ここで AUTO_NEW_SCREENを、ファイルに書き

込むことができます。WRITE_FILE 2 First_string

ファイル記述子が 2であるファイルに First_stringを加えてくださ

い。このファイルは \john\keywords.outです。First_stringは、

このファイル内で完全な行として扱われることになります。LET Flag 1

行を出力ファイルに書き込むと、Flagを 1に設定します。コードの残り

を注意して調べれば、行が File1から読み込まれても、File2に書き込

まれない場合、Flagは、0に設定されることがわかります。

なぜそれを行う必要があるのでしょう。各セクションより ^で始まる最初

の文字列を取り出さなくてはならないことを思い出してください。たとえ

ば helpファイルの次のセクションから、ABORTまたは Meview_

cancelではなく、CANCELを取り出すとします。=======================================================

^CANCEL ESC STOP INTERRUPT BREAK

^ABORT

^Meview_cancel

CANCEL command

.

.

.

=======================================================

明瞭にするために、読み取り/書き込み用のステートメントと Flagを参

照するステートメント以外を除いたマクロのバージョンを示します。LET Flag 0

LOOP

READ_FILE 1 Filestring1

...

IF (First_char='^')

IF (Flag = 0)

IF ...

...

WRITE_FILE 2 First_string

ファイル入出力およびテキスト文字列 87

Page 88: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

LET Flag 1

ELSE

...

WRITE_FILE 2 First_string

LET Flag 1

END_IF

END_IF

ELSE

LET Flag 0

END_IF

END_LOOP

READ_FILEステートメントの後では、次の 4つの状態が考えられます。

1. First_charは ^と等しく、Flagは 0と等しい。

キーワードがファイルに書き込まれます。Flagが 1に設定されます。

2. First_charは ^と等しく、Flagは 1と等しい。

ファイルには何も書き込まれません。Flagが 0に設定されます。

3. First_charは ^と等しくないが、Flagは 0と等しい。

ファイルには何も書き込まれません。Flagが 0に設定されます。

4. First_charは ^と等しくないが、Flagは 1と等しい。

ファイルには何も書き込まれません。Flagが 0に設定されます。

したがって、First_charが ^ではない場合、ファイルには何も書き込

まれていないことがわかります。これは正しい状態です。キーワードでは

ない文字列を書き込むことはできないということです。

何でもファイルに書き込むことができるのは、First_charが ^であ

り、Flagが 0のときだけです。ここで重要な点は、Flagが 0になり得

るのは前の行が ^で始まっていなかったときだけです。前の行が ^で始

まる場合は、Flagは 1になります。2つ以上の連続した行が ^で始まる

場合は、それらの行の先端にあるキーワードだけがファイルに書き込み可

能だということです。

Flagが 1である場合、それを 0にリセットできる唯一の方法は、^で始

まらない行を読み込むことです。

ステートメント Let Flag 1は 1つで十分であることに気づかれたでしょうか。このステートメントはマクロの最初の END_IFステートメントの後

に置けばよいのです。2つのステートメントを用いて、それぞれ WRITE_

FILEステートメントの後に置くことによって、ファイルに書き込まれる

ものがある場合にのみ、Flagが 1に設定されることを強調しています。ELSE

88 Creo Elements/Direct Drafting Writing Macros日本語版

Page 89: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

行にブランクがある場合、ELSE後のコードが実行されます。LET First_string (SUBSTR Filestring1 2 (Line_pos-2))

この分岐の場合、行の最初のキーワードは先頭に ^を持ち、後にブランク

を持つことになります。したがって、キーワードが位置 2で始まり、その

長さは Line_pos-2となります。行は次のとおりであると仮定します。^CURRENT_DIRECTORY CD CURRENT DIRECTORY TM_FILE_2 SM_FILE_2

取り出すキーワードは、CURRENT_DIRECTORYです。行の最初のブラン

クの位置は 19です。CURRENT_DIRECTORYの長さは 19-2、つまり 17

です。WRITE_FILE 2 First_string

LET Flag 1

First_stringが出力ファイルへ書き込まれ、Flagが 1に設定されま

す。END_IF

IF (Line_pos = 0)の終わりの END_IFです。END_IF

IF (Flag = 0)の終わりの END_IFです。ELSE

First_charが ^ではないならば、ELSE後のコードが実行されます。LET Flag 0

helpファイルから読み込まれるが出力ファイルに書き込まれない場合、Flagは 0に設定されます。

マクロが終了します。最後の数行は次のとおりです。END_IF

IF (First_char = '^')の終わりの END_IFです。END_LOOP

ループの終わりのステートメントです。CLOSE_FILE 1

CLOSE_FILE 2

CLOSE_FILEステートメントは、マクロの開始時の OPEN_INFILEおよ

び OPEN_OUTFILEステートメントに対応します。

よいプログラミング実践するためには、マクロでオープンしたすべての

ファイルをクローズしてください。ファイルをクローズしないと、その

ファイルで次のユーザが OPEN_INFILEを行うまで、オープンした状態と

なります。オペレーティングシステムが次のユーザがオープンする前に、

そのファイルをクローズします。そのファイルを使うユーザがいないと、

ファイルはオープンしたままになります。しかし、各オペレーティングシ

ファイル入出力およびテキスト文字列 89

Page 90: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

ステムには、一度にオープンできるファイルの数に限度があります。限界

に達したとき、オペレーティングシステムはほかのユーザのためにそれ以

上ファイルをオープンできません。したがって、未使用のファイルをク

ローズすることは重要です。

マクロ内からのマクロの呼び出し通常は別のマクロ内からマクロを呼び出すことができます。マクロをネス

トすることの利点として次の 2つが挙げられます。

• 内部マクロは、十分にデバッグされた既存のマクロである可能性があ

ります。既存のマクロを使用すれば、書き込む時間とデバッグする時

間を削減できます。

• 長いマクロの場合、難解でデバッグが難しいことがあるかもしれませ

ん。メインマクロ内で長いマクロを分割して、ネストされた短いマク

ロにすることは可能です。内部マクロのために有意義な名称を用いれ

ば、ほとんど注釈ステートメントを必要としない「自己記述」マクロ

を作成することが可能になります。例として、次のマクロが行うこと

は明白です。

DEFINE Create_shell

Calculate_internal_stress

Calculate_flange_thickness

Calculate_bolt_thickness

Draw_semi_shell

Draw_flanges

Draw_bolts

Draw_washers

Draw_nuts

END_DEFINE

内部マクロによって、Keywords_searchの行のいくつかを置き換えて

みましょう。この例では内部マクロを使用することのメリットはあまりな

いでしょう。そのことは 1つの原理を示していて、パラメータをマクロに渡す方法を示す例として使用できます。

次の行を用いて最初のマクロから内部マクロを作成してください。IF (Line_pos = 0) {no blank characters}

LET String_length (LEN Filestring1)

{find the length of the complete}

{line}

LET First_string (SUBSTR Filestring1 2 (String_length-1))

WRITE_FILE 2 First_string

LET Flag 1

ELSE

LET First_string (SUBSTR Filestring1 2 (Line_pos-2))

90 Creo Elements/Direct Drafting Writing Macros日本語版

Page 91: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

WRITE_FILE 2 First_string

LET Flag 1

END_IF

Write_to_fileと呼ばれる新しいマクロを作成する場合、最初に

DEFINE Write_to_fileを、最後に END_DEFINEを置くだけでよいで

す。

メインマクロでは、10行を新しいマクロ名を含む 1行で置き換えることが必要です。Write_to_file

マクロは次のようになります。DEFINE Keywords_search

{################################################}

{## This macro searches for all the keywords ##}

{## in the help file, and lists them in ##}

{## an output file. ##}

{################################################}

LOCAL File1

LOCAL File2

LOCAL Flag

LOCAL Filestring1

LOCAL First_char

LOCAL Line_pos

LOCAL String_length

LOCAL First_string

LET File1 '\me10\help'

LET File2 '\john\keywords.out'

OPEN_INFILE 1 File1

OPEN_OUTFILE 2 DEL_OLD File2

LET Flag 0 {initialize the value of Flag}

LOOP

READ_FILE 1 Filestring1 {read the next line of file 1}

EXIT_IF (Filestring1='END-OF-FILE')

LET First_char (SUBSTR Filestring1 1 1)

IF (First_char='^')

IF (Flag = 0)

LET Line_pos (POS Filestring1 ' ')

{find the position in the line}

{of the first blank character}

Write_to_file

END_IF

ELSE

LET Flag 0

END_IF

END_LOOP

CLOSE_FILE 1

CLOSE_FILE 2

END_DEFINE

DEFINE Write_to_file

IF (Line_pos = 0) {no blank characters}

LET String_length (LEN Filestring1)

ファイル入出力およびテキスト文字列 91

Page 92: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

{find the length of the complete}

{line}

LET First_string (SUBSTR Filestring1 2 (String_length-1))

WRITE_FILE 2 First_string

LET Flag 1

ELSE

LET First_string (SUBSTR Filestring1 2 (Line_pos-2))

WRITE_FILE 2 First_string

LET Flag 1

END_IF

END_DEFINE

新しいファイルは、LOCALとして宣言されていない変数が自動的にグ

ローバルになるという点を示しています。グローバルな変数は両マクロで

認識されます。たとえば、Line_posの数値は、外部マクロによって計算

され内部マクロによって使用されます。Flagの数値は内部マクロによっ

て計算され外部マクロによって使用されます。

マクロへのパラメータ渡しこの章の最初の方で、グローバルな変数の問題およびどうしてそのような

変数が弊害となるような問題を起こす場合があるのかについて説明しまし

た。マクロが独立して書かれている場合、情報をマクロに伝達するために

はパラメータを使用するしかありません。例として、パラメータを用い

て、内部マクロの Write_to_fileを書き直します。

変数 String_lengthおよび First_stringが Keywords_searchで

用いられることはもうないので削除します。DEFINE Keywords_search

LOCAL File1

LOCAL File2

LOCAL Flag

LOCAL Filestring1

LOCAL First_char

LOCAL Line_pos

{ LOCAL String_length deleted }

{ LOCAL First_string deleted }

LET File1 '\me10\help'

LET File2 '\john\keywords.out'

OPEN_INFILE 1 File1

OPEN_OUTFILE 2 DEL_OLD File2

LET Flag 0

LOOP

READ_FILE 1 Filestring1

EXIT_IF (Filestring1='END-OF-FILE')

LET First_char (SUBSTR Filestring1 1 1)

IF (First_char='^')

IF (Flag = 0)

LET Line_pos (POS Filestring1 ' ')

92 Creo Elements/Direct Drafting Writing Macros日本語版

Page 93: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

Write_to_file Line_pos Filestring1 2

END_IF

ELSE

LET Flag 0

END_IF

END_LOOP

CLOSE_FILE 1

CLOSE_FILE 2

END_DEFINE

DEFINE Write_to_file

PARAMETER Column

PARAMETER String

PARAMETER File_descriptor

LOCAL String_length

LOCAL First_string

IF (Column = 0)

LET String_length (LEN String)

LET First_string (SUBSTR String 2 (String_length-1))

WRITE_FILE File_descriptor First_string

LET Flag 1

ELSE

LET First_string (SUBSTR String 2 (Column-2))

WRITE_FILE File_descriptor First_string

LET Flag 1

END_IF

END_DEFINE

新しいマクロについて注意しておくべき点が、いくつかあります。

• Flagは例外として、Write_to_file内の変数は、Keywords_

searchの変数とは異なります。これはマクロ内からマクロを呼び出

す場合のごくあたり前の状況です。内部マクロは、マクロのライブラ

リの一部になることが多く、自分自身で新しいコードの作成を回避す

るために、そのマクロを使用します。マクロの仕様書によって、マク

ロが行うことおよび与えなくてはならないパラメータのことがわかり

ます。マクロの内部作業あるいは使用される変数に対して関心を持つ

必要はありません。

• Write_to_file内では、あらゆる順序でパラメータを宣言できま

す。しかし、Write_to_fileが Keywords_searchによって呼び出

された場合、引数は正しい順序になっていなければなりません。

Keywords_searchを呼び出すステートメントは次のとおりです。Write_to_file Line_pos Filestring1 2

上記のステートメントでは、次の点に注意してください。

○ Line_posは Columnに相当します。

○ Filestring1は Stringに相当します。

○ 2は File_descriptorに相当します。

ファイル入出力およびテキスト文字列 93

Page 94: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

マクロ Write_to_fileを呼び出す場合、マクロ名の後の第 1パラメータが、呼び出されたマクロ内の最初に宣言されたパラメータを示している

こと、そして、マクロ名の後の第 2パラメータが、呼び出されたマクロ内の 2番目に宣言されたパラメータを表していることをシステムは理解しています。

パラメータを呼び出したマクロに渡すことはできますが、パラメータを呼

び出す方のマクロに渡すことはできないことに注意してください。すべて

のプログラム言語と同様に、マクロは、コンパイル時に展開されます。こ

れは、マクロコードがマクロ名に代わることを意味します。別のマクロを

呼び出す場合、コードはコンパイル時に呼び出す方のマクロのインライン

に代わります。結果のコードは、1つのマクロしか存在しない場合と同じように実行されます。

Write_to_fileが、PARAMETERステートメントなしでインラインに代

わる場合、未知の変数があることをコンパイラは指摘します。

PARAMETERステートメントによって、コンパイラは、いくつかの変数が

同等であることを知ります。しかし、PARAMETER変数は、LOCAL変数と

同じような動作をします。要するに、それらの変数は宣言されるマクロ内

で見ることができるだけです。したがって、マクロは PL/IあるいはFortranのようなほかのプログラム言語において用いられるファンクションおよびサブルーチンとは異なります。これらの言語において、プログラ

ムは、呼び出されたファンクションあるいはサブルーチンに分岐し、次

に、値を呼び出しプログラムに返すことができます。

Write_to_fileの実行後の Flagの数値を知る必要があるので、Flag

は、Write_to_fileのローカルな変数あるいはパラメータとして宣言さ

れませんでした。それが双方のマクロで使えるように、Flagをグローバ

ルな変数としておかなければなりません。

出力ファイル、keywords.outは、それが helpファイルの中で現れる

順序でキーワードをリストします。

プラットフォーム依存

キーワードをソートする最も簡単な方法は、MS-DOSの sortコマンドを

使用することです。Windows環境の場合は、プログラムマネージャを使用してコマンドプロンプトをオープンさせ、次のように入力します。sort < keywords.out > keywords.srt

94 Creo Elements/Direct Drafting Writing Macros日本語版

Page 95: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

keywords.srtは、ソートされたファイルの名前です。keywords.out

が現在のディレクトリにない場合、ファイルの絶対パス名を使用する必要

があります。

ファイル入出力およびテキスト文字列 95

Page 96: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

8データファイルに格納される寸法線

の使用マクロが実行すること...............................................................................................97栓の説明...................................................................................................................97ベクトル解析 ............................................................................................................99データファイルの説明............................................................................................. 100マクロの分析 .......................................................................................................... 100マクロの改良 .......................................................................................................... 102

この章は、表データのファイルから寸法線を抽出するマクロについて説明

します。マクロは、そのときスクリーンの指定された場所にパーツを描き

ます。

96 Creo Elements/Direct Drafting Writing Macros日本語版

Page 97: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

マクロが実行すること• ユーザに穴の円周上にある 2つの点を指定するようにプロンプトが出されます。この単純なマクロでは、これらの点は、穴を上から見て右

と左の点です。

• マクロは、2つの点を使って穴の直径を算出します。

• 計算された穴直径が最初の列の値と一致するまで、マクロはファイル

をサーチします。該当の行の残りのデータは、そのとき穴に合う栓の

サイズを算出するために使われます。

• マクロは、栓を正しい場所に正しい向きで描きます。

• 再び 2つの点、または ENDを指定するようにプロンプトが出されま

す。

栓の説明次の図は、栓の一般的な寸法線を示します。

図 13.栓 -一般的な寸法線

寸法線 Sは、栓肩の幅であり、1/2 (D2-D1)で算出できます。

栓の作図は非常に単純であることがわかります。しかし、この章で説明す

るマクロは、あらゆる複雑な図形に対応できます。

データファイルに格納される寸法線の使用 97

Page 98: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

マクロを試験するために、次の断面図と同様な図を描くことができます。

図には何種類かの異なる向きと直径をもつ穴が示されています。

図 14.テストブロックの断面図

正しい栓を各穴に挿入するためにマクロを使用すると、次の図のようにな

ります。

図 15.取り付けられた栓

98 Creo Elements/Direct Drafting Writing Macros日本語版

Page 99: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

ベクトル解析次の図は、一般的な位置の栓を示します。P1から P8は、原点で始まる

ベクトルです。図を簡単にしておくために、原点からの線は P1のみに関

して示します。栓の寸法線から得られたベクトルも示します。

図 16.栓 -一般的な寸法線

D1および L1 (99ページの「図 16.栓 -一般的な寸法線」を参照)のような寸法線は、ベクトル解析で使うことができません。ベクトルは、長さと同

様に方向を必要とするからです。しかし、角度がわかっている、あるいは

算出できるならば、寸法線をベクトルに変換することは簡単です。

まず寸法線 Sを例にとってみます。Sが作る角度は、(P2-P1)の角度と同じです。P2および P1はベクトルなので、ベクトル (P2-P1)の角度は ANG

(P2-P1)から算出できます。ANGは組み込み関数です。

Sから得られたベクトルを Vect_Sとすると、次のようになります。Vect_S = (PNT_RA S ANG(P2_P1))

ここで、PNT_RAは長さおよび角度をベクトルに変換する組み込み関数で

す。

L1および L2をベクトルに変換するためには、角度 (P2-P1)より 90度大きい角度となることに注意してください。以下に例を示します。Vect_L1 = (PNT_RA L1 (ANG(P2-P1)+90))

ほかのベクトルも同じ方法で定義されます。99ページの「図 16.栓 -一般的な寸法線」で寸法線を表すベクトルがすべて正の方向に示されることに

注意してください。99ページの「図 16.栓 -一般的な寸法線」では、栓を

データファイルに格納される寸法線の使用 99

Page 100: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

あらゆる任意の位置で描きました。これは、多くの位置では、寸法線のベ

クトルは、実際には負であることを意味します。これは、問題ではありま

せん。一貫した「符号規約」を使うかぎり、ベクトルの符号に関しては問

題ありません。

データファイルの説明マクロが使うデータファイルを、\anna\spigot.datとします。ここに

ファイル内のデータを示します。10 30 20

15 30 30

20 40 40

25 40 40

左から右の順でデータは、ミリメートルで栓寸法線 D1、D2、および L1

を表します。これらの寸法線は任意で選択されており、値の間には一定の

関係はありません。一定の関係があれば、たとえば、D2=3xD1および

L1=2xD1のように、マクロで方程式を書くことがより簡単になります。

マクロの分析マクロは、次の行で示されます。前章「ファイル入出力およびテキスト文

字列」では、すでに多くのコマンドおよびファンクションについて説明し

ました。DEFINE Spigot

{local variables here}

LET File1 '\anna\spigot.dat'

OPEN_INFILE 1 File1

LET File1 '\anna\spigot.dat'

OPEN_INFILE 1 File1

LET L2 10 {height of head is constant for simplicity}

{the main loop is executed once for each pair of points }

{digitized by the user}

LOOP

READ PNT 'Digitize first point, or END' P1

READ PNT 'Digitize second point' P2

LET Hole_diam (ABS(P2 - P1)) {we don't want negative }

{lengths}

OPEN_INFILE 1 File1

LOOP

READ_FILE 1 Line_of_data

LET Line_pos (POS Line_of_data ' ')

{find the position of the first blank in the line}

LET Data_1 (SUBSTR Line_of_data 1 (Line_pos -1))

{Data_1 finishes just before the first blank}

LET D1 (VAL Data_1) {convert from text to numeric}

EXIT_IF (ABS(D1 - Hole_diam) < 0.0001) {we want the spigot}

100 Creo Elements/Direct Drafting Writing Macros日本語版

Page 101: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

{to be a friction fit in the hole}

END_LOOP

LET Line_length (LEN Line_of_data)

{mark the start position of the next data item, then}

{step along until the next blank is found}

LET Start_pos (Line_pos+1)

LET Line_pos (Line_pos+1)

LOOP

LET Next_char (SUBSTR Line_of_data Line_pos 1)

EXIT_IF (Next_char = ' ')

LET Line_pos (Line_pos+1)

END_LOOP

LET Data_2 (SUBSTR Line_of_data Start_pos (Line_pos-1))

{the last data starts from the position after the blank, and is}

{of length (Line_length-Line_pos) }

LET Data_3 (SUBSTR Line_of_data (Line_pos+1)

(Line_length-Line_pos))

LET D2 (VAL Data_2) {convert to numeric}

LET L1 (VAL Data_3)

LET S (0.5*(D2 - D1))

LET Angle (ANG(P2-P1))

{convert all lengths to vectors}

LET Vect_S (PNT_RA S Angle)

LET Vect_L2 (PNT_RA L2 (Angle+90))

LET Vect_D2 (PNT_RA D2 Angle)

LET Vect_L1 (PNT_RA L1 (Angle+90))

LET Vect_D1 (PNT_RA D1 Angle)

LET P3 (P1 - Vect_S)

LET P4 (P3 + Vect_L2)

LET P5 (P4 + Vect_D2)

LET P6 (P5 - Vect_L2)

LET P7 (P2 - Vect_L1)

LET P8 (P7 - Vect_D1)

{connect the points}

LINE POLYGON P1 P3 P4 P5 P6 P2 P7 P8 P1

END_LOOP

END_DEFINE

解析を次の行で始めます。LET Hole_diam (ABS(P2 - P1))

データファイルをサーチするとき、Hole_diamに等しい D1の値を捜し

ます。(P2-P1)が負の値である可能性があるので、等しいかどうかの

チェックを行うため絶対値をとります。LET D1 (VAL Data_1)

Data_1はテキスト文字列です。Data_1を数値である D1と比較できる

ようにするため、Data_1を数値に変換します。EXIT_IF (ABS(D1 - Hole_diam) < 0.0001)

Data_1に等しい D1の値を見つけるまで、ファイルをサーチします。次

のような等式のステートメントを使用することが考えられます。EXIT IF (D1 = Hole_diam)

データファイルに格納される寸法線の使用 101

Page 102: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

あらゆるプログラム言語において、プログラマは、精度の問題のために、

こうした状況での等式のステートメントを避けます。98ページの「図 14.テストブロックの断面図」の左に 20ミリメートルの直径の穴を指定するとします。コンピュータは、穴の直径を 20.0000000000001ミリメートルとするかもしれません。マクロがデータファイルの 3番目の行を読んでいるとき、trace機能を使用しているステートメントは次のように表され

ます。EXIT IF (D1 20 = Hole_diam 20.0000000000001) 0

行の終わりの 0は、偽を示します。したがって等しくありません。

マクロで使用される実際のステートメントでは、D1と Hole_diamの差

が許容範囲であれば、D1を受け入れます。LET P3 (P1 - Vect_S)

99ページの「図 16.栓 -一般的な寸法線」に Vect_Sの正の方向を示しま

す。P1から P3に着くためにはには、負の方向に進む必要があります。

このため、P3 = P1 - Vect_Sとなります。Vect_Sの正の方向を左下方

に定義したならば、正しい等式は P3 = P1 + Vect_Sです。ユーザ自身の

符号規約に従うかぎり、ベクトルの符号は常に決まります。LET P4 (P3 + Vect_L2)

P3から P4に着くためには、Vect_L2の正の方向に進むため、Vect_L2

を加えます。残りのベクトルについて、加えるか減らすかの決定も、正の

値として選択した方向に依存します。

マクロの改良このマクロは、その原理を示し、入力する手間をできるだけ省くため、で

きるかぎり簡単な形になっています。テキストファイルの中に格納される

標準のパーツデータは、単純なパーツ (ワッシャ、ガスケット、およびねじ)、あるいは非常に複雑なパーツ (メカニカルシールおよびピストンアセンブリ)用に使用できますが、原理は同じです。

栓を描く場合でさえ、マクロは、多少の改良を必要とします。わかりやす

い改良方法を説明します。

• マクロ内でマクロが栓の正しい向きがわかるように、P1および P2は

正しい順に指定されなければなりません。誤った順で点を指定する

と、栓は正しい位置の対称像として描かれます (試してみてください)。穴の向きがわかるようにするために、ユーザが 3番目の点 (たと

102 Creo Elements/Direct Drafting Writing Macros日本語版

Page 103: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

えば、穴の底の点)を指定しなければならないようにマクロを書き直すことができます。

• 穴にぴったり合う栓を必要とします。したがって、栓の直径は穴の直

径と等しくなります。穴にゆるめに合う栓を必要とする場合、マクロ

は穴内の項目を中央に寄せることができなければなりません。

• spigot.datファイルでは、各データ項目は 2つの数字からなり、データは、各データ項目の間のわずか 1つのブランクによって並んでいます。通常、表のデータ項目は、異なった長さを持ち、各列は右に

揃えられています。したがって、各データ項目の間のブランクの数に

は変動があります。マクロではこれを考慮しなければなりません。

• 単純な栓の場合は D1の各値用のデータがわずか 1行あるだけです。D1の各値用のデータが複数列ある場合 (たとえば D1の各値用の D2の

値が数個あれば)、必要な D2の値をサーチするためのループをループ

の中に加えなければなりません。

• P1と P2から計算される (P1-P2)の値が spigot.datファイルの

D1の値に相当します。ユーザが条件に合致しない P1と P2の 2点の値を入力した場合、文字列 END-OF-FILEが読み込まれるまでループ

が繰り返され、それ以降の処理は行われません。このような状態に対

処するため、END-OF-FILEが読み込まれた後でループを抜けて、入

力が誤っていることをユーザに知らせるメッセージを表示するような

プログラム行を追加しなければなりません。

データファイルに格納される寸法線の使用 103

Page 104: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

9有益なマクロ

現存の線とある角度で交わる下書き線の作図 ........................................................... 105線を等しいセグメントに分割する ............................................................................ 105端が円形のスロットを描く ...................................................................................... 106正多角形を描く....................................................................................................... 107円形のオブジェクトの周囲にテキストをフィットする .............................................. 107隠線作図のさまざまな Zレベルを示す ..................................................................... 108

この章は、CAD操作を行う上で有益なマクロについて説明します。たとえマクロは使用しなくても、マクロについて調べ理解しようとすることに

よって多くを学ぶことができます。

これらのマクロを試すだけならば、ローカル変数およびコメントを省略す

ることにより、入力する時間を短縮できます。

104 Creo Elements/Direct Drafting Writing Macros日本語版

Page 105: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

現存の線とある角度で交わる下書き線の作図次のマクロは、指定された角度で現存の線と交わる下書き線を描きます。

現存の線は下書き線、または図形線 (実数型、または虚数)です。DEFINE Ang_c_line

LOCAL P1

LOCAL P2

LOCAL Ang1

LOCAL Ang2

LOOP

CATCH ELEM

READ PNT

'Pick intersection point on existing line' P1

READ PNT

'Pick a second point on existing line' P2

READ NUMBER

'Enter angle of C_line from existing line' Ang1

LET Ang2 (ANG(P2-P1))

C_LINE PT_ANG P1 (Ang1+Ang2)

END

END_LOOP

END_DEFINE

線を等しいセグメントに分割するこのマクロは、線 (実数型、または虚数)を指定された数の等しいセグメントに分割します。マクロは、それから分割点を通る下書き線を描きま

す。これらの下書き線は、既存の線に対して水平、鉛直、および垂直であ

る場合があります。DEFINE cline_mix

{local variables here}

LOOP

READ STRING

"ENTER 'H', 'V', OR 'P' FOR C_LINE HORIZ, VERT, OR PERP" Q

EXIT_IF ((Q='H') OR (Q='h') OR (Q='V') OR (Q='v') OR

(Q='P') OR (Q='p')) {this line must be joined to previous line}

END_LOOP

READ NUMBER

'ENTER NO. OF SECTIONS FOR SPLITTING LINES (2,3,4,..)' N

READ PNT 'ENTER start point of line' P1

READ PNT 'ENTER end point of line' P2

LET Fraction (1/N)

LOOP

LET N (N-1)

EXIT_IF (N=0)

LET PN (N*Fraction)

LET PNN (P2-(P2-P1)*PN)

IF ((Q='H') OR (Q='h'))

C_LINE HORIZONTAL PNN

有益なマクロ 105

Page 106: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

ELSE_IF ((Q='V') OR (Q='v'))

C_LINE VERTICAL PNN

ELSE

C_COLOR BLACK

C_LINE P1 P2

C_COLOR RED

C_LINE PERPENDICULAR P1 PNN

END_IF

END_LOOP

IF (Q='P')

DELETE SELECT C_LINES BLACK CONFIRM END REDRAW

ELSE

END

END_IF

END_DEFINE

端が円形のスロットを描くこのマクロは、あらゆるサイズの端が円形のスロットを描きます (軸に対してあらゆる角度で)。

DEFINE A_slot_macro

LOCAL W

LOCAL P1

LOCAL V

LOCAL P2

READ NUMBER 'Enter the slot width' W

LOOP

FOLLOW OFF

COLOR WHITE

LINETYPE SOLID

READ PNT 'Pick one center point' P1

READ PNT 'Pick the other center point' RUBBER_LINE P1 P2

LET V (ROT (( P2 - P1 ) * ( W /2 ) / (LEN (P2 - P1))) 90)

ARC CEN_BEG_END P1 ( P1 + V ) ( P1 - V )

ARC CEN_BEG_END P2 ( P2 - V ) ( P2 + V )

LINE POLYGON ( P1 - V ) ( P2 - V )

LINE POLYGON ( P1 + V ) ( P2 + V )

LET V ( V * 1.5 )

COLOR YELLOW

LINETYPE DOT_CENTER

LINE POLYGON ( P1 - V ) ( P1 + V )

LINE POLYGON ( P2 - V ) ( P2 + V )

LET V ( ROT V 90 )

LINE POLYGON ( P1 + V ) ( P2 - V )

END_LOOP

COLOR WHITE

106 Creo Elements/Direct Drafting Writing Macros日本語版

Page 107: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

LINETYPE SOLID

END_DEFINE

正多角形を描くこのマクロは、さまざまな数の辺を持ち、内接および外接円を持つ正多角

形を描きます。

DEFINE A_polygon_macro

LOCAL P

LOCAL D

LOCAL N

LOCAL R

LOCAL A

LOCAL P1

LOCAL P2

LOCAL Pm

LOOP

READ 'Pick the center point of the polygon' P

READ 'Enter the diameter of the circumscribing circle' D

READ 'Enter the number of sides in the polygon ' N

LET R (D/2)

LET A ((180-(360/N))/2)

LET P1 (P+PNT_XY(R*COS A)(R*SIN A))

LET P2 (P+PNT_XY(-R*COS A)(R*SIN A))

LET Pm ((P1 + P2) /2)

LINE P1 P2

MODIFY Pm ROTATE COPY (N -1) CENTER P (360/N)

CIRCLE P (R*SIN A)

CIRCLE P R

WINDOW FIT

END_LOOP

END_DEFINE

円形のオブジェクトの周囲にテキストをフィットするこのマクロは、円形のオブジェクトの周囲にテキストをフィットします。

有益なマクロ 107

Page 108: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

DEFINE T_rot

LOCAL T

LOCAL Cp

LOCAL Sp

LOCAL A

LOCAL N

LOCAL Da

READ STRING 'Enter text' T

READ PNT 'Enter center point' Cp

READ PNT 'Enter start point' Sp

READ NUMBER 'Enter angle' A

LET N (LEN T)

LET Da (A/N)

LET A (ANG (Sp - Cp))

LET N 1

WHILE (N< =LEN T)

TEXT_ANGLE (A - 90)

TEXT (SUBSTR T N 1) Sp

LET A (A - Da)

LET Sp (Cp+PNT_RA (LEN (Sp - Cp)) A)

LET N (N+1)

END_WHILE

END

TEXT_ANGLE 0

END_DEFINE

隠線作図のさまざまな Zレベルを示すこのマクロは、作図における各 zレベルを 1つずつ表示します。必要な情報を格納するために、論理テーブルが RAMに作成されます。

このマクロを使用する前に、隠線モジュールが呼び出され、割り当てられ

た zレベルでスクリーンに作図を行わなければなりません。DEFINE Scan_z_levels

LOCAL Range_min

LOCAL Range_max

LOCAL Act_line

LOCAL Max_line

LOCAL Act_val

WINDOW FIT

HL_INQ_Z_VALUE RANGE

LET Range_min ( INQ 3 )

LET Range_max ( INQ 4 )

LET Act_line 0

CREATE_LTAB "Range_drawing" {create a logical table in RAM}

{ fill the logical table with all z values in the drawing}

108 Creo Elements/Direct Drafting Writing Macros日本語版

Page 109: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

REPEAT

LET Act_line ( Act_line + 1 )

HL_INQ_Z_VALUE NEXT

LET Act_val ( INQ 3 )

WRITE_LTAB "Range_drawing" Act_line 1 Act_val

UNTIL ( Act_val = Range_max )

LET Max_line Act_line

{Switch all geometry off and show only geometry having no Z-values}

HL_REDRAW_MODE ON CURRENT

SHOW GLOBAL ALL ON

SHOW DIMENSIONS OFF

SHOW HATCHING ALL OFF

SHOW TEXTS ALL OFF

HL_VISUALIZE GLOBAL ALL OFF

DISPLAY "First of all, you see all elements without a z-value"

LET Act_line 0

{show elements on each z-value, one at a time }

REPEAT

LET Act_line ( Act_line + 1 )

LET Act_val ( READ_LTAB "Range_drawing" Act_line 1)

SHOW GLOBAL ALL OFF

HL_VISUALIZE GLOBAL Act_val Act_val CYAN

DISPLAY ("Now you see all elements with z-value " + (STR Act_val))

UNTIL ( Act_line = Max_line )

SHOW GLOBAL ALL ON

DELETE_LTAB 'Range_drawing'

END_DEFINE

有益なマクロ 109

Page 110: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

10システム操作の記録

ECHO関数............................................................................................................... 111マクロを作成するための ECHOの使用 .................................................................... 112

この章では、ある期間に行われたすべてのシステム入力を記録する方法を

説明します。この機能は、次のことを行うときに便利です。

• 固定寸法の幾何マクロを非常に迅速に作成する。

• システム操作のデモンストレーションを行う。

これを行うことができるファンクションは、ECHOと TECHOの 2つです。それぞれの特徴が、次項で説明されています。

110 Creo Elements/Direct Drafting Writing Macros日本語版

Page 111: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

ECHO関数このファンクションは、ここで示されたフォームでファイル (またはプリンタ)へのシステムの入力をすべて書き出します。Tm_screen_create_1

LINE POLYGON

-1.74255323667387E+002,-1.91693974675132E+000

-1.68756133685496E+002,1.64136935262188E+001

-1.64631741199077E+002,2.81847384876597E+000

-1.82402271788707E+002,3.73500551241448E+000

-1.78226960876530E+002,1.07617482670530E+001

-1.52869584848922E+002,6.79899966919450E-001

LINE PARALLEL

-1.53429687532262E+002,1.08635851185695E+001

-1.52767747997405E+002,3.88776078968923E+000

LINE HORIZONTAL

-1.67381336190023E+002,-3.44449251949884E+000

-1.50170908283734E+002,-2.27336872705908E+000

ARC THREE_PTS

-1.60100001306593E+002,7.50296901852502E+000

-1.50731010967075E+002,1.59643163056796E+000

-1.52716829571647E+002,1.09654219700860E+001

SPLITTING ON

CIRCLE CENTER

-1.54040708641361E+002,-2.06969502402607E+000

-1.51902134759515E+002,4.75337402757949E+000

END

END

使用されるすべてのコマンドおよび関数の名前が、キーボードからの数値

の入力とともに記録されます。

ECHOファイルを開始するには、次のように入力します。ECHO 'echofilename'

ここで echofilenameファイル名は、ECHOファイルに付けられた名前

です。

これ以降のシステムの入力が記録されます。

ECHOファイルをクローズするには、次のように入力します。ECHO OFF

ECHOファイルを再生するには、次のように入力します。INPUT 'echofilename'

ここで echofilenameは、以前に ECHOファイルに対して与えられた名

前です。

システム操作の記録 111

Page 112: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

マクロを作成するための ECHOの使用ECHOファイルは、マクロを作成するためのベースとして使用できます。

しかし、あるタイプのマクロに関しては、ECHOを使用しても何にもなり

ません。たとえば、96ページの「データファイルに格納される寸法線の使用」において見た栓マクロは、ベクトル解析およびファイルの読み出し

がほとんどです。ディジタイズおよびメニューの変更を手作業で多量に行

わなければならない場合、それは、ECHOに最も適したタイプの作業で

す。

次の図のハッチングされたブロックを見てください。

図 20. ECHOを使用して作成されたブロック

ここに、ブロックを作成する間に記録された ECHOファイルの内容が示さ

れています。TM_CREATE_1

LINE RECTANGLE

-6.263595945324684,8.418272950516371

5.595479044490039,0.7683344359598321

TM_CONSTRUCT_1

-6.230190100282952,8.418272950516371

5.628884889531771,0.7683344359598321

-6.230190100282952,0.7683344359598321

5.562073199448307,8.418272950516371

CIRCLE CENTER

-0.350761372938188,4.610006615758968

1.252719189064929,4.409571545508578

TM_END

Tm_text_1

TEXT_SIZE

1

I_set_font_1 "hp_i3098_v"

TEXT Restore_old_text_font

'FACE "A"'

-5.161203058947541,6.71457485338806

Tm_hatch

HATCH_DIST

1

112 Creo Elements/Direct Drafting Writing Macros日本語版

Page 113: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

HATCH AUTO

3.991998482486922,4.409571545508578

TM_END

echo off

下書き線は円の中心が目に見えるように位置を示すために、長方形の対角

線の交点を発見するために使用されました。マクロでは中心の座標はわ

かっているので、下書き線は不必要です。

独自の点の座標を使用して、ECHOファイルを編集できます。DEFINE Hatch_block

LINE RECTANGLE

-5,4

5,-4

CIRCLE CENTER

0,0

-1,0

END

TEXT_SIZE

1

I_set_font_1 "hp_i3098_v"

TEXT Restore_old_text_font

'FACE "A"

-4,2

HATCH_DIST

1

HATCH AUTO

3,0

END

END_DEFINE

マクロを作成するために、次のことを行います。

• 先頭に DEFINE 'filename'を置き、末尾に END_DEFINEを置きま

す。

• メニュー参照を削除してください。たとえば、TM_CREATE_1、Tm_

text_1、Tm_hatchを削除します。

• echo offを削除します。

• TM_ENDを ENDに置き換えます。

手動で作業を行っているときよりも、マクロの中での方が ENDをよく使

用します。手動で作業を行っているときには、新しいコマンドを開始する

ことにより、帰納的コマンドまたはファンクションを終了できます。

システム操作の記録 113

Page 114: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

11コマンドを見つけるインターフェイ

スの使用どのコマンドを使用するか ...................................................................................... 115

この章では、ユーザインターフェイスの内部構造を見ることにより、スク

リーンメニュー上の項目を選択するたびに、どのコマンドがアクティブ化

されるかを理解します。これは、ユーザインターフェイスの通常の動作と

あまり使用されていないマクロコマンドあるいはファンクションを関係づ

けるのに役立ちます。

114 Creo Elements/Direct Drafting Writing Macros日本語版

Page 115: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

どのコマンドを使用するかマクロを書き始めるとき、どのコマンドおよびファンクションを使うで

しょうか。110ページの「システム操作の記録」では、マクロを始めるよい方法が ECHOを使用し、ECHOファイルを修正することと説明しまし

た。この方法は、ユーザが多くのディジタイズまたはメニュー変更を行わ

ないで済む「製図マクロ」に優れています。しかし、多くのマクロは、線

を描いたり、新しいビューポートを作成するような実際に目に見える結果

を示すコマンドはごくわずかしか含みません。残りのコマンドは、計算お

よびベクトル解析を行います。96ページの「データファイルに格納される寸法線の使用」における栓マクロはよい例です。そのようなマクロで

は、ECHOはあまり役立ちません。

マクロでビューポートを作成する場合、どのコマンドを使用するでしょ

う。ユーザインターフェイス上でどのようにビューポートを作成するの

か、よく考えてください。「作成」 (CREATE)を押すとき、どの内部コマンドが動くかわかれば、これがマクロで使用するコマンドであるとわかり

ます。

スクリーンのコマンドおよびファンクション

次はスクリーンメニュースロットの裏にあるコマンドを調べる方法です。

例として「情報」 (INFO)メニューを使用します。コマンドラインに以下を入力します。EDIT_MACRO

システムは、次のプロンプトで応答します。Enter macro_name or ALL

「情報」 (INFO)を押します。次のマクロが、スクリーン上に表示されます。DEFINE Tm_info

Sm_info

END_DEFINE

次に以下を入力します。EDIT_MACRO Sm_info

マクロ Sm_infoがスクリーン上に表示されます。これを次に示します。DEFINE Sm_info

IF (I_port)

Check_i_port

END_IF

IF (NOT I_port)

CURRENT_MENU '' T_clear_menu

MENU

コマンドを見つけるインターフェイスの使用 115

Page 116: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

BLACK

YELLOW ' INFO' '' 1 1

MENU

BLACK

WHITE 'ADD SELECT' 'ADD_ELEM_INFO' 3 1

MENU 'Element' 'ADD_ELEM_INFO' 3 2

MENU

BLACK

CYAN 'SCREEN' 'SCREEN' 4 2

MENU

BLACK

WHITE 'ADD CURRNT' 'ADD_CURRENT_INFO' 5 1

MENU

BLACK

WHITE 'EDIT' 'EDIT_ELEM_INFO' 7 1

MENU 'Element' 'EDIT_ELEM_INFO' 7 2

MENU 'Current' 'EDIT_CURRENT_INFO' 8 2

MENU

BLACK

WHITE 'DELETE' 'DELETE_ELEM_INFO' 9 1

MENU 'Element' 'DELETE_ELEM_INFO' 9 2

MENU 'Current' 'DELETE_CURRENT_INFO' 10 2

MENU

BLACK

WHITE 'CHANGE' 'CHANGE_ELEM_INFO' 11 1

MENU 'Element' 'CHANGE_ELEM_INFO' 11 2

MENU 'Global' 'CHANGE_GLOBAL_INFO' 12 1

MENU 'Current' 'CHANGE_CURRENT_INFO' 12 2

MENU

BLACK

WHITE 'LIST' 'LIST_GLOBAL_INFO' 13 1

END_IF

END_DEFINE

行 1列 1に表示されたテキストが選択 (ADD SELECT)とわかります。対応するコマンド (「動作テキスト」と呼ばれることもある)は、ADD_ELEM_

INFOです。行 8列 2に表示されたテキストは、カレント (Current)です。対応するコマンドは EDIT_CURRENT_INFOです。

あらゆるスクリーンメニューの内容を調べるためにこの方法を使用しま

す。

まとめ

要約すると、特定の作業を行うとき、マクロの中でどのコマンドあるいは

ファンクションを使用するのか調べる必要がある場合、次のことを行う必

要があります。

• ユーザインターフェイスを使用してどのように作業を行うかを決定す

る。

116 Creo Elements/Direct Drafting Writing Macros日本語版

Page 117: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

• ユーザインターフェイスの「裏に」どのコマンドがあるか調べる。

• 必要であれば、オンラインヘルプでコマンドの説明を調べる。

• マクロ内では、コマンドに正しいオプションを使用する。

コマンドを見つけるインターフェイスの使用 117

Page 118: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

12カスタマイズ

Creo Elements/Direct Drafting環境とは何か ............................................................. 119Creo Elements/Direct Drafting環境のカスタマイズ ................................................... 120スクリーンメニューの作成方法 ............................................................................... 120スクリーンメニューのカスタマイズ......................................................................... 126ローカルディレクトリに対するカスタマイズ ........................................................... 126キーボードのカスタマイズ ...................................................................................... 130テキストフォントとは何か ...................................................................................... 133テキストフォントの作成方法................................................................................... 137スタートアップ手順のカスタマイズ......................................................................... 141ハッチングパターンのカスタマイズ......................................................................... 144キーボード入力文字 ................................................................................................ 146キーボード入力文字 ................................................................................................ 147

Creo Elements/Direct Draftingは、起動中、さまざまなファンクション (スクリーンメニュー、Creo Elements/Direct Drafting環境など)を定義する多数のファイルを読み取り、実行します。これらのファイルはマクロと呼ば

れる実行可能プログラムです。ユーザが独自のファイル名で編集およびス

トアでき、必要に応じて再ロードおよび使用できます。したがって、スク

リーンメニューおよび Creo Elements/Direct Drafting環境に対して独自の別の定義を作成することが可能です。このプロセスがカスタマイズです。

118 Creo Elements/Direct Drafting Writing Macros日本語版

Page 119: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

Creo Elements/Direct Drafting環境とは何かCreo Elements/Direct Drafting環境は、スクリーン上の下書き線または作図線の色、寸法テキストのサイズおよび色、作図中に作図線が分割されてい

るかどうか、図面尺度、および単位などからなります。

これらすべては、環境ファンクションの設定値によってコントロールされ

ます。環境ファンクションは、システム中に 70以上あります。環境ファンクションの一例が DIM_COLORです。この環境ファンクションを設定し

て、あらゆる利用可能な色の寸法線を作成できます。

環境ファンクションの現在の設定値は、ファイルにストアできます。ここ

に Creo Elements/Direct Drafting環境ファイルの一部のリストが示されています。MAX_FEEDBACK 100

CONFIGURE_EDITOR '$' 1 79

UNITS 1 MM

UNITS 1 DEG

CS_REF_PT 0,0

CS_AXIS 1,0 0,1

FOLLOW OFF

GRID_FACTOR 10

CURRENT_FONT 'hp_block_v'

TEXT_FRAME OFF

TEXT_ANGLE 0

TEXT_ADJUST 1

TEXT_LINESPACE 2.2

TEXT_FILL OFF

TEXT_SIZE 1

TEXT_RATIO 1

TEXT_SLANT 0

LINE WHITE SOLID END

C_LINE RED DOTTED END

TEXT WHITE END

SPLITTING ON

ARROW_FILL ON

環境ファンクションは起動時リストに示すとおりに設定され、標準の環境

を提供します。通常の使用では、設定は必要に応じてスクリーンメニュー

から変更されます。

Creo Elements/Direct Drafting環境を編集することによって、ファンクション設定を変更することもできます。この方法は、すべての環境ファンク

ションのステータスの概要を一度に確認できるので便利です。

カスタマイズされた環境は、名前を付けたファイルにストアできます。こ

のファイルを使用して、必要なときにいつでも同じ環境を復元できます。

カスタマイズ 119

Page 120: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

Creo Elements/Direct Drafting環境のカスタマイズ環境が表示され、必要に応じてファンクション設定値を変更できます。環

境を変更し終えた後、システムのすべての変更を実現するために、

[CTRL] [D]キーを押してください。現在の環境は、今後いつでも使用で

きるように「SAVE ENV」オプションをスクリーンメニューから選択し、以下の入力を行うことにより、ある名前のファイルに格納できます。'env_filename'

ここで、env_filenameはユーザが自分で付ける名前です。

格納されたファイルを実行し、システム環境を再定義するには、以下のよ

うに入力してください。INPUT 'env_filename'

スクリーンメニューの作成方法スクリーンレイアウトは、コマンドが与えられるメニューおよび作図が行

われる作業領域からなります。メニューレイアウトにはコマンドを直接呼

び出せるアクティブエリア (スロット)が用意されています。これらのコマンドに関係した名前およびニーモニックは、スロットに表示されます。

典型的なメニューリストは、114ページの「コマンドを見つけるインターフェイスの使用」の始めに示されています。このリストについて学習すれ

ば、各行と列に、「アクションテキスト」より前に「表示テキスト」が現

れるのがわかります。

スクリーンメニューを表示するシステムマクロの名前は、「EDIT_

MACRO」と入力するか、スクリーンメニューパッドの 1つを選択することによって見つけることができます。画面表示は次のようになります。

DEFINE action_text

action

END_DEFINE

この場合、actionは、スクリーンメニューを表示するマクロ名です。これらの各マクロは、今後利用するために、ファイルに格納し編集できます。

ここに、スクリーンメニューを表示するマクロを保存する方法が示されて

います。例として、「作図 1」 (CREATE 1)メニューを使用してみましょう。

120 Creo Elements/Direct Drafting Writing Macros日本語版

Page 121: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

1. EDIT_MACROを使用して、スクリーンメニューからマクロ名を取得し

ます。「作図 1」 (CREATE 1)メニューに対するマクロが Sm_

create_1であることがわかります。

2. コマンドラインに次のように入力してください。SAVE_MACRO Sm_create_1 'filename'

filenameは、ユーザが自分で付ける名前です。

これで、ファイルを編集できます。必要であればファイルの内容を

customizeファイルに追加できます。

メニュー変数

ここに、メニュー変数を示す「作図 1」 (CREATE 1)メニューの最初の数行が示されています。DEFINE Sm_create_1

LET Lastmen 'Tm_create_1'

IF (I_port)

Check_i_port

END_IF

IF (NOT I_port)

MENU_BUFFER ON

CURRENT_MENU Sm_create_1_layout_name

T_clear_menu

Menu_control_icons

MENU Colo0 Bcol5 CENTER 'CREATE 1' '' 1 3

.

.

.

MENU Colo0 Bcol5 CENTER 'SPLINE' 'Tm_create_3' 25 2

Eight_menu_slots_add

END_IF

END_DEFINE

これらの各々の変数の意味は、次のとおりです。

• I_port

次の変数 I_portは、以前に使用されていたタブレット上の「ポート」 (PORT)の下部の「大/小」 (LARGE/SMALL)パッドと関係があります。「大/小」 (LARGE/SMALL)が選択されると、マクロ Tm_port_large_slash_smallが実行され、カレントビューポートの座標が格納されます。その後、全体のスクリーンが図形を作成するために利用可能になるように、カレントビューポートが拡大されます。それと同時に、変数 I_portは、大きいビューポートが画面上にあることをシステムに知らせるために 1に設定され、メニューパッドが選択されても、何も起こりません。「大/小」 (LARGE/SMALL)が再び選択されると、カレントポートは、オリジナルのサイズに縮小され、メニューが通常の方法で変更できるように、変数 I_portが 0に設定されます。

カスタマイズ 121

Page 122: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

• CURRENT_MENU Sm_create_1_layout_name

これにより、カレントスクリーンメニューの名前が Sm_create_1に設定されます (Sm_create_1_layout_nameはマクロで、指定されたその文字列が展開されます)。すべてのメニューレイアウトおよびメニューコマンドは、ある名前を持つカレントメニューが使用されるまで、このカレントメニューになり得ます。独自のメニューを定義するためには、レイアウト名に '' (空文字列)を指定するようお勧めします。

• T_clear_menu

このマクロは、新しいテキストが入力できるように、メニューからすべてのテキストをクリアします。

• Menu_control_icons

このマクロは、メニューをピンニング、移動、および削除するためにアイコンをメニューの最初の行に移動します。

• MENU Colo0 Bcol5 CENTER 'CREATE 1' 1 3

この行は、メニューの最初の列を終了します。Colo0と Bcol5は文字および背景の色をシステムスタートアップ時の MEPELOOKの設定に対応した色に展開します。システムで定義されたすべてのメニューでは、文字および背景の色を指定するためにこれらのマクロを使用します。以下の表は、MEPELOOKが 0に設定されている場合に、メニューの色がどのようになるかをまとめたものです。

文字 背景 色 (MEPELOOK=0)Colo0 Bcol0 黒

Colo1 Bcol1 白

Colo2 Bcol2 赤

Colo3 Bcol3 緑

Colo4 Bcol4 青

Colo5 Bcol5 黄

Colo6 Bcol6 紫

Colo7 Bcol7 水色

• Eight_menu_slots_add

Eight_menu_slots_addは、ユーザによりカスタマイズ可能な最新の 8つのスロットを更新するマクロです。このマクロはあらゆる標準のメニューで使用できます。ユーザは Eight_menu_slotsマクロを使用してこれら 8つのスロットに独自のメニュー項目を指定できます。このマクロの構文は次のとおりです。

Eight_menu_slots 'title' 'action' Row_number Column_number

titleは、スロットに表示される文字列で、actionは、メニュースロットが押されたときに実行されるアクションテキストです。Row_

122 Creo Elements/Direct Drafting Writing Macros日本語版

Page 123: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

numberと Column_numberは対応する行と列の番号です。有効な行番号の範囲は 26と 27、また列番号の範囲は 1から 4までです。

メニュースロットの物理的なレイアウト

数少ない例外はありますが、すべてのスクリーンメニューの行と列は同じ

ようなレイアウトであることに気づいたでしょう。これは、大部分のメ

ニューが同じ「テンプレート」を使用しているためです。テンプレート

は、Layout_body_1というマクロを使用して作成されます。このマクロ

は、Sm_create_1メニューのレイアウトを定義するための例として使用

されます。DEFINE Layout_body_1

Headline_height ' | | | '

Text_slot_height ' | '

Text_slot_height ' | '

Text_slot_height ' | '

Text_slot_height ' | '

Text_slot_height ' | '

Text_slot_height ' | '

Text_slot_height ' | '

Text_slot_height ' | '

Text_slot_height ' | '

Text_slot_height ' | '

Text_slot_height ' | '

Text_slot_height ' | '

Text_slot_height ' | '

Text_slot_height ' | '

Text_slot_height ' | '

Text_slot_height ' | '

Text_slot_height ' | '

Text_slot_height ' | '

Text_slot_height ' | '

Text_slot_height ' | '

Text_slot_height ' | '

Text_slot_height ' | '

Text_slot_height ' | '

Text_slot_height ' | '

Bottom_slot_height ' | | | '

Bottom_slot_height ' | | | '

END_DEFINE

ここで、前述のマクロで使用される変数について説明します。

• Headline_height

メニュータイトルスロットの高さです。

• Text_slot_height

表示テキストを含むスロットの高さです。

• Bottom_slot_height

カスタマイズ 123

Page 124: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

各メニューの一番下の小さいボックスの高さです。

スロットの高さの数値は、スタートアップの間に計算されます。これによ

り、Creo Elements/Direct Draftingが起動するウィンドウまたは画面のサイズに合わせて、メニューサイズを調整できます。数値は、hp_macro.m

ファイルで定義されます。これらの定義は、どうしたらスロットサイズが

異なるウィンドウまたは画面のサイズに自己適応できるかを示す例として

使用されます。

このテンプレートマクロは、「作図 1」 (CREATE 1)メニューのレイアウトを定義する以下のマクロで使用されます。DEFINE Sm_create_1_layout

CURRENT_MENU 'Sm_create_1'

CURRENT_SCREEN 1

MENU_LAYOUT Menu_position RIGHT

Layout_body_1

Menu_home_point_top

END

MENU_STATUS ENABLE_INQ

LET Sm_create_1_layout_name 'Sm_create_1'

END_DEFINE

ここで、前述のマクロで使用される変数について説明します。

• CURRENT_MENU 'Sm_create_1'

「作図 1」 (CREATE 1)メニューレイアウトの名前を Sm_create_1に設定します。

• CURRENT_SCREEN 1

デュアルスクリーン環境でもメニューが最初のスクリーンに表示されるようにします。

• MENU_LAYOUT

MENU_LAYOUTコマンドは、メニューがスクリーンの右側に表示されるようにします。MENU_LAYOUTコマンドは ENDで終了します。

• Menu_position

LOWER修飾子を含むマクロです。これは必要に応じて UPPERと設定することもできます。

• Layout_body_1

この行は、Layout_body_1マクロを呼び出します。

• Menu_home_point_top

メニューをスクリーン上の正しい位置に移動します。この位置はMenu_positionマクロおよびユーザインターフェイス (スクリーンメニューのみ)の違いによって計算されます。

124 Creo Elements/Direct Drafting Writing Macros日本語版

Page 125: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

• MENU_STATUS ENABLE_INQ

メニューでの問い合わせに対する保護の設定を解除します。

• LET Sm_create_1_layout_name 'Sm_create_1'

「作図 1」 (CREATE 1)メニューは、レイアウト名を直接使用しません。レイアウトを使用するためには、Sm_create_1_layout_name変数を使用します。そのため、ここで Sm_create_1_layout_nameに正確なレイアウト名を指定しなければなりません。この変数は、メニューが最初に表示されるまで、実際にメニューレイアウトを生成しないようにする場合に便利です。メニューが生成されるまで、Sm_create_1_layout_nameには、レイアウトを生成するマクロ名が定義されています。

スクリーンメニューのためのテーブルの使用

いくつかのスクリーンメニューは、TABLE_LAYOUTおよび SHOW_TABLE

のような TABLEシリーズのコマンドを使用して定義されます。テーブル

が使用されるのは、システムステータス変数の表示を可能にするからで

す。テーブルをスクロールすると、長いリストが表示できるようになりま

す。テーブルを使用するメニューは、次のとおりです。

• HIDDEN LINE

これらのメニューは、MENUおよび TABLEコマンドを使用して作成され

ます。

これらのメニューの定義は、ファイル hp_macro.mおよび hp_men_t.m

の ASCIIバージョンで見ることができます。

変更または追加を行うためには、既存のメニューのコピーを使用します。

テーブルを使用して定義されるメニューは、削除または上書きから保護さ

れます。これにより、DELETE_TABLE_ALLのようなコマンドによって引

き起こされる可能性のある問題を回避できます。

独自のメニューテーブルを使用する場合は、以前に説明したファイルの

SECURE_TABLEステートメントをユーザのテーブル定義の終わりへ移動

しなければなりません。デフォルトメニューのための論理テーブルは、

Creo Elements/Direct Draftingコードによってアクセスされるので、変更しないでください。

テーブルの使用についての詳細は、オンラインマニュアルを参照してくだ

さい。

カスタマイズ 125

Page 126: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

スクリーンメニューのカスタマイズ以下に示すいくつかの方法で、メニューをカスタマイズできます。

• 新しいコマンドが、既存のメニューにおいて利用可能になります。表

示テキストを追加し、アクションテキストとして新しいコマンドを挿

入します。

• 空のメニュースロットからユーザマクロを 1つ呼び出すことができます。表示テキストを追加し、アクションテキストとしてユーザマクロ

名を挿入します。

• 新しいメニューは、既存のメニューレイアウトを使用して作成できま

す。

• 新しいメニューは、新しいメニューレイアウトを使用しても作成でき

ます。

• カスタマイズされたビューポート配置を定義でき、必要なときに、呼

び出すことができます。

ローカルディレクトリに対するカスタマイズCreo Elements/Direct Draftingをカスタマイズする場合、多数のファイルをシステムのハードディスクに格納しなければなりません (たとえば、ユーザ自身のマクロ、カスタマイゼーション、図形、およびボディを含むファ

イル)。これらのファイルは通常、ユーザ自身のユーザディレクトリ (ホームディレクトリ)の中へ格納されます。このディレクトリは、ほかのユーザのディレクトリとはまったく別のものです。

プラットフォーム依存

ユーザ名とパスワードを入力しログインした後は、ほかのディレクトリを

指定しないかぎり、Creo Elements/Direct Draftingによってすべてのファイルはホームディレクトリに格納されます。ウィンドウ環境下で、ユーザ自

身のホームディレクトリからいつも起動するように Creo Elements/DirectDraftingをインストールできます。詳細はご使用のオペレーティングシステム用のコンフィギュレーションマニュアルを参照してください。

126 Creo Elements/Direct Drafting Writing Macros日本語版

Page 127: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

127ページの「図 23.ディレクトリの階層構造」に示されているようなディレクトリの階層構造下で動作します。お使いのシステムによって若干

異なる場合があります。

図 23.ディレクトリの階層構造

ツリーの一番上に、斜線 (/)によって示されるルートディレクトリがあります。この下には、usersと呼ばれるディレクトリがあります。users

の下に、ほかのユーザのディレクトリとともに、ユーザのログイン名と一

致するユーザ自身のユーザディレクトリがあります。ユーザ自身のディレ

クトリ (ホームディレクトリ)は、ファイルおよびサブディレクトリを含むことができます。通常は、ユーザのユーザディレクトリまたはサブディ

レクトリの 1つにユーザのファイルを格納しますが、書き込み保護がされていない場合は、ほかのユーザのディレクトリにファイルを格納すること

も可能です。

ルートディレクトリの下に、すべての Creo Elements/Direct Draftingソフトウェアを含む me10と呼ばれるディレクトリがあります。オペレーティン

グシステムでは、ほかのファイルやディレクトリも使用しますが、それら

に注意を払う必要はありません。

ツリー構造の同じ分岐の中のファイルおよびディレクトリは斜線で区切ら

れ、最初の斜線はルートディレクトリと対応しています。ユーザディレク

トリ中のファイルについて完全な指定をすると、次のとおりになります。/users/user_directory/filename

カスタマイズ 127

Page 128: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

ここでユーザディレクトリは、ユーザ自身のログイン名と一致するディレ

クトリで、ファイル名は、ユーザ自身のファイルの 1つです。

注記

Creo Elements/Direct Draftingのパス名を指定するファイルやディレクトリを区切るために、斜線 (/)またはバックスラッシュ (\)を使用します。次の 2つのパスは同じファイルを指定します:/users/user1/file2

\users\user1\file2

最初にログインすると、ユーザ自身のユーザディレクトリが、カレント

ディレクトリとなります。単にファイル名を与えることによりファイルを

指定する場合、システムは、カレントディレクトリ中のファイルを捜しま

す。そこにない場合、システムは、me10\me10ディレクトリまたは

SEARCHパスにおいて指定されたディレクトリを調べます。SEARCHパス

は、環境ファイルの中に指定されます。

カレントディレクトリ中に存在せず、SEARCHパスによって指定されてい

ないファイルを指定する場合は、ルートディレクトリから始まる絶対パス

名を指定しなければなりません。

Creo Elements/Direct Draftingのコマンドラインに次のコマンドを入力することにより、カレントディレクトリの下にサブディレクトリを作成できま

す。CREATE_DIRECTORY 'subdirectory'

subdirectoryは、ユーザが自分で付ける名前です。

「ファイル」 (FILE)スクリーンメニューの中で「カレント」 (CURR DIR)オプションを使用すると、サブディレクトリを新しいカレントディレクト

リにすることができます。subdirectoryサブディレクトリ内にファイ

ルを作成する場合、ファイルについて完全に記述すると次のようになりま

す。/users/user_directory/subdirectory/filename

これで、あるディレクトリから別のディレクトリに変更できるように、カ

スタマイズされたメニューを作成する方法がわかるでしょう。

128 Creo Elements/Direct Drafting Writing Macros日本語版

Page 129: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

例 -ユーザ自身のディレクトリメニューの作成「ファイル」 (FILE)スクリーンメニューの「編集」 (EDIT FILE)を使用して、ユーザが付けたファイル名のファイルを作成し、マクロのテキストを

入力します。ここで、例を示しておきます。DEFINE Directory

IF (NOT I_port)

CURRENT_MENU ''

MENU Colo1 Bcol0 '' '' BOX 1 1 38 7

MENU Colo0 Bcol5 CENTER 'DIRECTORY' 1 1

MENU Colo1 Bcol0 'users' 'CURRENT_DIRECTORY "/users"' 3 1

MENU 'me10' 'CURRENT_DIRECTORY "/me10"' 3 2

MENU 'Jim' 'CURRENT_DIRECTORY "/users/jim"' 4 1

END_IF

END_DEFINE

1つ目の MENUステートメントは、メニューヘッディングを設定します。

2つ目の MENUステートメントは、ヘッディングの下のすべてのボックス

が、背景が黒で、かつブランクであり、何かテキストが書き込まれるとす

ぐにそれを白いテキストで表示するように定義します。

3つ目の MENUステートメントは、ユーザのディレクトリを表すスロット

を定義します。以降、Creo Elements/Direct Draftingソフトウェアを含むディレクトリなどを表します。

すべての CURRENT_DIRECTORYステートメントが、ディレクトリに対し

て、ルートディレクトリ (/)により始まる絶対パス名を指定することに注意してください。これは、ディレクトリツリー構造中のどこにあっても、

いつでも確実にディレクトリを見つけられるようにするためです。

メニューレイアウト中のスロットが一杯になるまで、MENUステートメン

トのリストを続けることができます。

各 MENUステートメントの最後の数値は、スロットの行と列の数を表しま

す。

この例では、最後の MENUステートメントは、スクリーン上にカレントカ

タログを表示するためのスロットを定義します。メニューが表示される

と、任意の名前付きスロットを選択してカレントディレクトリを変更し、

その後、CATALOGを選択してディレクトリを表示できます。

ファイルを入力し、マクロを実行すると、メニューが表示されます。名前

付きスロットを選択することにより、ディレクトリを選択できます。

カスタマイズ 129

Page 130: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

キーボードのカスタマイズCreo Elements/Direct Draftingを使用して作業を行っているときは、いくつかのコマンドを頻繁に使用することがあります。この項では、これらのコ

マンドの 1つを呼び出すのに必要な時間を短縮するために、キーボードをカスタマイズする方法を示しています。

キーボードには、f1から f8までの 8個のファンクションキー、または f1から f12までの 12個のファンクションキーがあります。これらのキーは、すべて、カスタマイズできます。

たとえば、カレントスクリーンメニューで使用できないコマンドを使用す

るとします。コマンドを発行するためにスクリーンメニューを変更する必

要がないように、必要なコマンドが入力ラインに書き込まれるか、ファン

クションキーが押されたときにいつでもただちに実行されるよう、ファン

クションキーをカスタマイズしてください。オンラインヘルプの

DEFINE_KEYに関する説明を参照してください。

ファンクションキーは、キーボード上では利用不可能なキャラクタを表示

するためにも使用されます。各キャラクタには、対応したコードがあり、

ASCIIコードとして知られています。0~ 255までの範囲のコードで、いくつかは ESC、RETURN、TAB、DELのようにコントロールファンクショ

ンとして使用されますが、その大部分は読み取り可能なキャラクタを表し

ます。便利なテキストを作成するすべてのキャラクタのリストが、この章

の終わりの「キーボード入力キャラクタ」の項にあります。

テキストとして使用できないキャラクタは、ASCIIコード 0~ 31、127~159、および 255です。

いずれのテキストキャラクタも、次のように入力することにより、入力ラ

インに表示されます。DISPLAY (CHR ascii_number)

ここで ascii_numberは、キャラクタの ASCIIコードです。

キャラクタを入力するために使用できるようにファンクションキーをカス

タマイズするために、次のコマンドを入力します。DEFINE_KEY key_number (CHR ascii_number)

ここで、key_numberはカスタマイズされるファンクションキーを表す 1

~ 8、または 1~ 12の番号です。次にファンクションキーが押される

と、キャラクタは、ユーザ入力ラインに現れます。

130 Creo Elements/Direct Drafting Writing Macros日本語版

Page 131: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

注記

ファンクションキーがカスタマイズされ、「テキスト」 (TEXT)、「シンボル」 (SYMBOLS)または「寸法線」 (DIMENSION)メニューで画面上にテキストを入力するために使用される場合、画面上のテキスト

は、どのようにテキストフォントがカスタマイズされたかによって異

なり、必ずしも入力ライン上のキャラクタと同じであるとはかぎりま

せん。次の「テキストフォントのカスタマイズ」の項を参照してくだ

さい。

コマンドの発行に使用できるようにキーをカスタマイズするために、次の

ように入力してください。DEFINE_KEY key_number 'action_text'

ここで、action_textは必要とされるコマンド名です。キーが押される

と、入力ラインにコマンド名が現れます。[Return]キーを押して、実行

してください。

コマンド名を囲む引用符が必要な理由は、入力ラインにコマンドを入力し

たように、システムにはテキストが要求されるからです。キャラクタを作

成するために、キーをカスタマイズしているときには、システムは (CHR

ascii_number)をテキストであると考えるので、引用符はいりません。

ファンクションキーは、ファイルからもカスタマイズできます。「ファイ

ル」 (FILE)スクリーンメニューで「編集」 (EDIT FILE)を選択し、ファイルをディスクに格納するときのファイル名を引用符で囲んで入力してくだ

さい。必要なインストラクションを入力し、[CTRL] [D]キーを使用して

ファイルを格納してください。

ここで「インプット」 (INPUT)を選択し、再びファイル名を入力してください。ファイルの中で定義されるすべてのキーが、カスタマイズされま

す。

ファンクションキーをキーボードとファイルのどちらかからカスタマイズ

する場合、システムの電源が切られると必ずファンクションキーの定義が

失われます。DEFINE_KEYインストラクションをファイルに格納するこ

との利点は、システムをスタートアップするとき、およびファンクション

キーをカスタマイズする場合には、いつでもファイルを入力するだけでよ

いということです。

カスタマイズ 131

Page 132: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

次のリストは、8つのファンクションキーをカスタマイズするファイルの例です。DEFINE_KEY 1 (#14 '3' #15)

DEFINE_KEY 2 (#14 '1' #15)

DEFINE_KEY 3 (#14 '2' #15)

DEFINE_KEY 4 'LOAD'

DEFINE_KEY 5 'STORE'

DEFINE_KEY 6 'CATALOG' "" SCREEN'

DEFINE_KEY 7 'INPUT'

DEFINE_KEY 8

'INPUT "dir_file" DEFINE Tm_macros_1 directory END_DEFINE'

• 最初の 3つのキーは、作図で使われる hp_symbolsフォントのキャラ

クタである°、φ、および±を生成するようにカスタマイズされます。

• キー 4、および 5は、作図ボディをロードし、格納するようカスタマイズされます。

• キー 6は、スクリーン上にカレントディレクトリの内容を表示するために使用されます。キー 7は、ファイルを入力するために使用されます。

• キー 8は、ファイルの入力、および最初のユーザ定義用マクロパッドをそれが選択されたときにマクロを実行するように定義しています。

この例で、dir_fileは、先出の「ローカルディレクトリに対するカ

スタマイズ」の項で説明したファイルです。このファイルには、

directoryというマクロが含まれ、実行されると、スクリーン上に

ユーザディレクトリのメニューを表示します。カレントディレクトリ

にファイルが存在し、ファイル名とマクロ名が両方とも DEFINE_KEY

ステートメントにあるファイル名とマクロ名と同じであることを前提

とした場合、ファンクションキーに続けて [Return]キーを押すとき

にしなければならないことは、ユーザ定義マクロの最初のパッドを選

択することだけで、これでユーザディレクトリのメニューが表示され

ます。

注記

連続して多数のマクロを実行するように、ファンクションキーがカス

タマイズされた場合、最後のマクロのみ、ユーザに入力を促す READ

ステートメントを含むことができます。これは、システムが、リスト

の次のワードを READステートメントに対する入力であると考えるか

らです。

132 Creo Elements/Direct Drafting Writing Macros日本語版

Page 133: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

テキストフォントとは何かテキストフォントは、図面に配置される事前定義済みの幾何パターンのグ

ループです。テキストフォントの各パターンはグリッド上の点と結びつい

た直線から成り立っており、キーボード文字と関連付けられているので、

簡単に呼び出すことができます。

普通はテキストに対して使用されますが (標準的なシステム注釈および寸法線テキストは、このように作成されます)、テキストフォントは、特別なシンボルを作成することもできます。グリッドには多くの点があるの

で、非常に詳細なシンボルを定義できます。

特殊なテキストまたはシンボルを必要とする場合、ユーザ自身のカスタマ

イズされたテキストフォントでそれらを作成し、使用に備えてディスク上

に格納してください。たとえば、会社の登録商標やロゴを生成するテキス

トフォントを作成するとします。

フォントは非常に多様です。ここで、いくつかの主な特徴を挙げます。

• 文字を塗りつぶしたり白抜きにしたりできる

• 文字の幅と高さの比を設定できる

• 文字の傾き角度を設定できる (前傾または後傾)

• 線の角度を設定できる (0から 360度)

ここに、テキストとシンボルの例をいくつか挙げます。

図 24.テキストとシンボルの例

カスタマイズ 133

Page 134: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

システムフォント

Creo Elements/Direct Draftingをスタートすると、多数のフォントファイルがメモリにロードされますが、そのうちの 1つだけがカレントフォントであり、即座に利用することが可能です。「テキスト 2」 (TEXT 2)メニューで「書体リスト」 (LIST FONTS)を使用し、スクリーンオプションを指定することによって、どのフォントがメモリ中にあるか見つけること

ができます。

システムは、ロードされたフォント、使用されているフォント、および現

在のフォントのリストを表示します。このリストは、フォントを作成した

ファイルとは無関係です。フォント hp_Y14.5および hp_i3098_vは同

じ名前のファイルからロードされますが、hp_def_fontはシステム内で

作成され、文字を描画する前に文字があるスペースを表すためにスクリー

ンにボックスを表示します。

ディスク上で利用可能で、ロードしてフォントを作成するファイルがあり

ます。

Creo Elements/Direct Draftingおよび DOSのフォント名、および各 CreoElements/Direct Drafting作図用フォントの説明を次の表に示します。

Draftingのフォント名 DOSファイル名 説明

hp_block_c hp_blk_c.fnt 固定文字間隔の塗りつ

ぶしフォントhp_block_v hp_blk_v.fnt 可変文字間隔の塗りつ

ぶしフォントhp_d17_c hp_d17_c.fnt 固定文字間隔の DIN17

フォントhp_d17_v hp_d17_v.fnt 可変文字間隔の DIN17

フォントhp_jasc_c hp_jas_c.fnt 固定文字間隔の日本語

およびギリシャ語フォ

ントhp_jasc_v hp_jas_v.fnt 可変文字間隔の日本語

およびギリシャ語フォ

ントhp_kanji_c hp_kan_c.fnthp_symbols hp_syms.fnt 寸法テキストのための

特殊文字:度 (°)、直径記号、プラスマイナス

134 Creo Elements/Direct Drafting Writing Macros日本語版

Page 135: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

Draftingのフォント名 DOSファイル名 説明

(±)、分 (')、秒 (")hp_symbols2 特殊文字 (公差)hp_Y14.5 hp_y14_5.fnt シンボルにのみ使用hp_i3098_c i3098_c.fnt 固定文字間隔の ISO

3098フォントhp_i3098_v i3098_v.fnt 可変文字間隔の ISO

3098フォント

例 -あるフォントでのキャラクタの表示次のようにすれば、カレントフォントのキャラクタが、対応する ASCIIコードとともに、スクリーン上に表示されます (ASCIIコードについての説明は、「キーボードのカスタマイズ」の項を参照してください)。

• 「テキスト 2」メニューでフォントエディタを使用する (詳細は、CreoElements/Direct Draftingユーザマニュアルを参照してください)。

• 次のマクロを実行する

(ASCIIコードについては、「キーボードのカスタマイズ」の項を参照してください)。

注記

マクロは、カレントポートの座標値を設定するためにWINDOWファンクションを使用します。カレントポートが、画面を表示させるもので

ない場合は、カレント (CURRENT)を使用して、必要なビューポートを選択します。

このマクロによって、既存のすべての 2次元図形が削除されます。

カスタマイズ 135

Page 136: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

このマクロは、「テキスト」 (TEXT)、「シンボル」 (SYMBOLS)、および「寸法線」 (DIMENSION)メニューからキーボード入力を使用して、図面上に表示できるすべてのカレントフォントのキャラクタを表示します。

あるフォントで 0~ 255までのあらゆる ASCIIコードに相当するキャラクタを定義でき、それらすべてのキャラクタは、マクロで、あるいは図面

上にテキストを含むよう示唆されている場合は、引用符なしで入力ライン

に「(CHR n)」と入力することにより (nは ASCIIコード)、図面上に表示させることができます。

136 Creo Elements/Direct Drafting Writing Macros日本語版

Page 137: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

しかし、普通は、「テキスト」 (TEXT)、「シンボル」 (SYMBOLS)、および「寸法線」 (DIMENSION)メニューで入力を指示されているときにテキストを入力するだけで表示されるキャラクタにのみ関心があるでしょう。

そのため、このマクロでは、通常のキーボードキャラクタまたはカスタマ

イズされたファンクションキーを使用して入力されるキャラクタのみがリ

ストされます。制御文字に対応する ASCIIコードは、リストから省略されました。省略されたコードは、0-31、127-159、および 255です。

このマクロでは、ローカル変数を定義し、次に 0~ 9のキャラクタを作

成する ASCIIコード 0~ 9を定義することにより開始します。これらの

コードは普通、キャラクタを作成するために使用されないかもしれません

が、カレントフォントのキャラクタに干渉することを避けるために、マク

ロで使用されてきました。0~ 9のキャラクタは、画面に ASCIIコードのリストを作成するために使用されます。

テキストパラメータには、省略値が設定され、すべての 2次元図形が削除されます。ウィンドウは、カレントビューポート中で定義され、対応する

ASCIIコードとともにキャラクタが表示されます。カレントフォントとしての hp_i3098_v (指定省略時のテキストフォント)でマクロが実行されるとき、画面は次のようになります。

テキストフォントの作成方法フォントの各キャラクタは、独自のセルを持っています。セルサイズ (グリッド内の)は、250 × 250までです。セル中で何個点を使用するかは、どの程度微細であることが必要なのかによって決まります。次の図は、英字

Aおよび gが、テキストフォント中で定義される方法の例を示していま

す。同じ原理が、シンボルの定義のために適用されます。

カスタマイズ 137

Page 138: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

図 27.フォントの作成

キャラクタは、要求される微細さでグリッド上のセル中にレイアウトされ

ます。グリッド点間の鉛直距離は TEXT_SIZEファンクションおよび指定

されたサイズに合うグリッド点の数により決定します。グリッド点間の水

平距離も、TEXT_RATIOファンクションを使用して変更も行えるという

ことを除いて、同じ方法で決定されます。それはグリッド上の点の高さと

幅の比率に影響を与え、通常は 1に設定されます。これらのファンクショ

ンについての詳細は、helpファイル中にあります。

テキストフォントを作成するコマンドは、DEFINE_FONTです。これが、

上記のフォントを定義する方法です。DEFINE_FONT 'example' 6 20 20

CHAR_LAYOUT

'A' 0,6 2,12 8,26 14,12 16,6 BREAK 14,12 2,12 23

'g' 12,6 4,6 1,8 0,10 0,16 1,18 4,20 12,20 12,4 11,2 8,0 0,0 19

END

フォント名は、Exampleです。これに続く最初の数 (6)は、アンダーレングスと呼ばれます。これは、キャラクタまたはシンボルがスクリーン上

に置かれているときにカーソルの下方にあるグリッド点の数を表します。

テキストアプリケーションにおいて、これは、gまたは pのようなキャラ

クタのテールに必要な最大距離として使用されます。

次の数 (20)は、高さと呼ばれます。グリッド点間の鉛直距離は、高さの数値によって分割され、TEXT_SIZEファンクションで設定される数値で

す。テキストアプリケーションにおいて、高さの数値は、大文字の高さと

一致するグリッド点の数を表します。

138 Creo Elements/Direct Drafting Writing Macros日本語版

Page 139: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

上記の例において、TEXT_SIZEがその省略値である 3.5 mmのままであるならば、20のグリッド点が英字の高さを表すので、英字 Aの高さは 3.5mmで、DEFINE_FONTファンクションの高さの数値も 20です。

この行の 3番目の数 (20)は、幅と呼ばれます。これは、TEXT_SIZEファ

ンクションで設定された数値と同じ水平距離におけるグリッド点の数を示

します。この例では、グリッド上で定義されたのと同じキャラクタの割合

を維持するように、幅が高さと同じ数値に設定されています。幅指定が

10に減少されたならば、キャラクタは、その幅の 2倍に水平距離を延長します。

CHAR_LAYOUTコマンドは、キャラクタの定義を開始します。各キャラク

タは、グリッド点の座標とともに順番に定義されます。キャラクタの輪郭

を形成するために、点から点へと線が描かれます。BREAKファンクショ

ンは、描かれている線に切れ目を入れるために使用されます。

各キャラクタ定義の終わりの数字は、グリッド点数で表したそのキャラク

タのセルの幅です。これは、キャラクタ間のスペースを制御します。

コマンド ENDは、フォントの定義を終了するために使用されます。

新しいテキストフォントはキーボードから命令を入力することにより定義

されますが、要求されるすべてのキャラクタ定義を含むフォントをエディ

タで作成し、要求されたときにインプット (INPUT)できるファイルとして格納する方がより便利です。キーボードまたはインプット (INPUT)されたファイルから新しいフォントが定義されると、それはカレントフォン

トとなり、新しいカレントフォントに含まれるキャラクタのみが使用可能

となります。システムフォント、または、ユーザ独自のほかのフォントの

キャラクタを使用するためには、カレントフォントは、再指定されなけれ

ばなりません。

多数のフォントは、システム中で利用可能であり、スクリーンメニューの

「テキスト 1」 (TEXT 1)で「書体設定」 (SET FONT)を使用することにより、カレントフォントとして設定できます。ユーザ独自のフォントを定義

すると、次のコマンドを入力することにより、どれがカレントフォントに

なるのか選択できます。CURRENT_FONT 'fontname'

ここで fontnameは、ユーザのフォントの名前です。

カスタマイズ 139

Page 140: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

フォントの格納 - ASCIIファイルおよびバイナリファイル

システムフォントの 1つにすべての命令を含むテキストファイルを作成するためには、まずフォントがシステムにロードされているかどうかを確認

する必要があります。フォントがリスト中にあるかどうかを確認するため

に、「テキスト」 (TEXT)スクリーンメニューで「書体リスト」 (LISTFONTS)を選択します。メニューに戻るためには、[ESC]キーを押しま

す。

フォントがリスト中にない場合は、次のように入力してロードすることが

必要です。LOAD_FONT 'bin_filename'

ここで bin_filenameは、フォントを含むバイナリファイルの名前で

す。

フォントは、その後、次のように入力することにより、ASCIIファイルとしてディスクへ書き込むことができます。SAVE_FONT 'fontname' 'ascii_filename'

ここで fontnameはフォントの名前で、ascii_filenameは、フォント

を含むテキストファイルに付けた名前です。ファイルは、その後、普通に

参照したり、編集したりできます。

テキストファイルは、複数のフォントを含むことができます。テキスト

ファイルが入力されると、その中のすべてのフォントがロードされ、リス

ト中の最後のものがカレントフォントとなります。

ユーザのフォントの 1つを含むバイナリファイルを作成するためには、次のとおりに進めてください。

1. 上で説明された方法を使用してテキストファイルを作成してください。

2. その中のすべてのフォントがシステムにロードされるように、ファイルをインプット (INPUT)してください。

3. 次のように入力し、フォントを個別のバイナリファイルにしてディスクに格納します。STORE_FONT 'fontname' 'bin_filename'

ここで fontnameはフォントの名前で、bin_filenameはディスク上にバイナリファイルを格納するために決めたファイル名です。

140 Creo Elements/Direct Drafting Writing Macros日本語版

Page 141: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

この章の始めで説明したように、フォントは LOAD_FONTを使用してシス

テム中にロードされます。

バイナリファイルは、エディタで調べることができませんが、バイナリ

ファイルを使用することの利点は、アクセススピードが速いことです。

スタートアップ手順のカスタマイズここで説明したすべての手順を実行する前に、ご使用のオペレーティング

システム用のコンフィギュレーションマニュアルの、Creo Elements/DirectDraftingのスタートアップファイルに関する項を読んでください。

以下のような \me10\startupファイルの終わりにある行から中かっこ

が削除されると、custom.mファイルは、スタートアップの間に入力され

ます。{ INPUT 'custom.m' }

これが行われると、システムは custom.mというファイルを SEARCHパ

スにより捜します。

これは、通常、システムがまずカレントディレクトリを見て、その後、

\me10ディレクトリを見ることを意味します。この説明をとおして、

SEARCHパスがこのように設定されると仮定します。スタートアップ後、

SEARCHパスは、「初期設定」 (SETUP)スクリーンメニューの中から「設定値編集」 (EDIT ENV)を選択することにより見つけることができます。

スタートアップの間、カレントディレクトリは、ログオンしたユーザの

ホームディレクトリです。カスタマイズされたスタートアップを行うため

には、次のオプションのうち 1つを選択できます。

プラットフォーム依存

• 通常 Creo Elements/Direct Draftingをスタートするディレクトリにcustom.mというファイルを作成し編集して、ユーザのカスタマイズ

要件を組み込みます。この方法によって、スタートアップ中に実行す

るカスタマイズの手順をコントロールできます。

• グループカスタマイズファイルを使用します。これを使用する場合、

Creo Elements/Direct Draftingのスタートアップディレクトリにcustom.mファイルを置くことはできません。この場合、システム

は、システム管理者によって作成されている \me10\custom.mを検

カスタマイズ 141

Page 142: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

索します。このファイルに指定するカスタマイズの内容は、スタート

アップディレクトリに関係なく全ユーザに影響を与えます。

すべてのグループに対するカスタマイズされたスタートアップ

\me10\custom.mファイルは通常、システム管理者が作成します。この

ファイルは、スタートアップ手順のカスタマイズを反映するように編集で

きます。この内容は、Creo Elements/Direct Draftingスタートアップディレクトリで custom.mファイルを作成していないグループメンバー全員に

適用されます。

\me10\custom.mファイルは、どのテキストエディタでも編集できま

す。ただし、システム管理者が通常のユーザとして Creo Elements/DirectDraftingソフトウェアを実行しながら、カスタマイズ手順を開発し、テストを行って、その後ファイルを \me10\custom.mにコピー、または追加

するのが一般的です。

グループや各ユーザ用にカスタマイズされたスタートアップ

ユーザが Creo Elements/Direct Draftingスタートアップディレクトリにcustom.mと呼ばれるファイルを作成することによって、ユーザ自身のス

タートアップ手順を実行する方法については、すでに見てきました。この

ファイルを作成したユーザは、次に示されたものを利用することが可能で

す。

• custom.mファイルの最初の行として、次の行を含めます。INPUT '\me10\custom.m'

この場合、すべてのグループに対するシステム管理者により開発されたカスタマイズ手順がまず実行され、その後、ユーザ自身の手順が実行されます。

• グループ手順をまったく使用せずに、ユーザ自身の要求に応じてシス

テムのスタートアップをカスタマイズする場合は、上に示すような行

をカスタマイズファイルに含んではなりません。

• カスタマイズをまったく行わずに、通常の省略値によりシステムの操

作を行う場合は、ホームディレクトリ中に custom.mファイルを作成

し、それを空の状態にしておいてください。

142 Creo Elements/Direct Drafting Writing Macros日本語版

Page 143: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

カスタマイズされたスタートアップのためのメニューの作成

ホームまたはスタートアップディレクトリ中に custom.mと呼ばれる

ファイルを作成した場合、そのファイル内に、スタートアップの間に実行

するあらゆるファンクションまたはコマンドを置くことができます。さら

に、同ファイル内でほかのファイルが必要なときに入力できるようファン

クションキーを定義することもできます。

ここに、スタートアップの後でメニューが表示されるようにシステムをカ

スタマイズする方法の例が挙げられており、異なった状況において必要と

される、さまざまなカスタマイズ手順を示しています。custom.mファイ

ルが次の行を含むように編集してください。DEFINE_KEY 1 ((CHR 4)+'INPUT"project1"'+(CHR 13))

DEFINE_KEY 2 ((CHR 4)+'INPUT"project2"'+(CHR 13))

DEFINE_KEY 3 ((CHR 4)+'INPUT"project3"'+(CHR 13))

DEFINE_KEY 4 ((CHR 4)+'INPUT"project4"'+(CHR 13))

DEFINE_KEY 5 ((CHR 4)+'INPUT"project5"'+(CHR 13))

DEFINE_KEY 6 ((CHR 4)+'INPUT"project6"'+(CHR 13))

DEFINE_KEY 7 ((CHR 4)+'INPUT"project7"'+(CHR 13))

DEFINE_KEY 8 ((CHR 4)+'INPUT"project8"'+(CHR 13))

EDIT_FILE"menu" {Must be last line in file}

この例において、project1~ project7までの名前は、異なるプロ

ジェクトに関係した作業のためのカスタマイズ手順を含むファイルの名前

です。ファイル名はユーザ自身が自由に付けることができます。

ファンクションキーは、アルファスクリーン上にメニューが表示されてい

る間に使用できるように設定されましたが、グラフィックが表示されてい

るときにも使用できます。以下にファンクションキーを定義する方法を説

明します。

• (CHR 4)は [CTRL] [D]を意味します。インプットステートメントを

実行するために、アルファディスプレイを終了します。グラフィック

が表示され、システムがコマンドを待っている場合は、[CTRL] [D]

キーを押しても何も行われません。

• (CHR 13)は RETURNを意味します。ファンクションキーを押した後

で [RETURN]を押す必要がありません。

• 最初の 7つのキーは、必要なファイルを入力するために使用され、ファンクションキー [f8]はメニューを再表示するために使用されま

す。menuという名前は例にすぎません。スクリーンメニューを含む

ファイルに対して、独自のファイル名を選択できます。

カスタマイズ 143

Page 144: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

ファイルの終わりにある EDIT_FILEステートメントは、スクリーンメ

ニューを表示します。この時点で、ユーザがファンクションキーを押して

ほかのファイルを入力するかどうかの選択が行われるので、これは最後の

行にあるべきです。

メニューファイルがどのようなものであるか、ここに例が示されていま

す。Press function key f1 to customize for project 1

Press function key f2 to customize for project 2

Press function key f3 to customize for project 3

Press function key f4 to customize for project 4

Press function key f5 to customize for project 5

Press function key f6 to customize for project 6

Press function key f7 to customize for project 7

Press ESC to display graphics

ファンクションキーが押されると、メニューが消えて、グラフィックが表

示されます。カスタマイズ手順が実行されるように、ファンクションキー

に定義されたファイルがインプット (INPUT)されます。カスタマイズ手順を含むファイルには、最後のステートメントとして、次の行が含まれて

いなければなりません。DISPLAY 'Press function key f8 to display customizing menu'

ユーザは、メニューを再表示するか、継続してほかの操作を行います。

注記

カスタマイズメニューが表示されている間、スクリーン上には何も入

力しないでください。これは、ファンクションキーの定義にある

(CHR 4)がメニューファイルのコピーを格納し、古いものに上書きす

るからです。

ハッチングパターンのカスタマイズdefaults.mファイルは、「ハッチング」 (HATCH)スクリーンメニューに、オプションの鉄、スチール、および銅のハッチングパターンを含みま

す。defaults.mファイルの詳細については、ご使用のオペレーティン

グシステム用のコンフィギュレーションマニュアルを参照してください。

ハッチングパターンは、次のマクロを使用して作成されます。DEFINE I_hatch_iron

HATCH_ANGLE 45

HATCH_DIST 5

144 Creo Elements/Direct Drafting Writing Macros日本語版

Page 145: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

CURRENT_HATCH PATTERN 0 1 0 CYAN SOLID CONFIRM

END_DEFINE

DEFINE I_hatch_steel

HATCH_ANGLE 45

HATCH_DIST 15

CURRENT_HATCH PATTERN 0 1 0 CYAN SOLID (1/3 ) 1 0 CYAN SOLID

CONFIRM

END_DEFINE

DEFINE I_hatch_copper

HATCH_ANGLE 45

HATCH_DIST 5

CURRENT_HATCH PATTERN 0 1 0 CYAN 0.5 1 0 CYAN DASHED CONFIRM

END_DEFINE

これらのマクロを変更したり、ほかのハッチングパターンを作成するため

にユーザ独自の新しいマクロを書いたりすることは、簡単です。

システム管理者は、\me10\defaults.mファイルを任意のテキストエ

ディタで編集できます。ただし、\me10\defaults.mファイルに加えた

変更内容は、Creo Elements/Direct Draftingソフトウェアを再インストール、またはアップデートする時点で上書きされます。次に効果的な方法を

示します。

1. Creo Elements/Direct Draftingをスタートします。

2. 「ファイル」 (FILE)スクリーンメニューで「コピー」 (COPY)コマンドを使用し、カレントディレクトリへ \me10\defaults.mファイルを

コピーしてください。

3. Creo Elements/Direct Draftingエディタを使用して、ファイルを編集してください。変更する必要がないすべての行を削除し、ユーザの現在の

環境にマッチするように、残りの行を変更します。

4. 変更を確認できるように、ファイルをインプット (INPUT)してください。

5. 結果が満足できるものであれば、\me10\custom.mファイル中に以

下の行を含めてください。INPUT 'filename'

ここで filenameは、ユーザファイルの絶対パス名です。

必要な場合は \me10\startupを編集し、以下の行から中かっこ { }を削除してください。{INPUT 'custom.m'}

次のようになります。INPUT 'custom.m'

カスタマイズ 145

Page 146: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

Creo Elements/Direct Draftingをスタートすると、startupファイルは、

custom.mファイルの内容を入力します。これにより、ユーザファイルが

順に入力されます。

ハッチングに関する詳細は、Creo Elements/Direct Draftingユーザマニュアルを参照してください。

キーボード入力文字

146 Creo Elements/Direct Drafting Writing Macros日本語版

Page 147: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

キーボード入力文字

カスタマイズ 147

Page 148: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

13コマンドおよびファンクションの概

説この章では、各コマンドおよびファンクションに関して簡潔に説明し、ア

ルファベット順に並べてあります。コマンドおよびファンクションの詳細

については、Creo Elements/Direct Draftingのヘルプシステムを参照してください。たとえば、次のように入力します。help catch

スクリーンはクリアされ、Creo Elements/Direct Draftingは CATCHファンクションについての詳細を表示します。

ABS (算術関数)

引数に対して:引数の絶対値を返します。ベクトル引数に対して:原点から引数点までのベクトルの長さを返します。

ADD_CURRENT_INFO (コマンド)

指定したテキストをカレント情報に追加します。

ADD_DIM_POSTFIX (コマンド)

既存の寸法値に接尾記号を追加します。

ADD_DIM_PREFIX (コマンド)

既存の寸法値に接頭記号を追加します。

ADD_DIM_SUBFIX (コマンド)

既存の寸法値に下接記号を追加します。

ADD_DIM_SUPERFIX (コマンド)

既存の寸法値に上接記号を追加します。

148 Creo Elements/Direct Drafting Writing Macros日本語版

Page 149: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

ADD_DIM_TOLERANCE (コマンド)

選択した寸法値に許容差を追加することを可能にします。

ADD_ELEM_INFO (コマンド)

指定したテキストを指定した要素の属性情報に追加します。

ADU_ACCURACY (関数)

2つのレイアウトを比較するときの精度を指定します。

ADU_CHECK (コマンド)

2つのレイアウトを比較し、新しいレイアウトに注釈を付け直します。

ADU_CONFIRM_ANNOS (コマンド)

注釈を自動的に更新した後、システムはそれぞれの注釈に '転送'('transffered') (指定省略時は緑)、'再生' ('regenerated') (指定省略時は赤)、または '更新' ('updated') (指定省略時は青)のマークを付けます。ADU_

CONFIRM_ANNOSを使用してシステム要求を受けることが可能です。

ADU_UPDATE_ANNOS (コマンド)

注釈が付けられた要素を変更することを可能にします。たとえば、ある図

形の要素の注釈を図形自体は削除せずに変更する場合に便利です。

ANALYZE_BSPLINE (関数)

選択した b-スプラインについて記述された特定の要素や値を解析することを可能にします。

AND (算術関数)

両引数が 0でなければ 1、その他の場合には 0を戻します。

ANG (算術関数)

X軸と、原点から点までのベクトルがなす角度を戻します。

ARC (コマンド)

円弧を作成します。

ARCCOS (算術関数)

引数に等しい余弦になる角度の主値を戻します。

ARCSIN (算術関数)

引数に等しい正弦になる角度の主値を戻します。

コマンドおよびファンクションの概説 149

Page 150: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

ARCTAN (算術関数)

引数に等しい正接になる角度の主値を戻します。

ARC_RESOLUTION (関数)

スクリーン上の円弧の精度を指定します (表示リストを使用している場合)。

AREA_PROPERTY (コマンド)

選択したエリアの物理的特性を計算します。

ARROW_CURSOR (関数)

テーブルおよびメニュー領域で表示されるカーソルの形をコントロールし

ます。

ARROW_FILL (関数)

寸法線および引き出し線の矢印の塗りつぶしをコントロールします。

ASSIST (コマンド)

ユーザの支援機能 (コパイロット)を設定します。

AUTO_NEW_SCREEN (関数)

Creo Elements/Directウィンドウの隠れていた部分が現れた際に、NEW_

SCREENを自動的に実行するかどうかを指定します。

AUTO_STORE_TIME (関数)

図面を自動保存します。保存頻度はユーザが定義します。

BEEP (関数)

スピーカで信号音を発生します。

BLACK (関数)

線の色を指定します。

BLUE (関数)

線の色を指定します。

BSPLINE (コマンド)

B-スプライン曲線を作成します。

BSPL_ADD_C_PNT (コマンド)

150 Creo Elements/Direct Drafting Writing Macros日本語版

Page 151: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

隣接する 2つの制御点の間に制御点を 1つ追加します。

BSPL_ADD_I_PNT (コマンド)

隣接する 2つの制御点の間に補間点を 1つ追加します。

BSPL_DEL_C_PNT (コマンド)

スプラインから制御点を削除します。

BSPL_DEL_I_PNT (コマンド)

スプラインから補間点を削除します。

BSPL_DEL_TANGENT (コマンド)

傾斜を削除します。

BSPL_MOVE_C_PNT (コマンド)

制御点の位置を修正します。

BSPL_MOVE_I_PNT (コマンド)

補間点の位置を修正します。

BSPL_MOVE_PNT (コマンド)

B-スプラインの位置を修正します。

BSPL_POINT_LENGTH (コマンド)

B-スプラインを同じ長さで分割することを可能にします。

BSPL_POLYGON_FEEDBACK (関数)

B-スプライン作成中のフィードバックタイプを決定します。

CANCEL (コマンド)

現在のシステムアクティビティを取り消します。「コマンドを入力して下

さい」に戻ります。

CANCEL_EDIT_DIM_TEXT (コマンド)

EDIT_DIM_TEXTの効果を取り消します。編集された寸法線をそのオリジ

ナルの状態へ戻します。

CATALOG (関数)

指定した宛先へ、指定した名前のディレクトリのリスティングを出力しま

す。

コマンドおよびファンクションの概説 151

Page 152: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

CATALOG_LAYOUT (コマンド)

CATALOGによって与えられたディレクトリ情報のレイアウトを指定します。

CATCH (関数)

スクリーン上の点を、カーソルを直接その点に置かずにユーザが選択でき

るようにします。

CENTER (コマンド)

メニューテキストをセンタリングします。

CENTERLINE (コマンド)

円の要素としての中心線を作成することを可能にします。中心線は円形要

素の一部となり、関連付けられた円形要素が移動または削除されると、同

様に移動または削除されます。

CENTER_DASH_DASH (関数)

線種を定義します。

CHAMFER (コマンド)

面取り部を作成します。

CHANGE_COLOR (コマンド)

選択した要素の色を変更します。

CHANGE_CURRENT_INFO (関数)

現在の属性情報テキストのグローバル検索および置き換えを行います。

CHANGE_DIM_ARROW (コマンド)

現在の寸法線の終点を変更します。

CHANGE_DIM_COLOR (コマンド)

選択した寸法線および寸法補助線の色を変更します。

CHANGE_DIM_FORMAT (コマンド)

既存の寸法線のフォーマットを変更することを可能にします。

CHANGE_DIM_FRAME (コマンド)

選択した寸法テキストの枠のタイプを変更します。

CHANGE_DIM_LINEWIDTH (コマンド)

152 Creo Elements/Direct Drafting Writing Macros日本語版

Page 153: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

選択した寸法を表す寸法線や寸法補助線のペンサイズを変更します。

(CHANGE_DIM_PENSIZEと同じ)

CHANGE_DIM_PENSIZE (コマンド)

選択した寸法を表す寸法線や寸法補助線のペンサイズを変更します。

CHANGE_DIM_TEXTS (コマンド)

既存の寸法テキストの属性を変更することを可能にします。

CHANGE_DIM_TEXT_COLOR (コマンド)

寸法テキストの色を定義します。

CHANGE_DIM_TEXT_LOCATION (コマンド)

寸法テキストの位置を、線の上方、線上、線の下方へ変更します。

CHANGE_DIM_TEXT_ORIENTATION (コマンド)

寸法テキストの方向を変更します。

CHANGE_DIM_VERTEX (コマンド)

寸法補助線を別の頂点に移動します。

CHANGE_ELEM_INFO (コマンド)

指定した属性情報テキストのグローバル検索および置き換えを行います。

CHANGE_FILLET (コマンド)

選択したフィレットの半径を変更します。

CHANGE_GLOBAL_INFO (関数)

メモリ中のすべての要素の属性情報テキストのグローバル検索および置き

換えを行います。

CHANGE_HATCH_ANGLE (コマンド)

選択したハッチングの角度を変更します。

CHANGE_HATCH_COLOR (コマンド)

選択したハッチングの色を変更します。

CHANGE_HATCH_DIST (コマンド)

ハッチング線の分離点を変更します。

CHANGE_HATCH_LINETYPE (コマンド)

コマンドおよびファンクションの概説 153

Page 154: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

選択したハッチングの線種を変更します。

CHANGE_HATCH_PATTERN (コマンド)

選択したハッチングのパターンを変更します。

CHANGE_HATCH_REF_PT (コマンド)

選択したハッチングの基準点を変更します。

CHANGE_LEADER_ARROW (コマンド)

選択した引き出し線の終点記号を変更します。

CHANGE_LEADER_ARROW_SIZE (コマンド)

選択した引き出し線の終点記号のサイズを変更します。

CHANGE_LINETYPE (コマンド)

選択した要素の線種を変更します。

CHANGE_LINEWIDTH (コマンド)

選択した要素のペンサイズを変更します (ただし要素は、実際の図形だけが対象となります。下書き図形や点は対象にはなりません)。(CHANGE_DIM_PENSIZEと同じ)

CHANGE_LINESIZE (コマンド)

選択した要素の線サイズを変更します (ただし要素は、実際の図形だけが対象となります。下書き図形や点は対象にはなりません)。

CHANGE_DIM_PENSIZE (コマンド)

選択した寸法を表す寸法線や寸法補助線のペンサイズを変更します。

CHANGE_PART_REF_PT (関数)

アクティブパーツの基準点を変更します。

CHANGE_TABLE_SIZE (関数)

サイズ変更に対して保護されてない既存のテーブルのサイズを変更しま

す。

CHANGE_TEXT (コマンド)

複数行の既存のテキストを新しいテキストに変更します。

CHANGE_TEXT_ADJUST (コマンド)

選択したテキストの補正パラメータを変更します。

154 Creo Elements/Direct Drafting Writing Macros日本語版

Page 155: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

CHANGE_TEXT_ANGLE (コマンド)

選択したテキストの角度を変更します。

CHANGE_TEXT_FILL (コマンド)

選択したテキストの中身をトグルスイッチをオフ/オンにすることにより変化させます。

CHANGE_TEXT_FONTNAME (コマンド)

選択したテキストのフォントを変更します。

CHANGE_TEXT_FRAME (コマンド)

選択したテキストのフレームを変更します。

CHANGE_TEXT_LINESPACE (コマンド)

マルチラインテキストの行間隔を変更します。

CHANGE_TEXT_RATIO (コマンド)

選択したテキストに対して、文字の幅および高さの比率を変更します。

CHANGE_TEXT_SIZE (コマンド)

選択したテキストの文字サイズを変更します。

CHANGE_TEXT_SLANT (コマンド)

選択したテキストの文字の傾きを変更します。

CHANGE_VIEWPORT_COLOR (関数)

カレントビューポートの背景色を変更します。

CHANGE_VIEWPORT_SIZE (関数)

カレントビューポートのサイズを変更します。

CHAR_LAYOUT (コマンド)

カレントフォントの文字を再定義します。

CHECK_3D_GEO_MODIFY (関数)

Creo Elements/Direct Modelingのレイアウト (ADU)が編集された場合に警告メッセージを表示するかどうか指定します。

CHECK_BREAK (算術関数)

コマンドおよびファンクションの概説 155

Page 156: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

IGNORE_BREAKが有効なときに BREAKキーが押されると、1が返されます。

CHECK_DIM_DETAIL (関数)

組み込まれている寸法チェック機構を設定/解除します。

CHECK_ERROR (算術関数)

TRAP_ERROR関数が最後に呼び出されてからエラーがトラップした場合

は 1を返します。その他の場合は 0を返します。

CHECK_FONT_FILLABLE (関数)

カレントフォントの文字が選択した出力先に書かれます。

CHECK_WINDOW (関数)

ウィンドウの大きさが極端に大きくまたは小さく設定されている場合に拒

否する (指定省略時)、組み込み式のウィンドウチェック機構を設定/解除します。

CHG_PIXEL_COLOR (コマンド)

ピクセルの色を SET_COLORで指定した色に変更します。

CHR (算術関数)

10進数を等しい ASCII文字へ変換します。たとえば、CHR(35)は '#'

です。

CIRCLE (コマンド)

円を作成します。

CL_ABS_OFFSET (コマンド)

中心線のオフセットを設定します。

CL_COLOR (コマンド)

中心線の色を設定します。

CL_LINETYPE (コマンド)

中心線の線種を設定します。

CL_LINEWIDTH (コマンド)

中心線のペンサイズを設定します。(CL_PENSIZEと同じ)

CL_PENSIZE (コマンド)

156 Creo Elements/Direct Drafting Writing Macros日本語版

Page 157: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

中心線のペンサイズを設定します。

CL_REL_OFFSET (コマンド)

(半径の寸法線に相対的に)中心線のオフセットを設定します。

CLEAN_DRAWING (コマンド)

(オーバラップのような)重複した図形描画を消去します。

CLIPBOARD_SIZE

Windowsのクリップボードに対するプロットを行うために、クリップボードのサイズ (プロット領域)を設定します。

CLOSE_FILE (関数)

指定したファイルをクローズします。

CMD_BG_COLOR (関数)

コマンド行の背景色を変更します。

CMD_TXT_COLOR (関数)

コマンド行のテキストの色を変更します。

COLOR (関数)

現在の図形およびテキストの色を指定します。

COLOR_LTAB (関数)

論理テーブルのタイトルおよびデータ領域内の指定された位置の色を変更

します。

CONFIGURE_EDITOR (関数)

内蔵のスクリーンエディタを構成します。

CONNECT_TABLE (関数)

画面テーブルを論理テーブルへ接続します。

CONTOUR (コマンド)

閉じた輪郭線を作成するために、選択したすべての要素をその他の選択し

た要素とともにトリミングします。

CONTROLZ_IS_EOF (関数)

Ctrl-Zキャラクタを、エンドオブファイル文字あるいは通常のデータバ

イトのどちらに解釈するか指定します。

コマンドおよびファンクションの概説 157

Page 158: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

CONVERT_C_TO_B_SPLINE (コマンド)

選択した古いタイプのスプライン ("Cspline")を新しいタイプのスプライン("Bspline")に変換します。

CONVERT_DIM_TOLERANCE (コマンド)

既存の許容差を異なったタイプに変更します。

CONVERT_DIM_UNIT (コマンド)

寸法線の長さと角度の現在の単位を変更します。

CONVERT_SPLINE (コマンド)

選択したスプラインを連続の円弧および線に変換します。

COPY_FILE (関数)

指定したファイルを宛先にコピーします。

COS (算術関数)

引数の余弦を返します。

CREATE_DETAIL (コマンド)

既存の図形の詳細図を指定した係数によって拡大して作成します。

CREATE_DIRECTORY (関数)

新しいディレクトリを作成します。

CREATE_LTAB (関数)

新しい論理テーブルを作成します。テーブルが存在する場合、エラーは発

生せず、コマンドは無視されます。

CREATE_POLY (コマンド)

既存の要素から連結線を作成します。連結線は単一の要素として扱い、必

要に応じて修正できます。

CREATE_SUBPART (コマンド)

既存要素を使用してアクティブパーツの中の新しいパーツを作成します。

CREATE_VIEWPORT (関数)

新しいビューポートを作成します。

CS_AXIS (関数)

158 Creo Elements/Direct Drafting Writing Macros日本語版

Page 159: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

原点を固定した状態の入力座標系の座標軸を再定義します。

CS_MIRROR (関数)

入力座標系の指定した座標軸は、もう一方の座標軸を中心に反転されま

す。

CS_REF_PT (関数)

入力参照システムの原点を変更します。

CS_ROTATE (関数)

原点を中心に入力座標系を回転させます。

CS_SET (関数)

入力座標系の原点および軸の角度を変更します。

CURRENT_DIM_TEXTS (関数)

すべての寸法テキストの現在の属性を変更します。

CURRENT_DIM_UNITS (関数)

寸法線の長さおよび角度の現在の単位を設定します。

CURRENT_DIRECTORY (関数)

カレントディレクトリを指定したディレクトリに設定します。

CURRENT_FONT (関数)

新しいテキストで使用するフォントを選択します。

CURRENT_HATCH_PATTERN (関数)

新たに作成されたハッチに使用するカレントハッチングパターンを定義し

ます。

CURRENT_MENU (関数)

カレントスクリーンメニューの名前を指定します。

CURRENT_SPOTLIGHT_ATTR (関数)

SPOTLIGHT ONで使用される指定省略時の色と線種を変更することを可能にします。

CURRENT_VERTEX_COLOR (関数)

SHOW VERTEX ONおよび SHOW_CPOLY ONで使用される、頂点の指定省略時の色を定義します。

コマンドおよびファンクションの概説 159

Page 160: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

CURRENT_VIEWPORT (関数)

カレントビューポートを設定します。

CURSOR (関数)

カーソルの大小を設定します。

CURSOR_COORDINATES (関数)

カーソルの現在の座標値を、入力領域の上部に表示することを可能にしま

す。

CUT_MIDDLE

ほかの 2つの要素との交差点にある要素の中央部分を切削または削除します。

CYAN (関数)

指定省略時の色を水色に変更します。

C_CIRCLE (コマンド)

下書き円を作成します。

C_COLOR (関数)

下書き図形のカレントカラーを指定します。

C_LINE (コマンド)

下書き線を設定します。

C_LINETYPE (関数)

下書き図形 (c_circlesおよび c_lines)の現在の線種を指定します。

DASHED (関数)

線種を指定します。

DASH_CENTER (関数)

線種を指定します。

DATE (算術関数)

日付および時間を返します。例: '26-Oct-99 14:26:58'

DA_DB_ADD (コマンド)

新しいパーツを寸法線データベースに追加します。

160 Creo Elements/Direct Drafting Writing Macros日本語版

Page 161: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

DA_DB_DELETE (コマンド)

寸法線データベースからパーツ/エントリを削除します。

DA_DB_EXPORT (コマンド)

寸法線データベースからエントリを抽出してユーザのカレント図面にコ

ピーします。この新しいエントリはトップパーツの子パーツになります。

DA_DB_FILL_TABLE (コマンド)

寸法線データベーステーブルをクリアして再構成します。コマンド行では

使わないようにしてください。

DA_DB_INQ (関数)

寸法線データベースについての情報を返します。このファンクションは寸

法アドバイザモジュール画面のインターフェイス用です。普通はコマンド

行では使わないでください。

DA_DB_LOAD (コマンド)

寸法線データベースファイルをメモリにロードします。

DA_DB_MATCH (コマンド)

寸法線データベースエントリから寸法線を図面要素に転送します。

DA_DB_STORE (コマンド)

寸法線データベースをMI形式でファイルに格納します。

DA_DB_UNLOAD (コマンド)

寸法線データベースをシステムメモリからアンロードします。

DA_DB_WIN_CREATE (関数)

寸法線データベースを表示するためのウィンドウを作成します。コマンド

行では使わないでください。

DA_DB_WIN_LOC (関数)

寸法線データベースウィンドウの位置を設定します。コマンド行では使わ

ないでください。

DA_DIM_ANGLE (コマンド)

1つまたは複数の角度寸法線を作成します。

DA_DIM_ARC (コマンド)

コマンドおよびファンクションの概説 161

Page 162: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

1つまたは複数の円弧寸法線を作成します。

DA_DIM_AUTO_LOC (関数)

寸法自動配置用の配置パラメータを設定します。

DA_DIM_AUTO_STRATEGY (関数)

寸法自動配置の際に行われる交差チェックのレベルを設定します。

DA_DIM_CHAIN (コマンド)

1つまたは複数の直列寸法線を作成します。

DA_DIM_CHAMFER (コマンド)

1つまたは複数の面取り寸法線を作成します。

DA_DIM_COORD (コマンド)

1つまたは複数のセグメントを含む、座標寸法線を作成します。

DA_DIM_DATUM_LONG (コマンド)

1つまたは複数のセグメントを含む、長い基準線による並列寸法線を作成します。

DA_DIM_DATUM_LONG_SYM (コマンド)

1つまたは複数のセグメントを含む、長い寸法線による対称寸法線を作成します。

DA_DIM_DATUM_SHORT (コマンド)

1つまたは複数のセグメントを含む、短い寸法線による並列寸法線を作成します。

DA_DIM_DELETE (コマンド)

並列寸法線スタックから 1つまたは複数のセグメントを削除します。寸法線全体も削除できます。

DA_DIM_DIAMETER (コマンド)

1つまたは複数の直径寸法線を作成します。

DA_DIM_GEO_SENSE (コマンド)

図形タイプに基づいて選択された、要素の寸法線を作成します。

DA_DIM_HOLE_INSERTION (関数)

新しい寸法線がハッチングした領域の中に入る場合の動作を設定します。

162 Creo Elements/Direct Drafting Writing Macros日本語版

Page 163: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

DA_DIM_INCLINE (コマンド)

水平または鉛直属性を持つ寸法線を傾けることができます。

DA_DIM_INSERT (コマンド)

1つまたは複数の新しいセグメントを並列寸法線スタックに挿入します。

DA_DIM_LINE (コマンド)

1つまたは複数の寸法線を作成します。

DA_DIM_LINE_SYM (コマンド)

1つまたは複数の対称寸法線を作成します。

DA_DIM_PD_SCAN (コマンド)

パラメトリックデザイン制約に基づいて選択された要素の寸法線を作成し

ます。

DA_DIM_RADIUS (コマンド)

1つまたは複数の半径寸法線を作成します。

DA_DIM_SHORT_SPACE (関数)

並列寸法線スタックの項目間の間隔を設定します。

DA_FILTER_ACTIVATE (関数)

寸法線割り当て用のフィルタ処理を有効にします。

DA_FILTER_ADD (関数)

新しい選択基準を現在の寸法線選択フィルタに追加します。このファンク

ションは、寸法アドバイザモジュールの画面インターフェイスから呼ばれ

るのが最適です。

DA_FILTER_CLEAR_GEOTYPES (関数)

すべての図形タイプ基準を現在の寸法線選択フィルタからクリアします。

このファンクションは、寸法アドバイザモジュールの画面インターフェイ

スから呼ばれるのが最適です。

DA_FILTER_CLEAR_LINETYPES (関数)

すべての線種基準を現在の寸法線選択フィルタからクリアします。この

ファンクションは、寸法アドバイザモジュールの画面インターフェイスか

ら呼ばれるのが最適です。

コマンドおよびファンクションの概説 163

Page 164: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

DA_FILTER_DEL_COLOR (関数)

色基準を現在の寸法線選択フィルタからクリアします。

DA_FILTER_DEL_ORIENT (関数)

線方向基準を現在の寸法線選択フィルタからクリアします。

DA_FILTER_DEL_WIDTH (関数)

幅基準を現在の寸法線選択フィルタからクリアします。

DA_FILTER_DEL_LINESIZE (関数)

線サイズ基準を現在の寸法線選択基準フィルタからクリアします。

DA_FILTER_DEL_PENSIZE (関数)

ペンサイズ基準を現在の寸法線選択基準フィルタからクリアします。

(DA_FILTER_DEL_WIDTHと同じ)

DA_FILTER_INQ (関数)

寸法線選択フィルタについての情報を返します。このファンクションは寸

法アドバイザモジュール画面のインターフェイス用です。普通はコマンド

行では使わないでください。

DA_FILTER_REFRESH_LINEWIDTH (関数)

ペンサイズ選択フィルタテーブルの内容を更新します。コマンド行では使

わないでください。(DA_FILTER_REFRESH_PENSIZEと同じ)

DA_FILTER_REFRESH_LINEWIDTH (関数)

ペンサイズ選択フィルタテーブルの内容を更新します。コマンド行では使

わないでください。(DA_FILTER_REFRESH_PENSIZEと同じ)

DA_FILTER_REFRESH_LINESIZE (関数)

線サイズ選択フィルタテーブルの内容を更新します。コマンド行では使わ

ないでください。

DA_FILTER_REFRESH_PENSIZE (関数)

ペンサイズ選択フィルタテーブルの内容を更新します。コマンド行では使

わないでください。

DA_FILTER_REFRESH_ORIENT (関数)

方向選択フィルタテーブルの内容を更新します。コマンド行では使わない

でください。

164 Creo Elements/Direct Drafting Writing Macros日本語版

Page 165: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

DA_FILTER_SET_NAME (関数)

現在の寸法線選択フィルタの識別名を設定します。

DA_FILTER_STORE (関数)

現在の寸法線選択フィルタをファイルに保存します。

DA_LINESIZE (関数)

寸法線の線サイズを設定します。

DA_PENSIZE (関数)

寸法線のペンサイズを設定します。

DA_MOVE_DIMENSION (コマンド)

1つまたは複数の寸法線を移動します。

DA_NULL (関数)

このファンクションは寸法アドバイザモジュールの画面インターフェイス

用です。何も処理されません。

DA_STYLE_APPLY (関数)

現在のスタイルパラメータを、選択した寸法線に適用します。

DA_STYLE_DEFER_UPDATE (関数)

スタイル表示ビューポートが更新されなくなります。

DA_STYLE_ENABLE_UPDATE (関数)

スタイル表示ビューポートが更新されるようになります。

DA_STYLE_GET (関数)

選択された寸法線の寸法線スタイルパラメータが現在の寸法線スタイルに

なります。

DA_STYLE_INQ (関数)

現在の寸法線スタイルについての情報を返します。このファンクションは

寸法アドバイザモジュール画面のインターフェイス用です。普通はコマン

ド行では使わないでください。コマンド行では使わないでください。

DA_STYLE_TYPE (関数)

新しい寸法線スタイルを選択します。

DA_STYLE_UPDATE (関数)

コマンドおよびファンクションの概説 165

Page 166: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

スタイル表示ビューポートを更新します。

DA_STYLE_WIN_CREATE (関数)

現在の寸法線スタイルを表示するためのウィンドウを作成します。

DA_STYLE_WIN_LOC (関数)

スタイル表示ビューポートの位置を設定します。このファンクションは寸

法アドバイザモジュールの画面インターフェイス用です。コマンド行では

使わないでください。

DA_STYLE_WIN_RAISE (関数)

スタイル表示ビューポートを手前に表示します。

DA_WRITE_DIM_SETTINGS_MACRO (関数)

現在の寸法線スタイルの設定内容をすべて含んだマクロファイルを作成し

ます。

DDE_ADD_TOPIC (関数)

認識された DDE項目のリストに新しい項目の文字列を追加します。

DDE_CLOSE (算術関数)

指定の DDE対話をクローズします。

DDE_ENABLE (関数)

Creo Elements/Direct Draftingが DDEサーバとして動作し、DDEクライアントからの要求に対応します。

DDE_EXECUTE (算術関数)

特定の対話ハンドルで指定されたアプリケーションにコマンド文字列を送

ります。

DDE_INITIATE (算術関数)

特定のアプリケーションと特定の項目について DDE対話を開始します。以降の DDEコマンドに使用する対話ハンドルを返します。

DDE_REMOVE_TOPIC (関数)

認識された DDE項目のリストから指定の項目文字列を削除します。

DDE_REQUEST (算術関数)

166 Creo Elements/Direct Drafting Writing Macros日本語版

Page 167: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

リモート DDEアプリケーションに、指定のデータ項目の文字列値を要求します。

DDE_SEND_ACK (算術関数)

特定の対話ハンドルに対する DDEの承認メッセージを転送します。

DDE_WITHHOLD_ACK (算術関数)

アクションテキストを実行した後、DDEの承認メッセージの転送を禁止します。代わりに、アクティブな DDE対話ハンドルが返されます。

DEFINE (関数)

指定した名前を持つマクロを定義します。

DEFINE_CATALOG (関数)

CATALOGファンクションによってプリントするための情報を定義します。

DEFINE_FONT (関数)

新しいフォントを定義します。

DEFINE_KEY (関数)

指定したファンクションキーのファンクションを定義します。そのような

キーは、"ホット"キー、"スマート"キー、または "ソフト"キーと呼ばれます。

DEFINE_MOUSE_KEY (関数)

マウスキー 1、2、3を定義します。

DELETE (コマンド)

選択した要素を削除します。

DELETE_CURRENT_INFO (関数)

現在の属性情報を削除します。

DELETE_DIMENSION (コマンド)

寸法線を削除します。

DELETE_DIM_POSTFIX (コマンド)

識別された接尾記号を削除することを可能にします。

DELETE_DIM_PREFIX (コマンド)

コマンドおよびファンクションの概説 167

Page 168: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

識別された寸法値の接頭記号を削除することを可能にします。

DELETE_DIM_SUBFIX (コマンド)

寸法値の下接記号を削除します。

DELETE_DIM_SUPERFIX (コマンド)

寸法値の上接記号を削除します。

DELETE_DIM_TOLERANCE (コマンド)

選択した寸法値の許容差を削除することを可能にします。

DELETE_ELEM_INFO (コマンド)

選択した要素のすべての属性情報を削除します。

DELETE_FONT (関数)

指定したフォントの定義を削除します。

DELETE_HATCH (コマンド)

選択したハッチを削除します。

DELETE_LABEL (コマンド)

アクティブパーツから LABELコマンドによって生成されるすべてのラベル情報を削除します。

DELETE_LTAB_ROW (関数)

ユーザテーブルから指定した行を削除します。

DELETE_MACRO (関数)

指定したマクロあるいはすべてのマクロを削除します。

DELETE_MENU (関数)

スクリーンメニューの定義を削除します。

DELETE_TABLE (コマンド)

機密保護されていない既存のテーブルを削除します。

DELETE_VIEWPORT (関数)

指定したビューポートを削除します。

DIM_ANGLE (コマンド)

角度の寸法線を作成します。

168 Creo Elements/Direct Drafting Writing Macros日本語版

Page 169: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

DIM_ARC (コマンド)

円弧の寸法線を作成します。

DIM_ARROW (関数)

端末記号のタイプを指定します。

DIM_BREAK_RESTORE (関数)

修正後の寸法線と補助線を設定します。

DIM_BROKEN (関数)

寸法テキストが寸法補助線の内側にフィットしない場合、どのように寸法

線を描くかを指定します。

DIM_CATCH_LINES (関数)

選択可能な寸法要素を設定します。

DIM_CATCH_RANGE (関数)

寸法テキストのキャッチ範囲を寸法補助線の中央へ指定します。

DIM_CHAIN (コマンド)

直列寸法線を作成します。

DIM_CHAMFER (関数)

JISの面取り寸法線を作成することを可能にします。

DIM_COLOR (関数)

寸法補助線および寸法線のカラーを設定します。

DIM_CONVERT_UNIT (コマンド)

寸法値の単位を指定します。

DIM_COORD (コマンド)

座標寸法線を作成します。

DIM_CURSOR_POSITION (関数)

寸法線を配置するときのカーソルの位置を指定します。

DIM_DATUM (コマンド)

寸法線の位置を指定します。

DIM_DATUM_LONG (コマンド)

コマンドおよびファンクションの概説 169

Page 170: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

ベースラインが長い並列寸法線を作成します。

DIM_DATUM_SHORT (コマンド)

ベースラインが短い並列寸法線を作成します。

DIM_DATUM_STEP (関数)

並列寸法の寸法線の間のスペースを指定します。

DIM_DEC_PLACE (関数)

寸法値の小数点以下の桁数を指定します。

DIM_DEG_MIN_SEC (関数)

寸法値の度数 (分/秒数)を指定します。

DIM_DIAMETER (コマンド)

直径寸法線を作成します。

DIM_DIAMETER_LINE (関数)

直径線を指定します。

DIM_EXTENSION_LENGTH (関数)

矢印と寸法補助線の端の間の現在の長さを設定します。

DIM_FONT (関数)

寸法値のフォントを指定します。

DIM_FORMAT (関数)

寸法線の線および角度の単位の指定を可能にします。

DIM_FRAME (関数)

寸法テキストが、フレームを持つかどうかを指定します。

DIM_FT_INCH_SIGN (関数)

フィート/インチを指定します。

DIM_LINE (コマンド)

単線の寸法線を作成します。

DIM_LINEWIDTH (関数)

寸法線および寸法補助線のペンサイズを設定します。(DIM_PENSIZEと同じ)

170 Creo Elements/Direct Drafting Writing Macros日本語版

Page 171: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

DIM_PENSIZE (関数)

寸法線および寸法補助線のペンサイズを設定します。

DIM_LINES_COLOR (関数)

寸法線の色を指定します。

DIM_MIN_SPACE (関数)

図形と寸法線の間のスペースの現在の最小値を設定します。

DIM_NUMBER_FORMAT (関数)

寸法値の書式を設定します。

DIM_OFFSET_LINE (関数)

寸法線からの寸法補助線のオフセットを指定します。

DIM_OFFSET_POINT (関数)

図形からの寸法補助線のオフセットを指定します。

DIM_POSTFIX (関数)

寸法テキストに接尾記号の文字列を加えることを可能にします。

DIM_PREFIX (関数)

寸法テキストに接尾記号の文字列を加えることを可能にします。

DIM_RADIUS (コマンド)

半径寸法線を作成します。

DIM_RADIUS_LINE (関数)

半径寸法線を ON/OFFに設定します。

DIM_SCALE (関数)

寸法尺度を指定します。

DIM_SELECT_BY_TEXTBOX (コマンド)

ボックス選択での寸法の選び方を設定します。

DIM_STAGGER_RESTORE (関数)

修正後の寸法線と補助線を設定します。

DIM_SUBFIX (関数)

寸法テキストに下接記号文字列を追加することを可能にします。

コマンドおよびファンクションの概説 171

Page 172: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

DIM_SUPERFIX (関数)

寸法テキストに上接記号文字列を追加することを可能にします。

DIM_TEXT_COLOR (関数)

寸法テキストの色を指定します。

DIM_TEXT_FRAME_COLOR_MODE (関数)

寸法値枠の色が、寸法テキストのメインカラーか寸法線の色のどちらに依

存するかを指定します。

DIM_TEXT_GAP (関数)

寸法線が切断されて、寸法値の挿入が可能な場合、寸法テキストと寸法線

間のカレントギャップを設定します。

DIM_TEXT_HOLE (コマンド)

選択した寸法テキスト用の既存のハッチに穴を作成します。

DIM_TEXT_LOCATION (関数)

カレントテキストの寸法値の位置を寸法線の上にするか寸法線の下にする

かを指定します。鉛直寸法線では、「下」は、図形の近くを意味します。

DIM_TEXT_ORIENTATION (関数)

寸法テキストの現在の向きを示します。

DIM_TEXT_RATIO (関数)

寸法テキストの比率を指定します。

DIM_TEXT_SIZE (関数)

寸法テキストのサイズを指定します。

DIM_TEXT_SPACE (関数)

寸法テキストが寸法線の上あるいは下に置かれるときに、テキストと線の

間のスペースを指定します。

DIM_TOLERANCE (関数)

現在の許容差のタイプを指定します。

DIM_UNDERLINE_EDITED (コマンド)

編集された寸法値に下線を付けます。

DIM_UNITS (関数)

172 Creo Elements/Direct Drafting Writing Macros日本語版

Page 173: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

寸法単位を指定します。

DIM_UPDATE (コマンド)

寸法線の構成要素の検索、マーキング、および処理に使用します。寸法線

の外観は、再計算が行われた後で変更されます。

DISPLAY (関数)

トークンを評価し、コマンドラインに結果を表示します。その後、ユーザ

は任意のキーを押すかまたは任意の点をディジタイズしなければなりませ

ん。

DISPLAY_LIST (関数)

選択したビューポートに対して、表示リストの使用を設定/解除します。

DISPLAY_NO_WAIT (関数)

トークンを評価し、コマンドラインに結果を表示します。ユーザは何もす

る必要はありません。

DIV (算術関数)

小数部を切り捨てた整数の割り算

DOTTED (関数)

指定省略時の線種を点線にします。

DOT_CENTER (関数)

指定省略時の線種を dot_centerにします。

DOT_GRID (関数)

指定したビューポートにおける点のグリッドをオン/オフにします。

DRAWING_SCALE (コマンド)

プロッタ用紙に関して指定した係数で図形を拡大します。

DRAW_CURR_PART_ON_TOP (関数)

カレントパーツの再描画を制御します (トップまたは zレベル)。

DUMP_SCREEN (関数)

指定したファイルへグラフィックの出力内容をダンプします。

DUMP_SCREEN_DEFAULTS (関数)

DUMP_SCREENファンクションのパラメータを設定します。

コマンドおよびファンクションの概説 173

Page 174: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

DUMP_SCREEN_LANG (関数)

DUMP_SCREENファンクション用のプリンタ言語を選択することを可能に

します (DUMP_SCREEN参照)。

ECHO (関数)

ECHOファイルをオープンあるいはクローズします。

EDIT_CURRENT_INFO (関数)

カレント情報を編集することを可能にします。その情報はすべての新しい

要素に割り当てられます。

EDIT_DIM_POSTFIX (コマンド)

選択した寸法テキストで、接尾記号を編集することを可能にします。

EDIT_DIM_PREFIX (コマンド)

選択した寸法テキストで、接頭記号を編集することを可能にします。

EDIT_DIM_SUBFIX (コマンド)

指定した寸法テキストで、下接記号を編集することを可能にします。

EDIT_DIM_SUPERFIX (コマンド)

指定した寸法テキストで、上接記号を編集することを可能にします。

EDIT_DIM_TEXT (コマンド)

選択した寸法テキストを編集することを可能にします。

EDIT_DIM_TOLERANCE (コマンド)

選択した寸法テキストの許容差を編集することを可能にします。

EDIT_ELEM_INFO (コマンド)

指定した要素の情報を編集することを可能にします。

EDIT_ENVIRONMENT (関数)

現在の環境を設定するコマンドのリストを編集することを可能にします。

環境は、単位、指定省略時の寸法線、ハッチングパターンなどからなりま

す。

EDIT_FILE (関数)

内蔵のテキストエディタで指定したファイルを編集することを可能にしま

す。

174 Creo Elements/Direct Drafting Writing Macros日本語版

Page 175: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

EDIT_MACRO (関数)

内蔵のテキストエディタで指定したマクロを編集することを可能にしま

す。

EDIT_PART (コマンド)

指定したパーツをアクティブパーツにします。

EDIT_PORT (関数)

組み込み式のスクリーンエディタで使用するビューポートを指定します。

EDIT_TEXT (コマンド)

指定したテキストを編集することを可能にします。

ELLIPSE (マクロ)

楕円に近いスプラインを描きます。

ELSE (疑似コマンド)

条件付き演算子

ELSE_IF (疑似コマンド)

条件付き演算子

ENABLE_BREAK (関数)

中断操作を指定省略時の設定にリセットします (BREAKを押すとマクロの実行に割り込みがかかります)。

END (コマンド)

現在のコマンドまたはファンクションを終了します。

END_DEFINE (疑似コマンド)

マクロ定義の終わりを示します。

END_IF (疑似コマンド)

「IF文」の終わりを示します。

END_LOOP (疑似コマンド)

マクロ内のループの終わりを示します。

END_PART (コマンド)

EDIT_PART PARENTと同じです。

コマンドおよびファンクションの概説 175

Page 176: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

ENTER (関数)

トークンを評価します。結果は、コマンドラインに表示されます。

EQUIDISTANCE (コマンド)

同じ長さの輪郭線を作成します。

ERROR_LOG (関数)

システムが生成した警告メッセージやエラーメッセージを内部メモリに格

納します。

ERROR_STR (算術関数)

TRAP_ERRORによってエラートラッピングが設定された後でシステムが

最初に生成したエラーメッセージを表示します。

EXIT (コマンド)

セッションを終了します。コントロールは、ホストオペレーティングシス

テムに戻ります。予期せずに終了することを避けるために CONFIRMで確

認しなければなりません。

EXIT_IF (疑似コマンド)

ループの終了を示す条件付きの文

EXOR (算術関数)

排他的論理和。(2つの内) 1つの引数だけが 0ならば、1を返します。その他の場合は 1を返します。

EXP (算術関数)

定数 e (2.718...)のべき乗を戻します。

FALSE (算術関数)

0を戻します。

FBROWSER (関数)

ファイル一覧機能

FILLET (コマンド)

与えられた半径を持つフィレットを作成します。

FOLLOW (関数)

最後の入力点を座標系の原点とします。

176 Creo Elements/Direct Drafting Writing Macros日本語版

Page 177: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

FONT_EDITOR (コマンド)

Creo Elements/Direct Draftingのフォントを作成および変更します。

FRACT (算術関数)

引数の小数部分を返します。

GATHER (コマンド)

既存の要素をアクティブパーツへ移動します。

GET_ELEM_INFO (関数)

カレント情報を選択した要素の情報と同じものに変更します。

GET_PID (算術関数)

実行されているプログラムのプロセス IDを表示します。

GET_PROPERTIES (関数)

現在の特性を選択した要素の特性と同じものに変更します。

GET_TYPE (関数)

指定したトークンのタイプを戻します。TYPEコマンドを強化したものです。

GREEN (関数)

指定省略時の色を緑に切り替えます。

GRID_FACTOR (関数)

グリッドの 2点間の距離またはルーラの目盛の間隔を指定します。

HATCH (コマンド)

ハッチを作成します。

HATCH_ANGLE (関数)

現在のハッチの角度を設定します。

HATCH_COLOR (関数)

現在のハッチのカラーを設定します。

HATCH_DIST (関数)

現在のハッチの距離を設定します。

HATCH_LINETYPE (関数)

コマンドおよびファンクションの概説 177

Page 178: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

現在のハッチの線種を設定します。

HATCH_REF_PT (関数)

現在のハッチの基準点を設定します。

HELP (関数)

必要なキーワードを記述する HELPファイルのセクションを表示します。

HELP_PORT (関数)

HELPファンクションによって使用されるビューポートを定義します。

HIGHLIGHT_LTAB (関数)

名前を持つユーザテーブルのデータ領域内で指定された位置のハイライト

表示形態を変更します。

HL_CHANGE_COLOR (マクロ)

HL_GENERATE_HIDDENコマンドが計算したすべての隠線のカラーを変更

します。

HL_CHANGE_LTYPE (マクロ)

HL_GENERATE_HIDDENコマンドが計算したすべての隠線の線種を変更し

ます。

HL_DEFAULT_FACE_COLOR (関数)

指定省略時の面の色を指定します。

HL_DELETE_FACE (コマンド)

カバーしている面を削除します。選択した面は、カレントパーツ内になけ

ればなりません。

HL_GENERATE_FACE (コマンド)

カバーしている面を指定します。面は、それより低い Z値を持つ図形をすべて隠します。

HL_GENERATE_HIDDEN (コマンド)

隠線生成モードへ移行します。

HL_GEN_ALL_PART (コマンド)

すべてのパーツに対して z値の設定と面の作成を指定します。

HL_INQ_CURR_Z_VALUE (関数)

178 Creo Elements/Direct Drafting Writing Macros日本語版

Page 179: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

デフォルトで新たに作成された各構成要素へ割り当てた現在の z値を返します。

HL_INQ_FACE_COLOR (関数)

指定した面の RGBカラー値を返します。

HL_INQ_LOAD_OFFSET (関数)

z方向におけるロードオフセットの値を返します。

HL_INQ_LOAD_VALUE (関数)

ロード値/オフセットを指定したときのモード、あるいはそれらの値そのものを返します。

HL_INQ_RELATION_OFFSET (関数)

z方向における現在の関係オフセットを返します。

HL_INQ_Z_VALUE (関数)

指定した要素の z値、または完全なアセンブリの z値の最小値または最大値を返します。

HL_REDRAW_MODE (関数)

Creo Elements/Direct Draftingノーマル再描画モードおよび隠線再描画モードのトグルスイッチの切り替えをします。

HL_SET_COLOR (関数)

隠線のカラーを設定します。

HL_SET_CURR_Z_VALUE (関数)

デフォルトで新たに作成された各構成要素へ割り当てられる z値を定義します。

HL_SET_FACE_COLOR (コマンド)

カバーされた面の背景色を設定あるいは変更します。

HL_SET_KEEP_COLOR (関数)

隠線の作成時、要素のカラーの設定を保持するかどうか定義します。

HL_SET_LINETYPE (関数)

隠線の線種を設定します。

HL_SET_LOAD_VALUE (関数)

コマンドおよびファンクションの概説 179

Page 180: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

z方向にロードオフセットを定義します。

HL_SET_RELATION_OFFSET (関数)

ほかの要素に対する ABOVE (上) /BELOW (下) /BETWEEN (中間)の関係を指定する z値を計算するために使用する、z方向のオフセットを定義します。

HL_SET_Z_VALUE (コマンド)

z値の割り当てあるいは変更を行います。

HL_SHOW_HIDDEN (マクロ)

隠線を目で見えるまたは見えない状態にします。

HL_VISUALIZE (関数)

z値を指定して選択した要素を表示したり、特定のレベルの面を異なった色で表示したりすることを可能にします。

HSL_COLOR (関数)

新しい色 (色相、彩度、光度)を設定することを可能にします。

ICONIFY_WINDOW (関数)

Creo Elements/Direct Draftingウィンドウをアイコン化します。

IF (疑似コマンド)

論理式

IGNORE_BREAK (関数)

マクロの設定を無視して、BREAKキーが無効となるようにします。

INIT_PART (コマンド)

アクティブパーツのすぐ下に新しい空のパーツを作成します。この新しい

パーツはアクティブになります。

INIT_SUBPART (コマンド)

アクティブパーツのすぐ下に新しい空のパーツを作成します。この新しい

パーツはアクティブになります。

INPUT (関数)

180 Creo Elements/Direct Drafting Writing Macros日本語版

Page 181: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

キーボードまたはマウスによる入力ストリームを、指定したテキストファ

イルによる入力ストリームへ一時的に変更します (マクロの中で INPUTコ

マンドを使用する場合、修飾子 IMMEDIATEを付けて使用する必要があり

ます。37ページの「INPUT」も参照してください)。

INQ (算術関数)

システム配列の要素を返します。これらの値は、INQ_ELEMまたは INQ_ENVを使用して設定できます。

INQ_ELEM (関数)

指定した要素についての情報をシステム配列に書き込みます。この情報

は、INQを使用して引き出せます。

INQ_ENV (関数)

システム環境についての情報をシステム配列に書き込みます。この情報

は、INQを使用して引き出せます。

INQ_PART (関数)

パーツの倍率についての情報をシステム配列に書き込みます。この情報

は、INQを使用して引き出せます。

INQ_SELECTED_ELEM (関数)

指定した要素についての情報をシステム問い合わせ配列に書き込みます。

その後、INQによって検索可能になります (INQを参照してください)。

INQ_TABLE (関数)

指定したテーブルについての情報を入手することを可能にします。

INSERT_LTAB_ROW (関数)

指定したユーザテーブルに行を挿入します。

INT (算術関数)

引数の整数部分を返します。たとえば、INT(PI)は 3です。

ISOMETRIC (コマンド)

アイソメ図を作図することを可能にします。

KEEP_CORNER (関数)

OFFでは、コーナーとフィレットまたはコーナーと面の間の線または円弧を削除します。ONでは、コーナー機能はコーナーを残します。

コマンドおよびファンクションの概説 181

Page 182: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

KNOB_BOX_FACTOR (関数)

ノブの感度を指定します。

LABEL (コマンド)

アクティブパーツの選択した点、線、円弧および円に対してラベル情報を

生成します。

LAST_POSTFIX (関数)

最後に使用した接尾記号を現在の接尾記号として使用可能にします。

LAST_PREFIX (関数)

最後に使用した寸法値の接頭記号を現在の寸法値の接頭記号として使用可

能にします。

LAST_SUBFIX (関数)

最後に使用した下接記号をカレントの下接記号として使用することを可能

にします。

LAST_SUPERFIX (関数)

最後に使用した上接記号をカレントの上接記号として使用することを可能

にします。

LAST_TOLERANCE (関数)

最後に使用した許容差を現在の許容差に設定します。

LAST_WINDOW (関数)

カレントビューポートの最後のウィンドウを再呼び出しします。

LEADER_ARROW (関数)

新しい引き出し線に使用される終点記号を指定します。

LEADER_LINE (コマンド)

引き出し線を作成します。

LEN (算術関数)

文字列の引数では、文字列の長さを返します。ベクトルの引数では、原点

から引数の点までのベクトルの長さを返します。

LET (関数)

マクロまたは変数を定義します。

182 Creo Elements/Direct Drafting Writing Macros日本語版

Page 183: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

LG (算術関数)

引数の小数点対数 (基数 10)を返します。

LINE (コマンド)

線を作成します。

LINEPATTERN (関数)

カレントアクティブコマンドで作図される図形要素の現在の線種を指定し

ます。

LINESIZE (関数)

下書き図形または点以外の、あらゆる新規図形の現在の線サイズを指定し

ます。

LINETYPE (関数)

現在の線種を指定します。

LINEWIDTH (関数)

下書き図形または点以外の、あらゆる新規図形の現在のペンサイズを指定

します。(PENSIZEと同じ)

LINE_GRID (関数)

ライングリッドをオンまたはオフにします。

LIST_FONTS (関数)

定義しているすべてのフォントおよび使用しているすべてのフォントのリ

ストを表示します。同様にカレントフォントのファイル名を表示します。

LIST_GLOBAL_INFO (関数)

メモリ内のすべての要素が使用するすべての情報をリストします。

LIST_MACRO_NAMES (関数)

現在定義されているすべてのマクロ名を指定した宛先へ出力します。

LN (算術関数)

引数の自然対数 (基数が eの対数)を戻します。

LOAD (コマンド)

指定したファイルからのパーツをメモリへロードします。

LOAD_FONT (コマンド)

コマンドおよびファンクションの概説 183

Page 184: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

指定したファイルに格納されたすべてのテキストフォントをメモリへロー

ドします。

LOAD_MACRO (関数)

指定したファイルに格納されたすべてのマクロをメモリへロードします。

LOAD_MODULE (コマンド)

指定したアプリケーションモジュールをアクティブにします。

LOCAL (疑似コマンド)

マクロ内のローカル変数を定義します。

LONG_DASHED (関数)

指定省略時の線種を long_dashedに切り替えます。

LOOP (疑似コマンド)

EXIT_IF節の論理式が真であると判定されるまでループが繰り返されるよう定義します。

LOWER_WINDOW (関数)

Creo Elements/Direct Draftingウィンドウが、Windows®デスクトップのその他のウィンドウの下に移動します。

LTAB_COLUMNS (算術関数)

名前を持つ論理テーブルの列数を表示します。

LTAB_ROWS (算術関数)

名前を持つ論理テーブルの行数を表示します。

LTAB_TITLES (算術関数)

名前を持つ論理テーブルのタイトル文字数を表示します。

LWC (算術関数)

小文字。大文字を小文字に変換します。

MAGENTA (関数)

指定省略時の線色を紫色に設定します。

MAKE_TMP_NAME (算術関数)

一時的に使用する一意のファイル名が戻されます。

184 Creo Elements/Direct Drafting Writing Macros日本語版

Page 185: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

MATCH (算術関数)

最初の文字列が指定されたパターン (2番目の文字列)と一致する場合は 1を返し、一致しない場合は 0を返します。

MAX_FEEDBACK (関数)

MODIFYおよび STRETCHでトラッキングする要素の数を指定します。

MEASURE_ANGLE (関数)

指定した 2つの要素間の角度を測定します。

MEASURE_AREA (関数)

指定した円、円弧、スプラインあるいはフィレットで囲まれたエリアを測

定します。

MEASURE_COORDINATE (関数)

選択した点の座標を測定します。

MEASURE_DISTANCE (関数)

指定した 2点間の距離を測定します。

MEASURE_LENGTH (関数)

指定した線、円、円弧、フィレットあるいはスプラインの長さを測定しま

す。

MEASURE_RADIUS (関数)

指定した円、円弧、あるいはフィレットの半径を測定します。

MENU (関数)

スクリーンメニュースロットの表示およびファンクションを定義します。

MENU_LAYOUT (関数)

スクリーンメニューの形状および位置を定義します。

MENU_STATUS (関数)

スクリーンメニューのステータスを定義します。

MERGE (コマンド)

2つの要素を 1つの要素に併合します。

MIRR (算術関数)

コマンドおよびファンクションの概説 185

Page 186: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

鉛直対称線に関するベクトルの鏡像を返します。

MOD (算術関数)

除算の余りを戻します。

MODIFY (コマンド)

オプションMOVE、MIRROR、SCALE、SIMILARあるいは AFFINEで要素を編集します。

MODIFY_DIM_LINES (コマンド)

既存の寸法線および寸法補助線を破断します。

MOVE_DIMENSION (コマンド)

選択した寸法線を移動します。

MOVE_TABLE (関数)

指定したスクリーン位置へ既存のテーブルを移動します。移動に関する保

護がされていないテーブルのみ、再移動できます。

NEW_SCREEN (関数)

スクリーン全体を再表示します。

NOT (算術関数)

引数が 0ならば 1、その他の場合は 0を返します。

NUM (算術関数)

文字列の先頭の ASCII文字に等しい 10進数を返します。たとえば、NUM('hullo')は 104です。

ON_ERROR (関数)

指定した文字列が、次のエラー発生時に入力するものとして使用されま

す。

OPEN_INFILE (関数)

READ_FILEファンクションを使用し、名前付きファイルをオープンして

読み取ります。

OPEN_OUTFILE (関数)

WRITE_FILEファンクションを使用し、名前付きファイルをオープンし

て書き込みを行います。

186 Creo Elements/Direct Drafting Writing Macros日本語版

Page 187: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

OR (算術関数)

両引数が 0でなければ 1、その他の場合は 0を返します。

ORIGIN (関数)

指定したビューポートで、入力座標系の原点のシンボルをオフ/オンにします。

OUTPUT_HP15 (関数)

漢字テキストの出力モードを HP15コードに切り替えます。

OUTPUT_HP16 (関数)

OUTPUT_HP16は漢字テキストの出力モードを HP16コードに切り替えます。

OUTPUT_STRING (関数)

|文字列|の内容を出力デバイスに書き込みます。

OVERDRAW (コマンド)

下書き図形の上書きに使います。このコマンドによって、上書きマクロの

内容が置き換わります。

PARAMETER (疑似コマンド)

マクロ定義において、マクロパラメータを示すために使用します。

PART_DRW_SCALE (コマンド)

指定したパーツの作図尺度を定義することを可能にします。

PART_DRW_SCALE_REF (関数)

パーツが拡大/縮小されるときの基準点を指定することを可能にします。

PARTS_LIST (関数)

"."で始まらない名前のアクティブパーツ内のパーツを示します。各パーツが使われている回数を示します。

PASSWORD (関数)

設定したパスワードをシステムに入力するために使用します。

PENSIZE (関数)

下書き図形または点以外の、あらゆる新規図形の現在のペンサイズを指定

します。

コマンドおよびファンクションの概説 187

Page 188: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

PHANTOM (関数)

現在のハッチングの線種を phantomに設定します。

PI (算術関数)

πの値 3.14159265358979を返します。

PICK_UTAB_ROW_BY_NAME (関数)

このファンクションは寸法アドバイザモジュールの画面インターフェイス

用です。コマンド行では使わないでください。

PICK_VP_PNT (関数)

番号とビューポート名で定義した特定のビューポートにおける対話形式の

選択操作をエミュレートします。

PICTURE_BROWSER (関数)

画像一覧ウィンドウが表示されます。

PICTURE_LIST (関数)

現在のセッションにロードされた pixmapのリストを表示します。

PLOT (コマンド)

図面をプロットします。

PLOTTER_TYPE (関数)

現在接続されているプロッタのタイプを指定します。

PLOT_AUTO_ROTATE (関数)

特定のラスタプロッタのファームウェアの一部である自動回転機能を解除

することを可能にします。

PLOT_CENTER (関数)

プロッタビューポートの中心に図面を置くかどうか指定します。

PLOT_DESTINATION (関数)

プロット先を指定します。

PLOT_FORMAT (関数)

最大のプロット範囲 (ハードのリミット)を定義します。

PLOT_IMAGE_QUALITY (関数)

188 Creo Elements/Direct Drafting Writing Macros日本語版

Page 189: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

カラーパレット、解像度、スケールなどを定義します。

PLOT_LINETYPE_LENGTH (関数)

各線種のパターンの長さを指定します。

PLOT_PEN_TABLE (関数)

プロッタペンおよびプロッタの線種に対する線種および色の割り当てをコ

ントロールします。

PLOT_SCALE (関数)

プロットされる以前に図面の倍率を指定します。

PLOT_STOP_ON_ERROR (関数)

図面がプロット領域にフィットしない場合のプロットの動作を制御しま

す。

PLOT_TRANSFORMATION (関数)

プロットの間のある要素の変換 (mapping)を定義します。

PLOT_VIEWPORT (関数)

PLOT_FORMATにより指定された最大のプロットエリア中にプロッタ

ビューポートを位置付けします。

PNT_RA (算術関数)

長さおよび角度を与え、2次元の点を返します。

PNT_XY (算術関数)

xおよび y座標を与え、2次元の点 (ベクトル)を返します。

PNT_XYZ (算術関数)

x、yおよび z座標を与え、3次元の点 (ベクトル)を返します。

POINT (コマンド)

点要素を作成します。

POLYELEM (コマンド)

既存の要素から連結線を作成します。連結線は単一の要素として扱い、必

要に応じて修正できます。

POP_DOWN_LTAB (関数)

名前を持つ論理テーブルを「ポップダウン」します。

コマンドおよびファンクションの概説 189

Page 190: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

POP_UP_LTAB (関数)

名前を持つ論理テーブルを「ポップアップ」します。

POS (算術関数)

文字列中の副文字列の最初の位置を返します。

PRE_VIEW (コマンド)

図面をロードする前にプレビューできます。

PRINT_TABLE (関数)

ファイル内の画面テーブルをプリントします。

PROMPT_LIST (関数)

システムメモリ内に最大 500のシステムプロンプトを格納します。

PURGE_FILE (関数)

ディスクから指定したファイルを削除します。

PUT_PROPERTIES (コマンド)

選択した要素の属性をそのときの属性に変更します。

RAC_CHECK (コマンド)

Creo Elements/Direct Modelingからの新しいレイアウトデータを、このレイアウトの古いバージョンに追加されたドキュメンテーションデータととも

に更新します。

RAISE_WINDOW (関数)

Creo Elements/Direct Draftingウィンドウが、Windows®デスクトップのその他のウィンドウの最上位に移動します。

RC_ACCURACY (関数)

2つのMIファイルを比較するときの精度を指定します。

RC_CHECK (コマンド)

2つのパーツとそれに関連するすべての子パーツを比較し、比較した結果をパーツ要素の属性情報テキストとして格納します。

READ (関数)

コマンドラインからユーザの入力したものを受け取り、データを変数へ割

り当てます。

190 Creo Elements/Direct Drafting Writing Macros日本語版

Page 191: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

READ_FILE (関数)

指定したファイルからテキストを 1行読み取り、指定した変数へ文字列を割り当てます。

READ_LTAB (算術関数)

名前を持つ論理テーブルに値を返します。

RECALL_BUFFER (関数)

最大 63の入力行を格納します。これらの行は、[Prev]および [Next]

キーを使用して再使用が可能です。

RECALL_WINDOW (関数)

カレントビューポートのウィンドウを、STORE_WINDOWを使用して格納

するウィンドウに変更します。

RED (関数)

指定省略時の線色を赤に設定します。

REDRAW (関数)

カレントビューポートの内容を再表示します。

REDRAW_SCENE (関数)

画像ビューポートを再描画します。

RENAME_ELEMENT (コマンド)

要素の名前変更またはコピーを行います (あらゆるリビジョンおよびバージョンを含む)。

RENAME_PART (コマンド)

アクティブパーツの名前を変更します。

RENOVATE (関数)

選択したビューポートの内容を再び呼び出します。

REPEAT (疑似コマンド)

UNTIL節の論理式が真であると判定されるまでループが繰り返されるよ

う定義します。

REQUEST_PRINT_SETUP (関数)

コマンドおよびファンクションの概説 191

Page 192: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

Windowsのプリントマネージャが、プロットや画面のダンプが送られてきたとき常にプリントマネージャのダイアログを出すかどうかを設定しま

す。

RESET_PART_NUMBER (コマンド)

TOPパーツから開始するパーツ番号 (ID)をすべて別の新しい番号に変更します。

RESTORE (コマンド)

「ソース」からアーカイブされた要素と関連ファイルを、データベース上

に復元します。

RGB_COLOR (関数)

新しい色 (赤、緑、青)を指定することを可能にします。

RND (算術関数)

0 < = X < 1の範囲の疑似乱数 Xを返します。

ROT (算術関数)

原点を中心に与えられた角度だけ回転した点 (ベクトル)を返します。

ROTATE_DIM_TEXT (コマンド)

選択した寸法テキストを指定した角度だけ回転します。

ROUND (算術関数)

引数を最も近い整数に四捨五入して返します。たとえば、ROUND(4.4999)は、4となります。

RPT (算術関数)

文字列のコピーを必要な数だけ返します。

RTL_COLOR (コマンド)

参照線の色を設定します。

RTL_DST_GAP (コマンド)

(宛先の)参照線の間隔を設定します。

RTL_LINETYPE (コマンド)

参照線の線種を設定します。

RTL_LINEWIDTH (コマンド)

192 Creo Elements/Direct Drafting Writing Macros日本語版

Page 193: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

参照線のペンサイズを設定します。(RTL_PENSIZEと同じ)

RTL_PENSIZE (コマンド)

テキスト参照線のペンサイズを設定します。

RTL_SRC_GAP (コマンド)

(ソースの)参照線の間隔を設定します。

RULER (関数)

指定したビューポートのルーラをオン/オフにします。

RUN (関数)

オペレーティングシステムのシェルプロンプトへ返します。

SAVE (コマンド)

メモリ内の図面を指定したファイルへ格納します。

SAVE_ENVIRONMENT (関数)

指定した宛先へ環境情報を出力します。

SAVE_FONT (関数)

すべてのフォント、または指定したフォントを指定したファイルへ格納し

ます。

SAVE_LTAB (関数)

名前を持つ論理テーブルを出力先に格納します (詳細については、OUTPUT_SPECのヘルプを参照)。

SAVE_MACRO (関数)

指定したマクロ、またはすべてのマクロを指定した宛先に出力します。

SAVE_MENU (関数)

そのときのスクリーンメニューの定義を指定した宛先に出力します。

SAVE_TABLE (関数)

ファイルで初期設定した画面テーブルを格納します。

SAVE_VIEWPORT (関数)

そのときのビューポートの定義を指定した宛先に出力します。

SCREEN_TRANSFORMATION (関数)

コマンドおよびファンクションの概説 193

Page 194: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

再描画の間の要素のマッピングを定義します。

SCROLL_LTAB (関数)

指定した行がディスプレイの 1行目になるように、指定の論理テーブルに接続した表示テーブルをスクロールします。

SEARCH (コマンド)

検索リスト内のディレクトリを指定します。

SECURE_LTAB (関数)

指定したユーザテーブルを保護します。保護されたユーザテーブルは削除

できません。

SECURE_MACRO (関数)

マクロが、リスト、編集、格納、またはトレースできないようにします。

SECURE_TABLE (関数)

画面テーブルが削除されないよう保護します。保護した後で、テーブルを

削除あるいは、再定義することはできません。

SELECT_DIM_ARROW (関数)

現在の寸法線の終了を指定します。

SELECT_FROM_LTAB (関数)

ソーステーブル上での選択操作を実行できるようにします。

SGN (算術関数)

引数が負の数である場合は -1、0である場合は 0、正の数である場合は 1を戻します。

SHARE_PART (コマンド)

指定したパーツを共有できるようにします。

SHOW (関数)

要素を、オンあるいはオフに選択します。異なるカラーで要素を示しま

す。ボックスとしてアウトラインのみを示します。

SHOW_CPOLY (関数)

B-スプラインの制御連続線を示します。

SHOW_PART (関数)

194 Creo Elements/Direct Drafting Writing Macros日本語版

Page 195: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

パーツがカレントビューポートに表示される方法を変更します。

SHOW_TABLE (関数)

既存のテーブルを表示あるいは消去します。

SHOW_TABLE_PAGE (関数)

指定した表示テーブルに対応した検索ページを表示します。

SIN (算術関数)

引数の正弦 (サイン)値を戻します。

SL_COLOR (コマンド)

対称線の色を設定します。

SL_LINETYPE (コマンド)

対称線の線種を設定します。

SL_LINEWIDTH (コマンド)

対称線のペンサイズを設定します。(SL_PENSIZEと同じ)

SL_PENSIZE (コマンド)

対称線のペンサイズを設定します。

SL_OFFSET (コマンド)

対称線の間隔を設定します。

SMASH_POLY (コマンド)

多角形を単一要素に分割することを可能にします。

SMASH_SUBPART (コマンド)

選択したパーツの要素すべてをアクティブパーツに移して、子パーツを削

除します。選択したパーツは、アクティブパーツの子パーツでなければな

りません。

SNID (算術関数)

HP-HIL機密保護装置の製品番号およびシリアル番号を返します。機密保護装置が存在しない場合、コンピュータの製品番号およびシリアル番号を

返します。

SOLID (関数)

指定省略時の線種を solidに設定します。

コマンドおよびファンクションの概説 195

Page 196: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

SORT_LTAB (関数)

指定した列を基準にしてユーザテーブルをソートします。

SPLINE (コマンド)

スプラインを作成します。

SPLINE_CONVERSION (関数)

以前のバージョンのプログラムによって作成されたスプラインを B-スプラインに変換します。

SPLIT (コマンド)

線、円、円弧、フィレット、およびスプラインを分割します。

SPLITTING (関数)

自動分割および連結を、オンとオフで切り替えます。

SPOTLIGHT (関数)

アクティブパーツは、同じ状態を維持します。ほかの図形はすべて、紫色

の点線で再描画されます。

SQR (算術関数)

引数の 2乗を返します。

SQRT (算術関数)

引数の平方根を返します。

STATLINE_RESET (関数)

自動的に解除されたステータスラインを再びアクティブにします。

STORE (コマンド)

指定したファイルへ図面を格納します (MI形式 2.30を使用します)。

STORE_202 (コマンド)

MI形式 2.02で図面を格納します。

STORE_210 (コマンド)

MI形式 2.10で図面を格納します。

STORE_211 (コマンド)

MI形式 2.11で図面を格納します。

196 Creo Elements/Direct Drafting Writing Macros日本語版

Page 197: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

STORE_221 (コマンド)

MI形式 2.21で図面を格納します。

STORE_230 (コマンド)

MI形式 2.30で図面を格納します。

STORE_231 (コマンド)

MI形式 2.31で図面を格納します。

STORE_FONT (関数)

すべてのフォントあるいは指定したフォントをある名前のファイルへ格納

します。

STORE_IN_RECALL_BUFFER (関数)

再呼出バッファに名前を付けてストアします。

STORE_MACRO (関数)

ある名前のマクロあるいはすべてのマクロを指定した宛先に格納します。

STORE_WINDOW (関数)

カレントビューポートのウィンドウの座標を格納します。

STR (算術関数)

引数の ASCII表現を返します。以下に例を示します。

STRETCH (コマンド)

線、円、円弧、スプライン、および引き出し線を伸縮させます。

STRUCTURE (関数)

階層構造を表示するよう問い合わせます。

SUBSTR (算術関数)

文字列の副文字列を返します。

SYMBOL_PART (コマンド)

選択したパーツを、シンボルに変更します。

SYMLINE (コマンド)

対称線を作成します。

TABLE_COLUMN (関数)

コマンドおよびファンクションの概説 197

Page 198: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

保護されてない既存のテーブルのデータ列のセル属性を設定します。

TABLE_LAYOUT (コマンド)

指定した位置に指定した形状の新しいテーブルを作成できるようにしま

す。

TABLE_SCROLL_STEP (関数)

スクロールバーを使用しているときの、画面テーブルのスクロール手順を

設定します。

TABLE_TITLE (関数)

タイトルの変更に対して保護されていない既存のテーブル用のタイトルス

ロットの属性を設定します。

TAN (算術関数)

引数の正接 (タンジェント)を戻します。

TEXT (コマンド)

テキストを作成します。

TEXT_ADJUST (関数)

新しいテキスト用のテキスト原点の位置を指定します。

TEXT_ANGLE (関数)

カレントテキストの角度を指定します。

TEXT_FILL (関数)

キャラクタの塗りつぶしをオンあるいはオフに移します。

TEXT_HOLE_INSERTION (関数)

ハッチング領域にテキストウィンドウを入れます。

TEXT_FRAME (関数)

カレントテキストの枠のタイプを設定します。

TEXT_LINESPACE (関数)

新しいテキスト用に、現在の行間隔を設定します。

TEXT_RATIO (関数)

キャラクタの高さと幅の現在の比率を設定します。

198 Creo Elements/Direct Drafting Writing Macros日本語版

Page 199: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

TEXT_SIZE (関数)

テキストの現在の高さを設定します。

TEXT_SLANT (関数)

テキストの現在の傾きを設定します。

TEXT_TO_GEO (コマンド)

テキストを図形に変換します。

TIME (算術関数)

0時 00分 00秒から現在までに経過した秒数を戻します。

TONE (関数)

周波数、継続時間および、振幅を指定した信号音を発生させます。

TRACE (関数)

TRACEファイルをオープンあるいはクローズします。

TRAP_ERROR (関数)

エラーが発生した場合の対処方法を定義します。TRAP_ERRORファンク

ションを使用しない場合、エラーが発生したときにすべての処理が中止さ

れます。TRAP_ERRORファンクションを使用すると、エラーが発生した

ことが通知されるだけで、処理は中止されません。

TRIM_ONE (コマンド)

1つの要素をトリミングまたは拡大して、ほかの要素と正確に交差することを可能にします。

TRIM_TWO (コマンド)

2つの要素をトリミングまたは拡大して、それらの要素が交差することを可能にします。

TRIM (算術関数)

文字列から先行および後続するブランクを取り除いた文字列を戻します。

TRIMMING (コマンド)

自動トリミング (分割後のスプラインの不可視部分の削除)機能の切り替え。

TRUE (算術関数)

コマンドおよびファンクションの概説 199

Page 200: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

1を戻します。

TRUE_COLOR_PLOTTING (コマンド)

トゥルーカラープロッティングを設定します。

TRUNC (算術関数)

実数の整数部分を返します。

TYPE (算術関数)

指定したトークンのタイプを返します。

TXT_WINDOW (コマンド)

ハッチング領域にテキストウィンドウを指定します。

UA_ANGLE_GRID (関数)

コパイロットによって使用される、角度増減幅を設定します。

UA_CENTER_CATCH_RANGE (関数)

コパイロットが、各線を中心としてキャッチする場合の長さを指定しま

す。

UA_DISTANCE_GRID (関数)

コパイロットが使用する、線の長さの増分値を設定します。

UA_GET_DESIGN_INTENT (算術関数)

Design Intentのオン/オフの状態を返します。

UA_PERPENDICULAR_CATCH_RANGE (関数)

コパイロットが垂直線として線、円、円弧をキャッチする場合の範囲を指

定します。

UA_TANGENT_CATCH_RANGE (関数)

コパイロットが接線として円および円弧をキャッチする場合の範囲を指定

します。

UA_SET_CATCH_DELAY (関数)

コパイロットのキャッチ情報が表示される前に、どれくらいの時間、カー

ソルが静止した状態にあるかを設定します。

UNITS (関数)

距離、および、角度の現在の単位を指定します。

200 Creo Elements/Direct Drafting Writing Macros日本語版

Page 201: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

UNLOAD_MODULE (コマンド)

モジュールをアンロードします。

UNSHARE_PART (コマンド)

共有されたパーツを共有でないパーツに変更できます。

UNTIL (疑似コマンド)

論理式

UPC (算術関数)

小文字を大文字に変換します。

UPDATE_SCREEN (関数)

すべてのデバイスあるいはドライババッファが、スクリーンにフラッシュ

されます。ステータスラインおよびメニューが更新されます。

USE_MULTILINE_HATCH (関数)

距離 0でハッチングする場合に 2つの異なる方法を選択することを可能にします。

VAL (算術関数)

数字文字列を数字に変換します。

VERSION (関数)

CADソフトウェアバージョンに関する情報を表示します。

VIEW (関数)

選択したパーツが、カレントビューポートに表示されるようにします。

WAIT (関数)

指定した秒数の間、システムを一時停止します。

WHILE (関数)

WHILEステートメントに続く論理式が真であるかぎり、次のコードセクションは実行されます。

WHITE (関数)

指定省略時の線色を白に設定します。

WINDOW (関数)

コマンドおよびファンクションの概説 201

Page 202: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

カレントビューポート内に、図面のどの部分を表示するかコントロールで

きるようにします。

WINEXEC (算術関数)

特定のコマンド文字列で指定されたWindowsアプリケーションを起動します。

WRITE_FILE (関数)

行のテキストを指定したファイルへ書き込みます。

WRITE_LTAB (関数)

指定したユーザテーブルに新しい値を書き込みます。

X_OF (算術関数)

ベクトルの X座標を返します。

YELLOW (関数)

Y_OF (算術関数)

ベクトルの Y座標を返します。

Z_OF (算術関数)

ベクトルの Z座標を返します。

202 Creo Elements/Direct Drafting Writing Macros日本語版

Page 203: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

A論理テーブルおよび表示テーブル

論理テーブルおよび表示テーブルとは何か............................................................... 205論理テーブル .......................................................................................................... 205表示テーブル .......................................................................................................... 207表示テーブルを論理テーブルに接続する概念 ........................................................... 208論理テーブルアクセスファンクション ..................................................................... 209LTAB_COLUMNS.................................................................................................... 210LTAB_ROWS.......................................................................................................... 210LTAB_TITLES ......................................................................................................... 211POP_DOWN_LTAB................................................................................................. 211POP_UP_LTAB....................................................................................................... 212READ_LTAB ........................................................................................................... 213SAVE_LTAB............................................................................................................ 214SCROLL_LTAB ....................................................................................................... 215SELECT_FROM_LTAB............................................................................................ 215表示テーブルファンクション................................................................................... 217TABLE_COLUMN ................................................................................................... 218TABLE_LAYOUT..................................................................................................... 221TABLE_TITLE......................................................................................................... 225CHANGE_TABLE_SIZE .......................................................................................... 228CONNECT_TABLE ................................................................................................. 229DELETE_TABLE..................................................................................................... 229MOVE_TABLE ........................................................................................................ 230PRINT_TABLE........................................................................................................ 231SAVE_TABLE ......................................................................................................... 232SECURE_TABLE.................................................................................................... 232SHOW_TABLE ....................................................................................................... 233TABLE_SCROLL_STEP.......................................................................................... 234ユーザテーブルファンクション ............................................................................... 235COLOR_LTAB ........................................................................................................ 236CREATE_LTAB ....................................................................................................... 237DELETE_LTAB ....................................................................................................... 238DELETE_LTAB_ROW ............................................................................................. 238HIGHLIGHT_LTAB .................................................................................................. 239SECURE_LTAB ...................................................................................................... 240SORT_LTAB ........................................................................................................... 240

203

Page 204: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

WRITE_LTAB.......................................................................................................... 241論理テーブルと表示テーブルの使用 -例 1................................................................ 242ユーザテーブルの定義............................................................................................. 243表示テーブルの定義 ................................................................................................ 244表示テーブルとのやり取り ...................................................................................... 245論理テーブルと表示テーブルの使用 -例 2................................................................ 246最初のユーザテーブルおよび表示テーブルの定義..................................................... 2472番目のユーザテーブルおよび表示テーブルの定義 .................................................. 249ユーザテーブルおよび表示テーブルとのやり取り..................................................... 252コメント................................................................................................................. 253

この付録には、論理テーブルおよび表示テーブルを使用するために必要な

情報を記載します。

まず、論理テーブルおよび表示テーブル構造を記述し、表示テーブルを論

理テーブルに接続する概念について説明します。

その後、論理テーブルをアクセスするファンクション、およびユーザテー

ブルを定義し、使用するために必要なコマンドとファンクションについて

説明します。

さらに、表示テーブルの定義および使用のために必要なコマンドおよび

ファンクションについて説明します。

最後に、2つの例を挙げて、論理テーブルおよび表示テーブルを定義し、表示テーブルを論理テーブルにマッピングして、これらのテーブルを使用

するための一般的な手順を示します。

注記

本付録の説明および例は、読者がすでに Creo Elements/Direct Draftingでのマクロプログラミングに精通していることを前提としています。

204 Creo Elements/Direct Drafting Writing Macros日本語版

Page 205: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

論理テーブルおよび表示テーブルとは何か論理テーブルと表示テーブルは、表形式で大量のデータを表現するために

使用される技法です。これにより、ユーザがデータを読み取って理解しや

すくなります。これらの技法を使用するもう 1つの利点は、ユーザがコマンドまたはファンクションへの入力としてこれらのテーブルから項目を選

択でき、そのためにシステムのユーザインターフェイスが向上するという

ことです。

ユーザが頻繁に一連のデータを処理したり表示したりする必要がある場合

に、論理テーブルおよび表示テーブルを使用できます。これらのテーブル

を使用する利点については、「論理テーブルおよび表示テーブルの使用法

-例 1」および「論理テーブルおよび表示テーブルの使用法 -例 2」を参照してください。

以降の項で論理テーブルおよび表示テーブルの構造を記述し、表示テーブ

ルを論理テーブルに接続する概念について説明します。

論理テーブル

論理テーブルは、基本的には、システムまたはユーザによって定義される

内部的なデータ構造です。

システム定義の論理テーブルには、システムデータが含まれます。これ

は、読み取り、書き込みの両方が可能ですが、ユーザはシステム定義の論

理テーブル内のレイアウトもデータも変更することはできません。ユーザ

に許可されているのは、システム定義の論理テーブルからデータを読み取

ることだけです。

ユーザ定義の論理テーブルは、ユーザテーブルとも呼ばれ、ユーザデータ

が含まれます。これも読み取り、書き込みの両方が可能で、ユーザは、

ユーザ定義の論理テーブルのレイアウトを作成したり変更したりできま

す。さらに、ユーザは、ユーザ定義の論理テーブルに対して、データの読

み取りおよび書き込みの両方を行うことができます。

通常、論理テーブルは、次に示す 3つの主要な構成要素からなります。

1. 1から Nまでの番号で指定される N個のレコードの配列。それぞれのレコードには 1からMまでの番号で指定されるM個の値が含まれています。つまり、N×Mの 2次元マトリックスの値に似ています。1つの配列の中のレコードの数は可変ですが、それぞれのレコードの中の

値の数は、すべてのレコードで同数でなければなりません。

論理テーブルおよび表示テーブル 205

Page 206: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

注記

論理テーブル内の値は、テキスト文字列または数値のいずれでも構

いません。

2. 1から Lまでの番号で指定される L個のタイトル文字列。タイトル文字列とは、一般的には、ユーザが、表示テーブルのタイトルに関する

情報を追加することのできるテキスト文字列です。詳細については、

「表示テーブル」の項を参照してください。

注記

タイトル文字列が必要なければ、定義する必要はありません。ま

た、タイトル文字列の中にデータを入れなくても構いません。つま

り、空のタイトル文字列を持つことができます。

3. 全レコード内の値の状態。それぞれの値には、その値を選択済みまたはアクティブとして示す状態があります。この情報は特に有益です。

たとえば、あるユーザが、表示テーブルからコマンドへの入力とし

て、あるデータを選択している場合には、このデータは、そのユーザ

の選択項目であることを示すようにハイライトされます。

4. テーブル内のそれぞれのセルの前景 (表示)色および背景色。

以下に論理テーブルの概略図を示します。

206 Creo Elements/Direct Drafting Writing Macros日本語版

Page 207: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

図 31.論理テーブル

表示テーブル

表示テーブルは、論理テーブルの内容を画面上に表示するために使用され

るテーブルです。表示テーブルは、システムまたはユーザが定義できま

す。通常、このテーブルは、下記の構成要素からなります。

• 列見出しおよび小見出しなどのタイトル

• 値の列を含むデータ領域

• テーブルの右端に表示されるオプションの縦方向スクロールバー。水

平スクロールバーは使用できません。

表示テーブルの例を以下に示します。

論理テーブルおよび表示テーブル 207

Page 208: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

図 32.表示テーブル

表示テーブルを論理テーブルに接続する概念

前の項で説明したように、論理テーブルおよび表示テーブルという 2つのテーブルがあります。論理テーブルは、実際のデータを格納する内部的な

データ構造であるのに対して、表示テーブルは、ユーザ用のウィンドウと

して働いて、論理テーブル内のデータを表示します。表示テーブルを使用

すると、ユーザは、論理テーブルと対話しそのデータを変更することもで

きます。

論理テーブルや表示テーブルはそれぞれ独自の名称で定義されます。論理

テーブルや表示テーブルは必要な数だけ定義できます。

表示テーブルは、論理テーブルに接続されている場合にだけ、その論理

テーブルにアクセスし、表示できます。ユーザは、1つの論理テーブルに複数の表示テーブルを接続できるので、大量のデータを持つ論理テーブル

がある場合に、その論理テーブルの異なる部分を表示するように、複数の

表示テーブルを使用できます。

この方法の利点は、論理テーブル内に格納されているデータをユーザに一

貫して提供すること、および、論理テーブル内のデータが変更されると、

表示テーブルが自動的に更新されることです。さらに、同一の表示テーブ

ルを再度定義するという作業を省きます。

次の図は、表示テーブルの論理テーブルへのマッピングを示します。

208 Creo Elements/Direct Drafting Writing Macros日本語版

Page 209: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

図 33.表示テーブルから論理テーブルへのマッピング

この図の矢印は、論理テーブル内の項目が表示テーブル内の項目にどのよ

うにマッピングされているかを示しています。

論理テーブル内のタイトル文字列は、通常、表示テーブル内のテーブル見

出しおよび列見出しにマッピングされます。論理テーブル内のデータ列を

任意の順序で表示テーブル内のデータ列にマッピングできます。さらに、

論理テーブル内の一部のデータ列だけを表示テーブルにマッピングするこ

ともできます。

論理テーブルアクセスファンクション論理テーブルアクセスファンクションを使用すると、ユーザは、システム

定義の論理テーブルであるか、またはユーザ定義の論理テーブルであるか

にかかわらず、任意の論理テーブルにアクセスできます。論理テーブルア

クセスファンクションには、以下のものがあります。

• LTAB_COLUMNS

• LTAB_ROWS

• LTAB_TITLES

• POP_DOWN_LTAB

• POP_UP_LTAB

• READ_LTAB

• SAVE_LTAB

• SCROLL_LTAB

• SELECT_FROM_LTAB

論理テーブルおよび表示テーブル 209

Page 210: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

以降の項で、これらのファンクションの詳細について説明します。

LTAB_COLUMNSこのコマンドによって、ユーザは、指定した論理テーブル内の列数を調べ

て戻すことができます。

このコマンドのフォーマットは、次のとおりです。LTAB_COLUMNS 'Logical table name'

このコマンドの例を以下に示します。LTAB_COLUMNS 'logtable1'

LTAB_COLUMNSには 1つのパラメータ (調べる論理テーブルの名称)が必要です。この例では、論理テーブルは logtable1です。

LTAB_COLUMNSコマンドが値を戻すので、次の例に示すように、この値

を変数に代入しなければなりません。LTAB_COLUMNSコマンドの一般的

な使用法は、次のとおりです。LET num_columns (LTAB_COLUMNS 'logtable1')

これは、LTAB_COLUMNSコマンドが論理テーブル logtable1内の列数

を戻し、その後、LETがその値をマクロ変数 num_columnsに代入する

という意味です。

戻り値は数値です。

LTAB_ROWSこのコマンドによって、ユーザは、指定した論理テーブル内の行数を調べ

て戻すことができます。

このコマンドのフォーマットは、次のとおりです。LTAB_ROWS 'Logical table name'

このコマンドの例を以下に示します。LTAB_ROWS 'logtable1'

LTAB_ROWSには 1つのパラメータ (調べる論理テーブルの名称)が必要です。この例では、論理テーブルは logtable1です。

LTAB_ROWSコマンドが値を戻すので、どこかで、この値を変数に代入し

なければなりません。LTAB_ROWSコマンドの一般的な使用法は、次のと

おりです。LET num_rows (LTAB_ROWS 'logtable')

210 Creo Elements/Direct Drafting Writing Macros日本語版

Page 211: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

これは、LTAB_ROWSコマンドが論理テーブル logtable1内の行数を戻

し、その後、LETがその値をマクロ変数 num_rowsに代入するという意

味です。

戻り値は数値です。

LTAB_TITLESこのコマンドによって、ユーザは、指定した論理テーブル内のタイトル文

字列の数を調べて戻すことができます。

このコマンドのフォーマットは、次のとおりです。LTAB_TITLES 'Logical table name'

このコマンドの例を以下に示します。LTAB_TITLES 'logtable1'

LTAB_TITLESには 1つのパラメータ (調べる論理テーブルの名称)が必要です。この例では、論理テーブルは logtable1です。

LTAB_TITLESコマンドが値を戻すので、どこかで、この値を変数に代入

しなければなりません。LTAB_TITLESコマンドの一般的な使用法は、次

のとおりです。LET num_titles (LTAB_TITLES 'logtable1')

これは、LTAB_TITLESコマンドが論理テーブル logtable1内のタイト

ル文字列の数を戻し、その後、LETがその値をマクロ変数 num_titles

に代入するという意味です。

戻り値は数値です。

POP_DOWN_LTABこのコマンドによって、ユーザは、指定した論理テーブルを次の可能な機

会にポップダウンさせることができます。論理テーブルがポップダウンす

ると、その論理テーブルに接続している表示テーブルはすべて画面から削

除されます。

ポップダウン要求は、まず、システムがユーザからの対話入力を受け入れ

る準備ができるか、あるいは、UPDATE_SCREENが呼び出されるまで、

バッファ内に保存されます。その後でのみ、ポップダウン要求の処理が始

まります。

このコマンドのフォーマットは、次のとおりです。POP_DOWN_LTAB 'Logical table name'

論理テーブルおよび表示テーブル 211

Page 212: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

このコマンドの例を以下に示します。POP_DOWN_LTAB 'logtable1'

POP_DOWN_LTABには 1つのパラメータ (ポップダウンする論理テーブルの名称)が必要です。この例では、論理テーブルは logtable1です。

注記

• POP_DOWN_LTABコマンドが論理テーブルをポップダウンすると、

この論理テーブルに接続されている表示テーブルはすべて画面から

削除されます。表示テーブルを 1つだけ削除する場合には、SHOW_

TABLEコマンドにオプション OFFを付けて使用できます。

• POP_DOWN_LTABコマンドは、画面から表示テーブルを削除する際

に、削除される表示テーブルの下のスクリーンエリアの保存されて

いるビットマップイメージを復元するので、以前と同じものが表示

されます。ただし、ユーザが表示テーブルをオーバラップさせてい

る場合には、特別な状況が発生することがあります。たとえば、保

存されているスクリーンエリアのビットマップイメージには、ビッ

トマップイメージ内に保存された後に画面から削除された表示テー

ブル全体またはその一部が含まれています。ビットマップイメージ

が復元されると、この表示テーブルが再び画面上に現れます。しか

し、システムに関するかぎり、この表示テーブルは存在していない

ので、ユーザは TABLES OFFコマンドで削除できないテーブルの

全体または一部を画面上で見ることになる可能性があります。この

ような状況が発生した場合は、NEW_SCREENコマンドを使用し

て、これを画面から削除できます。NEW_SCREENコマンドは、画

面全体の実際の内容を再生成します。

POP_UP_LTABこのコマンドによって、ユーザは、指定した論理テーブルを次の可能な機

会にポップアップさせることができます。ある論理テーブルがポップアッ

プすると、その論理テーブルに接続している表示テーブルがすべて画面上

に表示されます。

ポップアップ要求は、まず、システムがユーザからの対話入力を受け入れ

る準備ができるまで、バッファ内に保存されます。その後にのみ、ポップ

アップ要求の処理が始まります。

212 Creo Elements/Direct Drafting Writing Macros日本語版

Page 213: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

このコマンドのフォーマットは、次のとおりです。POP_UP_LTAB 'Logical table name'

コマンドの例を以下に示します。POP_UP_LTAB 'logtable1'

POP_UP_LTABには 1つのパラメータ (ホップアップする論理テーブルの名称)が必要です。この例では、論理テーブルは logtable1です。

注記

• POP_UP_LTABコマンドを論理テーブルに使用すると、この論理

テーブルに接続されている表示テーブルがすべて画面上に表示され

ます。表示テーブルを 1つだけ表示する場合には、SHOW_TABLE

コマンドにオプション ONを付けて使用できます。

• POP_UP_LTABコマンドは、画面上に表示テーブルを表示する際

に、その表示テーブルの下のスクリーンエリアのビットマップイ

メージを保存します。POP_DOWN_LTABを使用してこの表示テーブ

ルを画面から削除すると、そのエリアは元のイメージに復元されま

す。

READ_LTABこのコマンドによって、ユーザは、指定した論理テーブル内の特定のエリ

アから値を読み取ることができます。

このコマンドのフォーマットは、次のとおりです。READ_LTAB 'Logical table name'

(Row-number Column-number) or (TITLE Title-string-number)

このコマンドの例を以下に示します。READ_LTAB 'logtable1'

2 3

READ_LTABには 2つのパラメータが必要です。最初のパラメータは読み取る論理テーブルの名称です。この例では、論理テーブルは logtable1

です。2番目のパラメータは指定した論理テーブルから読み取られるデータの位置で、この例では、2 3、つまり、指定した論理テーブルの行 2列3です。

指定した論理テーブルのタイトル文字列から値を読み取る場合は、タイト

ル文字列 5を指定するためには、2 3の代わりに TITLE 5と指定します。

論理テーブルおよび表示テーブル 213

Page 214: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

READ_LTABコマンドが値を戻すので、どこかで、この値を変数に代入し

なければなりません。READ_LTABコマンドの一般的な使用法は、次のと

おりです。LET my_value (READ_LTAB 'logtable1' 1 4)

これは、READ_LTABコマンドが論理テーブル logtable1内の最初の行

の 4番目の列から値を読み取り、その後、LETがその値をマクロ変数 my_

valueに代入するという意味です。

戻り値は文字列、数値のいずれかです。指定した位置に値が入っていない

場合には、代わりに空の文字列が戻されます。

SAVE_LTABこのコマンドによって、ユーザは、指定した論理テーブルの内容を保存で

きます。

このコマンドのフォーマットは、次のとおりです。SAVE_LTAB 'Logical table name'

SCREEN or (( or DEL_OLD or APPEND) 'filename')

このコマンドの例を以下に示します。SAVE_LTAB 'logtable1'

DEL_OLD 'file1.tbl'

SAVE_LTABには 2つのパラメータが必要です。最初のパラメータは保存する論理テーブルの名称です。この例では、論理テーブルは logtable1

です。2番目のパラメータは指定した論理テーブルが保存される出力先を示します。この例では、出力先はファイル file1.tblですが、file1.

tblがすでに存在している場合には DEL_OLDオプションが付いているの

で、このファイルが上書きされることになります。

出力先としてファイルを指定する場合には、代わりに、オプション

APPENDを使用することもできますし、またはオプションを一切使用しな

くても構いません。APPENDは、指定したファイルが存在する場合には、

そのファイルの最後に指定した論理テーブルが追加されることを意味しま

す。指定したファイルが存在しない場合には、そのファイルが作成されま

す。ユーザがオプションを指定しない場合には、同じ名称のファイルがほ

かに存在していなければ、指定したファイルが作成されます。指定した

ファイルがすでに存在している場合には、エラーメッセージが表示され、

コマンドは打ち切られます。

214 Creo Elements/Direct Drafting Writing Macros日本語版

Page 215: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

あるいは、上記の例の DEL_OLDと file1.tblの代わりに SCREENを指

定することによって、出力先として画面を指定することもできます。ただ

し、ファイル内にテーブルを保存する利点は、後で、そのテーブルを再定

義するために、INPUTコマンドを使用して、このファイルを入力できる

ということです。

SCROLL_LTABこのコマンドによって、ユーザは、指定した行が表示の先頭になるよう

に、指定した論理テーブルに接続されている表示テーブルをスクロールで

きます。

このコマンドのフォーマットは、次のとおりです。SCROLL_LTAB 'Logical table name'

Row-number

このコマンドの例を以下に示します。SCROLL_LTAB 'logtable1'

3

SCROLL_LTABには 2つのパラメータが必要です。最初のパラメータはスクロールする論理テーブルの名称です。この例では、論理テーブルは

logtable1です。2番目のパラメータは表示テーブルの先頭にスクロールされる行を示し、この例では、3です。

SELECT_FROM_LTABこのコマンドによって、ユーザは、ソース論理テーブルと呼ばれる論理

テーブルからユーザ指定の選択基準に従って行を選択し、一致する行の位

置を論理テーブル sys_selectに書き込むことができます。オプションで、一致する行を宛先論理テーブルと呼ばれる別の論理テーブルに書き込むこ

ともできます。

このコマンドのフォーマットは、次のとおりです。SELECT_FROM_LTAB 'Source Logical table name'

COLUMN Column-number

or ( = or <> or > or < or >= or <= )

'Selection-string' or Selection-number

END or ( or APPEND 'Destination Logical table name')

このコマンドの例を以下に示します。SELECT_FROM_LTAB 'logtable1'

COLUMN 1

>=

10

END

論理テーブルおよび表示テーブル 215

Page 216: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

SELECT_FROM_LTABには 5つのパラメータが必要です。最初のパラメータは、データを選択するソース論理テーブルの名称です。この例では、論

理テーブルは logtable1です。2番目のパラメータは、選択に使用される列の位置で、この例では COLUMN 1、つまり、最初の列です。3番目のパラメータは、選択演算子で、この例では、>=、つまり、より大きいか

または等しいです。そのほかに、=、<>、>、<、<=などの演算子を使用

できます。4番目のパラメータは、選択文字列または選択値で、この例では 10、つまり文字列 '10'ではなく数値 10です。5番目のパラメータは、ENDまたは選択された行のコピー先の宛先論理テーブル名のいずれかで

す。この例では、ENDが指定されていて、これはコマンドの終わりを意味

します。

要約すると、上記の例は、行の COLUMN 1に値 = 10が含まれている場合

に、ソース論理テーブル logtable1からその行を選択し、選択された行

の位置を論理テーブル sys_selectに書き込むという意味です。

たとえば、論理テーブル logtable1に下記のデータが含まれていて、1 20

5 25

10 11

22 17

43 13

ユーザが上記の例のマクロプログラムを実行するものとします。その結

果、論理テーブル sys_selectには、以下のデータが含まれます。3

4

5

その理由は、logtable1の行 3、4、および 5だけが選択基準を満たしているからです。

別の例を以下に示します。SELECT_FROM_LTAB 'logtable1'

COLUMN 2

=

'PARTS'

APPEND 'logtable2'

要約すると、上記の例は、行の COLUMN 2に文字列 = 'PARTS'が含まれ

ている場合に、ソース論理テーブル logtable1からその行を選択し、選

択された行の位置を論理テーブル sys_selectに書き込むという意味で

す。さらに、この例は APPENDも行います。つまり、選択された行を宛先

論理テーブル logtable2の最後にコピーします。

216 Creo Elements/Direct Drafting Writing Macros日本語版

Page 217: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

オプション APPENDを指定すると、このコマンドは、指定された論理テー

ブルがすでに存在するものと見なします。オプション APPENDを指定しな

いと、このコマンドは、指定された論理テーブルが存在しないものと見な

し、指定した名称を持つ新しい論理テーブルが作成されます。

たとえば、論理テーブル logtable1と logtable2にそれぞれ下記の

データが含まれていて、PISTON DRAWING 4

BOLTS PARTS 10

NUTS PARTS 10

CRANKSHAFT DRAWING 1

WASHERS PARTS 10

およびWHEEL ASSEMBLY 2

FRAME ASSEMBLY 1

HANDLE ASSEMBLY 1

ユーザが上記の例のマクロプログラムを実行するものとします。その結

果、論理テーブル sys_selectと logtable2には、それぞれ以下の

データが含まれます。2

3

5

およびWHEEL ASSEMBLY 2

FRAME ASSEMBLY 1

HANDLE ASSEMBLY 1

BOLTS PARTS 10

NUTS PARTS 10

WASHERS PARTS 10

その理由は、logtable1の行 2、3、および 5だけが選択基準を満たしているからです。logtable1の行 2、3、および 5の内容が logtable2の

最後に追加コピーされていることがわかります。

表示テーブルファンクション表示テーブルは、論理テーブルのすべての内容または選択した内容を表示

するための手段を提供します。詳細については、「表示テーブル」の項を

参照してください。

以降の項では、表示テーブルのレイアウトを定義しその表示テーブルを使

用するために必要なコマンドおよびファンクションについて説明します。

表示テーブル定義の例も記載します。

論理テーブルおよび表示テーブル 217

Page 218: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

注記

以降の項のそれぞれのコマンドフォーマットのリストでは、標準フォ

ントテキストはフォーマットの一部を示します。したがって、ユーザ

はこれを記載されているとおりに指定しなければなりません。イタ

リックテキストは、ユーザがこれを適切な文字列または値で置き換え

なければならないことを示します。ユーザがフォーマットを読み取り

その構造を理解する助けとなるように、空行が入れてあります。また

はという語は、2つ以上のオプションがあり、ユーザがその 1つをパラメータとして選択できることを意味します。

表示テーブルを定義するコマンドには、以下のものがあります。

• TABLE_COLUMN

• TABLE_LAYOUT

• TABLE_TITLE

表示テーブルを定義する方法については、「論理テーブルおよび表示テー

ブルの使用法 -例 1」という項の「表示テーブルの定義」という項を参照してください。

以降の項で、上記のコマンドそれぞれについて詳細に説明します。

TABLE_COLUMNこのコマンドによって、ユーザは既存の表示テーブルのデータ列内のス

ロットの属性を設定できます。

注記

このコマンドで処理できるのは、SECURE_TABLEコマンドによって変

更に対する保護が行われていない表示テーブルだけです。

このコマンドのフォーマットは、次のとおりです。TABLE_COLUMN 'table name'

COLUMN column-number

display color

background color

Logical-table-column-number

FORMAT Format-precision or 'Numeric string'

218 Creo Elements/Direct Drafting Writing Macros日本語版

Page 219: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

CENTER or LEFT or RIGHT

'Action Text'

END

このコマンドの例を以下に示します。TABLE_COLUMN 'table1'

COLUMN 1

blue

yellow

1

FORMAT 2

LEFT

'LINE'

COLUMN 2

red

green

2

FORMAT 3

RIGHT

'CIRCLE'

END

注記

この例では、左側の番号はフォーマットの一部ではありません。これ

らの番号は、ユーザがこの例の中のそれぞれの行を参照しやすいよう

に入れてあります。また、フォーマットを読み取りその構造を理解す

る助けとなるように、空行が入れてあります。

行 1には、コマンド TABLE_COLUMNおよび列を定義する表示テーブルの

名称が含まれます。

行 2は COLUMN 1を指定しています。これは表示テーブル内の列 1を定義することを意味します。

行 3は、この列内のテキストの表示色を指定します。この例では、blue

が指定されています。異なる色を使用する必要がある場合には、

「TABLE_LAYOUT」の項の行 3の説明に従って、色を指定できます。

行 4は、この列の背景色を指定します。この例では、yellowが指定され

ています。異なる色を使用する必要がある場合には、「TABLE_

LAYOUT」の項の説明に従って、色を指定できます。

行 5は、表示テーブル内のこの列に表示される接続されている論理テーブル内の列の位置を示します。

論理テーブルおよび表示テーブル 219

Page 220: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

行 6は FORMAT 2を指定しています。これは、浮動小数点の数値に対する

フォーマット精度が有効数字 2桁であることを意味します。たとえば、浮動小数点の数値が 123.0の場合には、実際の数値は 120になります。数値が 12.6の場合には、実際の数値は 13になります。フォーマットの精度のデフォルト値は列の幅の半分です。

あるいは、'+1.2345'などの数値文字列を指定でき、これは、数値が、

符号付きで、小数部分が 4桁で、左ゼロおよび右ゼロを表示しないことを意味します。この数値文字列のフォーマットの詳細については、HELPコ

マンドを使用して、DIM_FORMATを参照してください。

行 7は LEFTを指定しています。これは、その列内のデータが左詰めされ

ることを意味します。このほかに、CENTERまたは RIGHTという 2つの値のいずれかを指定することが可能で、それぞれセンタリングおよび右詰

めを意味します。

行 8は、この列内のアクションテキスト LINEを指定します。ユーザは、

正しいシステムコマンドの任意のテキスト文字列を指定できます。

ユーザは、@s#フォーマットの文字列を指定できます。これは、そのテキ

スト文字列にこの表示テーブルに接続されている論理テーブル内の番号 #

のタイトル文字列を指定することを意味します。たとえば、@s3を指定し

た場合には、接続されている論理テーブルのタイトル文字列が、実際に指

定されるテキスト文字列であることを意味します。@t3を指定した場合に

は、接続されている論理テーブルのタイトル文字列を一重引用符で囲んだ

ものが、実際に指定されるテキスト文字列であることを意味します。@s3

と @t3は、@t3には追加文字列 3の前後に 1つずつ、2つの引用符があることを除けば同一です。

@v#フォーマットの文字列を指定することもできます。これは、そのテキ

スト文字列に、この表示テーブルに接続されている論理テーブル内の列 #

の中のデータを指定することを意味します。たとえば、@v4を指定した場

合には、接続されている論理テーブルの列 4の中のデータが、実際に指定されるテキスト文字列であることを意味します。@q4を指定した場合に

は、接続されている論理テーブルの列 4の中のデータを一重引用符で囲んだものが、実際に指定されるテキスト文字列であることを意味します。

@v4と @q4は、@q4には列 4の中のデータの前後に 1つずつの、合わせて 2つの一重引用符があることを除けば同一です。

220 Creo Elements/Direct Drafting Writing Macros日本語版

Page 221: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

LINE @s4 @v2という形式のテキスト文字列を指定することも可能です。

接続されている論理テーブルの追加文字列 4および列 2の中のデータが、それぞれ TWO_PNTSおよび 33,33である場合には、実際のテキスト文字

列は LINE TWO_PNTS 33,33になります。

行 10から 16までは、表示テーブルのタイトル内の別の列を定義するための別のパラメータブロックで、行 2から 8までと同様です。

行 17は ENDを指定して、TABLE_COLUMNコマンドの終わりを示しま

す。

注記

コマンド TABLE_COLUMNと ENDの間であれば、行 2から 8までと同様のパラメータブロックを必要な数だけ入れることができます。

実際には、次のように、上記の例を並べ直すことができます。

TABLE_COLUMN 'table1'

COLUMN 1 blue yellow 1 FORMAT 2 LEFT 'LINE'

COLUMN 2 red green 2 FORMAT 3 RIGHT 'CIRCLE'

END

1つのパラメータブロックが 1行の中に収まる場合には、このフォーマットはさらに簡単に読み取ったり比較したりできます。重要な点は、パラメータを最低 1つのスペースまたはタブ文字で区切らなければならないことです。

TABLE_LAYOUTこのコマンドによって、ユーザは、必要なレイアウトを持つ新しいテーブ

ルを作成できます。

このコマンドのフォーマットは、次のとおりです。TABLE_LAYOUT 'table name'

'Logical table name'

display color

background color

WIDTH width

HEIGHT height

ROWS row

FRAME_WIDTH frame-width

HORIZONTAL Line-color Linetype

VERTICAL Line-color Linetype

SCROLL_BAR Foreground Color background color width

Point 1 and/or Point 2

TITLE_LAYOUT

論理テーブルおよび表示テーブル 221

Page 222: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

Height of Row 1 'Layout String'

Height of Row 2 'Layout String'

:

END

COLUMN_LAYOUT

Height of Each Data Row 'Layout String'

END

このコマンドの例を以下に示します。TABLE_LAYOUT 'table1'

'query_results'

white

black

WIDTH 30.0

HEIGHT 28.0

ROWS 10

FRAME_WIDTH 1

HORIZONTAL white solid

VERTICAL white solid

SCROLL_BAR blue white 30

0,0

TITLE_LAYOUT

40 ' '

20 ' | | | | '

END

COLUMN_LAYOUT

20 ' | | | | '

END

注記

この例では、左側の番号はフォーマットの一部ではありません。これ

らの番号は、ユーザがこの例の中のそれぞれの行を参照しやすいよう

に入れてあります。また、フォーマットを読み取りその構造を理解す

る助けとなるように、空行が入れてあります。

行 1には、コマンド TABLE_LAYOUTおよびユーザが指定するこの表示

テーブルの名称が含まれます。

行 2は、この表示テーブルに対する論理テーブルの名称を指定します。この例では、query_resultsが指定されています。デフォルトでは、この

論理テーブル名は、表示テーブル名と同じになります。

行 3は、この表示テーブル内のフレームおよびテキストの表示色を指定します。この例では、whiteが指定されています。ただし、ユーザは、こ

の色以外に、システム内にすでに定義されている red, yellow, green,

cyan, magenta, blueや blackなどの任意の色を指定できます。

222 Creo Elements/Direct Drafting Writing Macros日本語版

Page 223: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

ユーザがシステム内に定義されている上記の 8色以外の色を使用する必要がある場合には、rgb_colorコマンドを、その後に赤、緑、青の小数値

をこの順番に付けて指定できます。たとえば、純粋な赤、緑、青が必要な

場合には、それぞれ、rgb_color 1 0 0、rgb_color 0 1 0、rgb_

color 0 0 1と指定します。rgb_color 0.5 0.42 0.8のように、これ

らの 3色を組み合わせることによって、ユーザは特定の必要な色を定義できます。これは、赤 0.5、緑 0.42、および青 0.8を意味します。

行 4は、表示テーブルの背景色を指定します。この例では、blackが指

定されています。

異なる色を使用する必要がある場合には、行 3の項の説明に従って、色を指定できます。

行 5には、WIDTHおよびテーブル幅を指定する 30.0が含まれていま

す。この値は、たとえば、35.5のように小数であっても構いませんが、

特定の最小幅よりも大きくなければなりません。このパラメータを指定し

ない場合には、このテーブルを入れることができる最小の幅が使用されま

す。

行 6には、HEIGHTおよびテーブルの高さを指定する 28.0が含まれてい

ます。この値は、たとえば、35.5のように小数であっても構いません

が、特定の最小の高さよりも大きくなければなりません。ユーザがこのパ

ラメータを指定しない場合には、このテーブルを入れることができる最小

の高さが使用されます。

行 7には、ROWSおよび表示テーブル内に必要なデータ行の数 10が含ま

れています。この値は、たとえば、10.5のように小数であっても構いま

せん。テーブルの幅および高さが明示的に指定されていない場合にだけ、

このパラメータの使用が有効になります。

行 8には、FRAME_WIDTHおよびフレーム幅の値 1が含まれています。こ

の値は、0、1、または 2のいずれかの値をとることができます。

行 9には、HORIZONTAL、水平線の色 white、およびその線種 solidが

含まれています。水平線に異なる色を使用する必要がある場合には、行 3の項の説明に従って、色を指定できます。異なる線種を使用する必要があ

る場合には、このほかに、システム内にすでに定義されている dotted、

dashed、long dashed、dot center、dash center、phantom、

long dottedの 1つを指定できます。HORIZONTALの後に OFFとだけ指

定した場合には、表示テーブルに水平線は表示されません。

論理テーブルおよび表示テーブル 223

Page 224: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

行 10には、VERTICAL、垂直線の色 white、およびその線種 solidが含

まれています。異なる色または線種を使用する必要がある場合には、行 9の項の説明に従って、色または線種を指定できます。VERTICALの後に

OFFとだけ指定した場合には、表示テーブルに垂直線は表示されません。

行 11には、SCROLL_BAR、前景色 blue、背景色 white、およびスク

ロールバーの幅 30ピクセルが含まれています。

行 12は、表示テーブルの左下隅の座標 (0,0)をピクセルの単位で指定します。オプションで、表示テーブルの右上隅の座標を指定することもできま

す。

行 14には TITLE_LAYOUTが含まれています。これは表示テーブルのタ

イトルのレイアウトを指定するためのパラメータです。

行 15は、最初のタイトル行の高さの 40ピクセル、および、レイアウト

文字列 ' 'を指定します。このレイアウト文字列は、スロットの数および

それぞれのスロットの幅を示すものです。この例では、50文字の幅のスロットが 1つだけ指定されています。

行 16は、2番目のタイトル行の高さの 20ピクセル、および、レイアウト

文字列 ' | | | | 'を指定します。このレイアウト文字列は、スロットの

数およびそれぞれの幅を示すものです。この例では、14、6、3、14、および 9文字の幅の 5つのスロットがあります。バー |でスロットを区切って

指定します。

注記

この例では、タイトルは 2行だけです。もっと多くのタイトル行が必要な場合には、同様のフォーマットでタイトルを指定できます。

行 18には ENDが含まれていて、TITLE_LAYOUTパラメータの終わりを

示しています。

行 20には COLUMN LAYOUTが含まれています。これは表示テーブル内の

データの列と行のレイアウトを指定するためのパラメータです。

行 21は、それぞれのデータ行の高さの 20ピクセル、および、レイアウ

ト文字列 ' | | | | 'を指定します。このレイアウト文字列は、列の数お

よびそれぞれの幅を示すものです。この例では、14、6、3、14、および 9文字の幅の 5つの列があります。バー |で列を区切って指定します。

224 Creo Elements/Direct Drafting Writing Macros日本語版

Page 225: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

行 23には ENDが含まれていて、COLUMN_LAYOUTパラメータと TABLE_

LAYOUTコマンドの終わりを示しています。

注記

TABLE_LAYOUTコマンド内での WIDTH、HEIGHT、Point 1、および

Point 2の組み合わせによって、表示テーブルのサイズを指定できま

す。また、TITLE_LAYOUTでタイトルエリアの幅を指定し、

COLUMN_LAYOUTで列エリアの幅を指定できます。TABLE_LAYOUTで

指定されたテーブルの幅が TITLE_LAYOUTまたは COLUMN_LAYOUT

で指定された幅と異なる場合には、TABLE_LAYOUTでの幅が優先しま

す。したがって、表示テーブルの幅は、常に、TABLE_LAYOUTで指定

された幅になります。

たとえば、TABLE_LAYOUTの幅が 18列で、TITLE_LAYOUTまたは COLUMN_LAYOUTで指定された幅が次のような 9列の場合には、

40 ' | | '

表示テーブルの幅は 18列になり、タイトルおよび列の幅は 18列に変更されますが、次のように、タイトルと列の比率はそのままです。

40 ' | | '

TABLE_TITLEこのコマンドによって、ユーザは既存の表示テーブルのタイトル内のス

ロットの属性を設定できます。

注記

このコマンドで処理できるのは、SECURE_TABLEコマンドによって変

更に対する保護が行われていない表示テーブルだけです。

このコマンドのフォーマットは、次のとおりです。TABLE_TITLE 'table name'

display color

background color

'display text' 'Action Text'

(Row, Column of Slot) or (BOX Row1, Column1 to Row2, Column2 of Slots)

:

論理テーブルおよび表示テーブル 225

Page 226: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

Repeat the above four lines if you need to define other title-slots

:

END

このコマンドの例を以下に示します。TABLE_TITLE 'table1'

blue

yellow

'LINE' 'LINE'

1 1

green

white

'@s2' '@s1'

BOX 1 2 2 3

END

注記

この例では、左側の番号はフォーマットの一部ではありません。これ

らの番号は、ユーザがこの例の中のそれぞれの行を参照しやすいよう

に入れてあります。また、フォーマットを読み取りその構造を理解す

る助けとなるように、空行が入れてあります。

行 1には、コマンド TABLE_TITLEおよびタイトルを定義する表示テーブ

ルの名称が含まれます。

行 2は、スロット内のテキストの表示色を指定します。この例では、blueが指定されています。異なる色を使用する必要がある場合には、

「TABLE_LAYOUT」の項の行 3の説明に従って、色を指定できます。

行 3は、スロットの背景色を指定します。この例では、yellowが指定さ

れています。異なる色を使用する必要がある場合には、「TABLE_LAYOUT」の項の行 3の説明に従って、色を指定できます。

行 4は、スロット内の表示テキスト LINEおよび対応付けられているアク

ションテキスト LINEを指定します。

表示テキストは、表示テーブル内に表示されるテキスト文字列です。表示

テキストに対応付けられているアクションテキストもテキスト文字列で、

これは正しいシステムコマンドを含み、対応する表示テキストが画面上の

表示テーブルから選択される際に、システムに送られます。

226 Creo Elements/Direct Drafting Writing Macros日本語版

Page 227: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

ユーザは、これらのパラメータ内に任意の正しいテキスト文字列を指定で

きます。また、@s#フォーマットの文字列を指定することもできます。これは、そのテキスト文字列に、この表示テーブルに接続されている論理

テーブル内の番号 #のタイトル文字列を指定することを意味します。たとえば、これらのパラメータのいずれかに @s3を指定した場合には、接続

されている論理テーブルのタイトル文字列が、実際に指定されるテキスト

文字列であることを意味します。

UNITS=@s2という形式のテキスト文字列を指定することも可能です。接

続されている論理テーブルのタイトル文字列 2が Metersの場合には、実

際のテキスト文字列は UNITS=Metersになります。

UNITS=@t2という形式のテキスト文字列を指定し、接続されている論理

テーブルのタイトル文字列 2が Metersの場合には、実際のテキスト文字

列は UNITS='Meters'になります。

行 5は、定義するスロットの位置として、1 1、つまり、行 1列 1を指定します。ユーザは、BOXパラメータを使用することによって、複数のスロットから構成されるボックスを指定することもできます。たとえば、行

10の BOX 1 2 3 3は、行 1、列 2から行 3、列 3のスロットが要求されるボックスを形成することを意味します。

行 7から 10までは、表示テーブルのタイトル内のスロットを定義するための別のパラメータブロックで、行 2から 5までと同様です。

行 11は ENDを指定して、TABLE_TITLEコマンドの終わりを示します。

注記

コマンド TABLE_TITLEと ENDの間であれば、行 2から 5までと同様のパラメータブロックを必要な数だけ入れることができます。

実際には、次のように、上記の例を並べ直すことができます。

TABLE_TITLE 'table1'

blue yellow 'LINE' 'LINE' 1 1

green white '@s2' '@s1' BOX 1 2 2 3

END

1つのパラメータブロックが 1行の中に収まる場合には、このフォーマットはさらに簡単に読み取ったり比較したりできます。重要な点は、パラメータを最低 1つのスペースまたはタブ文字で区切らなければならないことです。

論理テーブルおよび表示テーブル 227

Page 228: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

表示テーブルを処理するコマンドには、以下のものがあります。

• CHANGE_TABLE_SIZE

• CONNECT_TABLE

• DELETE_TABLE

• MOVE_TABLE

• PRINT_TABLE

• SAVE_TABLE

• SECURE_TABLE

• SHOW_TABLE

• TABLE_SCROLL_STEP

以降の項で、上記のコマンドについて詳細に説明します。

CHANGE_TABLE_SIZEこのコマンドを使用すると、プログラムによって内部的にサイズ変更に対

する保護が行われている既存の表示テーブルのサイズを変更できます。

このコマンドのフォーマットは、次のとおりです。CHANGE_TABLE_SIZE 'table name' Point 1 Point 2

このコマンドの例を以下に示します。CHANGE_TABLE_SIZE 'disptable1' 100,100 1000,800

CHANGE_TABLE_SIZEには 3つのパラメータが必要であり、この例ではdisptable1、100,100、1000,800です。

disptable1はサイズを変更する表示テーブルの名称です。100,100お

よび 1000,800は、それぞれ、表示テーブルの左下隅および右上隅の

X、Y座標です。

注記

表示テーブルの幅および高さは、それぞれのテーブルの最小寸法より

も大きくなければなりません。

228 Creo Elements/Direct Drafting Writing Macros日本語版

Page 229: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

CONNECT_TABLEこのコマンドによって、ユーザは、表示テーブルを論理テーブルに接続で

きます。

このコマンドのフォーマットは、次のとおりです。CONNECT_TABLE 'table name' 'Logical table name'

このコマンドの例を以下に示します。CONNECT_TABLE 'disptable1' 'logtable1'

CONNECT_TABLEには 2つのパラメータが必要であり、この例ではdisptable1および logtable1です。

disptable1は、論理テーブル logtable1に接続される表示テーブル

の名称です。

このコマンドが、すでにある論理テーブルに接続されている表示テーブル

を別の論理テーブルに接続しようとした場合には、表示テーブルと最初の

論理テーブル間の既存の接続は、2番目の論理テーブルとの間に新しい接続が行われる前に、自動的に破壊されます。これは、ユーザが任意の表示

テーブルに接続できる論理テーブルは一度に 1つだけであるということを意味します。

DELETE_TABLEこのコマンドによって、ユーザは、保護されていない既存の表示テーブル

を削除できます。

このコマンドのフォーマットは、次のとおりです。DELETE_TABLE

'table name' or (ALL CONFIRM)

このコマンドの例を以下に示します。DELETE_TABLE

ALL CONFIRM

または、単にDELETE_TABLE ALL CONFIRM

DELETE_TABLEには 1つのパラメータが必要であり、この例では ALL

CONFIRMです。ALLは、コマンドがシステム内に定義されているすべて

の表示テーブルを削除することを意味します。CONFIRMはコマンドが正

しいことを確認するためのものです。

あるいは、次のように表示テーブルの名称を指定して、DELETE_TABLE 'disptable1'

論理テーブルおよび表示テーブル 229

Page 230: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

表示テーブル disptable1を削除するように指示することもできます。

MOVE_TABLEこのコマンドによって、ユーザは、既存の表示テーブルを画面上の特定の

位置に移動させることができます。この表示テーブルは、プログラムに

よって内部的に移動に対する保護が行われていてはなりません。

このコマンドのフォーマットは、次のとおりです。MOVE_TABLE 'table name1'

(Point 1 Point 2) or

((UPPER or LOWER or RIGHT or LEFT) and/or (OF 'table name2'))

:

END

このコマンドの例を以下に示します。MOVE_TABLE 'disptable1'

UPPER OF 'disptable2'

100,100 150,400

END

注記

この例では、左側の番号はフォーマットの一部ではありません。これ

らの番号は、ユーザがこの例の中のそれぞれの行を参照しやすいよう

に入れてあります。

行 1には、コマンド MOVE_TABLEおよび移動させる表示テーブルの名称

disptable1が含まれています。

行 2は UPPERを指定し、画面の一番上への移動を指示します。代わり

に、LOWER、RIGHT、または LEFTなどのほかの方向の 1つを指定して、それぞれ、画面の一番下、右、または左に移動するように指示できます。

必要に応じて、方向の後に OFおよび表示テーブルの名称

'disptable2'を指定して、移動が別の表示テーブルに関連して行われ

るように指示できます。

行 3は、100,100と 150,400を指定しています。これは別の移動の基

準点および宛先点の X、Y座標です。

行 4は ENDを指定して、MOVE_TABLEコマンドの終わりを示します。

230 Creo Elements/Direct Drafting Writing Macros日本語版

Page 231: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

注記

行 2および行 3は、ともに正しい移動パラメータですが、別の形式で指定されているだけです。つまり、この例には 2つの移動があります。

MOVE_TABLEと ENDの間にパラメータが入っていれば、1つのMOVE_TABLEコマンドで複数の移動を指定することが可能です。実際の移動は、すべての移動が組み合わさった結果になります。

PRINT_TABLEこのコマンドによって、ユーザは、表示テーブルの表示可能な内容を画面

またはファイルにプリントできます。

このコマンドのフォーマットは、次のとおりです。PRINT_TABLE 'table name' or ALL

SCREEN or (( or DEL_OLD or APPEND) 'filename')

このコマンドの例を以下に示します。PRINT_TABLE 'disptable1'

DEL_OLD 'file1.tbl'

または、単にPRINT_TABLE 'disptable1' DEL_OLD 'file1.tbl'

PRINT_TABLEには 2つのパラメータが必要です。最初のパラメータはプリントする表示テーブルの名称です。この例では、表示テーブルは

disptable1です。2番目のパラメータは、指定した表示テーブルがプリントされる出力先を示します。この例では、出力先はファイル file1.

tblですが、file1.tblがすでに存在している場合には DEL_OLDオプ

ションが付いているので、このファイルが上書きされることになります。

出力先としてファイルを指定する場合には、代わりに、オプション

APPENDを使用することもできますし、またはオプションを一切使用しな

くても構いません。APPENDは、指定したファイルが存在する場合には、

そのファイルの最後に指定した表示テーブルが追加されることを意味しま

す。指定したファイルが存在しない場合には、そのファイルが作成されま

す。ユーザがオプションを指定しない場合には、同じ名称のファイルがほ

かに存在していなければ、指定したファイルが作成されます。指定した

ファイルがすでに存在している場合には、エラーメッセージが表示され、

コマンドは打ち切られます。

論理テーブルおよび表示テーブル 231

Page 232: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

あるいは、上記の例の DEL_OLDと file1.tblの代わりに SCREENを指

定することによって、出力先として画面を指定することもできます。

SAVE_TABLEこのコマンドによって、ユーザは、表示テーブルの設定をファイル内に保

存できます。その後、INPUTコマンドを使用してこのファイルを読み取ることによって、表示テーブルを作成し直すことができます。

このコマンドのフォーマットは、次のとおりです。SAVE_TABLE 'table name' or ALL

SCREEN or (( or DEL_OLD or APPEND) 'filename')

このコマンドの例を以下に示します。SAVE_TABLE 'disptable1'

DEL_OLD 'file1.tbl'

または、単にSAVE_TABLE 'disptable1' DEL_OLD 'file1.tbl'

SAVE_TABLEには 2つのパラメータが必要です。最初のパラメータは保存する表示テーブルの名称です。この例では、表示テーブルは

disptable1です。2番目のパラメータは、指定した表示テーブルが保存される出力先を示します。この例では、出力先はファイル file1.tblで

すが、file1.tblがすでに存在している場合には DEL_OLDオプション

が付いているので、このファイルが上書きされることになります。

出力先としてファイルを指定する場合には、代わりに、オプション

APPENDを使用することもできますし、またはオプションを一切使用しな

くても構いません。APPENDは、指定したファイルが存在する場合には、

そのファイルの最後に指定した表示テーブルが追加されることを意味しま

す。指定したファイルが存在しない場合には、そのファイルが作成されま

す。ユーザがオプションを指定しない場合には、同じ名称のファイルがほ

かに存在していなければ、指定したファイルが作成されます。指定した

ファイルがすでに存在している場合には、エラーメッセージが表示され、

コマンドは打ち切られます。

あるいは、上記の例の DEL_OLDと file1.tblの代わりに SCREENを指

定することによって、出力先として画面を指定することもできます。

SECURE_TABLEこのコマンドによって、ユーザは、表示テーブルを削除または再定義でき

ないように保護できます。

232 Creo Elements/Direct Drafting Writing Macros日本語版

Page 233: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

このコマンドのフォーマットは、次のとおりです。SECURE_TABLE

'table name' or (ALL CONFIRM)

このコマンドの例を以下に示します。SECURE_TABLE

ALL CONFIRM

または、単にSECURE_TABLE ALL CONFIRM

SECURE_TABLEには 1つまたは 2つのパラメータが必要であり、この例では ALL CONFIRMです。ALLは、コマンドがシステム内に定義されてい

るすべての表示テーブルを保護することを意味します。CONFIRMはコマ

ンドが正しいことを確認するためのものです。

あるいは、次のように表示テーブルの名称を指定して、SECURE_TABLE 'disptable1'

表示テーブル disptable1を保護するように指示することもできます。

SHOW_TABLEこのコマンドによって、ユーザは、1つまたはすべての表示テーブルを表示したり非表示にしたりできます。

このコマンドのフォーマットは、次のとおりです。SHOW_TABLE

ON or OFF

'table name' or ALL

このコマンドの例を以下に示します。SHOW_TABLE

ON

ALL

または、単にSHOW_TABLE ON ALL

SHOW_TABLEには 2つのパラメータが必要であり、この例では ONと ALL

です。

ONは、表示テーブルを表示するという意味です。代わりに、OFFを指定

して、表示テーブルを表示しないように指示できます。

ALLは、このコマンドをシステム内に定義されているすべての表示テーブ

ルに対して実行することを意味します。代わりに、コマンドに対して表示

テーブルの名称を指定することもできます。

論理テーブルおよび表示テーブル 233

Page 234: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

注記

POP_UP_LTABコマンドを使用して表示テーブルを表示したり、POP_

DOWN_LTABコマンドを使用して表示テーブルを非表示にしたりする

こともできます。詳細については、「POP_UP_LTAB」と「POP_

DOWN_LTAB」の項を参照してください。

SHOW_TABLE ON (または、OFF)と POP_UP_LTAB (または POP_DOWN_LTAB)は、下記の点が異なっています。

• SHOW_TABLEは、ユーザが指定した表示テーブルまたはすべての

表示テーブルを表示するのに対して、POP_UP_LTABは、ユーザが

指定した論理テーブルに接続されているすべての表示テーブルを表

示します。

• POP_UP_LTABは、表示する表示テーブルの下になるスクリーンエ

リアのビットマップイメージを保存するのに対して、SHOW_TABLE

はそのような処理は行いません。

TABLE_SCROLL_STEPこのコマンドによって、ユーザは、スクロールバーの端にあるスクロール

ボックスとは別に、表示テーブルのスクロールステップを設定できます。

このコマンドのフォーマットは、次のとおりです。TABLE_SCROLL_STEP

'table name' or ALL

DEFAULT or number

このコマンドの例を以下に示します。TABLE_SCROLL_STEP

ALL

DEFAULT

または、単にTABLE_SCROLL_STEP ALL DEFAULT

TABLE_SCROLL_STEPには 2つのパラメータが必要であり、この例ではALLと DEFAULTです。

ALLは、このコマンドがシステム内に定義されているすべての表示テーブ

ルのスクロールステップを変更するという意味です。ユーザは、代わり

に、disptable1などの表示テーブルの名称を指定して、スクロールス

テップを変更する特定のテーブルを指定できます。

234 Creo Elements/Direct Drafting Writing Macros日本語版

Page 235: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

DEFAULTは、スクロールステップを表示テーブル内のデータ行の数で設

定するという意味です。代わりに、5などのデータ行数を表す数値を指定して、1回にスクロールするサイズを指示できます。

ユーザテーブルファンクションユーザテーブルは、システムによって定義される論理テーブルとは対照的

に、ユーザによって定義される論理テーブルです。これは、すべての論理

テーブルと同じデータ構造を持ちます。また、ユーザは、任意の論理テー

ブルに接続するのと同じ方法で、表示テーブルをユーザテーブルに接続で

きます。

ユーザテーブルを定義するコマンドには、以下のものがあります。

• CREATE_LTAB

ユーザテーブルを処理するコマンドには、以下のものがあります。

• COLOR_LTAB

• DELETE_LTAB

• DELETE_LTAB_ROW

• HIGHLIGHT_LTAB

• SECURE_LTAB

• SORT_LTAB

• WRITE_LTAB

以降の項で、上記のコマンドそれぞれについて詳細に説明します。

注記

以降の項のそれぞれのコマンドフォーマットのリストでは、標準フォ

ントテキストはフォーマットの一部を示します。したがって、ユーザ

はこれを記載されているとおりに指定しなければなりません。イタ

リックテキストは、ユーザがこれを適切な文字列または値で置き換え

なければならないことを示します。またはという語は、2つ以上のオプションがあり、ユーザがその 1つをパラメータとして選択できることを意味します。

論理テーブルおよび表示テーブル 235

Page 236: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

COLOR_LTABこのコマンドによって、ユーザは、テーブル内の任意のセルの前景 (表示)色および背景色を指定できます。

注記

コマンド COLOR_LTABは、コマンド SECURE_LTABおよびオプション

READ_ONLYによって保護されているユーザテーブルを処理できま

す。

このコマンドのフォーマットは、次のとおりです。COLOR_LTAB 'User table name'

(Row-no Column-no) or (ROW Row-no) or (COLUMN Column-no) or ALL

or (TITLE title string-no or ALL)

(Foreground Color or DEFAULT)

(Background Color or DEFAULT)

このコマンドの例を以下に示します。COLOR_LTAB 'usertable1'

3 5

white

blue

COLOR_LTABには 4つのデータ部分が必要です。最初のデータは、コマンドに対するユーザテーブルの名称です。2番目のデータは、指定したユーザテーブルの色を変更するエリアの位置で、3番目と 4番目のデータは、それぞれ、セルの前景色と背景色です。

この例では、ユーザテーブル usertable1の行 3列 5に前景色 white

および背景色 blueが割り当てられます。

次の例のように、ほかに 5とおりの方法で位置を指定できます。

• ROW 5 -行 5全体という意味です。

• COLUMN 3 -列 3全体という意味です。

• ALL -すべての行と列という意味です。

• TITLE 2 - 2番目のタイトル文字列という意味です。

• TITLE ALL -すべてのタイトル文字列という意味です。

さらに、ユーザは、前景色および背景色に対して使用できる 10色の名前を指定できます。

別の例を以下に示します。

236 Creo Elements/Direct Drafting Writing Macros日本語版

Page 237: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

HIGHLIGHT_LTAB 'usertable1'

TITLE 2

black

yellow

これは、タイトル文字列 2の前景色として blackおよび背景色として

yellowをそれぞれ割り当てることを意味します。

CREATE_LTABこのコマンドによって、ユーザは、新しいユーザテーブルを作成し、オプ

ションで、その新しいユーザテーブルのおおよそのサイズを行数と列数で

指定できます。

ユーザテーブルの定義方法については、「論理テーブルおよび表示テーブ

ルの使用法 -例 1」の「ユーザテーブルの定義」の項を参照してください。

新しいユーザテーブルのサイズに関するオプションパラメータは、システ

ムがユーザテーブルのリソースを見積るのを助け、ユーザテーブルをでき

るだけ効率的に実行させます。

作成する新しいユーザテーブルの名称が既存のシステム定義のテーブルの

名称と同じで、それが READONLY保護されている場合には、このコマンドは無効となり、エラーメッセージが表示されます。

作成する新しいユーザテーブルの名称が既存のユーザテーブルの名称と同

じで、それが保護されていない場合には、このコマンドはその既存のユー

ザテーブル内の全データを削除し、このコマンドで指定した行数と列数に

従ってそのサイズを調整します。

ただし、作成する新しいユーザテーブルの名称が既存のシステム定義の

テーブルの名称と同じで、それが SECURE_LTABコマンドおよび READ_

ONLYオプションによって保護されている場合には、エラーメッセージが

表示されます。

このコマンドのフォーマットは、次のとおりです。CREATE_LTAB (or Rows) (or Columns)

'User table name'

このコマンドの例を以下に示します。CREATE_LTAB

20 6

'usertable1'

論理テーブルおよび表示テーブル 237

Page 238: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

CREATE_LTABには 2つのデータ部分が必要です。最初の部分は、新しいユーザテーブルのおおよそのサイズの行数と列数です。この例では、見積

りサイズは、20行 6列です。このサイズは、単なる見積りであり、制限値ではありません。したがって、ユーザは、このテーブル内の 20行 6列を超える位置にデータを書き込むことができます。2番目の部分は新しいユーザテーブルの名称で、この例では usertable1です。

DELETE_LTABこのコマンドによって、ユーザはユーザテーブルを削除できます。

指定したユーザテーブルが SECURE_LTABコマンドによって保護されてい

たり、または現在使用中のためにロックされていたりする場合には、エ

ラーメッセージが表示されます。

このコマンドのフォーマットは、次のとおりです。DELETE_LTAB ALL or 'User table name'

このコマンドの例を以下に示します。DELETE_LTAB ALL

DELETE_LTABには 1つのパラメータが必要であり、この例では ALLで

す。ALLは、このコマンドがユーザテーブルをすべて削除することを意味

します。

あるいは、次のように、ユーザテーブルの名称を指定して、DELETE_LTAB usertable1

ユーザテーブル usertable1を削除するように指示することもできま

す。

DELETE_LTAB_ROWこのコマンドによって、ユーザは、ユーザテーブルから行を削除できま

す。

指定したユーザテーブルがコマンド SECURE_LTABおよびオプション

READ_ONLYによって保護されている場合には、エラーメッセージが表示

されます。

このコマンドのフォーマットは、次のとおりです。DELETE_LTAB_ROW 'User table name'

ALL or Row-number

このコマンドの例を以下に示します。DELETE_LTAB_ROW 'usertable1'

238 Creo Elements/Direct Drafting Writing Macros日本語版

Page 239: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

ALL

DELETE_LTAB_ROWには 2つのデータ部分が必要です。最初のデータは、コマンドに対するユーザテーブルの名称です。2番目のデータは、指定したユーザテーブル内の削除する行の位置です。

この例では、ユーザテーブル usertable1内の ALL (すべて)の行が削除されます。

あるいは、次のように、行の位置を指定して、DELETE_LTAB_ROW 'usertable1'

5

ユーザテーブル usertable1の行 5を削除するように指示することもで

きます。

HIGHLIGHT_LTABこのコマンドによって、ユーザはユーザテーブルのデータエリア内のある

位置のハイライトのオン/オフを切り替えることができます。

注記

コマンド HIGHLIGHT_LTABは、コマンド SECURE_LTABおよびオプ

ション READ_ONLYによって保護されているユーザテーブルを処理で

きます。

このコマンドのフォーマットは、次のとおりです。HIGHLIGHT_LTAB 'User table name'

(Row-no Column-no) or (ROW Row-no) or (COLUMN Column-no) or ALL

or (TITLE title string-no or ALL)

ON or OFF or MARK

このコマンドの例を以下に示します。HIGHLIGHT_LTAB 'usertable1'

3 5

ON

HIGHLIGHT_LTABには 3つのデータ部分が必要です。最初のデータは、コマンドに対するユーザテーブルの名称です。2番目のデータは、指定したユーザテーブル内のハイライトを変更するエリアの位置で、3番目のデータは、ハイライトを切り替える ON/OFF状態です。

この例では、ユーザテーブル usertable1内の行 3列 5がハイライトさ

れます (つまり、ON)。

論理テーブルおよび表示テーブル 239

Page 240: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

次の例のように、ほかに 5通りの方法で位置を指定できます。

• ROW 5 -行 5全体という意味です。

• COLUMN 3 -列 3全体という意味です。

• ALL -すべての行と列という意味です。

• TITLE 2 - 2番目のタイトル文字列という意味です。

• TITLE ALL -すべてのタイトル文字列という意味です。

また、ユーザは、OFFを指定してハイライトをオフに切り替えたり、

MARKを指定してボックスに内部ボックスでマークしたりできます。

別の例を以下に示します。HIGHLIGHT_LTAB 'usertable1'

TITLE 2

MARK

これは、内部ボックスの MARKによってタイトル文字列 2をハイライトするという意味です。

SECURE_LTABこのコマンドによって、ユーザは、指定したユーザテーブルを削除できな

いように保護できますが、その内容を変更することは可能です。ユーザ

テーブルを削除できないようにし、さらにその内容も変更できないように

保護する場合には、オプション READ_ONLYを使用する必要があります。The format of the command is as follows:

SECURE_LTAB (or READ_ONLY) 'User table name'

このコマンドの例を以下に示します。SECURE_LTAB 'usertable1'

SECURE_LTABには、保護するユーザテーブルを指定するためのパラメー

タが必要です。この例では、ユーザテーブルは usertable1です。

次のように、オプション READ_ONLYを指定すると、SECURE_LTAB READ_ONLY 'usertable1'

usertable1の内容を変更できないようにすることができます。

SORT_LTABSORT_LTABは、指定した列を基準にしてユーザテーブルをソートしま

す。REVERSE_SORTにより、次に指定した列のソート順序を反転させる

ことができます。

240 Creo Elements/Direct Drafting Writing Macros日本語版

Page 241: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

このコマンドのフォーマットは、次のとおりです。SORT_LTAB 'User table name'

Column-no or REVERSE_SORT Column-no

:

(Repeat the last line if you need to specify other columns to sort)

:

CONFIRM

このコマンドの例を以下に示します。SORT_LTAB 'usertable1'

REVERSE_SORT 2

CONFIRM

SORT_LTABには 3つのデータ部分が必要です。最初のデータは、このファンクションに対するユーザテーブル名です。2番目のデータは、順方向 (昇順)または逆方向 (降順)のいずれかのソートの順序です。デフォルトは順方向のソートです。3番目のデータは、データをソートする列の番号です。

同じ列で異なるタイプのソート順序 (優先順位)は、次のとおりです。

1. Null値

2. 数値

3. 文字列

この例では、ユーザテーブル usertable1内のデータが、列 2のデータに従って逆順にソートされます。CONFIRMは、SORT_LTABファンクションの終わりを示します。

このファンクションに対して複数の列を指定することもできます。この場

合には、最初に指定された列のソートが最も優先します。以下に例を示し

ます。SORT_LTAB 'usertable1'

REVERSE_SORT 3

1

REVERSE_SORT 2

CONFIRM

逆順の列 3のソートが列 1または 2よりも優先します。

テーブルに書き込み保護がされている場合は、エラーになります。

WRITE_LTABこのコマンドによって、ユーザは、指定したユーザテーブルに新しい値を

書き込むことができます。

このコマンドのフォーマットは、次のとおりです。

論理テーブルおよび表示テーブル 241

Page 242: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

WRITE_LTAB 'User table name'

(Row-number Column-number) or (TITLE Title-string-number)

Value

このコマンドの例を以下に示します。WRITE_LTAB 'usertable1'

3 5

26.1

WRITE_LTABには 3つのデータ部分が必要です。

最初のデータは、コマンドに対するユーザテーブルの名称です。2番目のデータは指定したユーザテーブル内の値を書き込む位置で、3番目のデータは値そのものです。

この例では、ユーザテーブル usertable1内の行 3列 5の位置に値

26.1が書き込まれます。

ほかの方法で位置を指定することもできます。たとえば、TITLE 2とする

と、これはタイトル文字列 2を意味します。

'テキスト文字列'または数字を値として指定できます。たとえば、'WHEEL'と 26.1は両方とも有効です。あるいは、変数名または別

のコマンドを値として指定することもできます。たとえば、RADIUSは、

変数 RADIUSの値が指定される値であることを意味し、(READ_LTAB

'logtable1' 2 3)は、このコマンドからの出力が指定される値である

ことを意味します。

論理テーブルと表示テーブルの使用 -例 1論理テーブルおよび表示テーブルを使用するには、いくつかの基本的な手

順を実行する必要があります。

通常、論理テーブルが、ユーザテーブル (ユーザが定義する必要のないシステム定義の論理テーブルとは対照的な、ユーザ定義の論理テーブル)である場合には、必要な論理テーブルを定義しなければなりません。その

後、必要な論理テーブル内のデータを表示するようにその論理テーブルに

表示テーブルをマッピングするために、必要な表示テーブルの定義も行わ

なければなりません。

論理テーブルと表示テーブルを定義した後、ユーザはそれらのテーブルと

やり取りするためのコマンドおよびファンクションを使用できるようにな

ります。

以降の項では、ユーザテーブルおよび表示テーブルを定義する方法、およ

びこれらのテーブルとやり取りを行う方法を示す例を記載します。

242 Creo Elements/Direct Drafting Writing Macros日本語版

Page 243: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

注記

以後の項で使用されるコマンドおよびファンクションの詳細について

は、「論理テーブルアクセスファンクション」、「表示テーブルファ

ンクション」および「ユーザテーブルファンクション」の項を参照し

てください。

ユーザテーブルの定義

ユーザテーブルを定義するには、次の主な 2つの手順を実行します。

• 指定した名称を持ち、行数と列数でおおよそのサイズを指定したユー

ザテーブルを作成します。

• このユーザテーブルに必要なデータを入力します。

ユーザテーブルを定義するリストの例を以下に示します。{

This is the Macro 'UTABLE1' to define a user table called 'Mach_Op'.

It then fills the user table with data in the title string 1 and

from rows 1 to 5 in column 1.

}

DEFINE UTABLE1

CREATE_LTAB 5 2 'Mach_Op'

WRITE_LTAB 'Mach_Op' 1 1 'Type of Machining Operation'

WRITE_LTAB 'Mach_Op' 2 1 'Machine Tool Parameters'

WRITE_LTAB 'Mach_Op' 3 1 'Cutting Tool Parameters'

WRITE_LTAB 'Mach_Op' 4 1 'Workpart Characteristics'

WRITE_LTAB 'Mach_Op' 5 1 'Other Operating Parameters'

WRITE_LTAB 'Mach_Op' TITLE 1 'Characteristics of a Machining Operation'

END_DEFINE

注記

このリストおよびこれ以降に記載されるリストの中の {}括弧内のテ

キストは、単なるコメントであり、マクロプログラムの一部ではあり

ません。

ユーザは、テキストエディタを使用して上記のリストを作成し、これを

ファイル utable1.macに保存できます。

論理テーブルおよび表示テーブル 243

Page 244: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

表示テーブルの定義

表示テーブルを定義するには、次の主な 3つの手順を実行します。

• タイトルおよびデータ列エリアを含む、表示テーブルのレイアウトを

構成します。

• タイトルエリア内のデータを指定します。

• データ列エリア内のデータを指定します。

表示テーブルを定義するリストの例を以下に示します。{

This is the Macro 'DTABLE1' to define a display table called 'Mach_Op'

which maps to the user table 'Mach_Op'. The user table and display table

are called by the same name 'Mach_Op' in this example, but they can be

different.

It then specifies the layout of the title and data areas of the display

table, and also specifies the data and their formats to put into the

title and data areas.

}

DEFINE DTABLE1

TABLE_LAYOUT 'Mach_Op'

'Mach_Op'

WHITE BLACK

width 60.250000 rows 10.058824

FRAME_WIDTH 2

HORIZONTAL WHITE SOLID

VERTICAL WHITE SOLID

SCROLL_BAR WHITE BLUE 32

TITLE_LAYOUT

18 ' '

1 ' '

END

COLUMN_LAYOUT

' '

END

TABLE_TITLE 'Mach_Op'

BLACK YELLOW '@s1' '' 1 1

WHITE WHITE '' '' 2 1

END

TABLE_COLUMN 'Mach_Op'

COLUMN 1 GREEN BLACK 1 FORMAT 10 LEFT '@v1'

END

END_DEFINE

ユーザは、テキストエディタを使用して、上記のリストを作成できます。

ただし、必要な表示テーブルに似たレイアウトを持つ表示テーブルがすで

にある場合には、SAVE_TABLEコマンドを使用してその表示テーブルの

リストをファイル内に保存する方がより簡単です。その後、テキストエ

ディタを使用して、このファイルを要求されるレイアウトに編集できま

す。

244 Creo Elements/Direct Drafting Writing Macros日本語版

Page 245: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

このリストを作成した後で、これをファイル dtable1.macに保存しま

す。

表示テーブルとのやり取り

ユーザは、まず、自分のシステム上で Creo Elements/Direct Draftingを実行しなければなりません。その後、Creo Elements/Direct Draftingの ENTER

COMMANDのプロンプトに応えて、キーボードから下記のコマンドを入力

することによって、ユーザテーブルおよび表示テーブルの定義をロードし

てからでなければ、これらのテーブルとやり取りすることはできません。INPUT 'utable1.mac' [Return]

UTABLE1 [Return]

INPUT 'dtable1.mac' [Return]

DTABLE1 [Return]

最初の 2つのコマンドがユーザテーブルの定義をロードし、その後の 2つのコマンドが表示テーブルの定義をロードします。

これで、ユーザは、ユーザテーブルおよび表示テーブルとのやり取りを開

始できます。まず、次のように入力することによって、表示テーブル

Mach_Opを画面上に表示できます。SHOW_TABLE ON 'Mach_Op' [Return]

この後、次のように入力することによって、表示テーブル Mach_Opを画

面中央のどこかに移動します。MOVE_TABLE 'Mach_Op' LOWER LEFT 0,0 300,300 END [Return]

注記

移動が確実に画面の左下隅から始まるように、コマンドに LOWER

LEFTオプションを使用することが重要です。そうしないと、移動が

テーブルの現在の位置から始まります。これは、テーブルが画面の外

側に移動する可能性があることを意味します。

その後、次のように入力することによって、表示テーブル Mach_Opを、

画面に表示されているとおりに、ファイル dtable1.prt内にプリントし

ます。PRINT_TABLE 'Mach_Op' 'dtable1.prt' [Return]

ユーザは、この後、このファイルをプリンタ上にプリントできます。

論理テーブルおよび表示テーブル 245

Page 246: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

注記

画面に表示されたとおりの表示テーブルのハードコピーを保存する場

合には、これは非常に便利なコマンドです。

その後、次のように入力することによって、表示テーブル Mach_Opを

ファイル dtable1.savに保存します。SAVE_TABLE 'Mach_Op' 'dtable1.sav' [Return]

注記

別の表示テーブルのためのレイアウトを作成する場合には、これは非

常に便利なコマンドです。必要な表示テーブルに似たレイアウトを持

つ表示テーブルがすでにある場合には、このコマンドを使用してファ

イル内にレイアウトを保存してから、テキストエディタでこのファイ

ルを編集できます。

この後、次のように入力することによって、表示テーブル Mach_Opを画

面から削除します。SHOW_TABLE OFF 'Mach_Op' [Return]

論理テーブルと表示テーブルの使用 -例 2この項は、例の内容がより複雑であることを除けば、「論理テーブルおよ

び表示テーブルの使用法 -例 1」の項と似ています。この例では、2つのユーザテーブルおよび 2つの表示テーブルを使用しています。最初のユーザテーブルおよび表示テーブルは、「論理テーブルおよび表示テーブルの

使用法 -例 1」のものです。2番目のユーザテーブルおよび表示テーブルは、新規のもので本項で定義します。

以降の項では、ユーザテーブルおよび表示テーブルを定義する方法、およ

びこれらのテーブルとやり取りを行う方法を示す例を記載します。

246 Creo Elements/Direct Drafting Writing Macros日本語版

Page 247: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

注記

以後の項で使用されるコマンドおよびファンクションの詳細について

は、「論理テーブルアクセスファンクション」、「表示テーブルファ

ンクション」および「ユーザテーブルファンクション」の項を参照し

てください。

最初のユーザテーブルおよび表示テーブルの定義

最初のユーザテーブルおよび表示テーブルは、「論理テーブルおよび表示

テーブルの使用法 -例 1」で使用したものと同じテーブルをわずかに変更しただけなので、これらのファイル utable1.macおよび dtable1.mac

を、それぞれ、utable21.macおよび dtable21.macにコピーできま

す。その後、ユーザは、これらのファイルをテキストエディタで必要なレ

イアウトに変更できます。

次のリストは、ファイル utable21.macの最初のユーザテーブルです。{

This is the Macro 'UTABLE21' to define the first user table called

'Mach_Op2'. It then fills the user table with data in the title

string 1 and from rows 1 to 5 in column 1.

}

DEFINE UTABLE21

CREATE_LTAB 5 2 'Mach_Op2'

WRITE_LTAB 'Mach_Op2' 1 1 'Type of Machining Operation'

WRITE_LTAB 'Mach_Op2' 2 1 'Machine Tool Parameters'

WRITE_LTAB 'Mach_Op2' 3 1 'Cutting Tool Parameters'

WRITE_LTAB 'Mach_Op2' 4 1 'Workpart Characteristics'

WRITE_LTAB 'Mach_Op2' 5 1 'Other Operating Parameters'

WRITE_LTAB 'Mach_Op2' TITLE 1 'Characteristics of a Machining Operation'

END_DEFINE

注記

このリストおよびこれ以降に記載されるリストの中の {}括弧内のテ

キストは、単なるコメントであり、マクロプログラムの一部ではあり

ません。

このマクロ UTABLE21は、ユーザテーブル名が Mach_Op2と呼ばれるこ

とを除けば、マクロ UTABLE1と同じです。

論理テーブルおよび表示テーブル 247

Page 248: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

次のリストは、ファイル dtable21.macの最初のユーザテーブルです。{

This is the Macro 'DTABLE21' to define the first display table called

'Mach_Op2' which maps to the user table 'Mach_Op2'. The first user and

display tables are called by the same name 'Mach_Op2' in this example,

but they can be different.

It then specifies the layout of the title and data areas of the display

table, and also specifies the data and their formats to put into the

title and data areas.

}

DEFINE DTABLE21

TABLE_LAYOUT 'Mach_Op2'

'Mach_Op2'

WHITE BLACK

width 60.250000 rows 10.058824

FRAME_WIDTH 2

HORIZONTAL WHITE SOLID

VERTICAL WHITE SOLID

SCROLL_BAR WHITE BLUE 32

TITLE_LAYOUT

18 ' | '

1 ' '

END

COLUMN_LAYOUT

' '

END

TABLE_TITLE 'Mach_Op2'

BLACK YELLOW '@s1' '' 1 1

BLACK YELLOW 'END' 'SHOW_TABLE OFF 'Mach_Op2' SHOW_TABLE OFF 'Op_Para' END' 1

2

WHITE WHITE '' '' 2 1

END

TABLE_COLUMN 'Mach_Op2'

COLUMN 1 GREEN BLACK 1 FORMAT 10 LEFT '@v1'

END

END_DEFINE

このマクロ DTABLE21は、下記の点を除けば、DTABLE1と同じです。

• この表示テーブルは Mach_Op2と呼ばれ、Mach_Op2と呼ばれるユー

ザテーブルにマッピングされています。

• 最初のタイトル行に 2つの列があります。

• このタイトル行の 2番目の列にテキスト ENDが入っていて、対応する

アクションテキストは次のとおりです。SHOW_TABLE OFF 'Mach_Op2' SHOW_TABLE OFF 'Op_Para' END

これは、表示テーブル Mach_Op2および Op_Paraを画面から削除し、現在のマクロプログラムを打ち切ることを意味します。

248 Creo Elements/Direct Drafting Writing Macros日本語版

Page 249: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

2番目のユーザテーブルおよび表示テーブルの定義2番目のユーザテーブルおよび表示テーブルは新規のものなので、ユーザが定義しなければなりません。次のリストは 2番目の表示テーブルを定義するものです。{

This is the Macro 'DTABLE2' to define the second display table called

'Op_Para' which maps to an unknown user table ''. Mapping

this display table to a user table is done later when the second user

table is defined.

It then specifies the layout of the title and data areas of the display

table, and also specifies the data and their formats to put into the

title and data areas.

}

DEFINE DTABLE2

TABLE_LAYOUT 'Op_Para'

''

WHITE BLACK

width 60.250000 rows 10.058824

FRAME_WIDTH 2

HORIZONTAL WHITE SOLID

VERTICAL WHITE SOLID

SCROLL_BAR WHITE BLUE 32

TITLE_LAYOUT

18 ' | '

1 ' '

END

COLUMN_LAYOUT

' '

END

TABLE_TITLE 'Op_Para'

BLACK YELLOW '@s1' '' 1 1

BLACK YELLOW 'OFF' 'SHOW_TABLE OFF' 'Op_Para' 1 2

WHITE WHITE '' '' 2 1

END

TABLE_COLUMN 'Op_Para'

COLUMN 1 GREEN BLACK 1 FORMAT 10 LEFT '@v1'

END

END_DEFINE

このマクロ DTABLE2は、下記の点を除けば、DTABLE21と同じです。

• この表示テーブルは Op_Paraと呼ばれ、後で 2番目のユーザテーブルが定義されるまでは、ユーザテーブルにマッピングされません。

• 最初のタイトル行の 2番目の列にテキスト OFFが入っていて、対応す

るアクションテキストは次のとおりです。SHOW_TABLE OFF 'Op_Para'

これは、表示テーブル Op_Paraを画面から削除することを意味します。

論理テーブルおよび表示テーブル 249

Page 250: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

このリストを作成した後で、これをファイル dtable2.macに保存しま

す。

次のリストは、2番目のユーザテーブルを定義するもので、4つのテーブルすべてとのやり取りを行うためのマクロコマンドが含まれています。

{

This is the macro 'UTABLE2' to define the second user table called 'Op_Para'

and to provide the Macro commands to interact with all four tables.

}

DEFINE UTABLE2

LOCAL OPARA

MOVE_TABLE 'Mach_Op2' LOWER LEFT 0,0 300,300 END

POP_UP_LTAB 'Mach_Op2'

CREATE_LTAB 6 2 'Op_Para'

CONNECT_TABLE 'Op_Para' 'Op_Para'

LOOP

READ STRING 'Select option from CHARACTERISTICS OF A MACHINING OPERATION table:'

OPARA

LET OPARA (UPC OPARA)

IF(OPARA="TYPE OF MACHINING OPERATION")

WRITE_LTAB 'Op_Para' TITLE 1 'Type of Machining Operation:'

WRITE_LTAB 'Op_Para' 1 1 'Turning'

WRITE_LTAB 'Op_Para' 2 1 'Drilling'

WRITE_LTAB 'Op_Para' 3 1 'Tapping'

WRITE_LTAB 'Op_Para' 4 1 'Milling'

WRITE_LTAB 'Op_Para' 5 1 'Boring'

WRITE_LTAB 'Op_Para' 6 1 'Grinding

ELSE_IF(OPARA="MACHINE TOOL PARAMETERS")

WRITE_LTAB 'Op_Para' TITLE 1 'Machine Tool Parameters:'

WRITE_LTAB 'Op_Para' 1 1 'Size and Rigidity'

WRITE_LTAB 'Op_Para' 2 1 'Horsepower'

WRITE_LTAB 'Op_Para' 3 1 'Spindle Speed and Feedrate Levels'

WRITE_LTAB 'Op_Para' 4 1 'Conventional or NC'

WRITE_LTAB 'Op_Para' 5 1 'Accuracy and Precision Capabilities'

WRITE_LTAB 'Op_Para' 6 1 'Operating Time Data'

ELSE_IF(OPARA="CUTTING TOOL PARAMETERS")

WRITE_LTAB 'Op_Para' TITLE 1 'Cutting Tool Parameters:'

WRITE_LTAB 'Op_Para' 1 1 'Material Type'

WRITE_LTAB 'Op_Para' 2 1 'Material Composition'

WRITE_LTAB 'Op_Para' 3 1 'Physical and Mechanical Properties'

WRITE_LTAB 'Op_Para' 4 1 'Type'

WRITE_LTAB 'Op_Para' 5 1 'Geometry'

WRITE_LTAB 'Op_Para' 6 1 'Cost'

ELSE_IF(OPARA="WORKPART CHARACTERISTICS")

WRITE_LTAB 'Op_Para' TITLE 1 'Workpart Characteristics:'

WRITE_LTAB 'Op_Para' 1 1 'Material Type'

WRITE_LTAB 'Op_Para' 2 1 'Hardness of Material'

WRITE_LTAB 'Op_Para' 3 1 'Geometric Size and Shape'

WRITE_LTAB 'Op_Para' 4 1 'Tolerances'

WRITE_LTAB 'Op_Para' 5 1 'Surface Finish'

WRITE_LTAB 'Op_Para' 6 1 'Initial Surface Condition'

ELSE_IF(OPARA="OTHER OPERATING PARAMETERS")

WRITE_LTAB 'Op_Para' TITLE 1 'Other Operating Parameters:'

WRITE_LTAB 'Op_Para' 1 1 'Depth of Cut'

250 Creo Elements/Direct Drafting Writing Macros日本語版

Page 251: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

WRITE_LTAB 'Op_Para' 2 1 'Cutting Fluid'

WRITE_LTAB 'Op_Para' 3 1 'Workpart Rigidity'

WRITE_LTAB 'Op_Para' 4 1 'Fixtures and Jigs'

DELETE_LTAB_ROW 'Op_Para' 6

DELETE_LTAB_ROW 'Op_Para' 5

ELSE

BEEP

DISPLAY "UNKNOWN OPTION"

END_IF

SHOW_TABLE ON 'Op_Para'

END_LOOP

END_DEFINE

このリストを作成した後で、これをファイル utable2.macに保存しま

す。

このリストは、基本的には、2番目のユーザテーブルを定義するものですが、4つのテーブルすべてとのやり取りを行うためのマクロコマンドも入っています。

このマクロプログラムについて、以下に説明します。

• DEFINE UTABLE2は、このマクロ UTABLE2の先頭をマークします。

• LOCAL OPARAはローカル変数 OPARAを宣言します。

• MOVE_TABLE 'Mach_Op2' LOWER LEFT 0,0 300,300 ENDは、表示

テーブル Mach_Op2を画面上の位置 300,300に移動します。

• POP_UP_LTAB 'Mach_Op2'はユーザテーブル Mach_Op2を表示しま

す。

• CREATE_LTAB 6 2 'Op_Para'は、6行 2列のサイズでユーザテーブル Op_Paraを定義します。

• CONNECT_LTAB 'Op_Para' 'Op_Para'は、表示テーブル Op_Para

をユーザテーブル Op_Paraに接続します。

• LOOPは、最後が END_LOOPによってマークされているループの先頭

をマークします。

• このループ内では、最初に、下記のメッセージによって、テーブルか

らオプションを選択するようにユーザに要求します。READ STRING 'Select option from CHARACTERISTICS OF A MACHINING

OPERATION table:' OPARA

ユーザは、指定されたテーブルからオプションを選択でき、対応するアクションテキストが変数 OPARAへの入力として使用されます。

• LET OPARA (UPC OPARA)は、この入力テキストを大文字に変換しま

す。

論理テーブルおよび表示テーブル 251

Page 252: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

• その後に、変数 OPARAの内容をチェックする IF、ELSE_IF、および

END_IFステートメントがあります。この変数は、5つの値のいずれかをとることができます。その値に従って、適切なデータがユーザテー

ブル Op_Paraに書き込まれます。

• ユーザテーブル Op_Paraの行 5および 6にある、以前の選択から残っているデータを削除するために必要な 2つの DELETE_LTAB_ROW

ステートメントに注意してください。このステートメントがないと、

表示テーブル Op_Para内にもこのデータが表示されることになりま

す。

• OPARAに適切な値が入っていない場合には、メッセージ UNKNOWN

OPTIONが表示されます。

• END_IFは IFステートメントの最後をマークします。

• SHOW_TABLE ON 'Op_Para'は、表示テーブル Op_Paraを表示します。

• END_LOOPは LOOPステートメントの最後をマークします。

• END_DEFINEは DEFINEステートメントの最後をマークします。

ユーザテーブルおよび表示テーブルとのやり取り

ユーザは、まず、自分のシステム上で Creo Elements/Direct Draftingを実行しなければなりません。その後、Creo Elements/Direct Draftingの ENTER

COMMANDのプロンプトに応えて、キーボードから下記のコマンドを入力

することによって、ユーザテーブルおよび表示テーブルの定義をロードし

てからでなければ、これらのテーブルとやり取りすることはできません。INPUT 'utable21.mac' [Return]

UTABLE21 [Return]

INPUT 'dtable21.mac' [Return]

DTABLE21 [Return]

INPUT 'dtable2.mac' [Return]

DTABLE2 [Return]

INPUT 'utable2.mac' [Return]

最初の 4つのコマンドが最初のユーザテーブルおよび表示テーブルをロードし、その後の 3つのコマンドが 2番目の表示テーブルおよびユーザテーブルの定義をロードします。

これで、次のコマンドを使用して、ユーザテーブルおよび表示テーブルを

実行できます。UTABLE2 [Return]

252 Creo Elements/Direct Drafting Writing Macros日本語版

Page 253: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

マクロプログラム UTABLE2は、最初に、Characteristics of a

Machining Operationテーブル、およびプロンプト Select option

from CHARACTERISTICS OF A MACHINING OPERATION table:を表示

します。ユーザはこのテーブル内の 5つのオプションのいずれかを選択でき、選択したオプションの下にオプションを表示する 2番目のテーブルが表示されます。

これで、2つの表示テーブルが画面上に表示され、マクロプログラムはループの最初に戻って再びユーザからの入力を求めます。ユーザは、5つのオプションをすべて試してみて、それに応じて、2番目の表示テーブルの内容がどのように変わるかを調べることができます。また、空のオプ

ションを試してみると、その場合には、メッセージ UNKNOWN OPTIONが

表示されます。

2番目の表示テーブルの右上隅にテキスト OFFがあることに注意してくだ

さい。ユーザがこのテキストを選択すると、2番目の表示テーブルが画面から削除されます。ただし、マクロプログラムはまだ実行中で、別の入力

をプロンプトします。ユーザが、最初の表示テーブルからあるオプション

を選択すると、選択したとおりの適切な内容の 2番目の表示テーブルが、再び表示されます。

最初の表示テーブルの右上隅にテキスト ENDがあることにも注意してく

ださい。ユーザがこのテキストを選択すると、最初の表示テーブルおよび

2番目の表示テーブルが両方とも画面から削除され、マクロプログラムが終了します。

コメント

この例は、論理テーブルおよび表示テーブルでユーザが何を実行できるか

を示しています。これを基に、もっと複雑な表示テーブルや論理テーブル

を作成してこの 2つのレベルよりも多くのテーブルを使用するように計画できます。

論理テーブルおよび表示テーブル 253

Page 254: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

索引

グローバル変数, 40, 90データファイル、読み取り, 96パラメータ, 36マクロへの渡し, 92

ベクトル, 67加算, 67減算, 69

ベクトル、栓, 99ベクトルの加算, 67ベクトルの減算, 69ポインタ、ファイル, 84ボディ、マクロ, 37一重引用符

文字列, 35隠線、表示, 108下書き線、マクロ, 105改行文字, 81概念

表示テーブルを論理テーブルに

接続, 208環境、現在, 61関数、PL/I、Fortran, 92記述子、ファイル, 82, 84現在の環境, 61現在行, 26誤った入力の遮断, 58効率的なコード, 58構文図, 38座標, 66字下げ, 57防御プログラミング, 57

かっこ, 60組み込み, 60

実行の順序, 48実行文, 48小文字, 35色, 75図、構文, 38図面、保存, 15図面の保存, 15制御文, 48線を分割、マクロ, 105線種, 75大小文字

小文字, 35大文字, 35

大文字, 35定義、マクロ, 35点、定義, 66入力

ユーザ、マクロ, 36入力の記録, 110表示テーブル, 207, 217コンポーネント, 207ファンクション, 217やり取り (例 1), 245概要, 205定義 (例 1), 244

表示テーブルの使用

コマンド, 225表示テーブルの定義

コマンド, 217

254 Creo Elements/Direct Drafting Writing Macros日本語版

Page 255: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

表示テーブルを論理テーブルに接

概念, 208文字列をつなげる, 40変数

グローバル, 40タイプ, 46ローカル, 36, 40, 44全要素, 90名前、矛盾, 44

変数名

防御プログラミング, 58編集キー, 23防御プログラミング, 57矢印キー, 23例 1ユーザテーブルの定義, 243表示テーブルとのやり取り, 245表示テーブルの定義, 244論理テーブルと表示テーブルの

使用, 242例 2

2番目のユーザテーブルおよび表示テーブルの定義, 249ユーザテーブルおよび表示テー

ブルとのやり取り, 252最初のユーザテーブルおよび表

示テーブルの定義, 247論理テーブルと表示テーブルの

使用, 246論理テーブル, 205アクセスファンクション, 209コンポーネント, 205概要, 205

論理テーブルおよび表示テーブル,204論理テーブルと表示テーブル

使用 (例 1), 242使用 (例 2), 246

論理テーブルと表示テーブルの使

例 1, 242論理式

0, 511, 51かっこ, 51

AABS関数, 100ANG関数, 99

BBreakキー, 21保存しないでエディタを終了, 16

CCプログラミング言語, 46CHANGE_TABLE_SIZEコマンド,228

CLOSE_FILE関数, 84COLOR_LTABコマンド, 236CONNECT_TABLEコマンド, 229CREATE_LTAB, 108CREATE_LTABコマンド, 237

DDeleteキー, 23DELETE_LTABコマンド, 238DELETE_LTAB_ROWコマンド, 238DELETE_MACRO, 18DELETE_TABLEコマンド, 229DISPLAY_NO_WAIT関数, 40

索引 255

Page 256: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

EECHO関数, 110-111EDIT_FILEコマンド, 16EDIT_PORTコマンド, 23Endキー, 23ENDコマンド, 75およびリカーシブループ, 53

END_DEFINEファンクション, 37Escキー、保存しないでエディタを終了, 16

Ffalse、論理式, 51Fortranプログラミング言語, 92

GGETENV関数, 64

HHELP_PORTコマンド, 23HIGHLIGHT_LTABコマンド, 239HL_INQ_Z_VALUE, 108HL_INQ_Z_VALUE関数, 64Homeキー, 23

IIF ... ELSE_IF ... ELSE ... END_IF構文, 50INPUTコマンド, 16, 18, 37INQ式, 62INQ_ELEM関数, 63INQ_ENV関数, 62Insertキー, 23

LLEN関数, 84LET関数, 40かっこ, 51

LOCAL疑似コマンド, 71LOOP ... EXIT_IF ... END_LOOP構文, 48LOOP疑似コマンド, 75LTAB_COLUMNSコマンド, 210LTAB_ROWSコマンド, 210LTAB_TITLESコマンド, 211

MMOVE_TABLEコマンド, 230

OOPEN_INFILE関数, 82OPEN_OUTFILE関数, 84

PPascalプログラミング言語, 46PL/Iプログラミング言語, 92PNT_RA関数, 99PNT_XYオペレータ, 66POP_DOWN_LTABコマンド, 211POP_UP_LTABコマンド, 212POS関数, 84PRINT_TABLEコマンド, 231

RREAD関数, 46, 71, 75READ_FILE関数, 84READ_LTABコマンド, 213readonly

256 Creo Elements/Direct Drafting Writing Macros日本語版

Page 257: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

SECURE_LTAB, 240REPEAT ... UNTIL構文, 50

SSAVE_LTABコマンド, 214SAVE_TABLEコマンド, 232SCROLL_LTABコマンド, 215SECURE_LTABコマンド, 240SECURE_TABLEコマンド, 232SELECT_FROM_LTABコマンド,215

SHOW_TABLEコマンド, 233SORT_LTABコマンド, 240STOREコマンド, 38STR関数, 40SUBSTR関数, 84

TTABLE_COLUMNフォーマット, 218

TABLE_COLUMNコマンド, 218TABLE_LAYOUTフォーマット, 221

TABLE_LAYOUTコマンド, 221TABLE_SCROLL_STEPコマンド,234

TABLE_TITLEフォーマット, 225

TABLE_TITLEコマンド, 225TECHO関数, 110true、論理式, 51

VVAL関数, 100

WWAIT関数, 40WHILE ... END_WHILE構文, 48WRITE_FILE関数, 84WRITE_LTAB, 108WRITE_LTABコマンド, 241

XX_OFオペレータ, 66

YY_OFオペレータ, 66

ZZレベル、表示, 108

アルファ端末, 14

エディタ, 22キーワード, 27マーカ, 27マクロの記述, 22文字列, 27保存しないで終了, 16

エディタコマンド, 22, 26エスケープの設定, 30コピー, 28マーカの設定, 31ロード, 28移動, 28右マージンの設定, 31左側マージンの設定, 31

索引 257

Page 258: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

左揃え, 28削除, 28次へ, 29書き込み, 31上書き, 29置換, 30中央揃え, 27両端揃え, 28

エンドオブファイルのマーカ, 84

かっこ

使用, 51論理式, 59

キー、編集, 23キーワード

大文字, 35例, 81

コマンド

CHANGE_TABLE_SIZE, 228COLOR_LTAB, 236CONNECT_TABLE, 229CREATE_LTAB, 237DELETE_LTAB, 238DELETE_LTAB_ROW, 238DELETE_TABLE, 229HIGHLIGHT_LTAB, 239LTAB_COLUMNS, 210LTAB_ROWS, 210LTAB_TITLES, 211MOVE_TABLE, 230

POP_DOWN_LTAB, 211POP_UP_LTAB, 212PRINT_TABLE, 231READ_LTAB, 213SAVE_LTAB, 214SAVE_TABLE, 232SCROLL_LTAB, 215SECURE_LTAB, 240SECURE_TABLE, 232SELECT_FROM_LTAB, 215SHOW_TABLE, 233SORT_LTAB, 240TABLE_COLUMN, 218TABLE_LAYOUT, 221TABLE_SCROLL_STEP, 234TABLE_TITLE, 225WRITE_LTAB, 241エディタ, 26テキスト処理, 22ユーザテーブルの使用, 235ユーザテーブルの定義, 235表示テーブルの使用, 225表示テーブルの定義, 217

コメント

ネストできない, 41マクロ内, 40

コンパイル

マクロ, 18

システム配列, 62シンプルなコード

防御プログラミング, 58

タイトル文字列, 206

258 Creo Elements/Direct Drafting Writing Macros日本語版

Page 259: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

つながった文字列, 40

テキストのコピー, 26

トークン、かっこ, 51トレース

ファイル, 54プログラム, 53

ネストされたコメント, 41ネストされたマクロ, 40

ハッチングパターン, 144

ファイル

ポインタ, 84マクロの格納, 16開く, 82, 84記述子, 82, 84書き込み, 84

ファイル名、マクロ名と同じ, 16ファンクション

ユーザテーブル, 235表示テーブル, 217論理テーブルへのアクセス, 209

フォーマット

TABLE_COLUMN, 218TABLE_LAYOUT, 221

TABLE_TITLE, 225

マーカ

システム定義, 24設定, 24

マーカの設定, 24マーカ設定コマンド, 24マクロ

インラインコードの代用, 90コマンドの使用, 59コメント, 40コンパイル, 18すりわり, 106デバッグ, 18ネスト, 40, 90ボディ, 37ロード, 18隠線、表示, 108何か, 15格納, 16個別のファイル, 16構成, 35行の字下げ, 57実行, 18図形, 70, 74多角形, 107停止, 21定義, 35展開, 90用途, 15

マクロのデバッグ, 18マクロの格納, 16マクロの格納、Ctrl+D, 16マクロの実行, 18マクロの停止, 21

索引 259

Page 260: Creo Elements/Direct Drafting Writing Macros 日本 …まえがき Creo Elements/Direct Drafting は汎用 2D 設計製図システムで、設計プロセ スの各段階における最適化を図ります。Creo

マクロの保存、Ctrl+D, 16マクロの例

矢印, 71マクロを作成するための ECHO,112

ユーザテーブル, 205ファンクション, 235定義 (例 1), 243

ユーザテーブルの使用

コマンド, 235ユーザテーブルの定義

コマンド, 235ユーザ入力, 36

リカーシブループ、構文図, 53

ループ

リカーシブ、構文図, 53

ローカル変数 [日本語入力機能], 36,40, 44ロード

マクロ, 18

260 Creo Elements/Direct Drafting Writing Macros日本語版