・現在の図面ファイル名の取得
・現在の図面ファイルのパスの取得
・現在の図面ファイルの拡張子の取得

現在の図面ファイル名は、システム変数 "DWGNAME" で取得できます。
ただし、R13以前は、パス付(拡張子なし)が返りますが、R14以後は、ファイル名(拡張子付)だけが返ります。
現在の図面ファイルのパスは、システム変数 "DWGPREFIX" で取得できます。

現在のファイル名をフルパスで取得(R13以前のバージョンでは拡張子なし)

(defun Jof_ful_path2 ( / file_name file_path )
  (setq file_name (getvar "DWGNAME"))
  (if (not (wcmatch file_name "*`\\*")) ;\マークが有るかどうか
    (setq file_path (strcat (getvar "DWGPREFIX") file_name))
    )
  file_path
  )

現在のファイル名をフルパスで取得(R14以後)

(defun Jof_full_path ( / file_name file_path )
  (setq file_name (getvar "DWGNAME"))
  (setq file_path (findfile file_name)) ;サポートディレクトリー以外でもOK
  file_path
  )

****************************************************************

ファイル名だけ(パスなし)を取得(R13以前のバージョンでは拡張子なし)

(defun Jof_file_name ( / file_name i e n )
  (setq file_name (getvar "DWGNAME"))
  (if (wcmatch file_name "*`\\*") ;\マークが有るかどうか
    (progn
      (setq i 1)
      (repeat (strlen file_name)
        (setq e (substr file_name i 1))
        (if (= e "\\" )
          (setq n (1+ i)) ;\マークの次の位置
          )
        (setq i (1+ i))
        )
      )
    (setq file_name (substr file_name n)) ; 最後の\マーク以後を取得
    )
  file_name
  )

***************************************************************

拡張子の取得(R14以後)

(defun Jof_ext_name ( / file_name i e n ext_name )
  (setq file_name (getvar "DWGNAME"))
  (if (wcmatch file_name "*.*") ;"."が有るかどうか
    (progn
      (setq i 1)
      (repeat (strlen file_name)
      (setq e (substr file_name i 1)) 
        (if (= e "." )
          (setq n (1+ i)) ;"."の次の位置
          )
        (setq i (1+ i))
        )
      (setq ext_name (substr file_name n)) ; 最後の"."以後を取得
      )
    )
    ext_name
  )

**************************************************************************

VLISPを使えばさらに簡潔 (2006/4/29追記)
(defun Jof_file_name ( / file_name full_name file_base file_ext file_path)
  (vl-load-com)
  (setq file_name (getvar "DWGNAME"))
  (princ (strcat "\n図面のファイル名(拡張子付):" file_name))
  (setq full_name (findfile file_name))
  (princ (strcat "\n図面のフルパス:" full_name))
  (setq file_base (vl-filename-base full_name))
  (princ (strcat "\n図面のファイル名(baseのみ):" file_base))  
  (setq file_ext (vl-filename-extension full_name))
  (princ (strcat "\n図面の拡張子:" file_ext))
  (setq file_path (vl-filename-directory full_name))
  (princ (strcat "\n図面のパス:" file_path))
  (princ)
  )