この掲示板は AutoCADマクロ屋本舗 の掲示板です。

【 注意 】最初に必ず ↓↓ 下記内容 ↓↓ を参照ください。
① マクロが分からない方は、まず 【 マクロ講座 】 を参照ください。
② 質問の前に 【 マクロ使用前の注意事項 】 をお読みください。
③ 質問する時は、新規投稿フォーム下の【 新規投稿時のお願い 】を必ずお読みください。

システム変数CENTERLTYPEについて
おはようございます。
AutoCAD 2026のシステム変数CENTERLTYPEについて教えて下さい。

コマンドラインで[CENTERLTYPE]→"AM_ISO08W050"
とすると「CENTERLTYPE の入力が無効です」となります。
どうしてでしょうか?
ちなみに画層管理でしようしている線種に"AM_ISO08W050"は存在しています。
  • しんちゃん
  • 2026/01/12 (Mon) 10:01:05
Re: システム変数CENTERLTYPEについて
ACAD.LINに定義すればよさそうなのですが
定義の仕方がちょっとわからず、挑戦中です。
  • しんちゃん
  • 2026/01/12 (Mon) 11:39:37
Re: システム変数CENTERLTYPEについて
使用されているのは、AutoCAD 2026でしょうか、Mechanicalではなく?
AM_ISO08W050は、Mechanical用の線種なので、そのために設定できないのでは?

>画層管理でしようしている線種に"AM_ISO08W050"は存在しています。
とのことですが、線種管理ダイアログには表示されているのでしょうか。
  • LUNE
  • 2026/01/13 (Tue) 09:15:51
Re: システム変数CENTERLTYPEについて
LUNEさんお返事ありがとうございます。
取引先のMechanical図面の線種をAutoCAD2026のAM_7レイヤにしたいのですが。。。
  • しんちゃん
  • 2026/01/13 (Tue) 12:30:21
Re: システム変数CENTERLTYPEについて
>線種管理ダイアログには表示されているのでしょうか。
こちらはどうなっていますか?

>取引先のMechanical図面の線種をAutoCAD2026のAM_7レイヤにしたいのですが。。。
ちょっとわかりにくいのですが、AutoCAD2026でAM_7という名前の画層を作成し、その画層の線種としてAM_ISO08W050を設定したいということですか?

基本的には、線種は線種定義ファイルがないと使えません。
お使いのAutoCADがAutoCAD Plusであれば、Mechanicalの線種定義ファイルがあると思うので、そちらからロードすればよいのですが、そうでない場合は線種定義ファイルがなければ設定することはできないと思います。

  • LUNE
  • 2026/01/13 (Tue) 13:34:07
Re: システム変数CENTERLTYPEについて
「CENTERLTYPE の入力が無効です」と表示されるケースを、メートル系とインチ系のテンプレートファイルで試してみました。

メートル系とインチ系に共通する線種の場合(CENTERやDASHED、HIDDENなど)、CENTERLTYPEに指定した際に自動的にその線種がロードされるようです。
しかし、 メートル系線種定義にのみある、JIS_02_2.0などのJIS系の線種は、あらかじめロードされていないと(線種管理ダイアログに表示されていない)、無効となりました。
メートル系のファイルから、線種がJIS_02_2.0のオブジェクトをインチ系にコピーした場合は、線種管理ダイアログにJIS_02_2.0が追加され、CENTERLTYPEにも指定することができました。

しかし、この検証では、メートル系もインチ系も線種定義ファイルそのものはPCにあるので、Mechanical系の線種ではどうなるかは正しくは予想できないです。
  • LUNE
  • 2026/01/13 (Tue) 14:40:03
Re: システム変数CENTERLTYPEについて
Mechanical独自の線種であれば、独自の制御がなされている可能性がありますが、

一般的なカスタム線種の場合で考えると、下記の通りです。

DWGファイルは、一度ロードされた線種の定義を図面ファイル自体の内部データベースにコピーして保持します。
線種の定義: .linファイルは「読み込み時」にのみ必要で、一度ロードされると、
その定義(ダッシュの長さ、空白、文字など)は図面の一部として保存されます。

したがって、他の人にDWGファイルを渡す際、基本的には.linファイルを一緒に送らなくても、
相手の画面上でその線種は再現されます。

ただし、新たにその線種を「再ロード」しようとしたり、別の図面で新しく使おうとしたり、
新しい画層やオブジェクトに対して、その線種を設定すると、元の.linファイルが必要になります。

また、「シェイプ(.shx)」ファイルが含まれる線種の場合
線種のパターン(点や線)はDWGに保存されますが、参照しているシェイプファイル本体(.shx)は図面に埋め込まれません。

この場合、ファイルを開いた際に「シェイプファイルが見つかりません」という警告が出たり、
設定により、警告なしで代替線種で表示されるか、非表示になる事も有ります。
  • Hamu
  • 2026/01/13 (Tue) 16:11:25
Re: システム変数CENTERLTYPEについて
https://www.cadforum.cz/en/download.asp?fileID=390
このLISPを使えば、「シェイプ(.shx)」ファイルが含まれない線種なら、
DWGデータに埋め込まれている情報から、線種定義ファイルを作成できるらしいです。
  • Hamu
  • 2026/01/13 (Tue) 16:56:32
Re: システム変数CENTERLTYPEについて
LUNEさん、Hamuさんお返事ありがとうございます。
線種管理でみると線種名が存在しているのですが
CENTERLTYPEで指定すると存在しませんとなります。
  • しんちゃん
  • 2026/01/13 (Tue) 17:12:26
Re: システム変数CENTERLTYPEについて
Hamuさんが書かれている通り、

>DWGファイルは、一度ロードされた線種の定義を図面ファイル自体の内部データベースにコピーして保持します。
一時的には内部データベースとして、該当の線種は保持されている(線種管理に表示されている)のだと思われますが、おそらくCENTERLTYPEに指定する際に、線種がロードされているかどうかを確認し、ロードされていれば「再ロード」を試みているのだと思われます。(メートル系、インチ系に共通の線種は、指定すると自動的にロードされる仕組みのようですが)

なので、該当の線種定義が線種定義ファイルにない場合は、指定できないのではないかと想定されます。

Hamuご紹介のLispで、線種定義を作成できれば、その定義を現在使用している線種定義ファイルに追記すれば可能なのではないでしょうか。
  • LUNE
  • 2026/01/13 (Tue) 17:45:16
Re: システム変数CENTERLTYPEについて
Hamuさん、LUNEさんご連絡遅れまして申し訳ありませんでした。
急遽、出張が入りまして。。。
Hamuさんからお聞きしましたLISPをダウンロードしてacad.linに追加したところ
無事に[CENTERLTYPE]が実行できました。
ありがとうございました。
今後ともよろしくお願いいたします。
  • しんちゃん
  • 2026/01/15 (Thu) 17:49:59

返信フォーム






プレビュー (投稿前に内容を確認)