サポート > PC-MAPPING ヒント集 > スクリプト > スクリプトによるスナップ属性転記
スクリプトによるスナップ属性転記
スナップしたベクターの内部属性フィールドの値を次にスナップしたベクターの内部属性フィールドに転記します。
転記する対象は、同一名称のフィールドタイトルのみです。
■ サンプル
サンプル[script38.zip(約30KB)]をダウンロードする
sample.pcm:サンプルプロジェクト
Attrtrans.js:サンプルJScript
Attrtrans.vbs:サンプルVBScript

■ 準備
JScriptの場合「Attrtrans.js」、VBScriptの場合「Attrtrans.vbs」を記述します。
ここでは、「Attrtrans.js」を例に記述します。

  1. ダウンロードしたファイルを「C:\sample\script38」へ解凍します。

  2. ダウンロードしたスクリプトファイル「Attrtrans.js」をユーザーメニューに登録します。
    [ワークスペース]-[カスタマイズ]-[ユーザーメニュー]を実行して、[ユーザー定義メニュー1]ダイアログボックスを表示します。
    <追加>ボタンをクリックし、[ユーザー定義メニュー2]ダイアログボックスを表示します。
    スクリプトを登録して、引数を以下のように設定します。
    ここでは、
    • 転記元のレイヤータイトル「下水管」
    • 転記元のベクター番号「1」(=アーク)
    • 転記先のレイヤータイトル「管きょ表記」
    • 転記先のベクター番号「4」(=ポイント)
    と入力します。
    種類
    「スクリプト プロシージャ」を選択します。
    引数
    para1:転記元のレイヤータイトル
    para2:転記元のベクター要素
    1 = アーク
    2 = ノード
    3 = ポリゴン
    4 = ポイント
    para3:転記先のレイヤータイトル
    para4:転記先のベクター要素
    1 = アーク
    2 = ノード
    3 = ポリゴン
    4 = ポイント
    ファイル名
    ダウンロードしたスクリプトファイルを登録します。

■ 解説
[ユーザーメニュー]-[属性転記]-[スナップ属性転記]を実行すると、「下水管」レイヤーアーク内部属性「管径」「勾配」「延長」「断面形状」「回転角度」フィールドの値を「管きょ表記」レイヤーポイント内部属性「断面形状」「管径」「勾配」「延長」「回転角度」フィールドへ転記します。
なお、「下水管」レイヤーアーク内部属性「回転角度」フィールドは、計算式「$DegCenterPos180」を使用して、アーク中点での傾き(-180度〜+180度)を取得しています。
「管きょ表記」レイヤーポイント内部属性「断面形状」フィールドは、「断面形状」描画パラメーターを使用してシンボル表記しています。
「管径」「勾配」「延長」フィールドは、画面上に文字を表記しています。
「回転角度」フィールドは、文字の傾きに使用しています。

▼「下水管」レイヤーアーク内部属性

▼「管きょ表記」レイヤーポイント内部属性

■ 実行
  1. サンプルプロジェクト「sample.pcm」を開きます。

  2. [ユーザーメニュー]-[属性転記]-[スナップ属性転記]を実行します。

  3. 「下水管」レイヤーのアークをマウス左ボタンでスナップします。
    スナップしたアークは選択状態になります。

  4. 「管きょ表記」レイヤーのポイントをマウス左ボタンでスナップします。
    スナップしたポイントは選択状態になります。
    「下水管」レイヤーアーク内部属性「管径」「勾配」「延長」「断面形状」「回転角度」フィールドの値が「管きょ表記」レイヤーポイント内部属性「断面形状」「管径」「勾配」「延長」「回転角度」フィールドに転記され、「管きょ表記」レイヤーポイントのシンボル、文字、文字角度が変更されます。

  5. 「属性を転記しました。」メッセージボックスが表示されますので、<OK>ボタンを押します。

  6. マウス右ボタンで処理を終了します。