ご利用される方へお願い
  現在配布中のソフトは、Alpha Edition (開発中版) または、Beta Edition(動作確認中版) です。
 動作エラーや計算結果が不正確なケースを発見しましたら、 当方の 掲示板 へ、フィードバックをお願いします。
 
 

 
AutoCAD VBA AutoLISP_vlax_curve_xxx_ByVBA
 
Ver.0.30 Alpha Edition [2007/05/24]
  
 
DownLoad (ALVBA030.lzh/92.9KB)
 
 
 
概説
  拡張AutoLISP関数(曲線計測関数)をAutoCAD VBAから利用する関数
 および拡張AutoLISP関数(曲線計測関数)をAutoCAD VBAから利用する関数を使用するサンプルプログラム
 
動作環境
 AutoCAD 2000i (VBA のバージョン 6) 以降
 注意
  2000i 以外のバージョン (2000,2002,2004,2005,2006,2007,2008) は、動作確認していません
  ※R14.01 以前のバージョンおよびLT版は、VBAが搭載されていないのでご利用できません
 
必要システム
 特になし
 
使用方法等
 [ツール]-[マクロ]-[プロジェクトをロード] で、解凍したファイル
 "AutoLISP_vlax_curve_xxx_ByVBA000.dvb"を読込み(※)ご使用下さい
 サンプルプログラムは、
 [ツール]-[マクロ]-[マクロ]で、"AutoLISP_vlax_curve_xxx_ByVBA000dvb!Module1.Test"(※)を実行して下さい
 ※ マクロを有効にして読込んで下さい
 ※ 000はバージョン番号
 ※ xxxは各関数によって異なります
 
免責事項
 このプログラムを使用して不都合・損害等が生じても一切責任を負いません
 
その他
 そのほか使用条件等は下記に添付されている readme.txt ファイルをお読み下さい。
 
更新内容
[2007/05/24]  Ver.0.30 α版 送信するLISPコマンド文字列見直、Select Case部修正
AutoLISP_vlax_curve_etClosestPointTo_ByVBA修正
[2007/05/22]  Ver.0.21 α版 タブ順序修正
[2007/05/22]  Ver.0.20 α版 関数説明の修正、不要な変数宣言削除
サンプルプログラム(UserForm1)コピー貼付機能追加など
[2007/05/21]  Ver.0.10 α版 新規公開
 
以前のバージョン
DownLoad (ALVBA021.lzh/91.1KB)
DownLoad (ALVBA020.lzh/90.8KB)
DownLoad (ALVBA010.lzh/87.6KB)
 
 
関数説明
共通関数(拡張AutoLISP曲線計測関数ByVBAから使用する関数)
GetSystemVariableUSERS GetSystemVariableUSERS システム変数 "USERS?" に代入された、
文字列(元データ形式:バリアント型データ(倍精度浮動小数点数型/Double))を取得し数値に変換
拡張AutoLISP曲線計測関数ByVBA (引数・戻り値はモジュール内のコメントを参照してください)
 AutoLISP_vlax_curve_getArea_ByVBA  曲線の内側の面積を返します。
 AutoLISP_vlax_curve_getDistAtParam_ByVBA  曲線の始点から指定されたパラメータまでの曲線のセグメントの長さを返します。
 AutoLISP_vlax_curve_getDistAtPoint_ByVBA  曲線の始点から指定された点までの曲線のセグメントの長さを返します。
 AutoLISP_vlax_curve_getEndParam_ByVBA  曲線の終点のパラメータを返します。
 AutoLISP_vlax_curve_getEndPoint_ByVBA  曲線の終点(WCS 座標で)を返します。
 AutoLISP_vlax_curve_getParamAtDist_ByVBA  曲線の始点から指定された距離だけ離れた位置の曲線のパラメータを返します。
 AutoLISP_vlax_curve_getParamAtPoint_ByVBA  指定された点での曲線のパラメータを返します。
 AutoLISP_vlax_curve_getPointAtDist_ByVBA  曲線のユーザが指定した距離の点(WCS 座標で)を返します。
 AutoLISP_vlax_curve_getPointAtParam_ByVBA  曲線上の param パラメータに一致する点を調べて、その点を返します。
 AutoLISP_vlax_curve_getStartParam_ByVBA  曲線の始点パラメータを返します。
 AutoLISP_vlax_curve_getStartPoint_ByVBA  曲線の始点(WCS 座標で)を返します。
 AutoLISP_vlax_curve_isClosed_ByVBA  指定された曲線が閉じている(始点と終点が同じ)かどうかを調べます。
 AutoLISP_vlax_curve_isPeriodic_ByVBA  指定された曲線の範囲が両方向に無限かどうか、つまり、
 任意のパラメータ u に対して、(u + dT) が曲線 (u) 上の点となるとき、
 値 dT に範囲が存在するかどうかを調べます。
AutoLISP_vlax_curve_isPlanar_ByVBA  曲線を含む平面が存在するかどうかを調べます。
 AutoLISP_vlax_curve_getClosestPointTo_ByVBA  曲線を平面に投影後、その曲線上の近接点(WCS)を返します。
 AutoLISP_vlax_curve_getClosestPointToProjection_ByVBA  曲線を平面に投影後、その曲線上の近接点(WCS)を返します。
 AutoLISP_vlax_curve_getFirstDeriv_ByVBA  曲線の指定された位置の 1 次導関数を(WCS 座標で)返します。
 AutoLISP_vlax_curve_getSecondDeriv_ByVBA  曲線の指定された位置の 2 次導関数を(WCS 座標で)返します。
注意事項
 パラメータ等はVariant型のデータを文字列に変換してAutoLISPへデータを送信しています。
 出来るだけ精度の良い戻り値を取得するには、Variant(10進型/Decimal)でパラメータをセットしてください。
 ただし、戻り値はVariant(倍精度浮動小数点数型/Double)です。
 実用上、戻り値が倍精度でも精度が不足する場合がありますので、ご注意下さい。
不具合情報
 AutoLISP_vlax_curve_getClosestPointToProjection_ByVBA  パラメータ extend に "nil" 以外の値を指定しても曲線を延長してくれない?
 パラメータ normal をセットしても無視される?