サポート > PC-MAPPING ヒント集 > インポート > SXFファイルのインポート
SXFファイルのインポート
CADデータ交換標準フォーマットであるSXFファイルをPC-MAPPINGの形式に変換します。
■ バージョン
本機能を実現するにあたっては、(財)日本建設情報総合センターより提供されたCADデータ交換標準ソフトウエア(SXF共通ライブラリVer3.1/3.2)を利用しています。

■ 準備
PC-MAPPINGでSXFファイルをインポートする場合、以下のDLLファイル群が必要となります。
通常はPC-MAPPINGインストール時にセットされますが、何らかの原因でこれらのファイルが欠損した場合は、以下の手順で必要なDLLをコピーして下さい。
  1. 最新版ダウンロード [PC-MAPPING Ver.8] から「PC-Mapping HT Ver.8(x32またはx64)」をダウンロードします。
  2. ダウンロードしたZip形式のファイルを解凍し、
    • PcmSxf3.dll - SXF共通ライブラリレベル2[SFC]
    • PcmSxfAp3.dll - SXF共通ライブラリレベル2[P21]
    をpcm.exeのあるフォルダーにコピーして下さい。

■ 操作方法
  1. [インポート]-[CAD]-[CADデータ交換標準フォーマット(SXF)]を実行します。

  2. [CADデータ交換標準フォーマット(SXF) インポート]ダイアログボックスが表示されますので、以下の設定を行ないます。
    条件設定
    元図面の縮尺
    元図面の縮尺分母を入力します。
    SXFフォーマットに縮尺という概念はありませんので、元図面の縮尺が不明な場合は、SXFファイル提供先にご確認下さい。
    解像度
    元図面で設定されている最小単位をミリメートル(mm)で設定します。
    【注意】
    プロジェクトやレイヤーの図郭情報で、1ピクセルあたりの図上距離を指定します。
    インポートしたベクター形状が元図面と異なる場合、解像度が大きい(1ピクセルあたりの図上距離が大きい)ため、正常に座標点を落とせなかった可能性があります。解像度を小さくして再度ご確認下さい。
    原点座標
    元図面で設定されている原点座標値(X,Y)をメートル(m)で設定します。
    • 「直角座標に変換する」チェックボックスがONの場合→直角座標系の実座標列を入力します。
    • 「直角座標に変換する」チェックボックスがOFFの場合→ペーパー座標系の図上座標列を入力します。
    [直角座標に変換する]チェックボックス
    ONの場合
    直角座標系としてインポートされます。
    [系]リストから該当する系を選択します。
    解像度は図上距離から実距離に自動換算した値が入力されます(例えば、ペーパー座標系で縮尺1/2500、解像度0.001の場合、直角座標系では縮尺1/2500、解像度0.0025となります)。
    OFFの場合
    ペーパー座標系としてインポートされます。
    [部分図(複合図形)の情報から縮尺、原点座標を設定する]チェックボックス
    ※[直角座標に変換する]チェックボックスがOFFの場合、使用できません。
    ONの場合
    部分図(複合図形)の情報から原点座標を設定できます。
    部分図(複合図形)に情報がない場合は、原点座標は(0,0)となります。
    [レイヤー分けをする]チェックボックス
    SXFフォーマットには「レイヤー」(画層)の概念があり、これが設定されている場合、レイヤーを分けてインポートする事ができます。
    ONの場合
    各画層をそのままレイヤーに置き換えます。
    ※[ファイル単位にレイヤー分けをする]チェックボックスは自動的にOFFになります。
    OFFの場合
    全画層を1レイヤーにまとめて変換します。
    [ファイル単位にレイヤー分けをする]チェックボックス
    「読み込むファイル」リストに読み込まれた複数のファイルに対して、どのようにレイヤーを分けてインポートするか指定する事ができます。
    ONの場合
    「読み込むファイル」リストの1ファイルをレイヤーとしてインポートします。
    ※[レイヤー分けをする]チェックボックスは自動的にOFFになります。
    OFFの場合
    全画層を1レイヤーにまとめて変換します。
    [文字サイズの調整をする]チェックボックス
    ONの場合、文字の高さを指定値に近付けるように調整します。
    SXFフォーマットとPC-MAPPINGでは、文字サイズの指定方法が異なるため、近い文字サイズになるよう計算しています。
    ※[ファイル]-[システム環境]-[システム環境設定]-[表示と印刷]パネルの
    • [描画、印刷時の注記サイズを調整する]チェックボックス
    • [固定ピッチの場合のフォント幅を調整する]チェックボックス
    • [半角文字の縦書き対応]チェックボックス
    と合わせて設定を行なって下さい。
    [「白」色を、黒に変換する]チェックボックス
    ONの場合、描画色の白(255,255,255)を、黒(0,0,0)に変換します。
    【ヒント】
    ウィンドウの背景が黒色のアプリケーション等から出力したファイルはベクターが白色で出力されている事があり、これをインポートするとPC-MAPPINGウィンドウの背景が白色のため、ベクターが表示されない事があります。
    レイヤーエキスパート等でベクター数を確認し、ベクターの存在が確認できましたら、このチェックをONにして再度インポートし、ご確認下さい。
    インポート時のポリゴン構造
    ハッチングフィーチャをポリゴンとしてインポートします。
    (可能であれば)構造化ポリゴンにする
    可能な限り、構造化ポリゴンを生成します。
    生成できなかった場合、エラーフラグが立ちますのでご確認下さい。
    1アーク1ポリゴン
    1アーク1ポリゴンを生成します。
    [平滑化して補間点を減らす]チェックボックス
    ONの場合、補間点を間引いて平滑化します。
    テキストボックスに直接、数値(mm)を入力して下さい。
    [曲線パラメーターを保持しない]チェックボックス
    ONの場合
    アーク線形以外の曲線パラメーターを取り込みません。
    メモリを節約する事ができますので、円・円弧などが大量に存在するSXFファイルをインポートする場合に有効です。
    OFFの場合
    全ての曲線パラメーターを取り込みます。
    読み込むファイル
    ファイル拡張子*.sfc、*.p21をSXFファイルとして認識します。
    複数のSXFファイルを同時に読み込んで1つのプロジェクトファイルを作成する事も可能です。

  3. 以上の設定が終了したら、<OK>ボタンを押して下さい。

■ 詳細情報
SXFデータの情報はPC-MAPPINGに読み込まれる際に以下のように置き換えられます。
用紙フィーチャ(drawing_sheet_feature)
フィーチャを構成するパラメーターは以下のように対応
name:プロジェクトタイトル
X:ペーパー座標系の紙面サイズまたは、直角座標系の横サイズ
Y:ペーパー座標系の紙面サイズまたは、直角座標系の縦サイズ
レイヤーフィーチャ(layer_feature)
フィーチャを構成するパラメーターは以下のように対応
name:レイヤータイトル
既定義線種フィーチャ(pre_defined_font_feature)
1から15までの線種コードが指定されている線種定義テーブルを描画パラメーター「SXF」のアーク描画ペンに登録(既定義線種の形状については「CADデータ交換標準(SXF)ver2.0仕様書・同説明書」をご覧下さい)
ユーザ定義線種フィーチャ(pre_defined_font_feature)
17から32までの線種コードが指定されている線種定義テーブルを描画パラメーターに登録
既定義色フィーチャ(pre_defined_colour_feature)
1から16までの色コードが指定されている色定義テーブルを各ベクターの「Color」フィールドに使用(既定義色の色については「CADデータ交換標準(SXF)ver2.0仕様書・同説明書」をご覧下さい)
ユーザ定義色フィーチャ(user_defined_colour_feature)
17から256までの色コードが指定されている色定義テーブルを各ベクターの「Color」フィールドに使用
線幅フィーチャ(width_feature)
1から9までの既定義線幅と11から16までのユーザ定義線幅があり、これらの線幅コードが指定されている線幅定義テーブルを各ベクターの「Width」フィールドに使用
文字フォントコードフィーチャ(text_font_feature)
1から1024までの文字フォントコードが指定されている文字フォント定義テーブルから各ベクターの「FontStyle」フィールドに使用
点マーカフィーチャ(point_marker_feature)
1から7までのマーカコードが指定されているテーブルを描画パラメータ「SXF」のポイント(ノード)描画パターンに登録(既定義色の色については「CADデータ交換標準(SXF)ver2.0仕様書・同説明書」をご覧下さい)
また、フィーチャを構成するパラメーターは
Color:ポイント内部属性の「MakeColor」フィールドに設定
Marker_code:ポイント内部属性の「Marker」フィールドに設定
Rotate_angle:ポイント内部属性の「MarkerAngle」フィールドに設定
Scale:ポイント内部属の「MarkerSize」フィールドに設定
X:ポイントX座標
Y:ポイントY座標
※ポイントに変換されベクターシンボルで表現されますが、カラー情報は反映されません。
線分フィーチャ(line_feature)
Color:アーク内部属性の「Color」フィールドに設定
Type:アーク内部属性の「PenStyle」フィールドに設定
Line_width:アーク内部属性の「Width」フィールドに設定
Start_X:始点X座標
Start_Y:始点Y座標
End_X:終点X座標
End_Y:終点Y座標
折線フィーチャ(polyline_feature)
Color:アーク内部属性の「Color」フィールドに設定
Type:アーク内部属性の「PenStyle」フィールドに設定
Line_width:アーク内部属性の「Width」フィールドに設定
X:アーク構成X座標(配列)
Y:アーク構成Y座標(配列)
円フィーチャ(circle_feature)
Color:アーク内部属性の「Color」フィールドに設定
Type:アーク内部属性の「PenStyle」フィールドに設定
Line_width:アーク内部属性の「Width」フィールドに設定
※全て折れ線に変換されますが、スプラインなどの「曲線」編集に対応しています。
円弧フィーチャ(arc_ feature)
Color:アーク内部属性の「Color」フィールドに設定
Type:アーク内部属性の「PenStyle」フィールドに設定
Line_width:アーク内部属性の「Width」フィールドに設定
※全て折れ線に変換されますが、スプラインなどの「曲線」編集に対応しています。
楕円フィーチャ(ellipse_feature)
Color:アーク内部属性の「Color」フィールドに設定
Type:アーク内部属性の「PenStyle」フィールドに設定
Line_width:アーク内部属性の「Width」フィールドに設定
※全て折れ線に変換されますが、スプラインなどの「曲線」編集に対応しています。
楕円弧フィーチャ(ellipse_arc_feature)
Color:アーク内部属性の「Color」フィールドに設定
Type:アーク内部属性の「PenStyle」フィールドに設定
Line_width:アーク内部属性の「Width」フィールドに設定
※全て折れ線に変換されますが、スプラインなどの「曲線」編集に対応しています。
文字要素フィーチャ(text_string_feature)
Color:ポイント内部属性の「Color」フィールドに設定
Font:ポイント内部属性の「FontStyle」フィールドに設定
Str:ポイント内部属性の「Text」フィールドに設定
Text_x:ポイントX座標
Text_y:ポイントX座標
Height:ポイント内部属性の「Size」フィールドに設定
width:ポイント内部属性の「Size」フィールドに設定
spc:ポイント内部属性の「Size」フィールドに設定
Angle:ポイント内部属性の「Rotation」フィールドに設定
b_pnt:ポイント内部属性の「Align」フィールドに設定
スプラインフィーチャ(Spline_feature)
Color:アーク内部属性の「Color」フィールドに設定
Type:アーク内部属性の「PenStyle」フィールドに設定
Line_width:アーク内部属性の「Width」フィールドに設定
X:アーク構成X座標(配列)
Y:アーク構成Y座標(配列)
※全て折れ線に変換されますが、スプラインなどの「曲線」編集に対応しています。
複合図形定義フィーチャ(str_org_feature)、複合図形配置フィーチャ(sfig_local_feature)
数学座標系、測地座標系などのフラグ、その座標が指定されており、インポート時の「部分図(複合図形)の情報から縮尺、原点座標を設定する」機能で使用されます。
既定義シンボルフィーチャ(Externally_defined_symbol_feature)
※サポートされません(読み込まれず、無視します)。
直線寸法フィーチャ(liner_dim_feature)
寸法線分の矢印部分は「矢印」レイヤーに転記して表現されます。
角度寸法フィーチャ(Angular_dim_feature)
※サポートされません(読み込まれず、無視します)。
半径寸法フィーチャ(radius_dim_feature)
※サポートされません(読み込まれず、無視します)。
直径寸法フィーチャ(diameter_dim_feature)
※サポートされません(読み込まれず、無視します)。
引き出し線フィーチャ(Label_feature)
Color:アーク・ポイント内部属性の「Color」フィールドに設定
Type:アーク内部属性の「PenStyle」フィールドに設定
Line_width:アーク内部属性の「Width」フィールドに設定
Vertex_x:アーク構成X座標(配列)
Vertex_y:アーク構成Y座標(配列)
Text_x:ポイントX座標
Text_y:ポイントY座標
Font:ポイント内部属性の「FontStyle」フィールドに設定
Str:ポイント内部属性の「Text」フィールドに設定
Height:ポイント内部属性の「Size」フィールドに設定
width:ポイント内部属性の「Size」フィールドに設定
spc:ポイント内部属性の「Size」フィールドに設定
Angle:ポイント内部属性の「Rotation」フィールドに設定
b_pnt:ポイント内部属性の「Align」フィールドに設定
バルーンフィーチャ(balloon_feature)
Color:アーク・ポイント内部属性の「Color」フィールドに設定
Type:アーク内部属性の「PenStyle」フィールドに設定
Line_width:アーク内部属性の「Width」フィールドに設定
Vertex_x:アーク構成X座標(配列)
Vertex_y:アーク構成Y座標(配列)
Text_x:ポイントX座標
Text_y:ポイントY座標
Font:ポイント内部属性の「FontStyle」フィールドに設定
Str:ポイント内部属性の「Text」フィールドに設定
Height:ポイント内部属性の「Size」フィールドに設定
width:ポイント内部属性の「Size」フィールドに設定
spc:ポイント内部属性の「Size」フィールドに設定
Angle:ポイント内部属性の「Rotation」フィールドに設定
b_pnt:ポイント内部属性の「Align」フィールドに設定
※文字列を持つポイントと、折れ線のアークに分解して変換されます。矢印情報はサポートされません。
ハッチング(外部定義)フィーチャ(Externally_defined_hatch_feature)
Layer:ポリゴンは別レイヤー「レイヤータイトル_POL」に変換されます。
SXFフォーマット構造上、1アーク1ポリゴンとしてインポートされます。
ポリゴンとして読み込まれるハッチングの一部はグラフィックプラスの拡張ハッチに置き換え、描画パラメーターに登録されます。
※グラフィックプラスについては、ヒント集拡張グラフィックスについて を参照して下さい。
ハッチング(塗り)フィーチャ(fill_area_style_colour_feature)
Layer:ポリゴンは別レイヤー「レイヤータイトル_POL」に変換されます。
SXFフォーマット構造上、1アーク1ポリゴンとしてインポートされます。
ハッチング(ユーザー定義)フィーチャ(fill_area_style_hatching_feature)
※ポリゴンとして読み込まれますが、ユーザー定義ハッチング情報はサポートされません。
ハッチング(パターン)フィーチャ(fill_area_style_tiles_feature)
※ポリゴンとして読み込まれますが、ハッチングパターン情報はサポートされません。

■ ラスターデータ交換仕様のサポート
複合図形定義フィーチャ(str_org_feature)、複合図形配置フィーチャ(sfig_local_feature)のパラメーター「name」の命名規則「$$RASTER$$ラスターファイル名」及び図郭情報が入力されていれば「ラスターファイル名」レイヤーの背景イメージとして登録、表示する事ができます。
ただし、イメージの図郭枠が多角形枠のものはサポートしておりません(回転のみサポート)。
なお、SXF仕様書では拡張子TIF、モノクロ、CCITT G4圧縮に限定されております。

■ 等高線交換仕様のサポート
等高線情報は、作図グループフィーチャの作図グループ名に高さの情報を付加する事により表現し、命名規則「$$CONTOUR$$高さ$$任意の文字列」が入力されていれば高さをZ値に設定したレイヤーとして読み込みます。

■ iniファイルによる設定
擬似円の補間点数を増やす
円・円弧は補間点を配置したアーク(擬似円)に変換されます。
[条件設定]の解像度の値に関係なく、擬似円の補間点数が少ないためギザギザに見える場合があります。
このような場合、PC-Mappingがインストールされているフォルダーにある「Pcm.ini」ファイルを開き、「SxfImportdlg」セクションの「CurveTh=」を検索して下さい。
この設定がされていない場合のデフォルトは「0.05」です。よって
[SxfImportdlg]
CurveTh=0.001

のように記述して下さい。

マーカーのコード3のドットのシンボルサイズを変更する
マーカーのコード3のドットのシンボルをスケール情報に合わせて拡大していたのをやめ、常に、規定のサイズ(デフォルトで1.0mm)で表現するようにしました。
この値は、pcm.iniファイルの
[SxfImportDlg]
MarkerDot=1.0

で変更可能です。

■ 補足
  • 各要素のフィーチャーIDは、インポート後、内部属性「FID」としてインポートされます。
  • 円フィーチャ、円弧フィーチャなどはアークに変換されますが、曲線としてあてはめられているので、[作図]-[アーク作図・編集]-[アークの曲線あてはめ編集]メニューによって編集する事ができます。
  • 文字サイズ型の幅を0(高さに対してそのフォントが持つ最適な幅に調整されるPC-MAPPINGの機能)に設定されている場合、Windowsのフォント機構に依存するようになっていますので、文字のサイズを正常にエクスポートする事ができません。
  • プロジェクトとSXFフォーマットはデータ構造(仕様)が異なりますので、プロジェクトファイルからエクスポートしたSXFファイルをインポートしても同一のものにはなりません。
  • インポートが正常に実行されない場合、以下のようなメッセージがアウトプットウィンドウに表示されますので、こちらも併せてご確認下さい。
    ---
    SXFImport: C:\sample.sfc
    USERDEFINED_COLOUR : 20043 : 読み出すユーザー定義色がありません。
    USERDEFINED_LINETYPE : 20045 : 読み出すユーザー定義線種がありません。
    ---