ME10マクロのページです
(図形編集)

2002.07.09 更新 



リスト


macro.lzh# マクロファィルです。

     斜投影変形の使い方 2000.05.05

   1.引き延ばし 2000.05.05
   2.弧の伸縮 2002.07.0 2000.06.14
   3.直線の伸縮 2002.02.03・2000.06.14
   4.線の伸縮  2000.06.14・2000.05.05
     (伸縮のモジュールを分離。円弧も伸縮できます。)
   5.水 平方向倍率変形 2000.05.05
   6.鉛 直方向倍率変形 2000.05.05
   7.倍率変 形

     ここからは、テクニカルイラス トを描くに便利です。アイソメ図ではなく、左右で形を変えてあります。
   8.斜投影変形1 2000.05.05
   9.斜投影変形2 2000.05.05 

   10.削除・窓の切り抜き 2001.12.02



斜投影変形の使い方

 1.アイソメ図の作成と同じように、平面図、正面図、側面図を描いて下さ い。
   少し離して下さい。
 2.平面図、正面図、側面図に在る、同じ基準点を基に変形します。

 ここからは[斜投影変形1]を使う場 合で説明します。
 3.平面図の変形は、Ma_meta01 z と入力して下さい。
   (注)入力コマンドの後に付いている、パラメータ [z] は半角の小文字にして下さい。
 4.** 変形の基準点を指定して下さい。** と指示が出ますので、[2]で決めてある、基準点を指定します。
 5.同じようにして、正面図は [x]、側面図は [y]のパラメータを使って、変形して下さい。

 6.移動コマンドを使い、各面を同じ基準点に移動(コピー可)します。
 7.サイコロに各面の図が描かれていると考えて、離れている、図形の頂点を 合わせるように、移動させます。
 8.必要な補完線を描いて完成します。



引き延ばし
  1999.01.19}

DEFINE Ma_stretch_move
  PARAMETER Del_copy                              {0=移動 1=コピー}

  STRETCH Assistance

  IF (Gl_stretch_direction = 'U')

  ELSE_IF (Gl_stretch_direction = 'H')
    MOVE HORIZONTAL
  ELSE_IF (Gl_stretch_direction = 'V')
    MOVE VERTICAL
  END_IF

  IF (Del_copy = 0)                               {移動なら}
    DEL_OLD
  ELSE_IF (Del_copy = 1)                          {コピーなら}
    COPY
  END_IF

END_DEFINE



弧の伸縮
 2000.06.10 (線の伸縮から分割)
  2002.07.09
}
DEFINE Ma_stretch_line_arc
  PARAMETER Point_temp                            {弧の指定点}

  LOCAL Angle_unit                                {ラディアンへの変換値}
  LOCAL Point_angle_temp                          {指定点の角度}
  LOCAL Point_area                                {指定点の領域}
  LOCAL Arc_center                                {中心点位置}
  LOCAL Arc_radius                                {半径}
  LOCAL Arc_angle_s                               {始点端の角度}
  LOCAL Arc_angle_e                               {終点端の角度}
  LOCAL Vista_angle_s                             {指定店から始点端の角度}
  LOCAL Vista_angle_e                             {指定店から終点端の角度}
  LOCAL Arc_point_s                               {始点端の位置}
  LOCAL Arc_point_e                               {終点端の位置}
  LOCAL Arc_angle_m                               {指定端の場所}

  LOCAL Point_instruction                         {伸縮指定点}

  INQ_ENV 6
  LET Angle_unit (INQ 3)                          {ラディアンへの変換値}

  INQ_ELEM Point_temp                             {要素情報の取得}
  LET Arc_center (INQ 101)                        {中心点位置}
  LET Arc_radius (INQ 3)                          {半径}

{ 指定点の角度}
  LET Point_angle_temp (ANG (Point_temp - Arc_center) * Angle_unit)
  IF (Point_angle_temp < 0)
    LET Point_angle_temp (2 * PI + Point_angle_temp)
  END_IF

{ 始点端の角度}
  IF ((INQ 4) >= 0)
    LET Arc_angle_s ((INQ 4) * Angle_unit)
  ELSE
    LET Arc_angle_s (2 * PI + (INQ 4) * Angle_unit)
  END_IF

{ 終点端の角度}
  IF ((INQ 5) >= 0)
    LET Arc_angle_e ((INQ 5) * Angle_unit)
  ELSE
    LET Arc_angle_e (2 * PI + (INQ 5) * Angle_unit)
  END_IF

  LET Arc_point_s (INQ 102)                       {始点端の位置}
  LET Arc_point_e (INQ 103)                       {終点端の位置}

  LET Vista_angle_s (ABS (Arc_angle_s - Point_angle_temp))  {指定点から始点端の角度}
  IF (Vista_angle_s > PI)
    LET Vista_angle_s (Vista_angle_s - PI)
  END_IF
 

  LET Vista_angle_e (ABS (Arc_angle_e - Point_angle_temp))  {指定点から終点端の角度}
  IF (Vista_angle_e > PI)
    LET Vista_angle_e (Vista_angle_e - PI)
  END_IF

{端位置の記憶}
  IF (Vista_angle_s > Vista_angle_e)              {終点端に近ければ}
    LET Arc_angle_m 's'                           {指定端}
    LET Arc_angle2 'e'                            {他端}
  ELSE
    LET Arc_angle_m 'e'                           {指定端}
    LET Arc_angle2 's'                            {他端}
  END_IF


{ 伸縮位置の入力}
  IF (Arc_angle_m = 's')                          {始端からなら正方向}
    READ PNT '** 伸縮する位置を指示して下さい。 **'
    RUBBER_ARC_CEN_BEG Arc_center Arc_point_s
    Point_instruction
  ELSE_IF (Arc_angle_m = 'e')                     {終端からなら反方向}
    READ PNT '** 伸縮する位置を指示して下さい。 **'
    RUBBER_ARC_CEN_END Arc_center Arc_point_e
    Point_instruction
  END_IF

  GET_PROPERTIES Point_temp                       {要素の特性の取得変更}
  DELETE Point_temp END                           {前の線を削除}

{ 更新書き込み}
  IF (Arc_angle_m = 's')                          {始点基準なら}
    ARC CEN_BEG_END Arc_center
    Arc_point_s
    Point_instruction
  ELSE
    ARC CEN_BEG_END Arc_center
    (Arc_center + (PNT_RA Arc_radius (ANG (Point_instruction - Arc_center))))
    Arc_point_e
  END_IF
 

  END

END_DEFINE



直線の伸縮
 2000.06.10 (線の伸縮から分割)
 2002.02.03
}
DEFINE Ma_stretch_line_straight
  PARAMETER Point_temp                            {線の指定点}

  LOCAL Line_pnt1                                 {指定の端位置}
  LOCAL Line_pnt2                                 {他の端位置}
  LOCAL Line_angle                                {線の角度}
  LOCAL Point_instruction                         {伸縮指定点}
  LOCAL Point_symmetry                            {新縮点の相対位置}
  LOCAL Point_instruction_get                     {伸縮位置}

  IF (LEN ((INQ 101) - Point_temp) < LEN ((INQ 102) - Point_temp))
    LET Line_pnt1 (INQ 101)                       {指定の端位置}
    LET Line_pnt2 (INQ 102)                       {他の端位置}
  ELSE
    LET Line_pnt1 (INQ 102)                       {指定の端位置}
    LET Line_pnt2 (INQ 101)                       {他の端位置}
  END_IF
 
  LET Line_angle (ANG (Line_pnt1 - Line_pnt2))    {線の角度(相手基準)}

  READ PNT '** 伸縮する位置を指示して下さい。 **' RUBBER_LINE_ANG Line_pnt2 Line_angle Point_instruction
  LET Point_symmetry (Point_instruction - Line_pnt2)
  LET Point_instruction_get (Line_pnt2 + (Point_symmetry + (MIRR Point_symmetry Line_angle)) / 2) {線上の伸縮位置}

  MODIFY DEL_OLD Point_temp SCALE TWO_PTS Line_pnt2 Line_pnt2 Line_pnt1 Point_instruction_get END                                               {変形}

END_DEFINE



線の伸縮
  1999.01.20-2000.04.23
  2000.05.05  弧を追加
 2000.06.10  LOOP化のため伸縮部分を分割
}
DEFINE Ma_stretch_line
  LOCAL Line_color_standard                       {現在の線色}
  LOCAL Line_linetype_standard                    {現在の線種}
  LOCAL Line_pensize_standard                     {現在のペン・サイズ}
  LOCAL Line_linesize_standard                    {現在の線サイズ}

  LOCAL Point_temp                                {線の指定点}

{ 現在の環境の記憶}
  INQ_ENV 3
  LET Line_color_standard (INQ 201)               {線色}
  LET Line_linetype_standard  (INQ 301)           {線種}
  LET Line_pensize_standard (INQ 10)              {ペン・サイズ}
  LET Line_linesize_standard (INQ 12)             {線サイズ}

  LOOP
    LOOP
      READ PNT '** 線又は弧上の、長さを調整する端側付近を指示して下さい。 **' Point_temp
      INQ_ELEM Point_temp                         {要素情報の取得}
    EXIT_IF (((INQ 403) = LINE) OR ((INQ 403) = ARC))  {線又は弧なら}
    END_LOOP 

{   要素の種類を記憶}
    IF ((INQ 403) = LINE)
      Ma_stretch_line_straight Point_temp
    ELSE
      Ma_stretch_line_arc Point_temp
    END_IF

{   復元}
    COLOR Line_color_standard                     {線色}
    LINEPATTERN Line_linetype_standard            {線種}
    IF (Line_pensize_standard <> 0)
      PENSIZE Line_pensize_standard               {ペン・サイズ}
    END_IF
 
    IF (Line_linesize_standard <> 0)
      LINESIZE Line_linesize_standard             {線サイズ}
    END_IF
 

  END_LOOP

END_DEFINE



{水平方向倍率変形
  1998.09.10}

DEFINE Ma_metamorphose_h
  LOCAL Suuti_0
  LOCAL Suuti
  LOCAL Ritu_1
  LOCAL Ritu_2
  LOCAL Ritu_3
  LOCAL Genten

  READ PNT '** 変形の原点を指示して下さい。 **' Genten
  READ NUMBER '** 水平方向に拡大、縮小を行いますので、率の数値を入力して下さい。 **' Suuti_0
  LET Suuti (ABS Suuti_0)
  LET Ritu_1 (PNT_XY (0 - Suuti) 0)
  LET Ritu_2 (PNT_XY Suuti 0)
  LET Ritu_3 (PNT_XY (0 - Suuti) 1)
  CS_REF_PT Genten
  MODIFY Assistance DEL_OLD AFFINE -1,0 1,0 -1,1 Ritu_1 Ritu_2 Ritu_3
  CS_REF_PT 0,0
END_DEFINE



鉛直方向倍率変形
  1998.09.10-1998.09.11}

DEFINE Ma_metamorphose_v
  LOCAL Suuti_0
  LOCAL Suuti
  LOCAL Ritu_1
  LOCAL Ritu_2
  LOCAL Ritu_3
  LOCAL Genten

  READ PNT '** 変形の原点を指示して下さい。 **' Genten
  READ NUMBER '** 鉛直方向に拡大、縮小を行いますので、率の数値を入力して下さい。 **' Suuti_0
  LET Suuti (ABS Suuti_0)
  LET Ritu_1 (PNT_XY 0 (0 - Suuti))
  LET Ritu_2 (PNT_XY 1 (0 - Suuti))
  LET Ritu_3 (PNT_XY 0 Suuti)
  CS_REF_PT Genten
  MODIFY Assistance DEL_OLD AFFINE 0,-1 1,-1 0,1 Ritu_1 Ritu_2 Ritu_3
  CS_REF_PT 0,0

END_DEFINE



倍率変形
  1998.09.11- 1999.12.09}

DEFINE Ma_metamorphose_s
  LOCAL Suuti_0
  LOCAL Suuti
  LOCAL Ritu_1
  LOCAL Ritu_2
  LOCAL Ritu_3
  LOCAL Genten

  READ PNT '** 相似変形の原点を指示して下さい。 **' Genten
  READ NUMBER '** 相似変形を行いますので、率の数値を入力して下さい。 **' Suuti_0
  LET Suuti (ABS Suuti_0)
  LET Ritu_1 (PNT_XY (0 - Suuti) (0 - Suuti))
  LET Ritu_2 (PNT_XY Suuti (0 - Suuti))
  LET Ritu_3 (PNT_XY (0 - Suuti) Suuti)
  CS_REF_PT Genten
  MODIFY Assistance DEL_OLD AFFINE -1,-1 1,-1 -1,1 Ritu_1 Ritu_2 Ritu_3
  CS_REF_PT 0,0

END_DEFINE



斜投影変形1
   X方向は3゜1/1縮尺、Y方向は15゜1/2縮尺、Z方向は1/1縮尺
  1998.12.05-1999.06.03}

DEFINE Ma_meta01
  PARAMETER Pa_face                               {x=面、y=面、z=面}

  LOCAL Lo_point1
  LOCAL Lo_point2
  LOCAL Lo_point3
  LOCAL Lo_point1_1
  LOCAL Lo_point2_2
  LOCAL Lo_point3_2

  READ PNT '** 変形の基準点を指定して下さい。**' Lo_point1

  IF (Pa_face = 'x')
    LET Lo_point2 (PNT_XY ((X_OF Lo_point1) - 1) (Y_OF Lo_point1))
    LET Lo_point3 (PNT_XY (X_OF Lo_point1) ((Y_OF Lo_point1) + 1))
    LET Lo_point1_2 Lo_point1
    LET Lo_point2_2 (PNT_XY ((X_OF Lo_point1) - 1) ((Y_OF Lo_point1) + (TAN 3)))
    LET Lo_point3_2 Lo_point3
  ELSE_IF (Pa_face = 'y')
    LET Lo_point2 (PNT_XY ((X_OF Lo_point1) + 1) (Y_OF Lo_point1))
    LET Lo_point3 (PNT_XY (X_OF Lo_point1) ((Y_OF Lo_point1) + 1))
    LET Lo_point1_2 Lo_point1
    LET Lo_point2_2 (PNT_XY ((X_OF Lo_point1) + 0.5) ((Y_OF Lo_point1) + (0.5 * TAN 15)))
    LET Lo_point3_2 Lo_point3
  ELSE_IF (Pa_face = 'z')
    LET Lo_point2 (PNT_XY ((X_OF Lo_point1) - 1) (Y_OF Lo_point1))
    LET Lo_point3 (PNT_XY (X_OF Lo_point1) ((Y_OF Lo_point1) + 1))
    LET Lo_point1_2 Lo_point1
    LET Lo_point2_2 (PNT_XY ((X_OF Lo_point1) - 1) ((Y_OF Lo_point1) + (TAN 3)))
    LET Lo_point3_2 (PNT_XY ((X_OF Lo_point1) + 0.5) ((Y_OF Lo_point1) + (0.5 * TAN 15)))
  END_IF

  MODIFY Assistance DEL_OLD AFFINE Lo_point1 Lo_point2 Lo_point3 Lo_point1_2 Lo_point2_2 Lo_point3_2
END_DEFINE



斜投影変形2
  X方向は3゜1/1縮尺、Y方向は67゜1/4縮尺、Z方向は1/1縮尺
  1999.06.03}

DEFINE Ma_meta02
  PARAMETER Pa_face                               {x=面、y=面、z=面}

  LOCAL Lo_point1
  LOCAL Lo_point2
  LOCAL Lo_point3
  LOCAL Lo_point1_1
  LOCAL Lo_point2_2
  LOCAL Lo_point3_2

  READ PNT '** 変形の基準点を指定して下さい。**' Lo_point1

  IF (Pa_face = 'x')
    LET Lo_point2 (PNT_XY ((X_OF Lo_point1) - 1) (Y_OF Lo_point1))
    LET Lo_point3 (PNT_XY (X_OF Lo_point1) ((Y_OF Lo_point1) + 1))
    LET Lo_point1_2 Lo_point1
    LET Lo_point2_2 (PNT_XY ((X_OF Lo_point1) - 1) ((Y_OF Lo_point1) + (TAN 3)))
    LET Lo_point3_2 Lo_point3
  ELSE_IF (Pa_face = 'y')
    LET Lo_point2 (PNT_XY ((X_OF Lo_point1) + 1) (Y_OF Lo_point1))
    LET Lo_point3 (PNT_XY (X_OF Lo_point1) ((Y_OF Lo_point1) + 1))
    LET Lo_point1_2 Lo_point1
    LET Lo_point2_2 (PNT_XY ((X_OF Lo_point1) + 0.25) ((Y_OF Lo_point1) + (0.25 * TAN 67)))
    LET Lo_point3_2 Lo_point3
  ELSE_IF (Pa_face = 'z')
    LET Lo_point2 (PNT_XY ((X_OF Lo_point1) - 1) (Y_OF Lo_point1))
    LET Lo_point3 (PNT_XY (X_OF Lo_point1) ((Y_OF Lo_point1) + 1))
    LET Lo_point1_2 Lo_point1
    LET Lo_point2_2 (PNT_XY ((X_OF Lo_point1) - 1) ((Y_OF Lo_point1) + (TAN 3)))
    LET Lo_point3_2 (PNT_XY ((X_OF Lo_point1) + 0.25) ((Y_OF Lo_point1) + (0.25 * TAN 67)))
  END_IF

  MODIFY Assistance DEL_OLD AFFINE Lo_point1 Lo_point2 Lo_point3 Lo_point1_2 Lo_point2_2 Lo_point3_2
END_DEFINE



削除・窓の切り抜き
  2001.12.01-
  2001.12.02  処理スピードUP
  2001.12.12
}
DEFINE Ma_cut_window
  LOCAL Sign_word                                 {処理外要素・属性文字列}
  LOCAL Id_org                                    {元パーツのID番号}

  LOCAL Row_first                                 {処理パーツIDの少}
  LOCAL Row_last                                  {処理パーツIDの多}
  LOCAL Id_no                                     {元パーツのID番号}
  LOCAL Centerpoint_org                           {元パーツの原点}
  LOCAL Scale_org                                 {元パーツの尺度}
  LOCAL Scale_target                              {処理パーツの尺度}
  LOCAL Centerpoint                               {処理パーツの原点}
  LOCAL Point1                                    {切り取り指示位置}
  LOCAL Point3
{ 指示位置の分解値}
  LOCAL Point_1x
  LOCAL Point_1y
  LOCAL Point_3x
  LOCAL Point_3y
{ 補正切り取り位置}
  LOCAL Point_c1                                  {左下}
  LOCAL Point_c2                                  {左上}
  LOCAL Point_c3                                  {右上}
  LOCAL Point_c4                                  {右下}
{ カレント・パーツの位置の座標}
  LOCAL Point_w1                                  {左下}
  LOCAL Point_w2                                  {左上}
  LOCAL Point_w3                                  {右上}
  LOCAL Point_w4                                  {右下}
 

  LET Sign_word '$$element_spill$$'               {処理外要素のキーワード}
  CHANGE_GLOBAL_INFO Sign_word ''                 {キーワードをクリア}
  RESET_PART_NUMBER                               {ID番号の整理}

{ 切り取り範囲の入力}
  READ PNT '** 切り抜く、角の位置を指示して下さい。(下から上への方向は、全てのパーツ/上から下への方向は、パーツ域を指定)**' Point1
  READ PNT '** 切り抜く、角の位置を指示して下さい。(下から上への方向は、全てのパーツ/上から下への方向は、パーツ域を指定)**' RUBBER_BOX Point1 Point3
{ 左下・右上に補正}
  LET Point_1x (X_OF Point1)
  LET Point_1y (Y_OF Point1)
  LET Point_3x (X_OF Point3)
  LET Point_3y (Y_OF Point3)
  IF (Point_1x > Point_3x)
    IF (Point_1y > Point_3y)
      LET Point1 (PNT_XY Point_3x Point_3y)
      LET Point2 (PNT_XY Point_3x Point_1y)
      LET Point3 (PNT_XY Point_1x Point_1y)
      LET Point4 (PNT_XY Point_1x Point_3y)
    ELSE
      LET Point1 (PNT_XY Point_3x Point_1y)
      LET Point2 (PNT_XY Point_3x Point_3y)
      LET Point3 (PNT_XY Point_1x Point_3y)
      LET Point4 (PNT_XY Point_1x Point_1y)
    END_IF
 
  ELSE
    IF (Point_1y > Point_3y)
      LET Point1 (PNT_XY Point_1x Point_3y)
      LET Point2 (PNT_XY Point_1x Point_1y)
      LET Point3 (PNT_XY Point_3x Point_1y)
      LET Point4 (PNT_XY Point_3x Point_3y)
    ELSE
      LET Point2 (PNT_XY Point_1x Point_3y)
      LET Point4 (PNT_XY Point_3x Point_1y)
    END_IF
 

  END_IF

  INQ_ENV 7
  LET Id_org (INQ 302)                            {元パーツのID番号}
  LET Id_org ('~' + Id_org)
  LET Centerpoint_org (INQ 105)                   {元パーツの原点位置}
  INQ_ENV 19
  LET Scale_org (INQ 4)                           {元パーツの尺度}

  IF (Point_1y > Point_3y)                        {パーツ指定なら}
    PRT_EDITOR                                    {パーツ構造エディタを表示}
    READ STRING '** 切り抜き開始のパーツ欄を指示して下さい。 **' Row_first
    READ STRING '** 切り抜き終了のパーツ欄を指示して下さい。 **' Row_last
    SHOW_TABLE OFF 'PBT_GENTAB'                   {パーツ構造エディタの消去}
    LET Row_first (VAL (SUBSTR Row_first 2 (LEN Row_first)))
    LET Row_last (VAL (SUBSTR Row_last 2 (LEN Row_last)))
    IF (Row_first > Row_last)                     {大小の入れ替え}
      LET Id_no Row_first
      LET Row_first Row_last
    ELSE
      LET Id_no Row_last
    END_IF
 
  ELSE                                            {全パーツなら}
    INQ_ENV 8
    LET Id_no (inq 5)                             {ID番号の最大値}
    LET Row_first 1
  END_IF

  DISPLAY '** 実行すると復活できません。取り止めるなら [ESC]キーを押してください。その他のキーで実行します。**'  {警告}

{ バーツデータの処理}
  LOOP
    EDIT_PART ('~' + (STR Id_no))                 {処理パーツへ移動}
    INQ_ENV 19
    LET Scale_target (INQ 4)                      {処理パーツの尺度}
    INQ_ENV 7
    LET Centerpoint (INQ 105)                     {処理パーツの原点位置}
{   切り取り窓位置}
    LET Point_c1 ((Point1 * Scale_org + Centerpoint_org - Centerpoint) / Scale_target)  {補正描画位置1}
    LET Point_c2 ((Point2 * Scale_org + Centerpoint_org - Centerpoint) / Scale_target)  {補正描画位置2}
    LET Point_c3 ((Point3 * Scale_org + Centerpoint_org - Centerpoint) / Scale_target)  {補正描画位置3}
    LET Point_c4 ((Point4 * Scale_org + Centerpoint_org - Centerpoint) / Scale_target)  {補正描画位置4}
{   パーツの外周位置}
    INQ_ENV 7
    LET Point_w1 (INQ 101)
    LET Point_w3 (INQ 102)
    LET Point_w2 (PNT_XY (X_OF Point_w1) (Y_OF Point_w3))
    LET Point_w4 (PNT_XY (X_OF Point_w3) (Y_OF Point_w1))

    IF ((X_OF Point_c1) < (X_OF Point_w3))        {関係のないパーツは処理から除く為}
      IF ((X_OF Point_c3) > (X_OF Point_w1))
        IF ((Y_OF Point_c1) < (Y_OF Point_w3))
          IF ((Y_OF Point_c3) > (Y_OF Point_w1))
            TRAP_ERROR                            {エラーストップをOFF・要素無しパーツ用}
{           処理対象要素の除外目印(スピードUP)}
            ADD_ELEM_INFO Sign_word POLY Point_w1 Point_w2 Point_w3 Point_c3 Point_c4 Point_c1 Point_c2 Point_c3 Point_w3 Point_w4 Point_w1
            ADD_ELEM_INFO Sign_word POLY Point_w3 Point_w4 Point_w1 Point_c1 Point_c2 Point_c3 Point_c4 Point_c1 Point_w1 Point_w2 Point_w3
            ADD_ELEM_INFO Sign_word BOX Point_c1 Point_c3

            LINE RECTANGLE Point_c1 Point_c3      {切り取り穴}
            SPLIT SELECT ALL SUBTRACT INFOS Sign_word CONFIRM   {交差点での要素分割}
            DELETE SELECT BOX Point_c1 Point_c3 CONFIRM END     {削除}
            DISPLAY_NO_WAIT Id_no                 {動作表示}
            MERGE SELECT ALL SUBTRACT INFOS Sign_word CONFIRM   {分割要素の再結合}
            CHECK_ERROR                           {エラーストップをON}
            CHANGE_ELEM_INFO Sign_word '' INFOS Sign_word {目印隠滅}
          END_IF
 

        END_IF
 

      END_IF 


    END_IF

    LET Id_no (Id_no - 1)
  EXIT_IF (Id_no < Row_first)
    DISPLAY_NO_WAIT Id_no                         {動作表示}
  END_LOOP

  EDIT_PART Id_org                                {元パーツへ戻る}

END_DEFINE



気をつけて作りました、使用してのトラブルに責任は持てませんが、
自由にお使い下さい。(伏 見 表