自動化・パフォーマンス最適化・協業 - AutoLISPからAutodesk Docsまで

AutoCAD · AutoLISP & Automation

概要

同じ作業を繰り返すならAutoLISP・マクロ・スクリプトで自動化できます。

ここにPURGE/AUDIT/OVERKILLのような整理コマンドで図面を軽く保ち、Autodesk Docs・Trace・Shareのような協業機能でチームと同期すれば、個人生産性は2〜3倍、チームワークフローは数倍改善されます。

> 基本ショートカット・編集コマンドは01-shortcuts.md、ブロック/Xref運用は03-blocks-xref.md参照。


1. AutoLISP — AutoCAD内蔵スクリプト

AutoLISPはAutoCADに1986年から搭載されたLISP派生言語です。拡張子.lsp(ソース)・.fas/.vlx(コンパイル)。

1.1 ロード方法

方法説明
APPLOADダイアログからファイル選択
(load "C:/my.lsp")コマンドラインで直接ロード
Startup SuiteAPPLOAD → Contents → 自動ロードリストに登録
acaddoc.lsp全図面が開かれる度に実行
acad.lspAutoCAD起動時に1回実行

ヒント: 個人・チームユーティリティはacaddoc.lspに集めず、Startup Suiteに個別登録する方がバージョン管理・デバッグに有利です。

1.2 基本構造 — Hello World

(defun c:HELLO ()
  (princ "\nHello, AutoCAD!")
  (princ)
)
  • defun: 関数定義。
  • c:接頭辞: コマンドラインでHELLOとして呼び出せるようにする。
  • princ: 出力関数。最後の(princ)は戻り値(nil)がコマンドラインに表示されないようにするための慣例的呼出し。

1.3 よく使う基本関数

関数用途
getpointユーザから点座標を入力
getdist距離入力(2点または数値)
getreal / getint実数・整数入力
getstring文字列入力
getangle / getorient角度入力
entsel単一オブジェクト選択
ssget選択セット生成(フィルタ対応)
commandAutoCAD内蔵コマンド呼出し
entget / entmodオブジェクトのDXFデータ読み書き
assoc / cons / subst連想リスト操作
mapcar / foreachリスト走査

1.4 実用ルーチン例 — 「選択オブジェクトの画層をロック」

(defun c:LL ( / ss i ent lay)
  (princ "\nSelect objects to lock their layers: ")
  (setq ss (ssget))
  (if ss
    (repeat (setq i (sslength ss))
      (setq ent (ssname ss (setq i (1- i))))
      (setq lay (cdr (assoc 8 (entget ent))))
      (command "_.LAYER" "_LO" lay "")
    )
  )
  (princ)
)

ロード後、コマンドラインにLLと打てば選択したオブジェクトの属する画層が全てロックされます。DXFコード8がエンティティの画層名を担っているのが核心です。

1.5 Visual LISP・COM・.NET

  • VLIDE: Visual LISP統合開発環境。デバッガ・コンソールを含む。
  • (vl-load-com)以降(vla-*)関数群を通じてActiveXオブジェクトモデルを操作可能。より強力な自動化。
  • .NET(C#/VB): NETLOADでDLLをロードして社内ツールを配布。プロ開発者領域。
  • ObjectARX: C++ベース。サードパーティプラグインの標準開発環境。

ヒント: 一般ユーザが.NETまで学ぶ必要はありません。同僚が作った.lspを10個ほどacaddoc.lspにロードして使うだけで体感生産性は2倍になります。


2. コマンドマクロ(Command Macro)

CUIの「Macro」フィールドにコマンドシーケンスを文字列で書き、ツールバー・リボンボタン・キーボードショートカットにバインドします。

2.1 文法

記号意味
^C^CEsc 2回(進行中コマンドの中断)
_アンダースコア。英語コマンド強制(多言語環境互換)
.ユーザ再定義を無視してデフォルトコマンド
;または改行Enter
\ユーザ入力待機
*コマンド自体を繰返し

2.2 例

現在画層をDIMSに切替後、直線寸法開始:

^C^C_-LAYER;S;DIMS;;_DIMLINEAR

会社標準ブロックTB-A3をPaper spaceの原点に挿入:

^C^C_-INSERT;TB-A3;0,0;1;1;0

ヒント: マクロの頭に*を付けるとコマンドが自動繰返しされます。連続挿入・連続注釈付けに有用。


3. SCRスクリプト & バッチ実行

3.1 SCRファイル

.scrはコマンドライン入力を1行ずつ記録した単純テキストファイルです。

ZOOM EXTENTS
PURGE ALL * N
AUDIT Y
QSAVE

SCRIPTコマンドでロード後実行するか、AutoCAD起動時/bオプションで指定します。

3.2 大量DWGの一括処理

  • ScriptPro 2.0 (Autodesk無料): SCRとDWGリストを連結してバッチ実行。
  • accoreconsole.exe (AutoCAD 2013+): GUIなしにバックグラウンドでDWGを開いてSCRを実行。数千個のDWGをサーバで夜間処理する時の定石。

ヒント: 定期メンテナンスSCR(AUDIT → -PURGE A * N → SAVE)を全DWGに週次実行すれば、ファイル肥大化・破損の兆候を予防できます。

注意: SCR内部でダイアログ(FILEDIA=1状態)が出ると自動化が止まります。スクリプト開始時にFILEDIA 0・CMDDIA 0で非ダイアログモードに切替、終了時には必ず復元します。


4. パフォーマンス最適化 — 図面を軽く保つ

4.1 PURGE

PURGE(PU)は使われていない定義(画層・ブロック・線種・文字スタイル・寸法スタイル・材質など)を除去します。

オプション説明
デフォルトダイアログチェック項目選択
-PURGEコマンドライン自動化
-PURGE RRegistered Applications(Regapps)の整理
Purge nested itemsブロック内のブロックまで
Purge zero-length geometryゼロ長の線・空文字

ヒント: 一度PURGEで消えない定義が残れば、別の定義内で依然参照されている状態です。-PURGE A * Nを2〜3回反復すれば大抵片付きます。

4.2 AUDIT / RECOVER / RECOVERALL

  • AUDIT: 現在図面の整合性検査。「Fix errors? Y」で自動修正。
  • RECOVER: 破損したDWGを復旧モードで開く。通常OPENで開けないファイルに使用。
  • RECOVERALL: 現在のDWGと全Xrefを統合復旧。

ヒント: DWGが開けない時の順序は(1) DWG TrueViewのようなビューア → (2) RECOVER → (3) .bakファイル復元 → (4) 自動保存.sv$(SAVEFILEPATH) → (5) 商用復旧サービス。

4.3 OVERKILL

OVERKILLは同じ位置に重なった重複オブジェクトや同一直線上の分断された線を1つにまとめます。

  • 画層・色・線種フィルタ。
  • Numeric fuzz(公差): わずかにずれたオブジェクトも1つとして扱う。
  • Optimize polylines: 連続する直線セグメントを単純化。
  • Combine co-linear objects: 同一線上オブジェクトのマージ。

ヒント: PDF→DWG変換・スキャントレース結果物は重なった線が数千個に達します。OVERKILLが整理の第1優先です。

4.4 システム変数の推奨値

変数デフォルト推奨説明
SAVETIME105自動保存周期(分)
ISAVEBAK11.bakバックアップ生成
INDEXCTL03Xref部分ロード最適化
WHIPTHREAD13マルチスレッドディスプレイ
VTENABLE150ズーム・パンアニメーション解除(速度↑)
BACKGROUNDPLOT20〜2大量Publishは0が安全

4.5 大型図面トラブル対応

症状原因候補対処
開くのが遅い多数のXref・巨大画像INDEXCTL↑、画像解像度↓
保存が遅いDrawing History有効History off、-PURGE
選択遅延重複オブジェクトOVERKILL
ハッチ遅い密なパターンScale↑、Solidへ代替、Draw Orderを後ろへ
REGENが長い過多オブジェクト不要画層をFreeze、VP Freeze
プロット中の停止BACKGROUNDPLOT値0、PDF品質調整

5. 協業 — Autodesk Docs・AutoCAD Web・Share・Trace

5.1 Autodesk Docs / Construction Cloud

  • プロジェクト共用ファイルリポジトリ。DWG・PDFレビュー・Markup・発行管理が統合。
  • AutoCADからOpen from Autodesk Docs / Save to Autodesk Docsで直接開いて保存。
  • バージョン・権限・活動ログが自動記録。

ヒント: Windows共有・SharePointのような従来型リポジトリと比べて図面ロックとバージョン履歴が内蔵されているのが強みです。5人以上のチームなら移行を勧められます。

5.2 AutoCAD Web / Mobile

  • ブラウザ・タブレットでDWGを開く・簡易修正・計測・注釈。
  • 現場での素早い確認・マークアップに適切。フル編集はデスクトップで。

5.3 SHARE — リンク共有

SHAREは現在の図面をAutodesk Viewerで開けるリンクに変えます。受信者は別途インストールなしにURLだけで確認可能。デフォルトの有効期間は7日。

5.4 Drawing History / COMPARE / XCOMPARE

  • Autodesk Docsなどのバージョン管理リポジトリにあるDWGはDrawing Historyからスライダで過去バージョンと比較できる。
  • COMPARE / XCOMPARE: 2つのDWGの差異を色でオーバーレイ。

5.5 Trace (2022+)

TRACEは元図面を修正せずに、半透明レイヤーに注釈・修正案を重ねる機能です。

ウェブ・モバイルで作ったTraceをデスクトップで呼び出して承認・反映できます。

Markup Assist: PDF・画像マークアップをAIで認識し、Traceレイヤーの編集可能オブジェクトへの変換を提案。

5.6 Markup Import (2023+, 2026改善)

MARKUPIMPORTは外部のPDF・PNG・JPGマークアップをTraceレイヤーとして挿入します。

2026からはAutodesk Docsと双方向同期され、Docsで修正したマークアップがAutoCAD側にも自動反映されます。

5.7 eTransmit — 外部配布の標準

ETRANSMITは現在のDWG + 全Xref + 画像 + SHX/TTFフォント + プロットスタイルを1つのZIPまたはフォルダにまとめます。

単純ファイルコピーは参照・フォントが抜けやすいので、外注・監理・入札提出には必ずeTransmitを使います。

5.8 Trusted DWG

Autodesk正規品・認証されたアプリケーションで生成・保存されたDWGを意味します。他CADで保存されたDWGを開くと「Not a Trusted DWG」警告が出ることがあります。

機能上大きな違いはありませんが、締結・互換事故予防のため重要な図面はAutoCADで一度開いて保存しておくことを推奨します。


6. 協業インフラ — 標準配布

  • DWS + CHECKSTANDARDS: 会社・国家標準検査。
  • Sheet Set: プロジェクトシートの一貫管理(詳細は03-blocks-xref.md)。
  • Block LibraryネットワークTool Palette: 全社員同一ブロック。
  • CUIx Partial配布: 同一リボン・ショートカット・マクロ。
  • Profile(.arg): OPTIONS設定をexport/importで同期。

ヒント: 新入社員セットアップを自動化するには、ログインスクリプトに(1) Profile import (2) Template経路マッピング (3) Startup Suiteへの社内LSP登録を含めます。


7. 実務チェックリスト

  • よく使うLSPはStartup Suiteに登録されている
  • acaddoc.lspが肥大化しないよう管理されている
  • 社内標準マクロはPartial CUIxで配布される
  • 夜間一括処理はaccoreconsole.exeベース
  • 週次定期メンテナンスSCR(AUDIT→PURGE→SAVE)が実行される
  • SAVETIME=5, ISAVEBAK=1で自動保存・バックアップが有効
  • 大型XrefにINDEXCTL=3が適用されている
  • OVERKILLがスキャン・PDF→DWG結果物に適用された
  • 外部提出はETRANSMITでパッケージングされる
  • Autodesk Docsまたは同等のVCSがチームリポジトリ
  • Markup Import・Traceワークフローがチームに共有された
  • Profile .argが新入社員セットアップに使われる

ブックマークに追加!
PC: Ctrl + D
モバイル: メニュー → ブックマーク追加