『vectorscript実践セミナー』 第2回【図形データの操作方法】

25
APA ススススス Web スススス ススススススススス 【】 VectorScript ススススススス ススススススススススス 【】 2015 ス 4 ス 10 ス ( ス ) ススススス スス ス

Upload: wataru-shiraishi

Post on 20-Jan-2017

177 views

Category:

Business


2 download

TRANSCRIPT

Page 1: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

APA スペシャル Web セミナー【プログラミング編】『 VectorScript 実践セミナー』第2回【図形データの操作方法】2015 年 4 月 10 日( 株 ) 治郎吉商店白石 亘

Page 2: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

VectorScript とは?VectorScript は、 Vectorworks のソフトウェアパッケージに含まれるスクリプト言語です。軽量なプログラミング言語である VectorScript の構文は Pascal と似ており、 Pascal のプログラム要素を多く取り入れています。VectorScript は実際、 Pascal 言語の「スーパーセット」として、 Pascal の基本機能に Vectorworks CAD エンジンの機能にアクセスするための各種 API (アプリケーションプログラミングインターフェース)を加えて拡張したものです。

VectorScript Language Guide から抜粋

Page 3: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

資料• VectorScript Language Guide• http://www.aanda.co.jp/develop/VS/

index.html• VectorScript Function Reference• VectorWorks フォルダに入っている

• サイト

これだけです。

Page 4: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

ハンズオン• 資料を開いてみよう• VectorScript Language Guide• http://www.aanda.co.jp/develop/VS/

index.html• VectorScript Function Reference• サイト• VectorWorks フォルダにも入っている

Page 5: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

全3回の内容• 第1回

• プログラムの基本形• 変数とデータ型• 論理構造• 図形を作成

• 第2回• 図形情報とハンドル• ハンドル移動ルーチン• 無限ループ

• 第3回• レコード

Page 6: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

目標サイト:http://developer.vectorworks.net/index.php/Main_Page

多くのコマンドがあります、同じ機能を実現するのにいくつかの方法があります。そんな中で、私らのコードは結構パターン化されています。よく使うコードパターンがあって、それらを組み合わせて使うことで多くの機能を実現することができます。基本となるコードパターンを覚えて、あとは応用で使えるコマンドを増やしていきます。このあたりのコツを紹介したいです。

Page 7: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

今日の内容• CAD のデータ構造• ハンドル変数• 論理構造( while による無限ループ)• 論理構造( procedure と function )• 図形情報を取得• 図形情報を変更• デバッグ1

Page 8: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

レイヤ

• 前回の終わりに...• 図形はカレントレイヤに作成する• 次回、詳しく説明

Page 9: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

CAD のデータ構造• まずレイヤがあって• その上に図形がある• どちらも前後関係がある

Page 10: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

CAD のデータ構造• まずレイヤがあって• その上に図形がある• どちらも前後関係がある

Page 11: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

ハンドル型の変数• プログラムの中で参照したいレイヤや図形はハンドルを取得して「ハンドル型の変数」に代入します。• ハンドルを取得する方法• レイヤのハンドル• 図形のハンドル• そのほか、シンボル定義のハンドルなどなど

Page 12: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

2• レイヤのハンドルを取得する方法• 変数宣言• layerHandle, layerH, layH, h :

handle;• layH := FLayer;• ActLayer, LLayer,

• layH := CreateLayer( 'template1', 1 );• template という名前でレイヤを作成

Page 13: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

ハンドル型の変数• 図形のハンドルを取得する方法• 変数宣言• object_handle, objectH, objH :

Handle;• objH := FActLayer;• FSActLayer, FInLayer,

Page 14: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

コマンドを作ってみる• リソースパレット• 新規スクリプト• パレットを追加• コマンドを追加• スクリプトエディタ

Page 15: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

プログラムの基本形• procedure( myPrg ) で始まる• const で定数を宣言• var で変数を宣言• begin と end で囲む• 行末にセミコロン• run( myPrg ); で終わる  run は全体で1カ所だけ

Page 16: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

変数名と予約語• 宣言に必要な「変数名」はプログラマが決めます。「データ型」は VectorScript の中で決まっています。• 変数名を決めることをネーミングといいます。• VectorScript によってすでに意味が決まっている「 VectorScript キーワード」というのがあります。予約語と呼ばれます。予約語は変数名に使うことはできません。• たとえば begin とか、 integer 、 handle 、 unit 、などなど• VectorScript Language Guide p10 - p11 参照

Page 17: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

宣言文• const• コンストと読む。 constant の略。• 定数変数を宣言するブロックの始まりを意味する。• プログラムの中で変更すると構文エラーになる。

• var• バーと読む。 variable の略。• 変数を宣言するブロックの始まりを意味する。

Page 18: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

論理構造• 条件分岐• if - then - else - end• イフ、ゼン、エルス、エンド• if 以下の条件文が正しければ続く実行文を実行、正しくなければ

else に続く実行文を実行• AlrtDialog :ダイアログを表示する

Page 19: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

論理構造• 繰り返し• while - do - begin - end• 条件文が真( true )の間はループ内のコードを実行、条件文が偽( false )になったらループを終了• 無限ループです• 終了条件が成立しないと止まりません

Page 20: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

プログラムの構造• procedure• 手続き、プロシージャ• 戻り値がない• procedure myProc ;

• function• 関数、ファンクション• 戻り値がある• function myFunc : longint ;

Page 21: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

プログラムの構造

• モジュール化のきっかけ• 1つのモジュールには論理構造は2つまで• 2重ループはモジュール化したい• 対称性のある if 文はこの限りではない。

Page 22: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

プログラムの構造

• モジュール化に伴うこと• 引数で渡すか、グローバル変数を使うか• 変数の有効範囲

Page 23: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

プログラムの構造

• モジュール化に伴うこと• 再利用性• ほかのプログラムで再利用する

Page 24: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

プログラミング• プログラムを書く• ソースコードをタイプイン、コピペ

• コンピュータに仕事をさせるには正しい記述が必要• 構文解析時のエラー• 実行時のエラー• エラーはないが、意図せぬ動き• VectorWorks が異常終了• Mac/Win が異常終了• 自分の書いたプログラムを修正する• 自分の間違いには気づきにくい

Page 25: 『VectorScript実践セミナー』 第2回【図形データの操作方法】

終わりに• VectorScript プログラミング入門 ( 現在改訂中 )• 治郎吉商店制作のサンプルコード集• オンラインショップ「 JiroShop 」にて発売中

• ご清聴ありがとうございました。