Sponsored links

【AutoLISP DCL】イメージ(画像表示)タイル image

Sponsored links
ダイアログボックス
Sponsored links

image タイルは、画像をダイアログに表示させるタイルです。

Sponsored links

事前準備

この記事では、スライド (SLD ファイル)を使ってダイアログボックスに画像を表示させる方法についてです。

表示させるスライドを用意し、SLIDE-Aという名前で、サポートファイルの検索パス内のフォルダに保存してください。

スライドの作り方についてはコチラの記事を。

画像表示 タイル image

画像表示ダイアログボックス

DCL プログラム

Test_Image:dialog {label= "Image Dialog Box";

  :image {key="A"; height=10; width=10; color = 250;}   
    
ok_cancel;
}

:image {key=”A”; height=10; width=10; color = 250;}

画像表示タイル image を置き、キーを”A”に設定しました。
用意したタイルは正方形なので、タイルの幅と高さをどちらも10にしました。

色はAutoCADのインデックスカラーの番号を入れるか、AutoCADの”オプション”で設定されている色を使うことができます。

例えば、color = graphics_backgroundにすれば、現在のスペースの背景に指定している色になります。

ただ、例えば、今回は白色の文字で書かれたスライドを用意しましたが、背景を白色に設定してあるAutoCADで開くと、見えなくなります。

なので、AutoCAD設定を使うのではなく、色を番号で指定した方が、どんな設定でも同じように開くのでいいと思います。

DCLは、以下のAutoLISPプログラムで呼び出すので、JagaDCL.dclという名前で、サポートファイルの検索パス内のフォルダに保存してください。

AutoLISP プログラム

(defun c:test (/ dcl_id Act)

   (setq dcl_id (load_dialog "JagaDCL.dcl")) ;
   
      (if (not (new_dialog "Test_Image" dcl_id))
	      (progn
            (princ "***ダイアログボックスが見つかりません***")
            (exit)
      ));if 
;-----------------------------------------------------------
  
     (start_image "A")
       (slide_image 0 0 (dimx_tile "A")(dimy_tile "A") "SLIDE-A")	
     (end_image)

;-----------------------------------------------------------
      (action_tile "accept" "(done_dialog 1)")
      (action_tile "cancel" "(done_dialog 0)")
;-----------------------------------------------------------
            (setq Act (start_dialog))
            (unload_dialog dcl_id)
;-----------------------------------------------------------
             			
(princ))

これが、先ほどのDCLを開いてダイアログボックスを表示させるAutoLISPです。

画像を表示させる部分はこの部分です。

(start_image "A")
     (slide_image 0 0 (dimx_tile "A")(dimy_tile "A") "SLIDE-A")
(end_image)

(start_image “A”)

まず、関数 start_image から始まります。ここに、DCLで指定したキーを入れて下さい。

(slide_image 0 0 (dimx_tile “A”)(dimy_tile “A”) “SLIDE-A”)

そして、関数 slide_image を使って、スライドを指定します。

最初の引数は、タイルの左上からの横方向のオフセットです。
2番目の引数は、タイルの左上からの縦方向のオフセットです。

3番目の引数はスライドの幅です。
4番目の引数はスライドの高さです。

そして、5番目は、スライドの名前を入れます。

ここでは、タイルいっぱいに表示させます。

なので、タイルの左上ピッタリに付けるので幅も高さも0。

スライドの幅と高さは、関数 dimx_tileと、dimy_tileを使いました。
dimx_tile は、タイルの X方向の長さ(幅)
dimy_tileは、タイルの Y方向の長さ (高さ)
です。どちらも引数として、タイルのキーを入れます。

(end_image)

画像表示タイルの設定が終わったら、end_image で閉じます。
start_image と end_imageは、セットで使うので忘れないでください。

まとめ

  • image は画像表示タイル。
  • image タイルのAutoCAD側の設定は、(start_image “キー”) と (end_image) の間でする
  • slide_image でスライドを表示させる。
  • slide_image の引数は、左上の縦、横の開始位置、スライドの幅、高さ、スライド名。
  • (dimx_tile “キー”) で、タイルの幅を得ることができる。
  • (dimy_tile “キー”) で、タイルの高さを得ることができる。

Comments