2020年12月24日木曜日

IJCAD 2020 .Net サンプル、初歩も初歩

 IJCAD 2020 .Net サンプルの作り方。

  1. Visual Studio 2019 とか使います。
  2. ファイル→新規作成→プロジェクトから、クラスライブラリ(.NET Framework)を選択します。C#とVB.Netはお好みで選んでください。


  3. 参照設定を行います。次の2つのファイルを参照します。
    C:\Program Files\ITJP\IJCAD 2020 PRO\gmap.dll
    C:\Program Files\ITJP\IJCAD 2020 PRO\gmdb.dll
    追加したら、ローカルにコピーしない設定に変更します。
  4. ソースコードは次のようになります。
  5. ビルドしてください。.Net Framework のバージョンは、4.8 にする必要があります。
  6. NETLOADコマンドでロードすれば、コマンドを実行できるようになります。
ソースコードは次のようになります。
using GrxCAD.ApplicationServices;
using GrxCAD.DatabaseServices;
using GrxCAD.EditorInput;
using GrxCAD.Geometry;
using GrxCAD.Runtime;
using GrxCAD.Windows;
using CADApplication = GrxCAD.ApplicationServices.Application;
using CADException = GrxCAD.Runtime.Exception;
namespace CSSample1
{
    public class Class1
    {
        [CommandMethod("CSHELLO")]
        public void cmdCSHello()
        {
            CADApplication.ShowAlertDialog("Hello");
        }
    }
}

 ポイントは、

  • コマンドを定義するクラスは public クラスにしないと、IJCADから呼び出すことができません。
  • コマンドは CommandMethod 属性でコマンド名と実行フラグを与えます。引数、戻り値のない public な変数にする必要があります。
  • 名前空間は、GrxCAD.ApplicationServices などになります。AutoCADの場合は、Autodesk.AutoCAD.ApplicationServices などです。
  • ApplicationクラスとExceptionクラスが名前の衝突を起こすのを避けるために、CADApplication、CADException と再定義するのはおすすめです。
  • ApplicationクラスのShowAlertDialogは警告メッセージボックスを表示する関数です。

 

異尺度注釈図形にアタッチされている尺度を知る

 異尺度注釈図形が持っている尺度(文字列)を表示する ;;; ;;; LISTANNOSCALE.LSP ;;; (defun C:LISTANNOSCALE ( / el id f)   (setq f T)   ;異尺度注釈図形を選択   (if (setq el (entg...