メインコンテンツに移動

既定値の設定を図形に反映するスクリプト

選択している図形の設定を、その図形タイプの既定値設定に変更するスクリプトのサンプルコードです。
[ユーザー設定] ダイアログボックスで、図形選択中の右クリックメニューにスクリプトを追加することができます。

 

■ スクリプトのインストール方法 (Ver9 以降)
  1. RootPro CAD の [スクリプト] メニューの [スクリプトの管理] をクリックする
    [アドイン/スクリプトの管理] ダイアログボックスが表示されます。
  2. 左側のメニューで [スクリプト] - [すべて] または各カテゴリーを選択する
    公開されているスクリプトが表示されます。
  3. インストールしたいスクリプトを選択して、[インストール] をクリックする
  4. [閉じる] をクリックする

 

■ スクリプトのインストール方法 (Ver9 以降の手動インストール)
  1. 以下のリンクからスクリプトファイル(拡張子 .zip)をダウンロードする
  2. RootPro CAD の [スクリプト] メニューの [スクリプトのフォルダーを開く] をクリックして、スクリプトのフォルダーを表示する
  3. ダウンロードした圧縮ファイル(拡張子 .zip)を解凍して、RootPro.Script.SetDefaultSettingsToShape フォルダーをスクリプトのフォルダーへコピーする

 

■ スクリプトのインストール方法 (Ver8)
  1. 以下のリンクからスクリプトファイル(拡張子 .zip)をダウンロードする
  2. RootPro CAD の [スクリプト] メニューの [スクリプトのフォルダーを開く] をクリックして、スクリプトのフォルダーを表示する
  3. ダウンロードした圧縮ファイル(拡張子 .zip)を解凍して、既定値の設定を図形に反映する.csx ファイルをスクリプトのフォルダーへコピーする

 

■ スクリプトの動作を確認する
  1. RootPro CAD を起動する
  2. 既定値設定に変更したい図形を選択する
  3. [スクリプト] メニューの [既定値の設定を図形に反映する] を実行する
    選択している図形の設定が既定値設定に変更されます。
// 現在の図面を取得する
var doc = Application.ActiveDocument;
// 選択されている図形を取得する
var selectedShapes = doc.SelectionManager.SelectedShapes;
// UNDO 処理を開始
doc.UndoManager.BeginUndoUnit();
// 選択図形のタイプ毎に既定値を反映する
foreach(SelectedShape selectedShape in selectedShapes)
{
// 一般図形の場合
if(selectedShape.Shape is BasicShape)
doc.BasicShapeSettings.CopyToShape(selectedShape.Shape);
// バルーンの場合
else if(selectedShape.Shape is BalloonShape)
doc.BalloonSettings.CopyToShape(selectedShape.Shape);
// 寸法の場合
else if(selectedShape.Shape is DimensionShape)
doc.DimensionSettings.CopyToShape(selectedShape.Shape);
// ハッチングの場合
else if(selectedShape.Shape is HatchShape)
doc.HatchSettings.CopyToShape(selectedShape.Shape);
// 引き出し線の場合
else if(selectedShape.Shape is LeadShape)
doc.LeadSettings.CopyToShape(selectedShape.Shape);
// 点の場合
else if(selectedShape.Shape is PointMarkerShape)
doc.PointMarkerSettings.CopyToShape(selectedShape.Shape);
// 文章の場合
else if(selectedShape.Shape is TextShape)
doc.TextSettings.CopyToShape(selectedShape.Shape);
}
// UNDO 処理を終了
doc.UndoManager.EndUndoUnit();