AutoCADLT2002 Tips−04




 
COMMAND
 

  AutoCADLTの基本入力はキーボード。まず最初にコマンドを入力。 データーの入力を要求されるので入力。この繰り返しである。

 PCの初期はそうだった。キーボード入力はインタープリターという プロセスで機械語に翻訳されパソコンを制御する。次の作業の命令 を催促するコメントがモニターに表れる。対話型のシステムである。 MSDOSがそうだった。Unixもそうだ。サーバー管理者は キーボードとモニターでシステムを監視コントロールしている。
 AutoCADLTはコマンドを解釈するインタープリターを ソフトの中に独自で持っている。

 AutoCADLTのコマンド群は膨大である。インストールしたディレクト リーの下のsupportというディレクトリーにaclt.pgpというtextファイル がある。そこに<Alias>,*<Full command name>という形式でショートカットテーブルがある。
3P,         *3DPOLY
A,          *ARC
AA,         *AREA
AD,         *ATTDISP
AE,         *ATTEDIT
AR,         *ARRAY
-AR,        *-ARRAY
AT,         *ATTDEF
-AT,        *-ATTDEF
ATE,        *ATTEDIT
-ATE,       *-ATTEDIT
ATT,        *ATTDEF
-ATT,       *-ATTDEF
ATTE,       *-ATTEDIT
AV,         *DSVIEWER
AX,         *ATTEXT
B,          *BLOCK
-B,         *-BLOCK
BA,         *BASE
BH,         *BHATCH
BM,         *BLIPMODE
BO,         *BOUNDARY
-BO,        *-BOUNDARY
BR,         *BREAK
C,          *CIRCLE
CE,         *ADCENTER
CH,         *PROPERTIES
-CH,        *CHANGE
CHA,        *CHAMFER
CL,         *COPYLINK
CO,         *COPY
COL,        *COLOR
COLOUR,     *COLOR
CP,         *COPY
D,          *DIMSTYLE
D1,         *DIM1
DAD,        *ATTDEF
DAL,        *DIMALIGNED
DAN,        *DIMANGULAR
DBA,        *DIMBASELINE
DCE,        *DIMCENTER
DCO,        *DIMCONTINUE
DDA,        *DIMDISASSOCIATE
DDI,        *DIMDIAMETER
DED,        *DIMEDIT
DI,         *DIST
DIV,        *DIVIDE
DL,         *DLINE
DLI,        *DIMLINEAR
DM,         *DIMSTYLE
DN,         *DXFIN
DO,         *DONUT
DOR,        *DIMORDINATE
DOV,        *DIMOVERRIDE
DR,         *DRAWORDER
DRA,        *DIMRADIUS
DRE,        *DIMREASSOCIATE
DS,         *DSETTINGS
DST,        *DIMSTYLE
DT,         *DTEXT
DV,         *DVIEW
DX,         *DXFOUT
E,          *ERASE
ED,         *DDEDIT
EL,         *ELLIPSE
EX,         *EXTEND
EXIT,       *QUIT
EXP,        *EXPORT
F,          *FILLET
G,          *PKFSTGROUP
-G,         *-PKFSTGROUP
GR,         *OPTIONS
GROUP,      *PKFSTGROUP
-GROUP,     *-PKFSTGROUP
H,          *BHATCH
-H,         *HATCH
HE,         *HATCHEDIT
HI,         *HIDE
I,          *INSERT
-I,         *-INSERT
IM,         *IMAGE
-IM,        *-IMAGE
IMP,        *IMPORT
IN,         *INTERSECT
IO,         *INSERTOBJ
IS,         *ISOPLANE
L,          *LINE
LA,         *LAYER
-LA,        *-LAYER
LE,         *QLEADER
LEN,        *LENGTHEN
LI,         *LIST
LINEWEIGHT, *LWEIGHT
LM,         *LIMITS
LO,         *-LAYOUT
LS,         *LIST
LT,         *LINETYPE
-LT,        *-LINETYPE
LTYPE,      *LINETYPE
-LTYPE,     *-LINETYPE
LTS,        *LTSCALE
LW,         *LWEIGHT
M,          *MOVE
MA,         *MATCHPROP
ME,         *MEASURE
MI,         *MIRROR
MO,         *PROPERTIES
MR,         *MREDO
MS,         *MSPACE
MT,         *MTEXT
-MT,        *-MTEXT
MV,         *MVIEW
N,          *NEW
O,          *OFFSET
OF,         *OFFSET
OO,         *OOPS
OP,         *OPTIONS
OR,         *ORTHO
OS,         *OSNAP
-OS,        *-OSNAP
P,          *PAN
-P,         *-PAN
PA,         *PASTESPEC
PE,         *PEDIT
PL,         *PLINE
PO,         *POINT
POL,        *POLYGON
PP,         *PLOT
PR,         *OPTIONS
PRCLOSE,    *PROPERTIESCLOSE
PROPS,      *PROPERTIES
PRE,        *PREVIEW
PRINT,      *PLOT
PS,         *PSPACE
PT,         *POINT
PTW,        *PUBLISHTOWEB
PU,         *PURGE
-PU,        *-PURGE
QT,         *QTEXT
R,          *REDRAW
RC,         *REVCLOUD
RD,         *REVDATE
RE,         *REGEN
REA,        *REGENALL
REC,        *RECTANGLE
REDRAWALL,  *REDRAW
REG,        *REGION
REN,        *RENAME
-REN,       *-RENAME
REV,        *REVDATE
RI,         *REINIT
RM,         *DDRMODES
RO,         *ROTATE
S,          *STRETCH
SA,         *SAVE
SC,         *SCALE
SCR,        *SCRIPT
SE,         *DSETTINGS
SET,        *SETVAR
SH,         *SHADE
SHA,        *SHADE
SN,         *SNAP
SO,         *SOLID
SP,         *SPELL
SPL,        *SPLINE
SPE,        *SPLINEDIT
ST,         *STYLE
SU,         *SUBTRACT
T,          *MTEXT
-T,         *-MTEXT
TA,         *TABLET
TH,         *THICKNESS
TI,         *TILEMODE
TM,         *TILEMODE
TO,         *TOOLBAR
TOL,        *TOLERANCE
TR,         *TRIM
TX,         *TEXT
UC,         *DDUCS
UCP,        *DDUCSP
UN,         *UNITS
-UN,        *-UNITS
UNI,        *UNION
V,          *VIEW
-V,         *-VIEW
VL,         *VPLAYER
VP,         *DDVPOINT
-VP,        *VPOINT
VS,         *VSLIDE
W,          *WBLOCK
-W,         *-WBLOCK
WI,         *WMFIN
WO,         *WMFOUT
X,          *EXPLODE
XA,         *XATTACH
XB,         *XBIND
-XB,        *-XBIND
XL,         *XLINE
XR,         *XREF
-XR,        *-XREF
Z,          *ZOOM

 誰もフルスペルで膨大なコマンドを打ち込めない。ショートカットを作る。 AutoCADLTはこの表でショートカットをフルスペルに翻訳する。僕が、L[enter]10,10[enter]100,100[enter]として直線を書けるのは このファイルのおかげだ。

 
アイコン
 

 グラフィカルなモニターインターフェースとマウスが基本 入力となった。Windowsのおかげでアプリケーションはみな そうなのだが。アイコンをクリックすれば作業は進む。コマンド はもう要らない。

 でも、AutoCADLTの基本は何も変わっていない。Windowsインターフェースが 仲介してAutoCADLTのインタープリターに命令を送っている。
 アイコンの仕組みがどうなっているか調べてみよう。表示>ツールバー>とすると、カスタマイズのダイアログが開く。こうしておいて、例えば「削除」のアイコンをクリック する。ボタンのプロパテーが表示される。「このボタンに関連付けられたマクロ」 の欄を見てみよう。
^C^C_erase 

 「マクロ」とはコマンド群といった意味。^CはキーボードからESCを押しコマンド をリセットしたということ。_eraseはERASEコマンド。削除コマンド。前に_が付い ているが日本語版では意味はない。他言語のためのAutoCAD仕様。癖とでも 解釈しておこう。

 結局、マウス操作になったのだが、AutoCADLTはコマンドで操作されている。


 
コマンド文字列
 


マクロで使用される特殊文字
\ コマンドラインに入力が可能なように一時停止。
; [Enter]の入力。
[Spacerbar][Spacerbar]を押すのと同じ空白スペースをコマンド行に入力。
* 後に続くマクロを繰り返し。
$ DIESEL マクロ式($M=)を導入するための特殊文字コード
^M [Enter]の入力。ASCIIコードの制御文字省略表記
^I [TAB]の入力。ASCIIコードの制御文字省略表記
^C Cancel [ESC]。入力 コマンドをキャンセル。
^B SnapのON/OFF。
^D Display 座標表示のON/OFF。
^E 3D視点等角面の切り替え。
^G Grid(グリッド)のON/OFF。
^H [BS]の入力。
^O ORTHOMODE 直交モードを切り替える。
^P Print MENUのコマンドをコマンドラインに表示。
^Q すべてのプロンプト、ステータスの一覧をエコー表示してプリンタに入力。
^T Tabletの切り替え。
^V Viewportの切り替え。
^Z メニュー定義の終了。


 カレット( ^ )はキーボードの[Ctrl]キーにマップされている。別の文字と結び付けて、グリッドのオンとオフの切り替え(^G)やコマンドのキャンセル(^C)などの動作を記述しマクロを構築できる。
 寸法記入コマンドはコマンドプロンプトに戻るに二回ESCを押す必要がある。このような事情で、^C^C を入力し、マクロ開始前に、確実にコマンドプロンプトに戻せるようにしている。

 セミコロン( ; )を検出した場合は、[Enter]に置き換えられる。

各コマンドにより要求されるキー入力は違いがある。[Enter]だけでよかったり、10、90[Enter]だったり、オプションのM[Enter]だったりする。 マウスでオブジェクトを連続選択できるコマンドもある。[Enter]で次ぎのプロセス に移る。「\」は、この入力終了の[Enter]も含めた応答という意味に解釈できる。

 コマンドリストを見ると、同じコマンドでも前に-が付くのがあります。Layerと -Layeのように。これは一体なんだろう。特殊文字かと思ったが、そうではなかった。
 ダイヤログが開かないバージョンだそうです。マクロにはこちら を使うのでしょう。

 
対話型コマンド
 

 AoutoCADLTの対話型コマンドはコマンド入力に対して、次のデーターをメッセージ と共に要求してくる。アイコンをクリックして作業しますが、どうもうまく行かないという経験があります。記録されたマクロを2、3調べてみましょう。

 まず、最も基本の Line コマンドです。Lineコマンドは、マウスの場合 line のアイコンをヒット。始点をヒット、終点をヒット。ここで次の点指示を 待つのですが、[Enter]を押せば終ります。確かにマクロもそうなっていました。
ヘルプのコマンドリファランスには次のように書いてありました。
線分セグメントを描画し、続けて点の入力を促すプロンプトを表示します。 線分セグメントを連続して描くことができますが、各線分セグメントはそれぞれ別個のオブジェクトです。 コマンドを終了するには、[Enter]を押します。

確かにコマンドの仕様自体が連続作画になっているようです。
では、単一線描画といつて、始点をヒット、終点をヒット。これでコマンドが 終りにするアイコンが欲しくなります。終点をヒットの次ぎに[Enter]を追加してやれば いいのではと考えます。
^C^C_line;\\;
 確かに、直線を一本引いて終りでした。


 もう5年もLTを使っていますが、線分割が思うようにゆきません。 切断点が交点とかに一発で決まりません。あとで延長やトリミングをします。

BRAKE コマンド
ポインティング デバイスを使用してオブジェクトを選択すると、オブジェクトが選択されると同時に、指定した点が部分削除の 1 点目とみなされます。 次のプロンプトに対して、2 点目を指定するか、1 点目を変更することができます(Fと入力)。

円を部分削除すると、1 点目から 2 点目まで反時計回りに円の一部が削除され、円が円弧に変換されます。
そうだったんですか。選択指定点が 1 点目ということだったんですか。 しかし、指定時には交点スナップで自動吸着しませんね。交点だと、 どちらのオブジェクトかコンピュータは判断不能ですよね。交点でない側 から指示すればいい。でも、両方交点だったらどうするんですか。 fと入力して1点目を再確定ということでしょう。
円の場合のルールはこの際しっかり覚えておきましょう。「1点目から2点目が反時計回り になるように指定する」と。


COPY コマンド

キーボードから
COPY[Enter]
オブジェクトを選択:(ある線をクリック。)[Enter]
基点 または 移動距離を指定 または [連続(M)]:30、50[Enter]
目的点を指定 または <基点を移動距離として使用>:[Enter]
移動距離を入力するとオブジェクトはX方向30、Y方向50の距離に平行移動した 状態でコピーされる。
このケースは<基点を移動距離として使用>

オブジェクトを選択:(ある線をクリック。)[Enter]
基点 または 移動距離を指定 または [連続(M)]:30、50[Enter]
目的点を指定 または <基点を移動距離として使用>:80、50[Enter]
移動距離を入力するとオブジェクトはX方向30、Y方向0の距離に平行移動した 状態でコピーされる。
このケースは<1点目と2点目の相対距離だけ移動してコピーされる。>
1点目はどこでもいい訳です。

オブジェクトを選択:(ある線をクリック。)[Enter]
基点 または 移動距離を指定 または [連続(M)]:線の端点をクリック
目的点を指定 または <基点を移動距離として使用>:端点の移動先 をクリック
このケースをいつも使っている。

COPYコマンドの基本仕様は複雑処理をこなすようです。


 LTでは、コマンド選択の前にオブジェクトを選択しても、後からでもよかった。 コマンドにSELECTという のがある。これ単独では選択するだけで何も作業をしない。 選択されたオブジェクトが点線の選択状態となるだけだ。
 コマンドには「コマンド修飾子」 という機能が使える。先程のCOPYは、後から選択を要求する仕様になっている。この場合、 「コマンド修飾子」 の一つ「選択モード」 が使える。オブジェクトを選択するように求めるプロンプトに対して、SELECTコマンドで説明されている選択モードの 1 つを入力できる。
 キーボードから
SELECT[Enter]
オブジェクトを選択:(ある線をクリック。)[Enter]
COPY[Enter]
オブジェクトを選択:PREVIOUS[Enter][Enter]
基点 または 移動距離を指定 または [連続(M)]:線の端点をクリック
目的点を指定 または <基点を移動距離として使用>:端点の移動先をクリック

これがオブジェクトの前選択。SELECTコマンドを使う。マクロ にするとこのようになる。
 ^C^C_select;\_copy;_p;;;;
 _select;\ で複写するオブジェクトを選択、copy コマンドを実行。
 次に _p オプション指定して、先ほど select;\ で選択したオブジェクトを指示。  終わったらリターンを押し、複写コマンドを実行している。
SELECTコマンド
 オブジェクトをポインティング デバイスで個別に選択したり、周囲に選択窓を描いたり、座標を入力するなどの方法を使用してオブジェクトを選択できます。
 オブジェクトの選択には次の方法が使用できます。 これらの方法は、 プロンプト「オブジェクトを選択:」が表示されるコマンドに共通のものです。 すべてのオプションを表示するには、コマンド ラインで ? と入力してください。。

指定値

 

意   味

Window 指定領域内に完全に含まれるオブジェクトを選択。
SIngle 単 一 単一選択モードに切りかえ。オブジェクトを選択すると即座に次ぎの処理に移る。
Last 最 後 最後に作成したオブジェクトを選択。
Previous 直 前 直前の選択セットを選択。
Crossing 交差 指定した矩形領域内、および境界と交差するオブジェクトが選択される。
BOX ボックス 右から左に矩形領域を指定した場合は交差と同じ。左から右に指定した場合は窓と同じ。
ALL すべて すべてのオブジェクトを選択します。
Fence フェンス 選択フェンスと交差するすべてのオブジェクトが選択されます。フェンスの最後は閉じられません。自己交差可能。
WPolygon ポリゴン窓 多角形に完全に内包されたオブジェクトを選択。最後のセグメントは必ず閉る。自己交差はできません。
CPolygon ポリゴン交差 多角形に交差または内包するオブジェクトを選択。フェンスと似ていますが、最後のセグメントは必ず閉る。自己交差はできません。
Group グループ 一つまたはカンマで区切って複数のグループ名を指定し、そのグループに属する全てのオブジェクトを選択。
Add 追 加 除去モードから追加モードに切りかえ。
Remove 除 外 追加モードから除去モードに切りかえ。
Multiple 一 括 オブジェクトをハイライト表示せず、次々と選択していくことができ、右クリック(Enter)で一旦選択が終了し、再度の右クリック(Enter)で選択が完了し、次の処理が実行される。
Undo 元に戻す 最後に追加、除去したオブジェクトの選択を元に戻す。
AUto 自 動 自動モードに切りかえます。自動モードはデフォルトのオブジェクト選択モードで、直接選択と左右方向への領域指定があります。右から左に範囲を指定した場合は交差と同じ働きとなり、左から右へ範囲を指定した場合はと同じ働きをします。


 どうもマクロコマンドを利用するには、基本のコマンドの特徴を十分理解しておく 時間が必要ですね。


 
DIESEL式
(Direct Interpretively Evaluated String Expression Language )
 

 コピーのアイコンのマクロを見てみましょう。表示>ツールバー>として、カスタマイズのダイアログが開く。こうしておいて、「複写」のアイコンをクリック する。ボタンのプロパテーが表示される。「このボタンに関連付けられたマクロ」 の欄を見てみよう。
^C^C$M=$(if,$(eq,$(substr,$(getvar,cmdnames),1,4),grip),_copy,^C^C_copy) 
 なんだかチョット複雑ですが、

$M=$(..$(..$(...)...)..)
 これは何でしょう。プログラムみたいですね。関数かな。

マクロの中で使う式だそうです。DIESEL式。一般形はこんなんです。 $M=......$(..$(..$(...)...)..)........$(...)...

$M=が出てくると、$(を探し、)までを先にやることになっています。 何重にもなっていると、一番内側まで行って、そこから始めます。
一つ終ったのですが、まだ後にあるので、続いてそれも先にやることに なっています。
この式の中には、式や関数や条件式が使えます。

$(getvar,cmdnames)
システム変数cmdnamesから現在アクティブなコマンド の名前を拾います。 $(substr,****,1,4)
コマンド名の1桁から4桁抜き出します。
$(if,$(eq,****,grip),AAA,BBB)
もし****がgripならAAA,そうでないならBBBを実行。


 なんだかチョット複雑でしたが、grip(グリップモード)が ONだったらOFFにしてからcopyコマンドを実行しましょう。と、いうことでした。


 結局、マウス操作になったのだが、AutoCADLTはコマンドで操作されている。 この事をしっかり覚えておきましょう。



2003.10.5
by Kon