概要 - サブアセンブリ コードをローカライズまたは変更する

ローカライズを行うために、Autodesk Civil 3D ストック サブアセンブリでは、外部コード ファイルを使用して、サブアセンブリで参照されるポイント、リンク、シェイプ コードを定義します。

この外部コード ファイルは、C3DStockSubassemblyScripts.codes という名前で、C3DStockSubassemblyScripts.dvb ファイルまたは C3DStockSubassemblies.dll ファイルと同じフォルダに格納されます。既定では、英語ベース システムの場合、通常このフォルダの場所は C:¥ProgramData¥Autodesk¥C3D <バージョン>¥jpn です。それ以外の言語ベース システムでは、「enu」の箇所がそれぞれの言語または地域に対応します。

コード ファイルは、dvb ファイルの CodesSpecific モジュールとともに、各サブアセンブリに関連付けられます。以下のセクションでは、コード ファイルの定義方法、ポイント、リンク、シェイプ コードの編集方法、追加方法について説明します。

CodesSpecific モジュールは、.NET サブアセンブリの場合は C3DStockSubassemblies VB プロジェクトの CodesSpecific.vb ファイル、VBA サブアセンブリの場合は dvb ファイルにあります。

C3DStockSubassemblyScripts.codes ファイルとは

C3DStockSubassemblyScripts.codes ファイルは、任意のテキスト エディタで開くことができます。このファイルにコメントを追加するには、文の先頭に // を付加します。ファイル内で空の行は記述しないでください。各コード行は、改行文字で区切ります。各コード定義は、次のコンポーネントで構成され、カンマで区切ります。

注: コード ファイルは Unicode 形式で保存します。たとえば、メモ帳を使用してコード ファイルを更新する場合、ファイルを保存する際に[名前をつけて保存]ダイアログ ボックスでエンコード方法を選択できます。この際、必ず Unicode を選択します。

次に、C3DStockSubassemblyScripts.codes ファイルのコード定義行の例を示します。

38,BottomCurb,BottomCurb,Bottom of curb for a curb without gutter.

インデックス番号: 38

ローカライズ コード: ButtomCurb

オリジナル コード: ButtomCurb

コードの説明: 側溝のない縁石の底面。

Autodesk Civil 3D ストック サブアセンブリの既定のコードを変更する

コードの表示名を変更またはローカライズするには、C3DStockSubassemblyScripts.codes ファイルをテキスト エディタで開き、ローカライズ コードおよび対応するコードの説明を変更します。

たとえば、Curb Bottom の表示名を変更する場合は、次に示す C3DStockSubassemblyScripts.codes ファイルの太字のコンポーネントを編集します。

38,BottomKerb,BottomCurb,Bottom of kerb for a kerb without gutter

Autodesk Civil 3D ストック サブアセンブリに新しいコードを追加する

既存のサブアセンブリに新しいコードを追加したり、新しいサブアセンブリ モジュールを追加して、同じ構造物を既定のコンテンツとして使用するには、.NET サブアセンブリの場合、次の手順を実行します。

  1. C3DStockSubassemblyScripts.Codes ファイルの末尾に <New Code> を追加し、新しいインデックス、ローカライズ名、任意の説明を記述します。
  2. C3DStockSubassemblies VB プロジェクトの CodesSpecific.vb ファイルで、AllCodes 構造物の末尾に次の行を追加します。Public <新しいコード> as CodeType
  3. CodesSpecific.vb ファイルで、FillCodeStructure ルーチンの With/End With ブロックの末尾に、次の行を追加します。 <NewCode>
  4. コード ファイルが見つからない場合は、CodesSpecific モジュールの InitializeDefaults() 関数で CodesDefault(<新しいコードのインデックス>)の既定値を宣言します。
  5. Dim 文で CodesSpecific モジュールの CodesDefault 配列のサイズを変更します。

この手順で追加した新しいコードは、Autodesk Civil 3D ストック サブアセンブリで、既存の .NET コード サブアセンブリにも新しい .NET コード サブアセンブリにも使用できます。

VBA サブアセンブリの場合は、次の手順を実行します。

  1. C3DStockSubassemblyScripts.Codes ファイルの末尾に <New Code> を追加し、新しいインデックス、ローカライズ名、任意の説明を記述します。
  2. C3DStockSubassemblyScripts.dvb ファイルの CodesSpecific モジュールで、AllCodes 構造物の末尾に次の行を追加します。g_s<新しいコード> as CodeType
  3. CodesSpecific.vb ファイルで、FillCodeStructure ルーチンの With/End With ブロックの末尾に、次の行を追加します。 GetFromCollection colCodesAndDescriptionHashtable, n, .g_s<NewCode>
  4. コード ファイルが見つからない場合は、CodesSpecific モジュールの InitializeDefaults() 関数で g_arrDefaults(<新しいコードのインデックス>)の既定値を宣言します。
  5. CodesSpecific モジュールの g_arrDefault 配列のサイズを変更します。

この手順で追加した新しいコードは、Autodesk Civil 3D ストック サブアセンブリで、既存の VBA コード サブアセンブリにも新しい VBA コード サブアセンブリにも使用できます。

注: ポイント コードの関連付けは、主に既定のコンテンツのローカライズを容易にする目的で行います。カスタム サブアセンブリを作成する場合、この手順に準拠する必要はありません。新しいモジュールを作成すると、それにサブアセンブリで参照可能なコードのカスタマイズ リストを格納できます。また、各モジュール内で文字列をローカルにハードコード化すると、前述のプロセスを省略できます。

サブアセンブリ カタログ、ツール パレットをローカライズする

既定のサブアセンブリは、一般的にさまざまなクライアントや地域に対応するよう定義されています。ただし、個別の多様な状況や言語の要件に適合させるために、カタログ、パレット、ツール、ツール変数の表示名の変更が必要になる場合もあります。カタログやツール パレットは、XML 形式の .atc ファイルで構成され、編集することができます。

注: 既定では、英語ベース システムの場合、Autodesk Civil 3D サブアセンブリ ツール カタログ .atc ファイルは、C:¥ProgramData¥Autodesk¥C3D <バージョン>¥jpn¥Tool Catalogs¥Road Catalog にインストールされます。

ローカライズを行うために、サブアセンブリ ツール カタログ .atc ファイルで変更が可能なデータ要素の値を次の一覧に示します。

注: 変更できるのは、データ要素の値のみです(基本車線サブアセンブリの Width パラメータの値など)。データ要素名自体は、変更できません。これらのデータ要素は、サブアセンブリ スクリプトで使用されるグローバル変数名です。

カントリー キット、カスタム コード ファイルまたはロケール固有コード ファイルをインストールする

地域固有コード ファイルを含むカントリー キットをインストールしたり、あるいは地域固有内容を含むコード ファイルをインストール(使用)する場合、カントリー キットまたはカスタム コード ファイルをインストールする前に次の操作を実行する必要があります。

地域固有コード ファイルまたはカスタム コード ファイルのバックアップ コピーを作成し、その名前をインストールされたコード ファイルの既定名(たとえば、英語バージョンの製品の場合、既定のコードファイルの名前は C3DStockSubassemblyScripts_US.codes)に変更し、C:¥ProgramData¥Autodesk¥C3D <バージョン>¥jpn にコピーします。それ以外の言語ベース システムでは、「enu」の箇所がそれぞれの地域に対応します。

Autodesk Civil 3D をコンピュータに初めてインストールすると、コード ファイルは次の 2 つのバージョンでインストールされます。

C3DStockSubassemblyScripts_<ロケール>.codes ファイル(この例ではC3DStockSubassemblyScripts_US.codes)は、コード ファイルの内容を保護するバックアップ メカニズムとしてインストールされます。

地域固有コード ファイルを含むカントリー キットをインストールすると、ローカライズ コード ファイルが既存のファイルを上書きする形で C3DStockSubassemblyScripts.codes にインストールされ、C3DStockSubassemblyScripts_<ロケール>.codes にコピーが作成されます。このため、C3DStockSubassemblyScripts.codes ファイルを変更する場合、カントリー キットまたはロケール固有コード ファイルをインストールする際にそのバックアップを作成することが重要になります。

ファイル

カスタム サブアセンブリの使用または Autodesk Civil 3D コリドー モデリング チュートリアルの実行で予期せぬ結果が発生する場合、その原因は図面が発見できないコード ファイル情報を参照しているためである可能性があります。必要な情報を含むように既存のコード ファイルを更新すると、これらの問題を解決することができる場合があります。