「Tablet」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
編集の要約なし
 
11行目: 11行目:
; 引数
; 引数
:* code : 次の整数値の 1 つ。
:* code : 次の整数値の 1 つ。
::: 0  現在のディジタイザの位置合わせを返す。この場合、残りの引数は省略する。
:::* 0  現在のディジタイザの位置合わせを返す。この場合、残りの引数は省略する。
::: 1  後に続く引数に従って位置合わせを設定する。この場合、新しい位置合わせ設定(row1、row2、row3、direction)を指定しなければならない。
:::* 1  後に続く引数に従って位置合わせを設定する。この場合、新しい位置合わせ設定(row1、row2、row3、direction)を指定しなければならない。
::: row1、row2、row3  3 つの 3D 点。これらの引数は、タブレットの変換マトリックスの 3 つの行を指定する。row3 の第 3 要素(Z)は、常に1になる。row3 引数に異なる値を指定しても、1 として返す。
:* row1、row2、row3 : 3 つの 3D 点。これらの引数は、タブレットの変換マトリックスの 3 つの行を指定する。row3 の第 3 要素(Z)は、常に1になる。row3 引数に異なる値を指定しても、1 として返す。
;
;
:* direction : 1 つの 3D 点。タブレットの面を表す平面に垂直なベクトル(ワールド座標系、WCS で表現)。
:* direction : 1 つの 3D 点。タブレットの面を表す平面に垂直なベクトル(ワールド座標系、WCS で表現)。

2017年4月4日 (火) 16:27時点における最新版

構文
(tablet code [row1 row2 row3 direction])


機能
ディジタイザの位置合わせの取得と設定を行う。
* IJCAD で動作するかはわからない。
引数
  • code : 次の整数値の 1 つ。
  • 0 現在のディジタイザの位置合わせを返す。この場合、残りの引数は省略する。
  • 1 後に続く引数に従って位置合わせを設定する。この場合、新しい位置合わせ設定(row1、row2、row3、direction)を指定しなければならない。
  • row1、row2、row3 : 3 つの 3D 点。これらの引数は、タブレットの変換マトリックスの 3 つの行を指定する。row3 の第 3 要素(Z)は、常に1になる。row3 引数に異なる値を指定しても、1 として返す。
  • direction : 1 つの 3D 点。タブレットの面を表す平面に垂直なベクトル(ワールド座標系、WCS で表現)。
指定された direction 引数が正規化されていない場合、tablet 関数が正規化を行うので、関数が返す directionは、渡した direction と異なる場合がある。
戻り値
失敗した場合は、nilを返し、システム変数 ERRNO に失敗の理由を示す値を設定する。これは、ディジタイザがタブレット モードでない場合などに発生する。


サンプル
tablet で実現できる非常に単純な変換に、恒等変換がある。
(tablet 1 '(1 0 0) '(0 1 0) '(0 0 1) '(0 0 1))
この変換が有効な場合、AutoCAD は正規化前のディジタイザ座標をタブレットから効果的に取り出せる。たとえば、ディジタイザ座標が(5000, 15000)である点を指定した場合、AutoCAD はその点を図面内の座標が同じ点として認識する。
システム変数 TABMODE を使用すると、AutoLISP ルーチンでタブレットのオン/オフを切り替えることができる。