2001.04.08 更新
1.選択表示の使い方 2001.03.08,2001.01.07
2.選択表示・全表示
2001.01.07
3.選択表示・表示終了 2001.01.07
4.選択表示・文字列削除 2001.01.07
5.選択表示・パーツ選択削除 2001.01.11,2001.01.07
6.選択表示・表示開始 2001.03.08,2001.01.07
7.選択表示・パーツ選択追加 2001.01.07
8.選択表示・パーツ選択開始 2001.01.07
9.先頭の数値文字列を数値にする 2001.03.08
10.選択表示・パーツ群選択削除 2001.03.08
11.選択表示・パーツ群選択 2001.03.08
12.選択表示・パーツ群選択開始 2001.03.08
13.選択表示・要素選択削除 2001.04.08
14.選択表示・要素選択 2001.04.08
15.選択表示・要素選択開始 2001.04.08
個別のパーツ対象
2.最初なら Ma_appear_part_begin
を使い、パーツを選択していきます。
(ちらっと、選択したパーツが表示されます。)
(この場合、以前に選んだ、要素、パーツ、群の選択表示の印は、削除されます。)
選択を終了をすると[ESC]キーを押してマクロから抜けます。
3.カレントビューにこれらの選択したパーツだけの表示に変えるには、Ma_appear_part_on
を使います。
4.この表示方法を抜けて、全てのパーツを表示するには、Ma_appear_part_escapeを
使います。
5.追加をしたい場合は、Ma_appear_part_add
を使います。
パーツが見えない場合は、選んで追加できませんので、下記のいずれかで選択して下さい。
a.他のビューポートで選ぶ。
c.一旦選択表示を終了して、再び選び直す。
b.全表示をさせて、選び、再び表示に戻る。
6.表示をしたく無いパーツは、Ma_appear_part_kill
を使うと、消すことが出来ます。
選択後の再表示は、Ma_appear_part_on
を用います。
7.Ma_appear_part_word_delは
表示用の属性文字列を無くします。
表示用の[表示属性文字列]を設定しています。
選択表示をしている途中で、ファィルをセーブすると、文字列が要素の中に残ります。
実害はないのですが、気持ちがすっきりしないので、無くすためのマクロです。
群表示(指定パーツの子パーツ、孫パーツに向かっての全てのパーツを表示)
8.最初ならMa_pack_part_begin
を使います。
(この場合、以前に選んだ、要素、パーツ、群の選択表示の印は、削除されます。)
9.群を追加する場合は、Ma_pack_select
を用います。
10.群を無くする選択には、Ma_pack_kill
を用います。
11.選択後の再表示は、Ma_appear_part_on
を用います。
要素表示
12.最初なら Ma_requisite_begin
を使います。
(この場合、以前に選んだ、要素、パーツ、群の選択表示の印は、削除されます。)
13.要素を追加する場合は、Ma_requisite_add
を用います。
14.要素を無くする選択には、Ma_requisite_kill
を用います。
15.選択後の再表示は、Ma_appear_part_on
を用います。
SHOW GLOBAL ALL
ON
{図形を表示}
SHOW DIMENSIONS
ON
{寸法を表示}
SHOW VERTEX
OFF
{頂点を消す}
END_DEFINE
LET Sign_word '$$appear_part$$' {表示のキーワード}
Ma_appear_part_word_del
{表示用の属性文字列を削除}
Ma_appear_part_all
{全表示にする}
CHANGE_CURRENT_INFO Sign_word
''
{今後の描画要素用の表示属性文字列削除}
END_DEFINE
CHANGE_GLOBAL_INFO '$$appear_part$$' ''
END_DEFINE
LET Sign_word
'$$appear_part$$'
{表示のキーワード}
INQ_ENV 7
LET Part_id ('~' + (INQ
302))
{カレント・パーツのユニークなパーツ名を保存}
LOOP
READ PNT '**
表示を抹消するパーツをクリックして下さい。(選択を終了なら [ESC] キーを押して下さい。) **' Point
EDIT_PART
Point
{指定パーツに移る}
CHANGE_ELEM_INFO
Sign_word
''
ALL
{表示属性文字列の削除}
EDIT_PART
Part_id
{元のパーツに戻る}
END_LOOP
END_DEFINE
LET Sign_word '$$appear_part$$' {表示のキーワード}
SHOW GLOBAL ALL
OFF
{図形を消す}
SHOW DIMENSIONS
OFF
{寸法を消す}
SHOW VERTEX
OFF
{頂点を消す}
SHOW GLOBAL INFOS Sign_word
ON
{選択されたパーツの表示}
ADD_CURRENT_INFO Sign_word
END
{今後の描画要素用の表示属性文字列}
END_DEFINE
LET Sign_word '$$appear_part$$' {表示のキーワード}
INQ_ENV 7
LET Part_id ('~' + (INQ
302))
{カレント・パーツのユニークなパーツ名を保存}
LOOP
READ PNT '**
選択表示をするパーツをクリックして下さい。(選択を終了なら [ESC] キーを押して下さい。) **' Point
EDIT_PART
Point
{指定パーツに移る}
ADD_ELEM_INFO
Sign_word
ALL
END
{パーツの全要素に文字列を書き込む}
EDIT_PART
Part_id
{元のパーツに戻る}
END_LOOP
END_DEFINE
Ma_appear_part_word_del
{文字列削除}
Ma_appear_part_add
{パーツ選択}
END_DEFINE
LOCAL Length
LET Letter (TRIM
Letter)
{先頭のスペースを取り除く}
LET Length ((POS Letter Separator) -
1)
{数値の文字数を得る}
LET Letter (SUBSTR Letter 1
Length)
{数値の文字列を切り出す}
LET Gl_fruit (VAL
Letter)
{数値に変更}
END_DEFINE
LET Table_name
'##part_data##'
{データのテーブル名}
LET Sign_word
'$$appear_part$$'
{表示のキーワード}
RESET_PART_NUMBER
{パーツID番号の整理}
INQ_ENV 7
LET Part_id ('~' + (INQ
302))
{カレント・パーツのユニークなパーツ名を保存}
CREATE_LTAB 20 1
Table_name
{内部データテーブルの確保}
PRT_EDITOR
{パーツ・エディを開く}
LOOP
READ STRING '**
表示を抹消するパーツ群のTOPをクリックして下さい。(選択を終了なら [ESC] キーを押して下さい。) **' Select_Part
LET Select_Part_len (LEN
Select_Part)
{ID名の長さ}
LET Select_Part_queue (SUBSTR
Select_Part 2
(Select_Part_len - 1)) {ID名の数値文字列の取り出し}
LET Select_Part_value_id (VAL
Select_Part_queue)
{ID名の数値}
EDIT_PART
Select_Part
{指定パーツに移る}
PARTS_LIST COUNT_TREE LTAB
Table_name
{カレントの全パーツ構造をデータベースに入れる}
LET Select_Part_row (LTAB_ROWS
Table_name)
{指定パーツの種類数}
{指定されたパーツ数の算出}
LET Select_Part_value 0
LOOP
LET Data_row (READ_LTAB
Table_name
Select_Part_row 1) {テーブルの一行データ}
Ma_pack_value_head
Data_row '
'
{先頭の数値文字列を数値にする}
LET Select_Part_value
(Select_Part_value
+ Gl_fruit) {加算}
LET Select_Part_row
(Select_Part_row
- 1)
EXIT_IF (Select_Part_row = 0)
END_LOOP
{表示用の属性文字列の削除}
LOOP
LET Individual_id ('~' +
(STR Select_Part_value_id))
EDIT_PART
Individual_id
{指定パーツに移る}
CHANGE_ELEM_INFO Sign_word
'' ALL
END {パーツの全要素の文字列を削除}
LET Select_Part_value_id
(Select_Part_value_id
+ 1) {次のパーツ}
LET Select_Part_value
(Select_Part_value
- 1)
EXIT_IF (Select_Part_value = 0)
END_LOOP
EDIT_PART
Select_Part
{指定パーツに戻る}
END_LOOP
END_DEFINE
LET Table_name
'##part_data##'
{データのテーブル名}
LET Sign_word
'$$appear_part$$'
{表示のキーワード}
RESET_PART_NUMBER
{パーツID番号の整理}
INQ_ENV 7
LET Part_id ('~' + (INQ
302))
{カレント・パーツのユニークなパーツ名を保存}
CREATE_LTAB 20 1
Table_name
{内部データテーブルの確保}
PRT_EDITOR
{パーツ・エディを開く}
LOOP
READ STRING '**
選択表示をするパーツ群のTOPをクリックして下さい。(選択を終了なら [ESC] キーを押して下さい。) **' Select_Part
LET Select_Part_len (LEN
Select_Part)
{ID名の長さ}
LET Select_Part_queue (SUBSTR
Select_Part 2
(Select_Part_len - 1)) {ID名の数値文字列の取り出し}
LET Select_Part_value_id (VAL
Select_Part_queue)
{ID名の数値}
EDIT_PART
Select_Part
{指定パーツに移る}
PARTS_LIST COUNT_TREE LTAB
Table_name
{カレントの全パーツ構造をデータベースに入れる}
LET Select_Part_row (LTAB_ROWS
Table_name)
{指定パーツの種類数}
{指定されたパーツ数の算出}
LET Select_Part_value 0
LOOP
LET Data_row (READ_LTAB
Table_name
Select_Part_row 1) {テーブルの一行データ}
Ma_pack_value_head
Data_row '
'
{先頭の数値文字列を数値にする}
LET Select_Part_value
(Select_Part_value
+ Gl_fruit) {加算}
LET Select_Part_row
(Select_Part_row
- 1)
EXIT_IF (Select_Part_row = 0)
END_LOOP
{表示用の属性文字列の書き込み}
LOOP
LET Individual_id ('~' +
(STR Select_Part_value_id))
EDIT_PART
Individual_id
{指定パーツに移る}
ADD_ELEM_INFO Sign_word ALL
END
{パーツの全要素に文字列を書き込む}
LET Select_Part_value_id
(Select_Part_value_id
+ 1) {次のパーツ}
LET Select_Part_value
(Select_Part_value
- 1)
EXIT_IF (Select_Part_value = 0)
END_LOOP
EDIT_PART
Select_Part
{指定パーツに戻る}
END_LOOP
END_DEFINE
Ma_appear_part_word_del
{文字列削除}
Ma_pack_select
{選択表示・パーツ群選択}
END_DEFINE
LET Sign_word
'$$appear_part$$'
{表示のキーワード}
INQ_ENV 7
LET Part_id ('~' + (INQ
302))
{カレント・パーツのユニークなパーツ名を保存}
LOOP
READ PNT '**
表示を抹消する要素をクリックして下さい。(選択を終了なら [ESC] キーを押して下さい。) **' Point
EDIT_PART
Point
{指定パーツに移る}
CHANGE_ELEM_INFO Sign_word ''
Point
{表示属性文字列の削除}
EDIT_PART
Part_id
{元のパーツに戻る}
END_LOOP
END_DEFINE
LET Sign_word '$$appear_part$$' {表示のキーワード}
INQ_ENV 7
LET Part_id ('~' + (INQ
302))
{カレント・パーツのユニークなパーツ名を保存}
LOOP
READ PNT '**
選択表示をする要素をクリックして下さい。(選択を終了なら
[ESC] キーを押して下さい。) **' Point
EDIT_PART
Point
{指定パーツに移る}
ADD_ELEM_INFO Sign_word
Point
{要素に文字列を書き込む}
EDIT_PART
Part_id
{元のパーツに戻る}
END_LOOP
END_DEFINE
Ma_appear_part_word_del
{全属性文字列削除}
Ma_requisite_add
{パーツ選択}
END_DEFINE
気をつけて作りました、使用してのトラブルに責任は持てませんが、
自由にお使い下さい。(伏 見 表)