autolispとは?初心者が知っておくべき基本と使い方共起語・同意語・対義語も併せて解説!

  • このエントリーをはてなブックマークに追加
autolispとは?初心者が知っておくべき基本と使い方共起語・同意語・対義語も併せて解説!
この記事を書いた人

高岡智則

年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)


autolispとは?

AutoLISPは、AutoCADなどのCADソフトで使われる Lisp系 のプログラミング言語です。図面の自動化・カスタマイズ・反復作業の効率化を目的として設計されています。プログラムを書いておくと、繰り返しの作業を自動で実行してくれます。

なぜ学ぶのか

CADの作業では、同じ操作を何度も繰り返す場面が多くあります。自動化できれば時間を節約でき、ミスを減らせます。さらに、複雑な操作を設計しておくと、同じ図形を複数の図面に素早く適用できます。

基本の考え方

AutoLISP は「先頭に ( を置く式の集まり」です。関数の名前と引数を前置して書くのが基本形です。例として defun を使って新しい関数を定義します。もう少し専門的な話になりますが、引数の扱い方グローバルかローカルかCAD コマンドの呼び出し などが出てきます。

初めての例

以下は、2点間を結ぶ直線を描く超簡単な例です。実際には CAD の画面上で実行され、点を取得して LINE コマンドを呼ぶ形になります。

(defun c:drawLine ( / p1 p2)\ (setq p1 (getpoint))\ (setq p2 (getpoint))\ (command \"LINE\" p1 p2 \"\")\)

基本的な構文の見方

AutoLISP の基本は次の3つです。

defun新しい関数を定義する
getpoint — 画面上の点を取得する
command — CAD 内部のコマンドを実行する
setq — 変数に値を代入する

よく使われるコマンドの一覧

コマンド
defun新しい関数を定義する
getpoint画面上の点を取得する
commandCAD 内部のコマンドを実行する
setq変数に値を代入する

実務シナリオ1: 部品リストの自動作成

部品の図面を多く作る際、同じ属性のブロックを並べて配置する作業は時間がかかります。AutoLISP でブロックの挿入と属性の設定を自動化すれば、図面の一括作成が可能です。例として、図形を自動配置する関数を作り、部品番号を引数として受け取り、配置位置を計算してくれます。

実務シナリオ2: 寸法線の自動配置

図面上の複数の線分に対して、同じ間隔で寸法線を追加する作業は、熟練者でも手間がかかります。AutoLISP で座標計算と LINE/DIMENSION コマンドの連携を組むと、寸法ラインの自動配置が可能です。

まとめ

autolisp は CAD の作業を楽にする強力なツールです。初心者でも、基本の考え方と簡単な例を通じて徐々に学習を進められます。焦らず、手を動かして学習を続けましょう。


autolispの同意語

AutoLISP
AutoCADの自動化とカスタマイズを目的としたLISP系言語の正式名称。AutoCADで動作する拡張的なLisp。
Auto Lisp
AutoLISPの別表記。意味は同じだが、スペース入りの表現。
AutoLISP言語
AutoCAD向けのLISP系プログラミング言語そのもの。図面自動化のための記述が中心。
AutoCAD Lisp
AutoCADアプリケーション上で用いられるLISPのこと。AutoLISPを指す日常表現。
AutoCAD用LISP
AutoCAD向けに作られたLISPコードやライブラリのこと。
CAD Lisp
CADソフト全般で使われるLISP系言語を指すことがある表現。文脈によりAutoLISPを指す場合も。
AutoLISPプログラミング
AutoLISPを使って機能を自動化・拡張するプログラミング作業のこと。
AutoLISPスクリプト
AutoLISPで書かれたスクリプトファイルやコードの総称。
Lisp for AutoCAD
英語表現。AutoCADで使われるLISP言語を意味する。
AutoLISP開発
AutoLISPを用いたカスタムツール・アプリケーションの開発活動のこと。

autolispの対義語・反対語

手動プログラミング
AutoLISPではなく、手作業でコードを書くこと。自動化を使わず、1件ずつ人が処理する状態の対義語です。
手動操作
CADの作業をスクリプトや自動化ツールなしで人の手により行うこと。
自動化なし
自動化の機能を全く使わず、作業を人の手で繰り返す状態。
非自動化
自動化を適用していない、手動の作業フロー
Lisp以外の言語
AutoLISPではなく、他のプログラミング言語を使うことを意味する広義の対義語。
非Lisp言語
AutoLISP以外の言語を指す表現。
VBAによる自動化
AutoLISP以外の自動化手段として用いられる VBA でのスクリプティング・自動化。
.NET/C#による自動化
AutoCADの.NET APIを使った自動化。AutoLISPの対比として挙げられることが多い。
Pythonによる自動化
Python での AutoCAD 自動化。AutoLISPとは異なる言語での自動化手段。
No-code/ローコード自動化
コードを書かずに自動化を実現する手法。AutoLISPの“コードを書く Lisp”に対する対比。
画面操作中心
プログラムによる自動化を使わず、画面操作を中心とした作業スタイル。
GUI操作のみ
グラフィカルユーザーインターフェース(GUI)のみで完結する作業。スクリプトやコードを使わない状態。

autolispの共起語

AutoCAD
CADソフトの代表。AutoLISPはこの環境を自動化するための Lisp 方言です。
Visual LISP
AutoLISPを拡張した統合開発環境。VLispとも呼ばれ、デバッグやエディタ機能を提供します。
VLIDE
Visual LISP Integrated Development Environment。コード作成とデバッグができるツール。
Lisp
Lisp系言語の総称。AutoLISPはその一種で、リスト処理が得意です。
API
AutoCADの機能を拡張・自動化するためのプログラムインターフェース
ActiveX
COMベースの技術。AutoLISPからAutoCADオブジェクトを操作する際に使われます。
COM
Component Object Model。オブジェクトの操作や外部連携の土台となる技術。
vlax
Visual LISPのActiveX/COM連携API群のプレフィックス。
DXF
データ交換用フォーマット。DXFデータを読み書きする場面で使われます。
defun
関数定義の基本構文。新しい機能を作るときの核となる要素です。
setq
変数へ値を代入する基本関数。
if
条件分岐の基本構文。
cond
複数条件を扱う分岐構文。
while
条件が成立する間、ループを回します。
repeat
一定回数だけループする構文。
car
リストの先頭要素を取り出す関数。
cdr
リストの残りの要素を取り出す関数。
cons
新しい要素を先頭に追加して新しいリストを作成。
list
新しいリストを作成する関数。
mapcar
リストの各要素に対して関数を適用する高階関数
foreach
VLispでよく使われる、リストの要素を順に処理する構文。
command
AutoCADのコマンドをLISPから実行する関数。
load
外部のLISPファイルを読み込んで実行します。
princ
出力を抑制・表示するための基本出力関数。
read
文字列をLISPオブジェクトに変換して読み込みます。
getvar
システム変数の値を取得する関数。
setvar
システム変数に値を設定する関数。
getpoint
画面上の点を取得する関数。
entget
エンティティのDXFデータを取得します。
entmake
新しいエンティティを作成します。
entmod
既存エンティティの変更を適用します。
entsel
エンティティを選択する関数。
nth
リストのn番目の要素を取得します。

autolispの関連用語

AutoLISP
AutoCAD用のLisp方言で、図面の自動化やカスタマイズを実現できるプログラミング言語です。
VLisp (Visual LISP)
AutoCADに組み込まれたVisual LISPの開発環境で、拡張機能やActiveX連携が容易です。
DCL (Dialog Control Language)
ダイアログを定義してUIを作成する言語。LISPと組み合わせて対話式ツールを作れます。
defun
Lisp関数を定義する基本構文。AutoCADコマンドを定義する際は先頭を C: にしてコマンド化します。
C:コマンド定義
AutoCADで直接実行できるカスタムコマンドを作る命名規約の一例です。
setq
変数に値を代入する基本的な手続き。リストや数値、文字列を保存できます。
car
リストの先頭要素を取り出します。
cdr
リストの先頭要素を除いた残りを取り出します。
cons
新しい要素をリストの前に追加して新しいリストを作ります。
list
複数の値を1つのリストにまとめます。
append
2つ以上のリストを結合して新しいリストを作ります。
mapcar
リストの各要素に対して同じ関数を適用します。
nth
リストの指定位置の要素を取り出します。
assoc
アソシエーションリストからキーに対応する値を探します。
cond
複数の条件分岐を順番に評価して処理を分岐します。
if
1つの条件に対して真偽で分岐します。
while
条件が真の間繰り返します。
repeat
指定回数だけ繰り返します。
load
外部のLISPファイルを現在のセッションに読み込みます。
compile
LISPを事前にコンパイルして実行速度を高め、.FASファイルを作ります。
FAS
コンパイル後に作成される実行ファイルの拡張子。自動読み込みに使われます。
entget
エンティティ(図面の要素)のデータリストを取得します。
entmod
エンティティのデータを更新します。
entdel
エンティティを削除します。
entsel
ユーザーに図形のエンティティを選択させる入力関数です。
getpoint
画面上で点の座標を取得します。
getreal
実数値を取得します。
getint
整数値を取得します。
getstring
文字列を取得します。
ssget
図面内のエンティティを選択する選択セットを作成します。
acad.lsp
起動時に読み込まれる初期化LISPファイルの俗称です。
acaddoc.lsp
ドキュメントの読み込み時に実行される初期化ファイルです。
DXF
AutoCADのデータ交換フォーマット。図面情報を他ソフトとやり取りできます。
ActiveX / vlax
VLispからAutoCADのActiveX/COMオブジェクトを操作する機能です。
VLIDE
Visual LISP用の統合開発環境。デバッグや補完機能を提供します。
AutoCAD API
AutoCADを外部から操作する公式API群。LISPからも活用できます。

autolispのおすすめ参考サイト


インターネット・コンピュータの人気記事

awstatsとは?初心者でもわかる使い方と基本解説共起語・同意語・対義語も併せて解説!
14202viws
bing・とは?初心者のための基本ガイド:検索エンジンの仕組みと使い方共起語・同意語・対義語も併せて解説!
2135viws
着信転送とは?初心者向けガイドで分かる使い方と設定のコツ共起語・同意語・対義語も併せて解説!
1036viws
リマインドメールとは?初心者にもわかる基本ガイドと使い方のコツ共起語・同意語・対義語も併せて解説!
738viws
充電アダプターとは何かを徹底解説|初心者でも分かる基本と選び方のコツ共起語・同意語・対義語も併せて解説!
682viws
com端子・とは?初心者にも分かる基礎ガイド|シリアルポートの使い方と歴史を解説共起語・同意語・対義語も併せて解説!
655viws
pinロックとは?初心者が知っておくべき基本と使い方ガイド共起語・同意語・対義語も併せて解説!
567viws
16進数カラーコード・とは?初心者でもつまずかない基礎と使い方ガイド共起語・同意語・対義語も併せて解説!
518viws
asp・とは?初心者向けに徹底解説する基本と使い方ガイド共起語・同意語・対義語も併せて解説!
494viws
7zファイル・とは?初心者でもわかる使い方と特徴を解説共起語・同意語・対義語も併せて解説!
493viws
ローカルポート・とは?初心者にも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
463viws
差し込み印刷・とは?初心者でもすぐわかる使い方と仕組みガイド共起語・同意語・対義語も併せて解説!
449viws
全角文字とは?初心者向け解説|全角と半角の違いをやさしく学ぶ共起語・同意語・対義語も併せて解説!
425viws
none とは?初心者にもやさしく解説する意味と使い方ガイド共起語・同意語・対義語も併せて解説!
383viws
ワンタイムコード・とは?初心者でも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
381viws
select句・とは?初心者でも分かるSQLの基本と使い方共起語・同意語・対義語も併せて解説!
367viws
csvダウンロードとは?初心者が今すぐ使える基本ガイド共起語・同意語・対義語も併せて解説!
347viws
ダイレクトチャットとは?初心者向けガイドで使い方と注意点を徹底解説共起語・同意語・対義語も併せて解説!
330viws
解像度スケールとは?初心者でも分かる解像度スケールの基礎と使い方共起語・同意語・対義語も併せて解説!
279viws
sha256とは?初心者が知るべき暗号ハッシュの基礎と使い道共起語・同意語・対義語も併せて解説!
279viws

新着記事

インターネット・コンピュータの関連記事