ハッチングパターン

提供:GizmoLabs - だいたい CAD LISP なサイト
2021年10月7日 (木) 10:32時点におけるGizmon (トーク | 投稿記録)による版 (→‎ハッチングパターン定義ファイル)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

AutoCAD と互換 CAD では、概ね同様な独自のハッチングパターンを作成して利用する仕組みがあります。

ハッチングパターン定義ファイル

ハッチングパターンは、次のようなハッチングパターン定義ファイルに記述する。

製品  メートル系  インチ系
AutoCAD acadiso.pat acad.pat
AutoCAD LT acltiso.pat aclt.pat
BricsCAD iso.pat default.pat
IJCAD gcadiso.pat gcad.pat
Intellicad系 icadiso.pat icad.pat

初期設定では大体、各CAD の ROAMABLEROOTPREFIX の Support サブフォルダにあるものが使われようになっている。 各ハッチングパターン定義ファイルはテキストファイルになっているので、テキストエディタで作成、修正することが可能。

ハッチングパターン定義の記述

ハッチングパターン定義ファイルは*(アスタリスク)から始まる見出し行と複数行に記入できるデータ部分からなる。 パターンの 1 行目は *(アスタリスク) パターン名 , コメント の形式で記述する形。

*パターン名, 説明

パターンの 2 行目以降は、ハッチング線の定義を記述するデータ部となり、角度, 基点X,Y, 変位X,Y, 線(破線)のピッチを記述する。

角度, X原点,Y原点, X変位,Y変位,線1,線2, …

ハッチング パターン定義には次の規則が適用される。

  • パターン名の長さは 31 文字以内。
  • パターン定義の各行に最大 80 文字を含めることができる。
  • パターン名には、文字、数字と下線(_)、ハイフン(-)、ドル マーク($)などの特殊文字を使用できる。ただし、パターン定義の先頭の文字には、特殊文字を使用出来ない。
  • 空白行とセミコロンの右側にある文字は無視される。
  • 各パターン線は、線ファミリーの最初のメンバーとみなされ、両方向に変位オフセットを適用して無限の平行線ファミリを生成することにより作成される。
  • 「X変位」の値は、線ファミリーのメンバー間の線方向に対する変位を示す。この値は、破線の場合にのみ意味を持つ。
  • 「Y変位」の値はファミリーメンバ間の間隔を示す。この値は、線と垂直方向に計測される。
  • 線の長さは、無限とみなされます。この線に破線のパターンが重ねられる。


例:パターン ANSI33 の場合。 ANSI規格において材料が青銅、銅、黄銅であることを示す、45°の実線と破線が並ぶハッチングパターン。


*ANSI33, ANSI Bronze,Copper, Brass

45, 0,0, 0,0.25

45, 0.176776695,0, 0,0.25, 0.125,-0.0625


上記場合、 2行目は、角度45°で XY= 0,0 をから始まる 0,0.25 変位の線。 3行目は、角度45°で XY= 0.176776695,0 から始まる XY=0,0.25 変位で 0.125 の線と -0.0625 の破線部のある線。 という意味合いの定義になる。

独自定義のハッチングパターン

CAD の標準のパターン以外でユーザーが独自に定義するハッチングパターン定義ファイルはカスタムハッチング定義ファイルと呼ばれる。 ファイル名とハッチングパターンを同じにする必要があり、ハッチングパターンは1つのファイルに1つしか定義できないという制約がある。 つまり、カスタム ハッチング パターン "hextile" を作成する場合は hextile.pat という名前の PAT ファイルに定義を記述する。


カスタム ハッチング パターンの名前の長さも 31 文字以内。 PAT ファイル内の最後のハッチング パターン定義行の後に空白行を追加する必要がある。 カスタム ハッチング パターンを含む PAT ファイルは、プログラムのサポート ファイルの検索パスの設定で指定されているフォルダのうちの 1 つに格納されている必要がある。(互換 CAD だと所定のフォルダ設定がある場合もある。)


  • その他の注意点

互換CAD だと、標準の PAT ファイルに正常でないハッチングパターンを追加すると CAD が正常に動作しなかったりするので注意が必要。(エラー耐性が弱い) AutoCAD のハッチングパターン定義と互換のある記述となっています。