メインコンテンツまでスキップ

「機能紹介」タグの記事が3件あります

全てのタグを見る

· 約10分
村上 雅哉

Next Design カスタマーサクセスチームの村上です。

7月26日に拡張コンテンツのScriptEditorの正式版をリリースしました。 ScriptEditorは、Next Design 上で動作するスクリプトを記述、実行できる拡張コンテンツです。 スクリプトの開発というと難しいイメージがある方もいるかもしれませんが、ScriptEditor が様々な機能でスクリプト開発を支援してくれます。 そのため、ScriptEditorは、本格的なエクステンションを開発される方だけでなく、日々のちょっとした面倒な作業を自動化したい方にもピッタリの拡張コンテンツです。 Next Design には、標準のスクリプト実行機能が搭載されていますが、今回リリースした ScriptEditor は、標準のスクリプト実行機能と比べて便利な機能が多くあります。 そこで、この記事ではこれまでスクリプトを開発したことがない方に向けてScriptEditorの良さをご紹介いたします。

想定読者
  • スクリプト開発をしたことがない方
  • 既にスクリプトを開発したことがあり、スクリプト開発を効率化したい方
  • Next Design を利用中、手作業が面倒で自動化、効率化したい作業がある方

ScriptEditor とは

ScriptEditorとは、Next Design 上で動作するスクリプトを記述、実行できる拡張コンテンツです。 ScriptEditorには、以下のような機能があり、スクリプトが簡単に手軽に開発できます。

  • スクリプトを記述する際にインテリセンス機能により利用できるAPIが一覧表示され、スクリプト記述を効率化できます。
  • 記述したAPIにマウスオーバーすると、ツールチップでAPIのヘルプが確認できます。
  • スクリプトにエラーがあればリアルタイムで警告表示します。
  • スクリプトファイルの管理機能により、複数スクリプトの編集やメンバ間でのスクリプト共有が簡単にできます。

ScriptEditorを使用したスクリプト作成の実例

それでは、実際にScriptEditorを使ってスクリプトを作成してみましょう。 今回は、設計を担当するモデルの総数と設計完了した数を取得するスクリプトを作成します。 計測対象として公開している拡張コンテンツのBasicSampleを使用します。(BasicSampleの詳細はこちらを参照ください。) BasicSampleのメタモデルを編集し、関数クラスに進捗フィールドを追加します。進捗フィールドには、未着手/作業中/完了のように進捗状態を入力できるようにします。 このプロジェクトに対して、関数モデルの総数と、進捗フィールドの値が「完了」のモデル数を取得し、進捗を測ります。

はじめに

これからスクリプトを作成します。はじめに現在開いているプロジェクトからすべてのモデルを取得します。次の1行のコードで取得できます。

var allmodels = CurrentProject.GetAllChildren();

インテリセンス機能でAPIが一覧表示され、スクリプト記述を効率化

上記のコードですべてのモデルを取得したので、続きを作成していきます。 関数を表すクラスは"SoftwareFunction"です。クラス名をキーにモデルを取得するI/Fがないかインテリセンスで探しましょう。 FindXXXのようなI/FがないかAPIを見ていくと、FindChildrenByClassメソッドが使えそうです。

FindChildrenByClassメソッドのAPI仕様を確認してみましょう。API仕様は、Next Designの製品サイトで公開されています。

説明欄に「指定されたクラスのインスタンスを検索します。」とあるので"SoftwareFunction"を指定します。また、第二引き数で再帰的に検索するかを指定するとなっているので、tureを指定します。

var functions = CurrentProject.FindChildrenByClass("SoftwareFunction",true);

これで関数の全モデル一覧が取得でき、総数はCountで取得できます。 このようにスクリプトを記述する際にインテリセンス機能により利用できるAPIが一覧表示され、スクリプト記述を効率化できます。

記述したAPIにマウスオーバーすると、ツールチップでAPIのヘルプが確認

次に取得した関数のリストから進捗フィールドが"完了"なモデルを探しましょう。

関数の全モデル一覧から関数のモデルを一つ取り出し、フィールドの値を取得するGetXXXのようなI/Fを探します。GetFieldXXXのメソッドがありますが、今回は文字列操作で"完了"かを判定することを想定してGetFieldStringメソッドを使用します。

APIの説明を確認したいときは、確認したいAPIにマウスオーバーすれば、ツールチップでAPIのヘルプが確認できます。 例えば、GetFieldStringメソッドならこのように表示されます。

ツールチップで簡単にAPIのヘルプが確認できるので便利です。

スクリプトにエラーがあればリアルタイムで警告表示

GetFieldStringメソッドでフィールドの値がstringで取得できるので、Containsメソッドで"完了"を含むモデルの数をカウントします。

var completeFunctionNum = 0;
foreach(IModel function in functions)
{
bool ret = function.GetFieldString("進捗").Contains("完了");
if(ret)
{
completeFunctionNum++;
}
}

スクリプト中にエラーがあると、ScriptEditorがリアルタイムに警告表示で知らせてくれます。以下の画像ではスペルミスを警告しています。

このようにリアルタイムに警告表示をされるため、すぐに間違いに気づきスクリプトを修正することができます。

スクリプトファイルの管理機能により、複数スクリプトの編集やメンバ間で簡単にスクリプトを共有

これで定義が必要な関数の総数と定義済の数が取得できました。結果はアウトプットウィンドウに出力します。 完成したスクリプトは以下になります。

var allmodels = CurrentProject.GetAllChildren();

var functions = CurrentProject.FindChildrenByClass("SoftwareFunction",true);

var completeFunctionNum = 0;
foreach(IModel function in functions)
{
bool ret = function.GetFieldString("進捗").Contains("完了");
if(ret)
{
completeFunctionNum++;
}
}

Output.WriteLine("sample",completeFunctionNum.ToString() + "/" + functions.Count.ToString());

完成したスクリプトはスクリプトファイルの管理機能によって、ファイルに保存できるので簡単にメンバ間で共有できます。 また、保存したスクリプトファイルを階層化して管理できるので複数スクリプトの管理、編集も簡単にできます。

まとめ

ScriptEditorを使って、進捗計測のスクリプトを作成できました。 このようにScriptEditorを使用することでちょっとしたスクリプトを簡単に作れるため、日々の開発の効率化に非常にお勧めです。これまで敷居が高いをスクリプト作成を敬遠していた方も是非、お試しください。

また、計測対象のモデルをNext Design上で選択したモデル以下にしたり、フィールドの値を自動で設定するなど、よくある処理をサンプルコード付きで紹介しているHowToコンテンツをこちらで公開しています。 スクリプトを作成する際に、是非参考にしてください。

· 約4分
近藤 智美

はじめに

Next Design 開発チームの近藤です。
私たちは日々、Next Design を使って Next Design の開発を進めています。そこで生まれる「こういう機能があれば便利だ」、「ここを改善したい」といった開発者の想いを盛り込んで、製品をブラッシュアップしています。

普段 Next Design を使っていると、キーボードとマウスを頻繁に行き来するのが面倒だと感じることはありませんか?トラックパッドも便利ですが、やはりショートカットキーを活用してスマートに作業したいですよね。

今回は、私が普段の開発でよく使う便利なショートカットキーを厳選してご紹介します。

想定読者
  • Next Design を日常的に利用している方

エディタの表示を切り替える

エディタの領域は限られているため、作業内容に応じた画面に素早く切り替えることができれば、効率的に作業を進められます。
不要な情報は非表示にして画面を広く使い、必要な時にはすぐ表示できると便利です。そのような場合に役立つショートカットキーを以下にご紹介します。

操作キー
ナビゲータペインの表示/非表示を切り替えるF9
サブエディタの表示/非表示を切り替えるF11
インスペクタの表示/非表示を切り替えるF12

ナビゲータ・サブエディタ・インスペクタの��表示非表示切替

また、ツリーグリッドの表示階層レベルもショートカットキーで切り替えることができます。
すべてのノードが展開された状態では全体を俯瞰できず、すべて圧縮された状態でも内容が見づらくなります。私は目的のノードを探す際に、このショートカットキーをよく利用します。

操作キー
数字で指定した階層レベルにツリーを折り畳むCtrl+数字

ツリーグリッドでフィールドをコピー

モデルそのものをコピーするのではなく、特定のフィールドの値をコピー&ペーストしたいことがよくあります。 Ctrl+C だとモデルのコピーになってしまいますが、 以下のショートカットキーで特定のフィールドのみをコピーできます。

操作キー
選択したフィールドの値をコピーCtrl+Shift+C
選択したフィールドの上と同じ値を反映Ctrl+U

まとめ

今回は、利用頻度が高いショートカットキーを厳選してご紹介しましたが、Next Design には他にも便利なショートカットキーが多数用意されています。
詳細は以下のページでご確認いただけますので、ぜひご覧ください。

· 約4分
平田 昌宏

はじめに

Next Design サポートチームの平田です。

開発現場の成果物に合わせてカスタマイズできることが、Next Design の強みの1つです。カスタマイズすることで、一般的なモデリングツールでは、表現できない設計書も表現できます。

また、Next Design では、Wordライクな文書、Excelのような表、俯瞰ができるダイアグラムなどが使え、これらはすべて自由にカスタマイズ可能です。これにより、WordやExcelなどを併用することなく、Next Design で設計情報が集約できます。

今回は、幅広くカスタマイズ可能な、ERダイアグラムについて紹介します。

開発現場独自のダイアグラムを表現

Next Design は、ユーザーが独自にカスタマイズできるため、開発現場独自の図表現をERダイアグラムで表現できます。

以下に示すERダイアグラムでは、システムの物理構造の関係性を示したものです。
ECU、センサ、アクチュエーターをそれぞれ異なるシェイプで表現したい場合、以下のようにカスタマイズでき、これまでの開発現場独自の工夫を変えることなく、ドメイン独自の記述ができます。

システム物理構造

UML/SysMLも表現可能

UML/SysMLのような標準記法も表現できます。
サンプルプロジェクトもご利用可能ですので、詳しくは こちら を参照ください。

ユースケース

画面仕様を表現

応用的な使い方として、ERダイアグラムをカスタマイズし、画面仕様のようなデザインも表現できます。
以下に示すERダイアグラムでは、ウィンドウ、ボタン、チェックボックスなどをメタモデルで定義し、シェイプで表現しています。

画面仕様

さらに、フォームビューを併用すれば、選択した画面部品の表示仕様などをサブビューで確認することができます。
これにより、画面仕様をパワポやExcel、処理仕様をWordといったように、分散した設計書を Next Design だけで記述できます。

画面仕様と詳細

まとめ

Next Design は、開発現場独自の表現方法をそのまま表現できる専用の設計ツールにカスタマイズできます。
カスタマイズすることで、開発現場固有のルールに従った設計が効率よく実施できます。

今回は、ERダイアグラムについて紹介させて頂きました。是非、お試しください。

未利用の方でご興味を持たれた方は、こちら から評価版ソフトのお申し込みもできますので、お気軽にお問い合わせください。