Outside Process |
Prev | Index | Next |
■ Outside Process ■Outside Process は、命令が記述された、拡張子「.ops」というファイルを読み込んで、そこで指示された動作をします。 基本的な動作は、データの出力、外部プログラムの実行、データの入力です。 「.ops」ファイルの書き方は、後に書きます。 |
■ ops Format ■行頭に、MSGBAR,MSGBOX,INPUT,SELECT,ONE,SELECT,MANY,OUT_FILE,INP_FILE,EXEC,LOOP,ENDがあるかということだけで判断しているので、必ず行頭でお願いします。(# コメントも) また、動作1個につき1行で記述してください。これも単純に、1行読み込んで処理をしているので 2行にわたって書いたらエラーになると思います。 現在、動作を覚えておく領域を100個で取っていますので、100個まででお願いします。 100個で問題があるようなら、動的にとるようにするなり、対処しようと思いますが、とりあえずこれで。 ■ # (コメント行) ■書式は、# コメント(何を書いても良い) で、「#」は行頭に書いてください。 ■ MSGBAR ■書式は、MSGBAR,"メッセージ" で、データ1個1行です。 SagCAD のウインドウ下のステータスバーに「メッセージ」を表示します。 ■ INPUT ■書式は、INPUT,"keyword","メッセージ" で、データ1個1行です。 キーボードからのデータの入力が必要なときに使用します。 入力された文字列データを「keyword」と一緒に出力します。 ■ MSGBOX ■書式は、MSGBOX,"メッセージ" で、データ1個1行です。 ダイアログで、「メッセージ」を出します。 ■ SELECT,ONE ■書式は、SELECT,ONE,obj,"keyword","メッセージ",COPY で、データ1個1行です。 マウスからのデータの入力が必要なときに使用します。 "メッセージ" は、ステータスバーに表示されます。 データは、1個だけです。1個選ばれたらすぐ次の処理に進みます。 obj : セレクトする要素 1 : 点 2 : 線 4 : 円弧 8 : 円 128 : 任意点 256 : 寸法図形 512 : ポリライン 2048 : 楕円 COPY : セレクトされたデータをどうするか。 COPY : CAD データとしてそのまま残す。 CUT : CAD データから削除する。 線だけを求めるなら、2 を入れる 線と点なら、1+2=3、で 3 を入れる。 任意の点を求めるときだけ、右クリックを使用する。 ■ SELECT,MANY ■書式は、SELECT,MANY,obj,"keyword","メッセージ",COPY で、データ1個1行です。 マウスからのデータの入力がたくさん必要なときに使用します。 このとき、データをセレクトし、次の処理に移るときは、Outside Process を 起動するときに押した、ボタンを押して下さい。 ■ OUT_FILE ■書式は、OUT_FILE,"out_file_name" で、データ1個1行です。 データは、INPUT も SELECT も (home)/.sagcad/osp_temp.txt にためていきます。 そして、この命令があったときに、out_file_name に移動&名前変更をしています。 ■ INP_FILE ■書式は、INP_FILE,"in_file_name" で、データ1個1行です。 この命令があったときに、in_file_name からデータを入力します。 ■ EXEC ■書式は、EXEC,"command1","command2" で、データ1個1行です。 シェルに実行させます。 "command1"と"command2"をスペースを入れてくっつけています。 "command1"だけでもいいと思いますが、そのとき "command2" は、"" にして置いてください。 ■ LOOP ■書式は、LOOP,n です。 「n」で指示された処理にとびます。 「n」は、ここに書いてある MSGBAR MSGBOX INPUT SELECT,ONE SELECT,MANY OUT_FILE INP_FILE EXEC LOOP END などを上から 1,2,3...n と数えます。 コメントや上記以外のものは、数えません。 注) LOOP を使うと終わりがないので、CANCEL を押して下さい。 ■ END ■書式は、END です。 Outside Process の終了です。 |
■ SagCAD の出力例 ■INPUT,"radius","12.5" INPUT,"name","Yutaka Sagiya" START,"base point" 入出力共通各種図形データ <--- 後に詳細があります。 END(,x,y) <--- SELECT,ONE のとき、選択時のマウスの座標が入る。 NOW_LAYER,1 NOW_COLOR,0 NOW_STYLE,1 LAYER_INFO 1500000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 EOF |
■ SagCAD の入力形式 ■NOW_LAYER,1 NOW_COLOR,0 NOW_STYLE,1 LAYER_INFO 1500000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 START 入出力共通各種図形データ <--- 後に詳細があります。 END EOF |
■ 入出力共通各種図形データ ■Layer レイヤー番号 0 から 255 まで Style 線種 0 : 実線 1 : 実線 2 : 点線 3 : 一点鎖線 4 : 二点鎖線 Color 色 16進は 0xrrggbb で、10進でも可。そのときは、0x は付けない。 r : 赤 g : 緑 b : 青 最初に「0x」がつけば16進数で、なければ10進数。 【点・線・円弧・円】--- <例> ---POINT,layer,color,style,x,y LINE,layer,color,style,sx,sy,ex,ey ARC,layer,color,style,cx,cy,r,sx,sy,ex,ey CIRCLE,layer,color,style,cx,cy,r 【楕円】--- <例> ---ELLIPSE,layer,color,style,cx,cy,dx,dy,k,sa,ea CX 楕円の中心のX座標 CY 楕円の中心のY座標 DX 楕円の中心を基点とした長軸の点への相対X座標 DY 楕円の中心を基点とした長軸の点への相対Y座標 K 扁平率 SA 開始角度 EA 終了角度 【寸法】--- <例> ---DIMENSION,layer,Text,UpperText,LowerText,FontType,FontHeight,FontSpace,Angle, SearchPointX,SearchPointY,StartPointX,StartPointY,index <- 実際は1行 ASSISTLINE, defin, SX, SY, EX, EY, CX, CY, R ASSISTLINE, defin, SX, SY, EX, EY, CX, CY, R ASSISTLINE, defin, SX, SY, EX, EY, CX, CY, R ■ DIMENSION Layer レイヤー番号 0 から 255 まで Text 寸法値(テキスト)で「""」で囲んでます。 UpperText 上限公差(テキスト)で「""」で囲んでます。 LowerText 下限公差(テキスト)で「""」で囲んでます。 FontType Linux 版では、1 (ベクトルフォント) です。 FontHeight 文字の高さです。 FontSpace 文字の間隔です。 Angle 文字の角度です。 SearchPointX 寸法データをサーチするための点のX座標。 SearchPointY 寸法データをサーチするための点のY座標。 FitPointX 文字を書き出す位置 0 : 左 1 : 中 2 : 右 FitPointY 文字を書き出す位置 0 : 下 1 : 中 2 : 上 index 後に続く補助線(AssistLine)の個数。 ■ ASSISTLINE defin 0 : 点 1 : 線 2 : 円弧 4 : 円 10 : 終点に矢印(線) 11 : 終点に矢印(線) 20 : 両端に矢印(線) 21 : 両端に矢印(線) 30 : 両端に逆矢印(線) 31 : 両端に逆矢印(線) (40) : 始点に矢印(円弧) (50)終点に矢印(円弧) 60 : 両端に矢印(円弧) 61 : 両端に矢印(円弧) 70 : 補助線 (SX,SY)-(EX,EY) で指定された直線。 始点側を、環境設定-寸法-起点からのオフセットで指定された長さだけ表示 しない。 終点側を、環境設定-寸法-補助線延長長さで指定された長さだけ延長する。 80 : (矢印)補助線の延長 (SX,SY)-(EX,EY) で指定された直線を、環境設定-寸法-補助線延長長さで指 定された長さだけ終点を延長する。 【曲線】--- <例> ---POLYLINE,layer,color,style,code,split,pitch,frag,index VERTEX,x,y VERTEX,x,y Code 8 : ポリライン 16 : スプライン補間 32 : Bスプライン曲線 (64) : ベジェ曲線 Split 分割数です。 Pitch ピッチです。 Frag 0 : 閉じてない 1 : 閉じている index 後に続く頂点(VERTEX)の個数。 |
Outside Process |
Prev | Index | Next |