AutoCADの作業効率化には繰り返し作業の工数を減らすことが重要です。それはAutoLISPでカスタムコマンドを作ることで実現できます。でもAutoLISPって難しそう。そんな先入観、ありませんか?特にAutoCAD初心者には「これをどう活用すればいいの?」とハードルが高く感じられるもの。でも朗報です。ChatGPTを使えば、AutoLISPの難しい部分もシンプルに解決。スクリプト作成がグッと楽になります。
たとえばこんなシーン。正面図と側面図があるとき、側面図の寸法を修正したあと、正面図の寸法も同じように更新する必要がありますよね。この操作を繰り返すのは手間がかかるもの。そこで登場するのがAutoLISPです。このスクリプトを使えば、そんな繰り返し作業もワンステップで解決できます。

今回はChatGPTを使って、図面の2点間の距離を測定し、それを寸法に反映するスクリプトを作成しました。そのプロセスをお見せします!
ChatGPTに要件を伝える
まずは、ChatGPTにこうお願いしました。
- 図面内の2点をクリックして、その距離を測定。
- 寸法オブジェクトをクリックして選択。
- 測定した距離をその寸法に反映。
すると、数秒で以下のコードが生成されました。
初回のコード
(defun c:UpdateDimToDistance ()
(setq pt1 (getpoint "\n1つ目の点を選択: ")) ; 最初の点を取得
(setq pt2 (getpoint "\n2つ目の点を選択: ")) ; 2つ目の点を取得
(setq distance (distance pt1 pt2)) ; 2点間の距離を計算
(setq ent (entsel "\n変更する寸法を選択: ")) ; 変更する寸法を選択
(if (and ent (setq entData (entget (car ent))))
(progn
(setq newDimText (rtos distance 2 3)) ; 距離を文字列に変換 (小数点以下3桁)
(setq entData (subst (cons 1 newDimText) (assoc 1 entData) entData)) ; 寸法値を更新
(entmod entData) ; エンティティを更新
(princ (strcat "\n寸法が " newDimText " に更新されました。"))
)
(princ "\n寸法を正しく選択してください。")
)
(princ)
)
エラー発生!でも大丈夫
試してみると、次のエラーが発生しました。
保護されたシンボルへの割り当て: DISTANCE ブレーク ループに入りますか?
エラーの原因は、distance という変数名がAutoCADのシステムコマンド DISTANCE と衝突していたこと。ChatGPTにそのままエラー内容を伝えると(エラーのスクショを張り付けただけ)、即座にエラーの原因と修正版コードを提案してくれました。
修正版コード
(defun c:UpdateDimToDistance ()
(setq pt1 (getpoint "\n1つ目の点を選択: ")) ; 最初の点を取得
(setq pt2 (getpoint "\n2つ目の点を選択: ")) ; 2つ目の点を取得
(setq measuredDist (distance pt1 pt2)) ; 2点間の距離を計算(変数名変更)
(setq ent (entsel "\n変更する寸法を選択: ")) ; 変更する寸法を選択
(if (and ent (setq entData (entget (car ent))))
(progn
(setq newDimText (rtos measuredDist 2 3)) ; 距離を文字列に変換 (小数点以下3桁)
(setq entData (subst (cons 1 newDimText) (assoc 1 entData) entData)) ; 寸法値を更新
(entmod entData) ; エンティティを更新
(princ (strcat "\n寸法が " newDimText " に更新されました。"))
)
(princ "\n寸法を正しく選択してください。")
)
(princ)
)
修正版では、変数名を distance から measuredDist に変更することで問題を解決しました。これでスムーズに動作します!
実行手順
このスクリプトを使うのは驚くほど簡単です。
- AutoCADでこのコードをロードします。
- コマンドラインで
UpdateDimToDistanceを入力。 - 図面内で測定したい2点をクリック。
- 寸法をクリック。
すると、クリックした2点間の距離が寸法に自動的に反映されます。
まとめ:ChatGPTがあなたの設計作業を変える
ChatGPTがあれば、AutoLISPのように難しく見えるスクリプト作成も、実はこんなにシンプル。エラーが出ても、その内容をそのまま伝えるだけで改善案を提案してくれるから、もう迷う必要はありません。
AutoCADでの繰り返し作業に時間を取られているなら、今すぐChatGPTを試してみましょう!設計業務がもっとスマートで楽しいものになりますよ。
