コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
GizmoLab 関連
オンラインショップ
CAD&CGブログ
YouTube
GitHub
CAD 系
GizmoTools
AutoLISP
Visual LISP
BricsCADのLISP
GzLib
DCL
OpenDCL
DWG
DXF
CADのコマンド一覧
システム変数
図形の種類
Ver別サポートAPI
CAD用語集
メモ
newLISP
CommonLISP
Script-Fu
Inno setup
JavaScript
ANDROID
Windowsでのファイルハッシュ確認
Prolog
Python
Clojure
Electron
フォント
数学メモ
イメージサイズとメモリ量
blender
Processwire
Win10,11メモ
IIJmio
mediawiki資料
ヘルプ
検索
検索
表示
ログイン
個人用ツール
ログイン
DIESELのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
DIESEL
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:DIESEL]] = DIESEL式 = DIESEL(Direct Interpretively Evaluated String Expression Language)式は、文字列を受け取り結果として文字列を返す言語。<br /> DIESEL はメニュー マクロの中で使用したり、ステータス行に文字列を表示するために使用される。 == DIESEL の関数 == {| class="wikitable" ! 関数名 !! 構文 !! 内容 |- | + (加算) || $(+, val1 [, val2, …, val9]) || 数値 val1、val2、…、val9 の合計を返す。 |- | - (減算) || $(-, val1 [, val2 , …, val9]) || 数値 val2 から val9 までの合計を val1 から減算した結果を返す。 |- | * (乗算) || $(*, val1 [, val2, …, val9]) || 数値 val1、val2、…、val9 を乗算した結果を返す。 |- | / (除算) || $(/, val1 [, val2, …, val9]) || 数値 val1 を val2、…、val9 で除算した結果を返す。 |- | = (に等しい) || $(=, val1, val2) || 数値 val1 と val2 が等しいと、この文字列は 1 を返し、それ以外の場合は 0(ゼロ)を返す。 |- | < (より小さい) || $(< , val1, val2) || 数値 val1 が val2 より小さいと、この文字列は 1 を返し、それ以外の場合は 0(ゼロ)を返す。 |- | > (より大きい) || $(>, val1, val2) || 数値 val1 が val2 より大きいと、この文字列は 1 を返し、それ以外の場合は 0(ゼロ)を返す。 |- | != (に等しくない) || $(!=, val1, val2) || 数値 val1 と val2 が等しくないと、この文字列は 1 を返し、それ以外の場合は 0(ゼロ)を返す。 |- | >= (より小さいか等しい) || $(<=, val1, val2) || 数値 val1 が val2 より小さいか等しいと、この文字列は 1 を返し、それ以外の場合は 0(ゼロ)を返す。 |- | <= (より大きいか等しい) || $(>=, val1, val2) || 数値 val1 が val2 より大きいか等しいと、この文字列は 1 を返し、それ以外の場合は 0(ゼロ)を返す。 |- | and || $(and, val1 [, val2, …, val9]) || val1 から val9 までの整数の AND(ビット方式の論理積)を返す。 |- | angtos || $(angtos, value [, mode, precision]) || 指定された形式と精度の角度値を返す。 |- | [[edtime]] || $(edtime, time, picture) || 指定された picture に基づいて書式化された日付と時刻を返す。 |- | eq || $(eq, val1, val2) || 文字列 val1 と val2 が同じなら、この文字列は 1 を返し、それ以外の場合は 0(ゼロ)を返す。 |- | eval || $(eval, str) || 文字列 str を DIESEL 式として評価し、結果を返す。 |- | fix || $(fix, value) || 実数 value の小数部を切り捨てて整数に変換する。 |- | getenv || $(getenv, varname) || 環境変数 varname の値を返す。 |- | getvar || $(getvar, varname) || varname で指定されたシステム変数の値を返す。 |- | if || $(if, expr, dotrue [, dofalse]) || 条件評価式。 |- | index || $(index, which, string) || カンマで区切られた文字列内の指定されたメンバーを返す。 |- | nth || $(nth, which, arg0 [, arg1,…, arg7]) || which で選択した引数を評価して返す。 |- | or || $(or, val1 [, val2,…, val9]) || val1 から val9 までの整数の OR(ビット方式の論理和)を返す。 |- | rtos || $(rtos, value [, mode, precision]) || 指定された形式と精度の実数を返す。 |- | strlen || $(strlen, string) || string の長さ(文字数)を返す。 |- | substr || $(substr, string, start [, length]) || string の部分文字列を返す。返される部分文字列は start から始まり、length で指定された長さ。 |- | upper || $(upper, string) || 各国語の規則に従って大文字に変換された string を返す。全角のアルファベットも正常に変換される。 |- | xor || $(xor, val1 [, val2,…, val9]) || val1 から val9 までの整数の XOR(ビット方式の排他的論理和)を返す。 |} == DIESEL エラー メッセージ == DIESEL 式では、エラーの性質に応じて、出力ストリームにエラー表示が埋め込まれる。 (IJCADではない。) {| class="wikitable" ! エラー メッセージ || 説 明 |- | $? || 構文エラーです(通常、右括弧が抜けていたり、文字列がない場合)。 |- | $(func,??) || func の引数が間違っている。 |- | $(func)?? || func は、未定義の関数。 |- | $(++) || 出力文字列が長すぎます。評価は中止される。 |} == DIESEL カスタマイズでのデバック == AutoCADでは、macrotrace を有効にすることで各ステップの評価を確認する事が出来る。<br /> これによりステップの多い DIESEL 式を利用したカスタマイズを行いやすくなる。<br /> (IntelliCADには、この機能はない。) == 評価タイミングの問題 == DIESEL カスタマイズを行っていると出てくる問題として、メニューマクロの評価タイミングの差異によりうまく動作しないというものがある。これは、PCの性能などにより、同じ DIESEL式でもPCによっては期待通りに動かない(評価結果が反映されない)というものである。 この問題については、メニューマクロの記述を変えることで評価のタイミングを変えるいうトリッキーな手法で回避できる場合があるが、状況対応であり根本的な解決にはならない。 例. 中心線を作成するマクロでの利用 ^C^C_select;si;\$M=_select;p;\$M=_dist;nea;@;per;$(getvar,lastpoint);_offset;"""$M=$(/,$(getvar,distance),2)""";non;$(getvar,lastpoint);non;"$(getvar,lastpoint)";; ==メニューで使用する制御文字== <div class="mcol2"> * ^A : グループ選択 ON/OFF * ^B : スナップ ON/OFF * ^C : コマンドをキャンセル(ESCと同義) * ^D : 座標表示 ON/OFF * ^E : 等角面 切替 * ^F : Oスナップ ON/OFF * ^G : グリッド ON/OFF * ^H : バックスペース([BackSpace])を発行 * ^I : TABを発行 * ^J : キャリッジ リターンを発行(;と同義) * ^K : - * ^L : - * ^M : キャリッジ リターンを発行(;と同義) * ^N : - * ^O : 直交モード ON/OFF * ^P : MENUECHO ON/OFF * ^Q : - * ^R : - * ^S : - * ^T : タブレット ON/OFF * ^U : 極スナップ ON/OFF * ^V : - * ^W : Oスナップトラッキング * ^X : バックスペース * ^Y : - * ^Z : メニュー項目の終わりの[Spacerbar]の実行追加を抑止 </div>
DIESEL
に戻る。
検索
検索
DIESELのソースを表示
話題を追加