Sponsored links

【AutoLISP Lesson】 初めの一歩 記事一覧

Sponsored links
Sponsored links
Jagaimo
Jagaimo

AutoLISP でコマンドを作る前に、まずは、知っておいて欲しいことの記事です。

Sponsored links

用語を知ろう

このブログに限らず、AutoLISPの解説を読むときに知っておくべき用語です。
”数” “値”が着く言葉が多いですが、数字のことでは無い場合がほとんどです。

関数

関数は単語。一つ一つの単語がそれぞれ機能や働きを持っていきます。
AutoLISPプログラミングは、既存の関数の一つ一つの機能や働き組み合わせて、新たに機能や働きを作りだしていく作業です。ピタゴラスイッチみたいなイメージ。

引数

関数がその働きをするのに必要な情報が引数です。

変数 

変数に値を代入する。という感じでよく出てきます。

変数という箱に情報を入れて名前を付ける。
情報にニックネームを付けて、その後はニックネームで呼び出せる。
というイメージです。

戻り値

AutoLISPを使ってAutoCADに話しかけた時、AutoCADが返事をくれます。
この返事が戻り値です。

はい/いいえは、AutoLISP ではT/nil です。

プロンプト

プロンプトというのは、ユーザーに何をするのか促してくれるメッセージ。
例えば、線分を引きたいとき、LINE[線分]コマンドをスタートすると、コマンドラインに「1点目を指定」と出てくる文言のこと。

ルーティーン

毎回決まったパターン化された作業のこと。
パターン化されている作業こそ、プログラムにしやすくAutoLISPで自動化しやすい部分です。CADのルーティーン作業をAutoLISPで自動化します。

もしくは、プログラム内でよく使う一連のパターンのこともルーティーンと言います。

定義

コマンド/関数を定義する。変数を定義する。などと使われます。
この名前のコマンド/関数の中身はこれにしますよ。この名前の変数の中身はこれにしますよ。と決めることです。

ちなみに関数 defun は define function (関数を定義する)の略。

AutoLISPの基本ルール

大文字? 小文字?

大文字小文字どっちでもいいけれど、たまに例外があります。

コマンドの名づけ

(defun c:コマンド名…..)  で自作コマンドができます。

コメントアウト (プログラム内にメモ)

プログラムの機能には影響しない、人間が読むためのメモを入れることができます。

(princ) は何のため?

AutoLISPコマンドは、最後に(princ)がついている場合が多いです。
コマンドラインの見た目をよくするためで、プログラムの機能には関係ありません。

文字列と数値

文字列と数値の違いは、” ” ダブルクォーテーションマーク。
“1”は文字列、 1は数値です。

ローカル変数の宣言

この変数はこの中でしか使わないローカル変数です!!と宣言すると、その変数が、外から影響を受けることも外へ影響することもありません。

AutoLISPを作成編集するソフト エディタ

エディタはAutoLISPを書くのに使うソフトです。
Visual Studio Code / Visual LISP IDE / メモ帳 / Notepad++
を使ってみての私の感想です。

一番のおススメはVisual Studio Code。
一番メジャーなのはAutoCADに搭載されているVisual LISP IDEですが、AutoCAD2021では”旧機能、将来のリリースでは削除”と明記されているのでおススメしません。

AutoLISP の読み込み方

AutoLISPの書き方を覚えても、AutoCADに読み込めなければ使えない。

逆に読み込み方さえ知っていれば、最悪AutoLISPプログラミングの習得を諦めたとしても、いろんなサイトからコピペしてAutoLISPを使えます。

次のステップ

基礎編では、比較的シンプルな自作コマンドを作る方法を紹介していきます。

私なりのAutoLISP勉強法

Sponsored links
Sponsored links
Sponsored links