AutoLISPは、関数を使ってAutoCADに何をして欲しいのか伝えていきます。
その関数とはいったい何なのか、まず最初に知っておきましょう。
関数って?
AutoLISPでカスタマイズできると、仕事が超効率化できる。
ラクできるよ~!
AutoCADのCADオペとして働き始めたころ、そんなことを耳にして、
とにかくラクに仕事したい♪
そう思った私は、AutoLISPを検索しまくって勉強を始めたました。
しかし、まずAutoLISPに関する、特に初心者向け教材がほとんど無く、あっても普通に関数とか変数とかよく知らない言葉が出てきました。
プログラミングに関する知識が全くなかった私、
関数ってなに? 数学に出てきたような?
何の数字なの?
という所からつまづき、なかなか進めませんでした。
AutoCADにこれをして!ってお願いできるの魔法の呪文
関数は”数”という漢字が入っていますが、数字のことではありません。
関数を英語に訳すと、function です。
機能、働き、作用、目的、役目、、、、などの意味がある単語ですね。
一つ一つの関数はそれぞれ機能を持っていて、その働きをAutoCADに指示できる、呪文のようなものです。
どんなことができる呪文があるのかというと、
AutodeskヘルプページにAutoLISP関数一覧があります。
めちゃくちゃいっぱいありますが、ほとんどの人は、使う関数はほんの一部だと思います。
関数の使い方
関数1つ使うにつき、( )が1ペア必要です。 (例外もあります defun cond など)
(関数名 ………. )
まず( で始まり、次に関数名です。
そして、関数を機能させるために必要な情報を入れていき、最後に )で閉じます。
関数 alertの例
ではここで、例として関数alert を使って、実際にどうAutoLISP言語を使ってAutoCADに指示を出すのか説明していきます。
alertの機能
関数の一つに、alert があります。
先ほどの公式ヘルプの関数一覧の説明でalertを探すと、
alert の機能は、
”エラーメッセージまたは警告メッセージのダイアログボックスを表示します。”
とのこと。
”警告メッセージのダイアログボックス”とは、↓これ↓のことです。
AutoCADに、「このメッセージを付けた警告(メッセージ)ボックス出して」とお願いする呪文が、alert です。
AutoLISP言語を使って書いてみよう
さて、今、AutoCADにして欲しいことは、警告メッセージを出すことです。
”こんにちは”って言葉を載せた警告ボックス出して!
これをAutoCADがわかってくれるようにAutoLISPに訳してみましょう。
関数一覧の説明 によると、
(alert msg)
msg タイプ:文字列
とあります。msg は文字列とありますね。
AutoLISPでは、”ダブルクォーテーションで囲まれたテキスト”が文字列です。
必要な情報のタイプに文字列とある場合は、数字を表示させたい場合でも、必ず”ダブルクォーテーションマークで囲みます。”
では、ヘルプの説明通りにmsg の部分に”こんにちは”と入れて、この呪文を唱えましょう。
(alert “こんにちは”)
そして、これが上手く伝わると、
とAutoCADが警告(メッセージ)ボックスを出してくれます。
AutoCADに伝えてみよう
AutoLISPプログラムは、コマンドラインに入力するだけでも読み込まれるので、AutoCADを開いて、コマンドラインに入力して試してみてください。
コマンドラインがAutoCADにありませんか?
CTRL+9 はコマンドライン表示/非表示のショートカットです。
もしくは、commandline はコマンドラインを表示させるコマンドです。
AutoLISPは、表示させる文字列の こんにちは 以外は半角英数字で無いとAutoCADに伝わらないよ。
( )や、” ” ダブルクォーテーションマーク、全角になってないか気を付けて!!
入力後、エンターキーで実行です。
”こんにちは”って言葉を載せた警告ボックス出して!
という指示をAutoLISPに訳してAutoCADに伝わってその通りに挨拶してくれましたね。
AutoCADとコミュニケーションが取れました!!
AutoLISPは、こんな風に、AutoCADにして欲しいことを伝える言語です。
正しく伝えれば、必ず仕事してくれるし、誰よりも早く正確です。
AutoCADにして欲しいこと上手く伝えられるように、あきらめずにコツコツわかるところからAutoLISP使っていきましょう!
言語なので、使えば使うほど伝え方がわかってきて上達するよ!
頻出関数の一覧です。
まとめ
- 関数の意味は、 機能、働き、作用、目的、役目、などのこと。
- 関数で、AutoCADにどんな動きをして欲しいのか伝えることができる。
- (関数名 で始まり必要な情報を入れたら、)で閉じる。
- 例)Alertなら、AutoCADに、警告(メッセージ)ボックスを出すように指示できる。
Comments