ADSとSDS

提供:GizmoLabs - だいたい CAD LISP なサイト
2009年12月24日 (木) 09:53時点におけるGizmon (トーク | 投稿記録)による版 (→‎SDS)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

ADS

ADS (AutoCAD® Development System) は AutoCAD GX-5 より登場し、AutoCAD 2000のバージョンまで利用可能だった C 言語によるカスタマイズ API 環境。
ADS 環境では、基本的に AutoLISP 関数と対応する関数(ads_のプリフィクスで始まる)が用意されおり、AutoLISP と同様にカスタムコマンドや AutoLISP 関数の作成が可能であった。

既存の C 言語ライブラリを ADS に組み込んで使用することができたため、AutoLISP では実行できない機能を実装することも可能であった。 ADS カスタマイズの後継環境としては、ObjectARX となっており、ADS から ObjectARX の移行期間のバージョン(AutoCAD R13、R14)では ADSRX という開発環境があった。

SDS

SDS (Solutions Development System) は上述の ADS と環境互換となるIntelliCAD の C++ 言語によるカスタマイズ API 環境。
カスタマイズの範囲や特徴も ADS と同様となるが、ADS の関数が ads_ のプリフィクスであるのに対し、SDS は sds_ プレフィックスで始まっているという違いがある。SDSのヘッダファイルで、一応 ADS関数をSDS関数へ定義されているので、等価なSDS関数がないもの以外であればリネームはいらない形にはなっている。

また、ADS は(基本的には)AutoCAD 2000 以降のAutoCADで利用できなくったのに対し、SDSはIntelliCADの初期バージョンから現行の IntelliCAD Ver6.6 (2009年12月現在)まで利用可能となっている。



以下の関数は等価なSDS関数がない。
  • ads_arxload
  • ads_arxloaded
  • ads_arxunload
  • ads_ssgetx
  • ads_ssGetKwordCallbackPtr
  • ads_ssGetOtherCallbackPtr
  • adsw_acadMainWnd
  • adsw_acadDocWnd
以下の関数は、SDSで追加されている関数
  • sds_name_clear
  • sds_name_equal
  • sds_name_nil
  • sds_name_set
  • sds_point_set
  • sds_progresspercent
  • sds_progressstart
  • sds_progressstop
  • sds_readaliasfile
  • sds_sendmessage
  • sds_swapscreen


SDS 関数の戻り値
リクエスト コード 意味
RSRSLT 1 結果を返す。
RSERR 3 評価のエラー。結果は返されない。
RQSAVE 14 図面を保存中。
RQEND 15 終了中。
RQQUIT 16 終了中。
RQCFG 22 IntelliCAD がコンフィグコマンドから戻った。
RQXLOAD 100 外部の機能をロードした。
RQXUNLD 101 アプリケーションをアンロードした。
RQSUBR 102 外部サブルーチン要求。
RQHUP 105 IntelliCAD はアプリケーションから切断される。
RQXHELP 118 機能のためのヘルプを定義してください。
RTERROR -5001 エラーが発生した。
RTCAN -5002 ユーザが Esc を押してコマンドを中止した。
RTREJ -5003 無効なフォーマットのために、リクエストを拒否した。
RTFAIL -5004 SDS と IntelliCADのリンク失敗。
RTKWORD -5005 getxxx によるルーチンのキーワード。
RTNORM 5100 成功。


リザルトバッファコード
リクエスト コード 意味
RTNONE 5000 返り値なし
RTREAL 5001 実数
RTPOINT 5002 2次元ポイント(X,Y座標).
RTSHORT 5003 短整数
RTANG 5004 角度
RTSTR 5005 文字列.
RTENAME 5006 エンティティ名.
RTPICKS 5007 選択セット
RTORINT 5008 オリエンテーション
RT3DPOINT 5009 3次元ポイント (X,Y,Z座標).
RTLONG 5010 長整数
RTVOID 5014 空シンボル
RTLB 5016 リストの始まり
RTLE 5017 リストの終わり
RTDOTE 5018 ドットペア
RTNIL 5019 nil
RTDXF0 5020 DXF コード 0 (sds_buildlist のみで使用)
RTT 5021 T (true) アトム
RTRESBUF 5023 リザルトバッファ