Regapp

提供:GizmoLabs - だいたい CAD LISP なサイト
2020年1月2日 (木) 21:03時点におけるGizmon (トーク | 投稿記録)による版
構文
(regapp application)


機能
拡張オブジェクト データを使用できるようにするために、現在の図面にアプリケーション名を登録する。


引数
  • application : アプリケーションの名前を示す文字列。 名前は、有効なシンボル テーブル名でなければない。シンボル名が有効かどうかを判断するための LISP の規則については、snvalid 関数の説明を参照。


戻り値
同じ名前のアプリケーションが既に登録されている場合、この関数は nil を返す。
それ以外の場合は、アプリケーションの名前を返す。
登録が正常に終了した場合は、アプリケーション名がAPPID シンボル テーブルに格納される。
このテーブルは、図面で拡張データを使用しているアプリケーションのリストを保持する。


サンプル

<syntaxhighlight lang="lisp" line> (regapp "ADESK_4153322344") (regapp "DESIGNER-v2.1-124753")

-------------------------------
拡張データ利用のシンプルな例
最後のエンティティのオブジェクトリストを取得します。

(setq lastent (entget (entlast)))

アプリケーション名を登録

(regapp "NEWDATA")

(setq exdata  ; 変数 exdata に新しい

 '((-3 ("NEWDATA"                  ; 拡張データ(この場合はテキスト
   (1000 . "This is a new thing!") ; 文字列)用の値を設定。
 )))                               

)

エンティティのリストに新しいデータリストを追加。

(setq newent (append lastent exdata))

新しい定義データでエンティティを変更。

(entmod newent)

次のコード例で、新しい xdata が図形にアタッチされたことを確認するために使用することができます。

(entget (car (entsel)) '("NEWDATA"))

</syntaxhighlight>

  • : 他と重複しない独自のアプリケーション名を指定する。これを確実に行う 1 つの方法として会社名や製品名に独自の数字(電話番号や現在の日時など)を付け加えて、それを名前にするという方法がある。アプリケーションによって、製品のバージョン番号をアプリケーション名に利用し個別の整数または実数(たとえば (1040 2009.1))のフィールドに含めることもできる。