Home > Illustlation > グラフィックツール > Corel Draw > CorelDrawの公式マクロ文書の和訳 > CorelDRAW開発者エリアにようこそ > チュートリアルとサンプル > CorelDRAWとCorel DESIGNERで、カスタム・ツールを作成する

CorelDRAWとCorel DESIGNERで、カスタム・ツールを作成する

新規作成日 2020-03-10
最終更新日

CorelDRAWでマクロを利用するためのドキュメント「Creating Custom Tools in CorelDRAW and Corel DESIGNER」の和訳です。


CorelDRAW X7 Update 1やCorel DESIGNER X7の新機能は、VBA、C#、C ++で、独自のツールを作成できることです。これは、ToolStateと呼ばれる新しいツール・インターフェイスと、特にツールの作成を対象とした、多くの新しい関数とクラスのセットを使用して行われます。

新しいツールは、COMをサポートしている、どの言語でも実装できますが、この記事では、C#に焦点を当てます。

必要条件

Prerequisites

  • Microsoft Visual Studio 2012以降が必要です。Visual Studio Community(無料版)は、Microsoftから、こちらで入手できます。
  • この記事では、Visual Studio用の「CorelDRAWおよびCorel DESIGNERツール・アドオン」拡張機能について説明します。拡張機能をインストールするために、Visual Studioを実行します。メニュー項目の[ツール]-> [拡張機能と更新]を選択します。[オンライン]タブを展開し、「CorelDRAW」を検索します。「CorelDRAW and Corel DESIGNER Tool Addon」拡張機能を選択してインストールします。

新規プロジェクトを作成する

Creating a New Project

まず、"CorelDRAW and Corel DESIGNER Tool Addon"拡張機能が、Visual Studioにインストールされると、それは、[ファイル]-> [新しいプロジェクト]リストを通して利用できます。[ファイル]-> [新しいプロジェクト]に移動します。そして、[インストール済み]-> [テンプレート]-> [その他の言語]-> [C#]に移動します。そして、"CorelDRAW and Corel DESIGNER Tool Addon"をリストから選択します。ツールの名前を選択します。(例えば「MyTool」)そして、プロジェクトを作成するために、OKを押します。

次に、スタートアップ・アプリケーションが、選択したアドオン設定ダイアログが、表示されます。この選択は、プロジェクトのプロパティ・ダイアログによって、後から変更できます。(外部プログラムを起動する)。注記:アプリケーションが、コンピュータ上にインストールされたテンプレートを検出した場合、アプリケーションの選択は、有効になっています

スタートアップ・アプリケーションが、選択したアドオン設定ダイアログが、表示されます。

コンパイルと実行

Compile and Run

アドオンをコンパイルするために、[ビルド]-> [ソリューションのビルド]を選択します。(あるいは、F7を押します)。F5を押します。そして、それは、以前に選択されたアプリケーション(CorelDRAWやCorel DESIGNER)を起動します。そして、新しいツールは、ツールボックスに追加されます。

新しいツールは、ツールボックスに追加されます。

このサンプル・ツールを使用すると、ユーザーは、2点を指定した直線を作成でき、カスタムツールの作成が、いかに簡単かを示します。画面プレビューUI、スナップ、制約、プロパティ・バー、およびツールに期待される他のすべてを備えています。

コード

The Code

プロジェクトは、2つの.csファイルを持っています。Addon.csは、エントリ・ポイントが含まれています。このクラスは、ホスト・アプリケーション(CorelDRAWやCorel DESIGNER)で、インスタンス化されています。アプリケーションが起動するとき、これは、他のデータソースや他のタスクは、アプリケーションの起動時に実行する必要がある新しいツールが登録される場所です。

///<summary>
/// Constructor for the Addon.  This is called by CorelDRAW or Corel DESIGNER when it is discovered.
/// アドオンのコンストラクタ。これは、それが発見されるとき、CorelDRAWやCorel DESIGNERが呼び出されます。
///</summary>
public Addon(Application Application)
{
        // Create and register our tool
        ToolState toolState = new CGS.MyTool(Application);
        Application.RegisterToolState("b17f7ca0-0062-4dd8-adf6-1ea2192a3d35", "MyTool", toolState);
}

RegisterToolState関数は、GUID(Globally Unique IDentifier)"b17f7ca0-0062-4dd8-adf6-1ea2192a3d35"が、MyToolアドオンを識別するために、そのアプリケーションに伝えます。このGUIDは、ツールごとに異なる必要があります。そして、Visual Studio拡張機能は、プロジェクトごとに新しい拡張機能を生成します。複数のツールは、プロジェクト内で作成でき、すべてが、この場所で登録できます。それぞれのツールは、一意のGUIDが必要です。これは、Visual Studioの[ツール]-> [GUIDの作成]、あるいは、Webで利用できる同等のGUIDジェネレーターを使用して作成できます。

MyTool.csファイルは、ツールのコードが含まれています。このサンプル・ツールの長さは、200行未満ですが、必要なカスタム・ロジックを実行するように拡張できます。MyToolクラスは、ToolStateインターフェイスを継承します。ツールを使用するとき、ホスト・アプリケーションは、実装されるさまざまな機能を呼び出します。たとえば、ツールを開始するとき、OnStartState()関数が、ツールを使用するように設定できる呼び出されます。あなたが、ビューを横切るようにマウスを移動するとき、OnMouseMove()関数が、呼び出されます。この関数は、UIを更新するために、使用することができます。あるいは、曲線を作成するために、マウスの位置を収集します。

サンプルツールのコードは、うまく文書化されていますが、関数の基本的な理解を得るために、コードとコメントを一読してください。線ツールの擬似コードは、次のとおりです。:

  • OnLButtonDownLeaveGrace

    マウスの左ボタンが、押された位置を保存します。

  • OnMouseMove

    マウスの左が、押された場合、現在の位置まで保存した場所からの線で、画面UI上で、排他的論理和を更新します。

  • OnLButtonUp

    保存した位置から、現在の位置まで線を作成します。

UI

The UI

プロジェクトは、2つのXSLTファイルを持っています。:AppUI.xsltとUserUI.xslt.XSLTは、XML変換ファイルです。その目的は、新しいツールを含めるために、ユーザーのワークスペースを更新することです。このサンプルは、新しいツール・ボタンをツールボックスの最後に追加します。他のXSLT変換を使用すると、ワークスペースをより複雑に変更できます。あなたが、複雑なUIを作成しようとしている場合、よく理解するために、XSLTを読むといいかもしれません。

AppUI.xsltファイルは、新しい項目(例えばボタン)を定義する役割を果たします。そして、新しいドッキング・ウィンドウやダイアログを追加します。カスタマイズできないものは、すべてここで定義できます。サンプルの線ツールでは、それは、1つの新しい項目を追加します。

<!-- C# Test Line Tool 線ツールのC#によるテスト-->
<itemData guid="b17f7ca0-0062-4dd8-adf6-1ea2192a3d35"
          type="groupedRadioButton"
          currentActiveOfGroup="*Bind(DataSource=WAppDataSource;Path=ActiveTool;BindType=TwoWay)"
          enable="*Bind(DataSource=WAppDataSource;Path=ToolboxEnable)"
          identifier="b17f7ca0-0062-4dd8-adf6-1ea2192a3d35"/>

GUIDは、ツール・ボタンを識別するために使用されます。("b17f7ca0-0062-4dd8-adf6-1ea2192a3d35").このGUIDは、項目とグループ化されたradio識別子のために設定されます。これは、MyToolとして、アプリケーションに登録された、同じGUIDでもあります。これは、ボタンが、クリックされるとき、MyToolが、アクティブになるため、重要です。

UserUI.xsltは、カスタマイズ可能なUIを変更するためのものです。たとえば、既存のツールバー、メニューへのボタン、あるいは、ツール、その他の作成する新しいツールバーを追加します。

  <!-- Add tool item to the Toolbox -->
  <xsl:template match="//commandBarData[@guid='7c905e2a-cb64-4ba1-aff0-c306f392680c']/toolbar">
    <xsl:apply-templates mode="insert-item" select=".">
      <xsl:with-param name="content">
        <xsl:if test="not(./item[@guidRef='6b5b83bb-e7b8-4f9d-8dfd-36f59bf545cf'])">
          <!-- Only insert if its not already there -->
          <item guidRef="6b5b83bb-e7b8-4f9d-8dfd-36f59bf545cf"/>
        </xsl:if>
      </xsl:with-param>
    </xsl:apply-templates>
  </xsl:template>
  <xsl:template match="uiConfig/commandBars/commandBarData[@guid='74e03d83-404c-49f5-824a-fe0fd02ab29a']/toolbar">
     <xsl:copy>
       <xsl:apply-templates select="node()|@*"/>
       <modeData guid="fd9a53f7-05cc-4cdc-b2ad-0fd6a7ea3480" captionRef="01965a34-ae38-01a0-4271-cd903b48e518">
         <item guidRef="3148e122-4f73-6e8a-4dfb-b2f6a84090d5"/>
         <item guidRef="a41164ff-c9e9-4b2c-954a-095f4204538e"/>
         <item guidRef="266435b4-6e53-460f-9fa7-f45be187d400"/>
         <item guidRef="325d7c86-da3a-4610-bd25-5cf98cf66a41"/>
         <item guidRef="42bef211-16e5-4b4f-b9ee-52b7b5476232"/>
         <item guidRef="d289f32b-3808-4510-b892-fd2cb0820209"/>
         <item guidRef="266435b4-6e53-460f-9fa7-f45be187d400"/>
         <item guidRef="8723ad52-3e31-473c-8756-7ae85abcc483"/>
         <item guidRef="266435b4-6e53-460f-9fa7-f45be187d400"/>
         <item guidRef="e6644135-9dab-4935-8ab9-fc85527810ca"/>
         <item guidRef="6ae897fd-2eab-4dad-b172-f4fb768c273e"/>
         <item guidRef="266435b4-6e53-460f-9fa7-f45be187d400"/>
         <item guidRef="97e5c8b9-f7e2-453c-92a2-af7fb61e67b2"/>
         <item guidRef="266435b4-6e53-460f-9fa7-f45be187d400"/>
         <item guidRef="76dd9e0c-e9c2-42b6-b8bb-f7717482164e"/>
         <item guidRef="6bd00383-d132-4686-8a21-8d7052b6a81b"/>
         <item guidRef="40cc3adc-498a-4256-a98a-d1210a4019f7"/>
       </modeData>
     </xsl:copy>
   </xsl:template> 

最初のセクションでは、新しいツール・ボタンをツールボックスの最後に追加します。それは、テンプレートを使用して、ヘルパーを挿入します。-項目は、XSLT内でも定義されています。2つ目のセクションは、ツールのための新しいプロパティ・バー・モードを定義します。GUID"fd9a53f7-05cc-4cdc-b2ad-0fd6a7ea3480"もこのツールに固有です。そして、MyTool::StartAtState(),で、あなたは、次の行を見つけるでしょう。:

currentAttribs.PropertyBarGuid = "fd9a53f7-05cc-4cdc-b2ad-0fd6a7ea3480";

これは、ツールが選択されるとき、私たちが、このプロパティ・バーを使用したいホスト・アプリケーションに伝えます。このサンプル・プロパティ・バー・モードの項目は、主に実際の線ツールから、アプリケーションから取得されます。同じように、カスタム項目は作成でき、ここに、含めることができます。

リソース

The Resources

3種類のリソースは、アイコン、カーソル、および文字列を定義できます。config.xmlは、アイテムのGUIDを特定のリソースに結び付けます。この場合、私たちは、"b17f7ca0-0062-4dd8-adf6-1ea2192a3d35"を文字列"10223"とアイコン"104に結び付けます。これらのリソースは、resources.rctをダブルクリックしてプロジェクト内で見つけることができます。

注記:組み込みのエディタを使用する代わりに、外部エディタを使用してアイコンを作成する方が簡単な場合があります。続いて、"Add Resource"、"Icon"、インポートを使用します。

API

The APIs

下記は、CorelDRAWのX7.1とCorel DESIGNER X7オブジェクト・モデルに追加されたすべての新しい関数のリストです。:

クラス API 説明
Application ActiveToolStateGuid [get,set] これは、ActiveToolの代替品です。GUIDを使用して、ツールを識別します。ActiveToolと異なり、状態を取得、あるいは、設定するために使用できます。
RegisterToolState, UnregisterToolState これにより、サードパーティは、CorelDRAWでカスタム・ツールを登録または登録解除できます。UnregisterToolStateは、シャットダウンする前に呼び出す必要はありません。RegisterToolStateは、同じツールで、複数回呼び出すことができます。(例:コードが更新された場合)
CreateOnScreenCurve, CreateOnScreenHandle, CreateOnScreenText ビューに固定される画面上の曲線、ハンドル、テキストを作成するためのヘルパー関数
Math 数学ユーティリティ関数を提供するオブジェクト
RegisterUserApplicationPreference これにより、サードパーティが、カスタム・アプリケーション設定を登録できます。アプリケーション設定は、シャットダウンの後も継続し、ワークスペースで保存されます。それらは、AppPrefMgrデータソースを介してアクセスできます。それらは、アプリケーション内のUIにバインドすることもできます。それらは、最も基本的な型(int、string、double、bool)およびColorをサポートします
GetApplicationPreferenceValue, SetApplicationPreferenceValue アプリケーション設定を取得または設定します。
Document CreateCurveFitToPoints, CreateCurveFitToPointsAndCusps この関数は、Points配列に適合するCurveを作成します。
SampleColorAtPoint, SampleColorInArea この関数は、文書の特定の点(または領域)で、色を取得します。
Curve AppendSubpathFitToPoints, AppendSubpathFitToPointsAndCusps これは、Points配列に適合する新しい曲線をサブパスに追加します。
ApplyTransformMatrix このメソッドは、TransformMatrixによって曲線を変換します。
AppendSubpathFromPoints ポイント配列から、線セグメントを作成します。
CreateCurveMappedToStroke (芸術的な媒体に類似した)この曲線をストロークにマップした曲線を作成します。
CreateCurveMappedToStrokeAndReferenceLine (芸術的な媒体に類似した)この曲線を、ストロークと参照線にマップした曲線を作成します。
AutoReduceNodes 許容値に基づいて、曲線内のノードの数を減らします。
JoinTouchingSubpaths 接触するサブパスを接続します。
AppendSubpathCircle 円のサブパスを作成します。
AppendSubpathRectangle 長方形のサブパスを作成します。
AppendSubpathThreePointArc 3点円弧のサブパスを作成します。
SelfWeldClosedSubpaths 閉じたサブパスを結合します。
Window ScreenDistanceToDocumentDistance 画面の距離を、ピクセル単位で、Mathで使用した文書単位の距離に変換します。
DocumentDistanceToScreenDistance ピクセルで、文書単位の距離を、画面距離に変換します。
Node GetPoint, SetPoint Pointを使用して、ノードの位置を取得または設定します。
Segment GetPerpendicularVectorAt セグメント上の位置で垂直ベクトルを取得します。
GetTangentVectorAt セグメント上の位置で接線ベクトルを取得します。
GetPointAt セグメント上の位置から、点を取得します。
Subpath EqualDivide サブパスを、等しい長さのサブパスに分割します。
GetEvenlySpacedPoints サブパスに沿って等間隔に配置された点のPointRangeを取得します。
GetPerpendicularVectorAt サブパス上の位置で垂線ベクトルを取得します。
GetTangentVectorAt サブパス上の位置で正接ベクトルを取得します。
GetPointAt サブパス上の位置から、点を取得します。
Shape TransformationMatrix [get, set] 図形に適用される変換を取得または設定します。これは、オブジェクトを行列にパッケージ化しないGetMatrix、SetMatrixに代わるものです。
ApplyTransformMatrix このメソッドは、TransformMatrixによって形状を変換します。
Color IsColorStyle 色が、色スタイルかどうかを判断します。
ColorStyleName 色が、色スタイルの場合、色スタイルの名前を返します。それ以外は、空になります。
ModifyColorStyleColor この色が、色スタイルの場合、この関数は、基となる色スタイルを変更します。(つまり、色スタイルを参照する文書内のすべての色が変更されます)。changeWholeHarmonyが、Trueである場合、同じ調和のすべての色は、色スタイル・ドッキング・ウィンドウのホイールと同様に変化します。色が、規則に基づいた調和である場合、全体の調和は、常に変化しますが、changeWholeHarmonyが、Trueの場合、彩度のみが変化します。
StyleSheet AllColorStyles 文書内のすべての色スタイルの配列を取得します。
CreateColorStyle 新しい色スタイルを作成します。
DeleteAllColorStyles 文書内のすべての色スタイルを削除します。
DeleteColorStyle 文書内の固有の色スタイルを削除します。
RenameColorStyle 文書で色スタイルの名前を変更します。
OnScreenCurve - このオブジェクトは、ビューの中で描かれるxor曲線を表現します。 Show, Hide 曲線を表示/隠します。
SetPen, SetNoPen 曲線の幅と色を設定します。
SetBrush, SetNoBrush 曲線の塗りつぶしを設定します。
SetCurve, SetLine, SetRectangle, SetCircle, SetPoints 曲線を設定します
OnScreenHandle - このオブジェクトは、ビュー内に描画される、xorハンドル・グリフを表します。 Show, Hide ハンドルを表示/非表示します。
SetHandleColor ハンドルの色を設定します。
SetPosition ハンドルの位置を設定します。
UpdateHotTracking マウスが、その上にあるとき、ハンドルは、大きく描くことができます。この関数は、これができます。
IsHotTracked ハンドルが、ホットトラッキングされているかどうかを判断します。
IsOnHandle 与えられた点が、ハンドル上にあるかどうかを判断します。
OnScreenText - このオブジェクトは、ビュー内に描画される、xorテキストを表します。 Show, Hide テキストを表示/非表示します。
SetTextColor 文字色を設定します。
SetTextAndPosition テキストのテキストと位置を設定します。
SetText テキストだけを設定します
SetPixelOffset テキストをオフセットする量をピクセル単位で設定します
UpdatePosition テキストの位置だけを更新します
ToolStateAttributes - このオブジェクトは、カスタム・ツールのいくつかの属性とヘルパー関数を提供します。 PropertyBarGuid ツールのプロパティ・バーのために、GUIDを取得/設定します。
ContextMenuGuid [get, set] ツールのコンテキスト・メニューのために、GUIDを取得/設定します。
ツールのコンテキスト・メニューのために、GUIDを取得/設定します。 ツールが、圧力データを収集する必要があるかどうかを決定します。
AllowTempPickState [get, set] リサイズ・ハンドルを使用して、ツールが、オブジェクトの大きさを変更することができるかどうか判断します。
AllowAutopan [get, set] ツールが、ドラッグ中に、自動パンを許可するかどうかを決定します。
AllowContextMenu [get, set] マウスの右クリックで、ツールが、コンテキスト・メニューをポップアップするかどうかを決定します。
CanUpdateSelectionOnMouseClick [get, set] クリックが発生したとき、ツールが、異なるオブジェクトを選択できるかどうかを決定します。
DeselectOnLButtonDown [get, set] 左のマウスが、クリックされるとき、ツールが、現在の形状を選択解除するかどうかを決定します。
EnterGraceStateOnLButtonDown [get, set] 左マウスボタンが、クリックされるとき、ツールが、猶予状態に入るかどうかを決定します。クリック、あるいは、クリック+ドラッグが発生した場合、これは、決定するために役に立ちます。
StatusInfo ステータス・バー・ツール文字列を設定します。
SetCursor 現在のカーソルを設定します。
SetCursorGuid リソースGUIDを使用して、現在のカーソルを設定します。(アドオンのconfig.xmlファイルを介して公開できます)
StartTimer ツールを呼び出すタイマーを開始します
StopTimer タイマーを停止します
SnapMouse 現在のスナップ設定を使用して、マウス位置をスナップします。
AnchoredSnapMouse 現在のスナップ設定を使用して、マウス位置をスナップします。そして、より高度なスナップができます。(線を垂線にスナップするなど)
ConstrainMouse 現在の拘束設定を使用して、角度に拘束します。
IsKeyDown 与えられたキーが、保持されているかどうかを判別します。
CurrentPressure 0~1の現在の筆圧を返します
ToolState - これは、カスタムツールを作成するために、実装および登録する必要があるオブジェクトです。 OnStartState ツールがアクティブ化されたときのコールバック
OnExitState ツールが、アクティブ化解除されたときのコールバック
OnMouseMove マウスが移動したときのコールバック
OnLButtonDown 左マウス・ボタンが押されたときのコールバック
OnLButtonDownLeaveGrace 左マウス・ボタンが押された、そして、少し時間が経過しました。あるいは、マウスが少し移動したときのコールバック
OnLButtonUp 左マウス・ボタンが、離されたときのコールバック
OnLButtonDblClick 左マウス・ボタンが、ダブルクリックされたときのコールバック
OnClick マウスが、クリックされたときのコールバック。新しいパラメータは、もはやbooleanを返しません。
OnRButtonDown 右のマウス・ボタンが、押されたときのコールバック。
OnRButtonUp 右のマウス・ボタンが、離されたときのコールバック。
OnKeyDown キーが押されたときのコールバック
OnKeyUp キーが、離されたときのコールバック
OnDelete Deleteキーが押されて、解放されるときのコールバック
OnAbort Escキーが押されて、解放されるときのコールバック
OnCommit IsDrawingが、trueである、そして、ユーザーが、Enterや空白を押すときのコールバック
OnSnapMouse スナップを処理するコールバック
OnTimer 登録されたタイマーイベントが呼び出されたときのコールバック
IsDrawing 私たちが、描いているツールを伝えるコールバック。私たちが描いているとき、いくつかの小さな動作の変更が発生します。たとえば、ユーザーが、ビューの端の近くにマウスを移動するとき、自動パンは、アクティブ化するでしょう。
Point - 単純なxとyの配置をラップするオブジェクト x, y [get, set] 座標
Add, Subtract ベクトル・オフセットだけ、xとyを移動します。
DistanceTo 他の点までの距離を取得します。
GetCopy 点のコピーを取得します。
PointRange - 複数の点を保持するオブジェクト Item [get, set] 配列内の点を取得または設定します
First, Last 配列内の最初、あるいは、最後の点を取得します
Count 配列内の点の数を取得します。
AddPoint, AddPointXY 配列の最後に点を追加します
InsertPoint, AddPoints, InsertPoints 配列に点を追加、あるいは、挿入します。
Remove 配列から点を削除する
RemoveRange 配列で、いくつかの点を削除します
RemoveAll 配列をクリアします
RemoveAdjacentDuplicates 次の点が同じ位置の点を削除します
Reverse 点の順序を逆にします
Smoothen 点の平滑化操作を実行します。名前が変更されます
GetCopy PointRangeのコピーを取得します。
Vector - 単純な、xおよびyベクトルをラップするオブジェクト x, y [get, set] ベクトルのxおよびyのオフセット
Length [get, set] ベクトルの長さを取得または設定します
Angle [get, set] ベクトルの角度を取得または設定します
GetOffsettedPoint 点との距離を指定し、ベクトルに対して垂直にオフセットされた、新しい点を作成します。
Add, Subtract ベクトルを加算または減算する。
MultiplyBy ベクトルをスケーリングする
Negate ベクトルを無効にする
Normalize ベクトルの長さを1.0に設定します。
AngleBetween ベクトルともう一つとの角度を反時計回り方向の度で取得します
SmallAngleBetween ベクトルともう一つの間で、少ない角度を度で、取得します。
DotProduct このベクトルともう一つの間で、内積を計算します。
CrossProduct このベクトルともう一つの間で、外積を計算します。
SetFromPoints 点AからBへのベクトルを作成します
ProjectOnto このベクトルをもう一つに投影します
GetCopy ベクトルのコピーを取得します。
TransformMatrix - 線形変換行列を格納するオブジェクト d11, d12, d21, d22 [get, set] 変換を格納する生データ-これらは使用しないでください
TranslationX, TranslationY [get, set] 行列の平行移動を取得または設定します
BasisXAxis, BasisYAxis [get, set] 行列の基底ベクトルを取得または設定します
Translation [get, set] 行列の変形を取得または設定します
SetToIdentity 行列を恒等式に設定します
Invert 行列を反転します
TranslateBy, TranslateByVector, SetTranslation 行列を平行移動します
Rotate マトリックスを(0、0)の周りで回転させます。
RotateAround 指定された点を中心に行列を回転します
Scale 行列を(0、0)の周りで拡大縮小します
ScaleAround 与えられた点を中心に行列を拡大縮小します。
Transform 行列を別の行列に変換します
TransformAround 与えられた点の周りで、行列をもう一つの行列に変換します
TransformPoint, UntransformPoint 点を平行移動します
TransformPoints, UntransformPoints 配列の点を平行移動します
TransformVector, UntransformVector ベクトルを平行移動する
IsIdentity 行列が単位行列かどうかを判別します
IsSkewedOrRotatedOrMirrored 行列が、歪んでいるか、回転しているか、ミラーリングされているかを判別します
ContainsOnlyTranslation 行列が、平行移動だけがされているかどうかを判断します。
IsSkewedOrRotated 行列が、歪んでいるか、回転しているかを決定します
IsScaledOrSkewedOrRotated 行列を拡大縮小するか、傾斜させるか、回転させるかを決定します。
IsOrthogonal 行列が直交するかどうかを判別します
IsOrthonormalAxisAligned 行列が、直交する直交軸かどうかを判断します
IsOrthonormal 行列が、正規直交するかどうかを判別します
IsMirrored 行列が、ミラーリングされているかを判別します
IsScaled 行列が、拡大縮小されているかを判別します
IsTranslated 行列が、平行移動されているかを判別します
GetCopy TransformMatrixのコピーを取得します。
MathUtils - いくつかのユーティリティ数学関数を提供する、アプリケーションによって提供されるオブジェクト Interpolate 与えられた2つの点を補間する点を作成します
IntersectLineSegments 2つの線分の交点を取得します-線が交差しない場合、falseを返します
DistanceToLineSegment 点から線分までの距離を取得します
ClosestPointToLineSegment 線分に最も近い点を取得します
IntersectInfiniteLines 2本の線の交点を取得します-線が、平行の場合、falseを返します
DistanceToInfiniteLine 点から線までの距離を取得します
ClosestPointToInfiniteLine 線に最も近い点を取得します
GetRandomReal ランダムな倍精度数を取得します
GetRandomInteger ランダムな整数を取得します
FitLineToPoints 配列の点に線を取り付けます
MidPoint 与えられた2点を二等分する点を作成します。
CreatePoint 点を作成します
CreateVector ベクトルを作成します
CreatePointRange PointRangeを作成します
CreateIdentityTransformMatrix 識別するTransformMatrixを作成します
CreateRotationTransformMatrix 回転するTransformMatrixを作成します
CreateTranslationTransformMatrix 変形するTransformMatrixを作成します
CreateScaleTransformMatrix 拡大縮小するTransformMatrixを作成します
CreateLineSegmentTransformMatrix 線(FromStart、FromEnd)に適用されるとき、線(ToStart、ToEnd)の中に生成するTransformMatrixを作成します。

注記:

Notes:

  • VBAツールでは、遅延読込をオフにする必要があります。この理由だけのために、C#やC++を使用することが推奨されます。それが、最も使いやすい言語である場合、あなたは、VB dllとしてツールを記述することもできます。
  • UserUI.xsltは、ワークスペースを更新するために、一度だけ読み込まれます。ツールの開発中の場合、このファイルを変更する必要があります。あなたは、F8キーを押して、ワークスペースをリセットする必要があります。この理由から、あなたが、ツールを開発する間、一時的なワークスペースで作業することをお勧めします
  • AppUI.xsltファイルは、毎回、読み込まれるため、行われた変更は、すぐに表示されます。
  • カスタム・アドオン・ツールを使用するために、CorelDRAW X7.1以上のユーザーが、有効なCorelDRAW StandardやPremiumメンバーシップでサインインする必要があります。CorelDRAW Graphics Suite X7を購入したすべてのお客様は、Standardメンバーシップは、無料です。
  • CorelDRAWの32ビットバージョンと64ビットバージョンの両方がインストールされている場合、Visual Studioプロジェクト・テンプレートは、64bitのバージョンを選択します。
このエントリーをはてなブックマークに追加