CosmosをインストールしたパソコンにあるRunSVLスクリプトファイルを以下の手順で実行します。
① メニュー「ファイル(F)」-「開く(O)...」をクリックします。
② Cosmosをインストールしたフォルダーのサブフォルダー「Sample」にある 「LocalSample.jss」を選択して、「開く」ボタンをクリックします。
2つのシート「Main」と「Data」を持つ、表が表示されます。
「Main」にはプログラム、「Data」にはデータが記述されています。
③ RunSVL実行前に「実行モード」を確認しておきます。
実行モードで、シートのプログラム開始位置が決まります。
Mainモード | ・・・ | Mainシートの1行1列目から実行 |
Sheet モード | ・・・ | 現在表示しているシートの1行1列目から実行 |
Columnモード | ・・・ | 現在表示しているシートでカーソル列の1行目から実行 |
モードを変更するには、実行モードの表示欄の右にある下矢印ボタンを押してモードをクリックしてください。
④ 実行は以下の基本ツールバーにある「RunSVL実行」ボタンをクリックしてください。
「Main」シートにあるプログラムは「Data」シート上のデータにしたがって矩形と丸を描きます。
Web上にあるRunSVLスクリプトを以下の手順で実行します。
① アドレスバーに実行したいHTMLあるいはJSSファイルのURLを入力します。
WebサンプルのURL「http://futureworld.shintech.jp/cad/manual/WebSample.shtml」を例にしますのでアドレスバーに入力してください。
入力がめんどうくさい方は RunSVL Webサンプル ←この部分をクリックしてください。
すると以下のページが表示されます。
② 上のページ RunSVL実行 部分をクリックすると「WebSample.jss」のMainシートから実行を開始します。
WebSample.jss は幅,高さ,穴数,四角数の入力値を解釈し実行して描画し、実行結果を表示します。
「RunSVL実行(ローカル)」で説明した「LocalSample.jss」をお気に入りへ追加し、以降は「お気に入り」から実行します。
① 「LocalSample.jss」のWindow上で右クリックし、ポップアップメニュを表示させます。
表示されたメニューから「お気に入りへ追加(A)」をクリックしてください。
「Main」シートから実行しますので、そのシートを表示させておいてください。表示されたシートから実行開始します。
② 「お気に入り(A)」ダイアログが表示されます。「保存」ボタンをクリックをクリックするとお気に入り追加が完了します。
お気に入りへの追加が完了したので、「LocalSample.jss」を閉じてください。
③ メニュー「お気に入り(A)」をクリックすると、「LocalSample.jss」項目が追加されています。
この項目をクリックすると「LocalSample.jss」を読み込み、「Main」シートから実行を開始します。
↓
「LocalSample.jss」を読み込まれて、実行結果が表示されます。
「RunSVL実行(Web)」で説明した「WebSample.shtml」をお気に入りへ追加し、以降は「お気に入り」から実行します。
① 「WebSample.shtml」のWindow上で右クリックし、ポップアップメニュを表示させます。
表示されたメニューから「お気に入りへ追加(F)」をクリックしてください。
② 「お気に入り」ダイアログが表示されます。「OK」ボタンをクリックをクリックするとお気に入り追加が完了します。
お気に入りへの追加が完了したので、「WebSample.shtml」を閉じてください。
③ メニュー「お気に入り(A)」をクリックすると、「RunSVL Webサンプル」項目が追加されています。
この項目をクリックすると「WebSample.shtml」を読み込み表示します。
④ 幅,高さ,穴数,四角数の入力欄に入力した後、RunSVL実行 部分をクリックすると「WebSample.jss」のMainシートから実行を開始します。
↓
以下のような実行結果となります。
「Cosmosコンテンツ集」 のRunSVLプログラムを直接実行できるように、お気に入り追加をおこないます。
① アドレスバーに「http://www.shintech.jp/cad/contents/index.shtml」を入力してEnterキーを押して下さい。
入力がめんどうくさい方は Cosmosコンテンツ集 ←この部分をクリックしてください。
すると以下のページが表示されます。
以下の順でクリックすると、お気に入りへ追加したいRunSVLプログラムのリストが表示されます。
② 直線(実線)の上で右クリックして、メニュー「お気に入りへ追加(F...」をクリックしてください。
③ 「お気に入り」ダイアログが表示されます。「OK」ボタンをクリックをクリックするとお気に入り追加が完了します。
お気に入りへの追加が完了したので、「Cosmosコンテンツ集」ページを閉じてください。
③ メニュー「お気に入り(A)」をクリックすると、「直線(実線)」項目が追加されています。
この項目をクリックすると「直線(実線)」(exeSVL.jss?Cmd$.ExeSVL("cmdLINE.SVL");)が実行します。
↓
以下のように「SVL実行」ダイアログと入力メッセージが表示されます。指示にしたがって「直線(実線)」を実行します。
下図のSVLを実行するRunSVLプログラムを作成します。
Cosmosインストールフォルダー\Sample\SVL_SAMP\Rect.SVL |
→ |
これで図形が出力できる環境ができました。
④ 実行準備2
実行モードを「Sheet」モードにしておく。
これで現在表示しているシートの先頭から実行できます。
⑤ 実行例1
シートの2列目にある幅と高さを入力して「RunSVL実行」ボタンをクリックしてRunSVLを実行します。
基準点の入力セルが空になってるので、実行中にマウスで入力します。
↓
⑥ 実行例2
複数列、列の先頭行に「*」または「*Label」を記述し、その次行のセルにSVL入力値して、SVLを連続実行します。
点の入力要素はカンマ区切りで座標 x,y を記述すると、入力バーに入力を促すメッセージを出さずこの値で、RunSVLはSVLを実行します。
↓
単純なSVLをつなぎあわせて複雑な図形を発生させるRunSVLプログラムを作成します。
次の2つのSVLをつなぎぎあわせます。
Cosmosインストールフォルダー\Sample\SVL_SAMP\Rect.SVL |
|
Cosmosインストールフォルダー\Sample\SVL_SAMP\Circ.SVL |
次のようにSVLをつなぎぎあわせます。
① RunSVLスクリプトファイル「ex2.jss」を新規作成。
② 1列目に「Rect.SVL」を貼付。
③ 3列目に「Circ.SVL」を貼付。
④ 2つのSVLをつなげるために、2列5行目に「<?」, 4列7行目に「<B.ie0」を記入。
「<?」はユーザーからのマウス入力を要求し、その入力の値をセルの値とします。
「<B.ie0」はラベルBの列と入力要素ie0のセル位置の値をgetし、その値をセルの値とします。
⑤ Circ.SVLをさらにつなげるために、5列目に 「*」とSVLの入力値を記入します。
基準点は1つ前のSVLの出力点を利用するために「<D.oeP」を記述します。
さらに上図で W=2000, H=1500, X=700, Y=1000, R=150, X’=800, Y’=-500, R’=200となるように記述します。
⑥ 実行準備
実行モードを「Sheet」にしておく。「ex2.jss」をアクティブにしておく。
⑦ 実行(基本ツールバーにある「RunSVL実行」ボタンをクリック)
もし、図面Windowがなければ、自動的に新規図面作成コマンドが走ります。
(↓)
基準点をマウス入力します。
↓
実行結果
「SVLをつなげる ex2.jss」では、図面作成と基準点 指示をユーザーに操作させていました。 ここではユーザーの入力なしで実行できるように変更します。
① メニュー「ファイル(F)」-「名前を付けて保存(A)...」を実行して「ex2.jss」を「ex3.jss」で保存します。 その「ex3.jss」を読み込ます。
② Sheet1の列を1列右に移動します。
↓
③ 1列目に以下のスクリプトを記述します。
[1] % //javascript ・・・ スクリプト列の開始 //javascript はExcel上で動かすとき確実にJavascriptエンジンを使います。
[3] Cmd$.CreateFTR("Plt.FTR","A3横",420,297); ・・・ A3サイズの「Plt.FTR」図面を作成
[4] Cmd$.CreateMap("No2",15,15,1/10); ・・・ 1/10の縮尺座標系(no2)を作成
[6] Cmd$.FocusMap("No2"); ・・・ 縮尺座標系(no2)を現座標系に設定
[8] B(100,150); ・・・ 3列目へ基準点(100,150)を引数で渡す。
[10] end$(); ・・・ RunSVL実行を中止する関数 end$() を実行
[12] % ・・・ スクリプト列の終わり
さらに、3列目の1行セルを *B(x,y) に変更します。
④ RunSVL実行します。ユーザーからの入力なしで次の図面が作成されます。
シート上にあるデータをもとに図形を作成するプログラムを作成します。
「SVLをつなげる」の「Rect.SVL」と「Circ.SVL」を利用します。
① SVL貼付とスクリプトの記述を以下のようにします。
[13] x = Data[2][i]; if( x=="" ) break; ・・・ Dataシート2行i列目のセルの値を取得。値が空ならforループを抜ける
[14] y = Data[3][i]; ・・・ Dataシート3行i列目のセルの値を取得
[15] d = Data[4][i]; ・・・ Dataシート4行i列目のセルの値を取得
セルの値取得については「セルへの代入と値参照」を参照してください。
Sheet名を変更しています。「Sheet名変更操作」を参照してください。
② Dataを以下のように作成します。
③ 実行結果は以下のようになります。
「ex4.jss」「Main」シート1列目のスクリプト列をJavascriptシートへ移動します。
JavascriptシートにはJavascriptコードが記述されます。
① 「Script」シートの1行1列目に「%%%javascript」を記入し(これで「Script」シートはJavascriptシート になります)、Mainシート1列目のスクリプト列の内容を「Script」シートへ移動します。
[9] Main.Rect(1000,1000); ・・・ MainシートのRect(w,h)を呼び出すので「Main.」を付けて呼び出します。
[17] Main.Circ(d,x,y); ・・・ MainシートのCirc(d,x,y)を呼び出すので「Main.」を付けて呼び出します。
② 実行結果は「シートアクセス ex4.jss」と同じになります。
RunSVLの実行順序は、どのSheetを表示していてもJavascriptシート から実行開始するからです。
SVLアプリ列にあるSVLプログラムは式で与えることができます。 SVLプログラムのフォルダーを自由に指定できるようにします。
① Javascriptシート にフォルダー名をセットする変数「gDir」を宣言します。
var gDir = "C:/Program Files/Cosmos/Sample/SVL_SAMP/";
② 「Main」シートの1行3列目にあるSVLプログラム指定を式で与えます。
%%SVL=gDir + "Rect.SVL"
③ 実行結果は「シートアクセス ex4.jss」と同じになります。
Javascriptシート で宣言された変数、関数はどのシートからでも参照できます。 (スコープ)
SVL入出力列 のセルにスクリプトが埋め込まれます。 これでSVLの入力変数・要素に加工した値が渡せます。
① 「Main」シートの3列目 *Rect(L,k,w,h)に変更します。
L, k から基準点を計算するスクリプトを書くために、SVLアプリ列 に「%」を記述します。
これでこの行に対応した入出力列のセルにスクリプトが書けます。
② Javascriptシート でのMain.Rect(...)呼び出しの引数を次のように変更します。
[11] Main.Rect(100,45, 1000,1000);
③ 実行結果は「シートアクセス ex4.jss」と同じような結果になります。
CSVファイルにある直線群を書きます。
Cosmosインストールフォルダー\Sample\SVL_SAMP\Line.SVL |