+CADLabo.comCAD / LISP / AUTOMATION
AutoLISP初心者講座

四則演算|数値を計算する基本

AutoLISPの基本・図形操作のTips一覧
要点

AutoLISPでは演算子を先頭に置いて計算します。足し算・引き算・掛け算・割り算と、整数・実数による結果の違いを確認します。

始める前に

先に確認すると読み進めやすい記事:

確認の手順

  1. コマンド欄で加算と減算の式を入力します。
  2. 乗算と除算の結果を確認します。
  3. 整数だけの場合と、小数を含む場合を比較します。
  4. 掲載例のtest-calcを実行し、各計算の結果を照合します。

四則演算とは?

四則演算とは、以下の4つの基本的な計算のことです:

演算AutoLISP関数例結果
加算(+ a b)(+ 3 5)8
減算(- a b)(- 10 4)6
乗算(* a b)(* 2 3)6
除算(/ a b)(/ 10 2)5

AutoLISPでは「前置記法(Prefix Notation)」を使います。つまり、演算子が先に来て、その後に引数(数値)が並びます。

実際に使ってみよう!

以下のコードをAutoCADのコマンドラインやLISPファイルに入力してみましょう。

掲載コード
(defun c:test-calc ()
  (setq a 10)
  (setq b 5)
  (setq sum (+ a b))
  (setq diff (- a b))
  (setq prod (* a b))
  (setq quot (/ a b))
  (princ (strcat "\n加算: " (rtos sum 2 2)))
  (princ (strcat "\n減算: " (rtos diff 2 2)))
  (princ (strcat "\n乗算: " (rtos prod 2 2)))
  (princ (strcat "\n除算: " (rtos quot 2 2)))
  (princ)
)

この関数 c:test-calc を実行すると、各演算の結果がコマンドラインに表示されます。

応用ポイント

  • 複数の数値を一度に計算
    AutoLISPでは、加算や乗算に複数の引数を渡すことができます。(+ 1 2 3 4) ; 結果は 10 (* 2 3 4) ; 結果は 24
  • 小数点の扱い
    除算では小数点が出ることがあります。(rtos) 関数で文字列に変換する際に桁数を指定できます。

よくあるミスと対策

  • ゼロ除算
    (/ a 0) はエラーになります。除算前にゼロチェックを入れましょう。(if (/= b 0) (/ a b) (princ "\nゼロ除算はできません") )
  • 文字列との混同
    数値と文字列を混ぜて演算しようとするとエラーになります。型に注意しましょう。

まとめ

AutoLISPの四則演算はシンプルですが、スクリプトの基礎を支える重要な要素です。慣れてくると、条件分岐やループ処理と組み合わせて、より柔軟な自動化が可能になります。

結果の確認

整数の除算と実数の除算の違いを確認します。必要な精度に合わせて実数を使い、ゼロで割る値が入らないか確認してください。

参照資料

対象環境・動作確認

AutoLISP対応環境(関数・OSごとの対応は要確認)。内容更新:2026年10月5日。掲載コードのCAD実機検証は未実施です。図形を変更する例は、コピーした図面で結果を確認してください。