AutoLISP初心者向けガイド:簡単に始める方法

AutoLISPはAutoCADの機能を拡張するための便利なプログラミング言語です。ここでは、初心者でも簡単に理解できるように、AutoLISPの基本を解説します。

AutoLISPの始め方

1. Visual LISPエディタの使用

AutoLISPプログラムはテキストエディタで作成できますが、AutoCAD自体に付属するVisual LISPエディタを使うと便利です。Visual LISPエディタは、エラー検出やコード補完機能が充実しており、複雑なプログラムを書く際に役立ちます。

  • アクセス方法:AutoCADの[管理]タブ→[アプリケーション]パネルから「Visual LISPエディタ」を開きます。

2. AutoLISPプログラムの構造

AutoLISPプログラムは以下のような構造で始まります。

lisp(defun c:YourProgramCommand ()
  ; ここにAutoCADに実行させたい内容を記述
  (princ)
)
  • defunは関数を定義するためのコマンドで、c:はコマンドラインから実行可能な関数を示します。

最初のAutoLISPプログラム:原点にズーム

プログラムの作成

以下のコードをVisual LISPエディタで入力してみましょう。

lisp(defun c:ZO ()
  (command "_ZOOM" "_C" "0,0" "2000")
  (princ)
)
  • commandはAutoCADの内部コマンドを実行します。
  • _ZOOMコマンドでズーム機能を起動し、_Cで原点にズームします。
  • **”0,0″はズームの中心点、“2000”**は拡大率です。

プログラムの実行

  1. Visual LISPエディタで「ロード」ボタンをクリックしてプログラムを読み込みます。
  2. AutoCADのコマンドラインで「ZO」と入力し、Enterキーを押します。

これで、図面が原点にズームされます。

変数の使用とユーザー入力

変数の定義

変数を使うことで、プログラムが柔軟になります。例えば、ズームの中心点や拡大率を変数に設定できます。

lisp(defun c:ZP (/ ZPT MRAT)
  (setq ZPT '(0 0))
  (setq MRAT 2000)
  (command "_ZOOM" "_C" ZPT MRAT)
  (princ)
)

ユーザー入力の取得

ユーザーがクリックでポイントを選択できるようにします。

lisp(defun c:ZP (/ ZPT MRAT)
  (setq ZPT (getpoint "\nポイントを選択してください: "))
  (setq MRAT 2000)
  (command "_ZOOM" "_C" ZPT MRAT)
  (princ)
)
  • getpoint関数でユーザーにポイントの入力を求めます。

ローカル変数の使用

プログラム終了後に変数が残らないように、ローカル変数として定義します。

lisp(defun c:ZP (/ ZPT MRAT)
  ; ...
)

コメントの追加

プログラムにコメントを追加して、他の人が見た時に理解しやすくします。

lisp; 原点にズームするプログラム
; 作成者:エドウィン・プラコソ
(defun c:ZP (/ ZPT MRAT)
  ; ユーザーにポイントを選択させる
  (setq ZPT (getpoint "\nポイントを選択してください: "))
  (setq MRAT 2000)
  (command "_ZOOM" "_C" ZPT MRAT)
  (princ)
)

このようにして、AutoLISPを学ぶことで、AutoCADの作業効率を大幅に向上させることができます。

コメント

タイトルとURLをコピーしました