ハッチングを選択して、再作成 ボタンをクリックすると、境界を作成できることは知ってるんだけど…
複数のハッチングを選択すると、グレーアウトしてボタンをクリックできなくなっちゃう…
境界を作成したいハッチングがいっぱいあるんだけど…😵
ひとつずつやらなきゃいけないのかなぁ😢
こんにちは、メモだよ!!管理人です。
今回は、そんなあなたに、複数のハッチングの境界を一度に作成する方法を紹介します。
ハッチング境界作成(HATCHGENERATEBOUNDARY)コマンドで、まとめて境界を作成
ハッチングの境界を作成するための ハッチング境界作成(HATCHGENERATEBOUNDARY)というコマンドがあります。
これを使えば、複数のハッチングの境界を一度に作成することができます。
- 境界を作成したいハッチングをすべて選択します。
- キーボードから HATCHGENERATEBOUNDARY と入力します。
これで、複数のハッチングに対して、一度に境界を作成することができました。😄
LISP を使用すれば、自動調整の境界も作成できる
境界の図形が作成できたのはいいんだけど…
これってハッチングと関連がないみたい…
境界を変更しても、ハッチングがついてこないんだけど…
自動調整の境界は作成できないの?
ハッチング境界作成(HATCHGENERATEBOUNDARY)コマンドは、簡単に複数のハッチングに対して境界を作成できるんですが、非自動調整なのでハッチングとの関連付けはありません。😢
ハッチング編集(HATCHEDIT)コマンドなら、ハッチングと関連付けられるんですが、ひとつのハッチングに対してした実行できません。
そこで、LISP を使用すれば、一度に複数のハッチングに対して自動調整の境界を作成することができます。
まずは、以下 LISP をコピーしてメモ帳などに貼り付けて、CreateAssociateHatchBoundaries.lsp という名前で保存して、ロードしておいてください。
(defun C:CreateAssociateHatchBoundaries ()
(setq entities (ssget))
(setq count 0)
(while (setq ename (ssname entities count))
(setq edata (entget ename))
(if (= (cdr (assoc 0 edata)) "HATCH")
(progn
; ハッチングが非自動調整のときのみ実行する
(if (= (cdr (assoc 71 edata)) 0)
(progn
(command "_hatchedit" ename "_b" "_p" "_y")
)
)
)
)
(setq count (+ count 1))
)
(princ)
)
LISP のロード方法がわからないときは、以下の記事を見てください。
【AutoCAD】AutoLISP の実行方法 - 図面を開いたときに自動的にロードする
- キーボードから CreateAssociateHatchBoundaries と入力します。
※ CreateAssociateHatchBoundaries が長くていやというときは、LISP の行目にある CreateAssociateHatchBoundaries を好きなコマンド名に変更してからロードしてください。
- 自動調整の境界を作成したいハッチングを選択します。
※ このとき、以下のようにハッチング以外の図形が含まれていても OK です。
- 再度「オブジェクトを選択」と聞かれるので、Enterキーを押してコマンドを完了します。
これで、選択したすべてのハッチングに境界が作成されます。
この LISP では、自動調整ではないハッチングだけを対象にしています。
自動調整のハッチングは、すでに境界の図形があるはずなので、新たに境界の図形を作成しないようにしています。
自動調整になっているので、境界の形状を変更すると、ハッチングの形状も変わります。😄