今北産業風・ねっとさーふぃんの記録@ほ(ん)の(り)むらさき

毎日やってるネットサーフィンの記録から一年間の自分を振り返るためのチラシの裏です

Auto-Cad  コマンドの設定の仕方を備忘LOG

Auto-Cad カスタマイズ入門より コマンドの設定の仕方を備忘LOG

コマンドマクロとは何か? | オートキャド(AutoCAD)カスタマイズ入門


仕事でAutoCADを使っているので、コマンドの作成の仕方に関する記事をCLIP





市販のソフトはオフィスツールを含めてさまざまな機能を持っているが
基本的にこれらのソフトは業務用のソウトウェアツールなので、当たり前にプログラマが作っている。

でもって、プログラマってのは基本頭が良くて面倒くさがり(!?)なので、当然業務用ツールにもある程度の操作性を求めて、プログラミング的要素を盛り込んである場合が多い


そのひとつが、AutoCADにおいてはコマンドの設定なわけだ。



【UIとGUIってのはなんなのだ】

よくIT系の記事にはGUIだのUIだのコマンドがなんちゃらだのと言われているが
要するにソフトウェアツールを使うにあたって、視覚的に処理できることをGUIと述べている。

具体的には、家のアイコンをクリックする、など。
(実際にはそのアイコンにはきちんとプログラミングが施されているわけだが)

GUIのGってのはグラフィックのことを言う。
UIというのはユーザーインターフェースのかしら文字。
ユーザーインターフェースってなんぞや?というと、要するに操作画面のことなのだ。

これはデザイン系の勉強をする人は知っている単語だが、アフォーダンスという考え方に基づいた設計思想である。



アフォーダンスてなんぞや?】

詳しくはwikipediaでも調べたほうが早いのだが

人類の誕生がいったい何年前から始まっているのかに関しては諸説あり、人類の歴史の記録に関しても諸説あるわけだが、一般に旧約聖書に基づけば人類は生誕してからせいぜい7000年程度とされ、中国史を最古の歴史とすれば人類の歴史は5000年程度となる。

人類はそうした歴史の中で、さまざまな文化環境を生み出してきた。
それら文化環境は、人間に対して特定の条件反射を作り出すことがある。

一例としては以下


①赤信号になったら停まる
②乗り物の中にレバーや丸いハンドルがあったら、それは掴んで前後左右、回転させられるものである
③指で押せる丸いものがあったら、それはボタンやスイッチを意味している
④道に白い線が引いてあったらそれは車線を意味する



などなど。



小難しいこと言ってるように聞こえるが、アフォーダンスというのは私たちが生きている中で自然と形成されていったルールに則って、記号化、あるいは規格化されていったデザインの総称といえる。

電車に丸い円盤がぶらさがっていても、誰もそれを不思議に思わない。
なぜなら、それは【つり革】であると知っているからだ。

私たちはなれているので、それを見たときにすぐに使い方が分かる。
電車は揺れるから、倒れないためにそれを掴むのだ、ととっさに理解できる。



しかしそれは、電車という文明の利器が一般化し、同時にそれを使用するほどの文明と経済基盤を持った社会に生活しているということが必要条件だ。









【AutoCADとアフォーダンスにどんな関係が?】


ソフトウェアも同じだ、というコトである。

プログラマー出身の人にとっては、コマンドプロントを用いた記述形式の操作がアフォーダンスであるのに対して、そうでない人に対してはアイコンを使った視覚的な操作方法がアフォーダンスであるわけだ。。

普段インターネットをマウス操作で簡潔させている人にとっては
特定の見慣れたアイコンがあったほうが操作しやすい。
そのアイコンの形が♪音符の形をしていれば、音楽ファイルに関係する何か操作が出来る、と直感が働くし 


:[ >> ] 早送り
:[ << ] 巻き戻し
:[ □ ]一時停止
:[ ● ] 録画


これらレコーダーに書かれている記号を理解できるのは、アフォーダンスが形成されているからだ。









【GUIよりもコマンドベースのUIが重要なのは何故?】


さて、ソフトウェアツールを使う上で、GUIよりもコマンドベースのUIが重要である理由だが、
それは以下による。

(1)結局のところすべてのソフトウェアツールの基本はコマンドである

開発言語がどーのこーのとか言われているわけだが、基本的には言語も階層構造を織り成している。
開発環境が必要な言語のほとんどは既存の言語をベースに作られているのだから

どんなアプリケーションもベースとなる言語を結局は使って動作させているのである。


(2)GUIはオブジェクト指向のコマンドである

GUIというものの仕組みも同様で、アイコンをクリックすることで、結局はコマンドを実行しているのである。



(3)自分だけのアフォーダンスを創る能力を持つことで、汎用性を獲得できる

たぶんこれが一番大きい理由だろう。
GUIの方が操作にかかるコストは低いが、コマンドベースによる操作方法やカスタマイズを理解することは、あらゆるアプリケーションソフトウェアに対する汎用性を獲得するという意味で非常に費用対効果が大きい。


どういうことかというと、Auto-CADのコマンドカスタマイズが言語ベースで出来る人は、他の言語で開発されたソフトウェアに対しても、ある程度のアフォーダンスを確保できているということになる。




アフォーダンスが確保できているということは、モジュールや道具を見たときにいちいち使い方を悩む必要がないということだ。
ソウトウェアの動作や使途を見るなり聞くなりした瞬間におおかたの予想がつく。


「たぶん、ショートカットで操作の一部を簡略化できるな」
「マクロ登録なんかでほとんどの機能を自動化できるだろうな」
「スクリプトを組むための仕掛けがどっかにあるはずだ」
「ライブラリは大体この辺にあるだろう。。。」


などなど。



こういう仕組みや「こんな感じだろうな」という想像がつくかつかないか、これがアフォーダンスが形成されてきたか否かにかかっているのである。



【つまり総論として?】


業務用ソフトウェアツールにおいて、コマンドの設定やライブラリの変更を行えるソフトを用いている場合には
極力GUIよりもコマンドベースのUIに沿ってカスタマイズする癖を付けるほうが良い。


それによって、ソフトウェアの基盤となっているプログラミングベースのアフォーダンスを身に着けることが出来る。
そのアフォーダンスを身に着けることで、


・別のアプリケーションを使うとき、またアプリケーションの使途を応用的に広げていくために
・アプリケーションを用いた業務の広がりのために
・業務のスピードUPのために


おおむねこの項目においてのスキルアップが達成し得るからである。