第 6 章 メッセージ・図形入出力モジュール
6.3 アイテムピック
6.3.13 Tpntset での設定を現在のテンポラリポイントに設定
第6章 メッセージ・図形入出力モジュール
【機能】
Tpntset での設定を現在のテンポラリポイントとする。
【呼出し形式】
void Tpntstore(void)
【関数名】
Tmskset
【機能】
一時的な選択マスクを設定する。
【呼出し形式】
void Tmskset(int iform, int iopt, int num)
【入力引数】
iform 選択マスクの種類
1 : アイテム選択マスク
2 : クラス選択マスク
3 : レビジョン選択マスク
4 : 線種選択マスク
5 : 線幅選択マスク
iopt モード
0 : 初期設定モード ( 現在の状態をクリア後追加する ) + : 追加モード ( 現在の状態に追加する )
- : 削除モード ( 現在の状態から削除する ) num 設定するマスクを示す番号
アイテム選択マスクのとき
-1 : 全図形アイテム
-2 : 幾何アイテム
-3 : 製図アイテム
ITMPOINT : 点
:
ITMSUBMDL : サブモデル クラス選択マスクのとき
0 : 全クラス
1 から MAXITMCLS : クラス番号 レビジョン選択マスクのとき
0 : 全レビジョン
1 から MAXITMREV : レビジョン番号 線種選択マスクのとき
0 : 全線種
1 から MAXITMLFT : 線種番号 線幅選択マスクのとき
0 : 全線幅
1 から MAXITMLWT : 線幅番号
6.3.14 一時的な選択マスクを設定
6.3.15 一時的な選択マスクの解除
6.3 アイテムピック
【関数名】
Tmskreset
【機能】
一時的な選択マスクを解除する。
【呼出し形式】
void Tmskreset(int iform)
【入力引数】
iform 選択マスクの種類
0 : 以下の 1 ~ 5 のマスク全部
1 : アイテム選択マスク
2 : クラス選択マスク
3 : レビジョン選択マスク
4 : 線種選択マスク
5 : 線幅選択マスク
【関数名】
Tmskstor
e
【機能】
一時的な選択マスクを恒久的な選択マスクにする。
【呼出し形式】
void Tmskstore(int iform)
【入力引数】
iform 選択マスクの種類
0 : 以下の 1 ~ 5 のマスク全部
1 : アイテム選択マスク
2 : クラス選択マスク
3 : レビジョン選択マスク
4 : 線種選択マスク
5 : 線幅選択マスク
【関数名】
Msk001
【機能】
選択マスクを設定する。
6.3.16 一時的な選択マスクを恒久的に変更
6.3.17 選択マスクの設定
第6章 メッセージ・図形入出力モジュール
【呼出し形式】
int Msk001(int iflg, const short mask[])
【入力引数】
iflg 設定する選択マスクの種類
1 : アイテムタイプ選択マスクおよび一時的なアイテムタイプ選択マスク
2 : クラス選択マスクおよび一時的なクラス選択マスク
3 : レビジョン選択マスクおよび一時的なレビジョン選択マスク
4 : 線種選択マスクおよび一時的な線種選択マスク
5 : 線幅選択マスクおよび一時的な線幅選択マスク
-1 : 一時的なアイテムタイプ選択マスク -2 : 一時的なクラス選択マスク
-3 : 一時的なレビジョン選択マスク -4 : 一時的な線種選択マスク -5 : 一時的な線幅選択マスク mask 選択マスク
mask( ビット i) == 1 : 選択可 mask( ビット i) == 0 : 選択不可
【返り値】
0 : 正常
1 : エラー ( 引数の値が不正 ) 注意
(1) short mask[N];
アイテムタイプ表示マスクの時、N は 4 (MAXITMTYP+1 ビット) クラス表示マスクの時、N は 16 (MAXITMCLS+1 ビット)
レビジョン表示マスクの時、N は 16 (MAXITMREV+1 ビット) 線種表示マスクの時、N は 4 (MAXITMLFT+1 ビット)
線幅表示マスクの時、N は 2 (MAXITMLWT+1 ビット) (2) ビット操作については ifld および insfld を参照 例.
short mask[16];
if (Msk101(2, mask) == 0) {
insfld(mask, 5, 5, 1); /* クラス5も選択可にする */
Msk001(2, mask);
【関数名】
Msk002
【機能】
表示マスクを設定する。
【呼出し形式】
int Msk002(int iflg, int ipic, const short mask[])
【入力引数】
6.3.18 表示マスクの設定
6.3 アイテムピック
1 : アイテムタイプ表示マスク
2 : クラス表示マスク
3 : レビジョン表示マスク
4 : 線種表示マスク
5 : 線幅表示マスク
ipic 設定するピクチャのピクチャ番号 -1 : 全ピクチャに設定する
0 : アクティブピクチャに設定する
1 - MAXITMPIC : ピクチャ #ipic に設定する mask 表示マスク
mask( ビット i) == 1 : 表示 mask( ビット i) == 0 : 非表示
【返り値】
0 : 正常
1 : エラー ( 引数の値が不正 ) 注意
(1) short mask[N];
アイテムタイプ表示マスクの時、N は 4 (MAXITMTYP+1 ビット) クラス表示マスクの時、N は 16 (MAXITMCLS+1 ビット)
レビジョン表示マスクの時、N は 16 (MAXITMREV+1 ビット) 線種表示マスクの時、N は 4 (MAXITMLFT+1 ビット)
線幅表示マスクの時、N は 2 (MAXITMLWT+1 ビット) (2) ビット操作については ifld および insfld を参照 例.ピクチャ1のクラス5も表示可にする
short mask[16];
Msk102(2, 1, mask);
insfld(mask, 5, 5, 1);
Msk002(2, 1, mask);
【関数名】
Msk101
【機能】
選択マスクを得る。
【呼出し形式】
int Msk101(int iflg, short *mask)
【入力引数】
iflg 抽出する選択マスクの種類
1 : アイテムタイプ選択マスク
2 : クラス選択マスク
3 : レビジョン選択マスク
4 : 線種選択マスク
5 : 線幅選択マスク
-1 : 一時的なアイテムタイプ選択マスク
6.3.19 選択マスクの取得
第6章 メッセージ・図形入出力モジュール
-2 : 一時的なクラス選択マスク -3 : 一時的なレビジョン選択マスク -4 : 一時的な線種選択マスク -5 : 一時的な線幅選択マスク
【出力引数】
mask 選択マスク
mask( ビット i) == 1 : 選択可 mask( ビット i) == 0 : 選択不可
【返り値】
0 : 正常
1 : エラー ( 引数の値が不正 )
【 注意 】
(1) short mask[N];
アイテムタイプ表示マスクの時、N は 4 (MAXITMTYP+1 ビット) クラス表示マスクの時、N は 16 (MAXITMCLS+1 ビット)
レビジョン表示マスクの時、N は 16 (MAXITMREV+1 ビット) 線種表示マスクの時、N は 4 (MAXITMLFT+1 ビット)
線幅表示マスクの時、N は 2 (MAXITMLWT+1 ビット) (2) ビット操作については ifld および insfld を参照 例.クラス選択マスクを得る
short mask[16];
Msk101(2, mask);
【関数名】
Msk102
【機能】
表示マスクを得る。
【呼出し形式】
int Msk102(int iflg, int ipic, short *mask)
【入力引数】
iflg 抽出する表示マスクの種類
1 : アイテムタイプ表示マスク
2 : クラス表示マスク
3 : レビジョン表示マスク
4 : 線種表示マスク
5 : 線幅表示マスク
ipic 抽出するピクチャのピクチャ番号
0 : アクティブピクチャから抽出する
1 - MAXITMPIC : ピクチャ #ipic から抽出する
【出力引数】
6.3.20 表示マスクの取得
6.3 アイテムピック
mask 表示マスク
mask( ビット i) == 1 : 表示 mask( ビット i) == 0 : 非表示
【返り値】
0 : 正常
1 : エラー ( 引数の値が不正 ) 注意
(1) short mask[N];
アイテムタイプ表示マスクの時、N は 4 (MAXITMTYP+1 ビット) クラス表示マスクの時、N は 16 (MAXITMCLS+1 ビット)
レビジョン表示マスクの時、N は 16 (MAXITMREV+1 ビット) 線種表示マスクの時、N は 4 (MAXITMLFT+1 ビット)
線幅表示マスクの時、N は 2 (MAXITMLWT+1 ビット) (2) ビット操作については ifld および insfld を参照 例.ピクチャ1のクラス表示マスクを得る
short mask[16];
Msk102(2, 1, mask);
【関数名】
Mskcls
【機能】
クラス選択マスクまたはクラス表示マスクを設定する。
【呼出し形式】
int Mskcls(int iflg, const short mask[], int nmask, int ipic)
【入力引数】
iflg クラス選択マスクかクラス表示マスクかの選択
1 : クラス選択マスクを設定する
2 : クラス表示マスクを設定する
mask 設定するクラス番号の並び (short mask[nmask]) 1 - MAXITMCLS : 設定するクラス番号
クラス 10 から 20 のような範囲指定のときは 10、-20 のように負のクラ ス番号を使用できる。
991 : 追加モード ( 以下に続くクラスを追加する ) 992 : 解除モード ( 以下に続くクラスを解除する )
999 : 全クラス
nmask mask に定義されている数
ipic クラス選択マスクの設定のときは参照しない。
クラス表示マスクの設定のときは設定するピクチャ -1 : 全ピクチャに設定する
0 : アクティブピクチャに設定する
1 - MAXITMPIC : ピクチャ #ipic に設定する
6.3.21 クラス選択マスク・クラス表示マスクの設定
第6章 メッセージ・図形入出力モジュール
【返り値】
0 : 正常
1 : 入力引数の誤り
例.アクティブピクチャの表示クラスを 1 から100 と 201から253 と 255 にする。
#define ADD 991
#define REL 992
#define ALL 999 short masks[8];
/* 例1 CLS/DSP REL ALL ADD 1 -100 201 -253 255 */
masks[0] = REL; /* 解除モード REL */
masks[1] = ALL; /* 全クラス ALL */
masks[2] = ADD; /* 追加モード ADD */
masks[3] = 1; /* クラス1から */
masks[4] = -100; /* クラス100まで -100 */
masks[5] = 201; /* クラス201から 201 */
masks[6] = -253; /* クラス253まで -253 */
masks[7] = 255; /* クラス255 255 */
Mskcls(2, masks, 8, 0);
/* 例2 CLS/DSP 1 -100 201 -255 REL 254 */
masks[0] = 1; /* クラス1から */
masks[1] = -100; /* クラス100まで -100 */
masks[2] = 201; /* クラス201から */
masks[3] = -255; /* クラス255まで */
masks[4] = REL; /* 解除モード */
masks[5] = 254; /* クラス254 */
Mskcls(2, masks, 6, 0);
【関数名】
Mskfnt
【機能】
線種選択マスクまたは線種表示マスクを設定する。
【呼出し形式】
int Mskfnt(int iflg, const short mask[], int nmask, int ipic)
【入力引数】
iflg 線種選択マスクか線種表示マスクかの選択
1 : 線種選択マスクを設定する
2 : 線種表示マスクを設定する
mask 設定する線種番号の並び (short mask[nmask]) 1 - MAXITMLFT : 設定する線種番号
線種番号 10 から 20 のような範囲指定のときは 10、-20 のように負の番号 を使用できる。
991 : 追加モード ( 以下に続く線種を追加する ) 992 : 解除モード ( 以下に続く線種を解除する )
999 : 全線種
6.3.22 線種選択マスク・線種表示マスクの設定
6.3 アイテムピック
nmask mask に定義されている数
ipic 線種選択マスクの設定のときは参照しない。
線種表示マスクの設定のとき設定するピクチャの指定 -1 : 全ピクチャに設定する
0 : 現在のピクチャに設定する
1 - MAXITMPIC : ピクチャ #ipic に設定する
【返り値】
0 : 正常
1 : 入力引数の誤り
例
Mskcls を参照のこと。
【関数名】
Mskitm
【機能】
アイテム選択マスクまたはアイテム表示マスクを設定する。
【呼出し形式】
int Mskitm(int iflg, const short mask[], int nmask, int ipic)
【入力引数】
iflg アイテム選択マスクかアイテム表示マスクかの選択
1 : アイテム選択マスクを設定する
2 : アイテム表示マスクを設定する
mask アイテムタイプの並び (short mask[nmask]) -1 : 全図形アイテム
-2 : 幾何アイテム
-3 : 製図アイテム
ITMPOINT : 点 , ... ITMSUBMDL : サブモデル
991 : 追加モード(以下に続くアイテムを追加する)
992 : 解除モード(以下に続くアイテムを解除する)
nmask mask の長さ。
ipic アイテム選択マスクの設定のときは参照しない。
アイテム表示マスクの設定のときピクチャ番号。
-1 : 全ピクチャに設定する
0 : アクティブピクチャに設定する
1 - MAXITMPIC : ピクチャ #ipic に設定する
【返り値】
0 : 正常
1 : 入力引数の誤り
例.現在のピクチャの製図アイテムと点を表示しないようにする。
#define ADD 991
6.3.23 アイテム選択マスク・アイテム表示マスクの設定
第6章 メッセージ・図形入出力モジュール
short masks[5];
masks[0] = ADD; /* 追加モード ADD */
masks[1] = -1; /* 全図形 MANY */
masks[2] = REL; /* 解除モード REL */
masks[3] = -3; /* 製図アイテム MDRF */
masks[4] = ITMPOINT; /* 点 MPNT */
/* ITM/SEL ADD MANY REL MDRF MPNT */
Mskitm(2, masks, 5, 0);
【関数名】
Mskrev
【機能】
レビジョン選択マスクまたはレビジョン表示マスクを設定する。
【呼出し形式】
int Mskrev(int iflg, const short mask[], int nmask, int ipic)
【入力引数】
iflg レビジョン選択マスクかレビジョン表示マスクかの選択
1 : レビジョン選択マスクを設定する
2 : レビジョン表示マスクを設定する
mask 設定するレビジョンのレビジョン番号 (short mask[nmask]) 1 - MAXITMREV : 設定するレビジョン番号
レビジョン 10 から 20 のような範囲指定のときは 10、-20 のように負の番 号を使用できる。
991 : 追加モード ( 以下に続くレビジョンを追加する ) 992 : 解除モード ( 以下に続くレビジョンを解除する )
999 : 全レビジョン
nmask mask に定義されている数
ipic レビジョン選択マスクの設定のときは参照しない。
レビジョン表示マスクの設定のときはピクチャ番号。
-1 : 全ピクチャに設定する
0 : アクティブピクチャに設定する
1 - MAXITMPIC : ピクチャ #ipic に設定する
【返り値】
0 : 正常
1 : 入力引数の誤り 例
Mskcls を参照のこと。
【関数名】
6.3.24 レビジョン選択マスク・レビジョン表示マスクの設定
6.3.25 線幅選択マスク又は線幅表示マスクを設定
6.3 アイテムピック
Mskwet
【機能】
線幅選択マスクまたは線幅表示マスクを設定する。
【呼出し形式】
int Mskwet(int iflg, const short mask[], int nmask, int ipic)
【入力引数】
iflg 線幅選択マスクか線幅表示マスクかの選択
1 : 線幅選択マスクを設定する
2 : 線幅表示マスクを設定する
mask 設定する線幅番号の並び (short mask[nmask]) 1 - MAXITMLWT : 設定する線幅番号
線幅番号 1 から 10 のような範囲指定のときは 1,-10 のように負の番号を 使用できる。
991 : 追加モード ( 以下に続く線幅を追加する ) 992 : 解除モード ( 以下に続く線幅を解除する )
999 : 全線幅
nmask mask に定義されている数
ipic 線幅選択マスクの設定のときは参照しない。
線幅表示マスクの設定のときは設定するピクチャの指定 -1 : 全ピクチャに設定する
0 : 現在のピクチャに設定する
1 - MAXITMPIC : ピクチャ #ipic に設定する
【返り値】
0 : 正常
1 : 入力引数の誤り 例
Mskcls を参照のこと。
【関数名】
tknmsk001
【機能】
入力可能なトークンの種類を設定する。
【呼出し形式】
void tknmsk001(int ictg, int mode, int type)
【入力引数】
ictg コマンドレベル。(1, 3, 4, 5) mode 初期設定するか追加するかのスイッチ
-1 : 標準設定に戻す
0 : 初期設定する