JTOOLの座標読み込み(JDLOADFILEコマンド)にはZ値をラベルに表示する機能はありません。

しかし点データにはCSVファイルから取得したZ値が設定されているので、それを表示させることを考えます。

座標読み込み設定ダイアログで、読み込み方法を「ブロックと属性」とし、点データ、線データ、面データ、注釈データの作成先画層を別のものにします。

CSVファイルを選択して作図します。

次に、Z座標値を設定する SETZMARKER.LSP ファイルをロードし、SETZMARKERコマンドを実行します。

ラベルをALL[Enter]で選択すると、点のラベルのみ選択して、点データのZ値をラベルの属性LENGTHに設定します。

;;;
;;; SETZMARKER.LSP
;;;
;;; JDLOADFILEコマンドのブロックと属性使用で点を入力後
;;; ブロックJDMARKERの属性LENGTHにブロックのZ座標(標高)を設定します
;;;

(defun C:SETZMARKER ( / ss i n el z dimz) ;(rtos)による実数→文字列変換 ;DIMZIN=0 で末端0を残します。 ;DIMZIN=8 は末端0を削除します。 (setq dimz (getvar "DIMZIN")) (setvar "DIMZIN" 0) ;ブロック名を指定してブロック参照のみ選択 (if (setq ss (ssget '((0 . "INSERT")(2 . "JDMARKER")( 8 . "POINT")))) (progn ;選択した図形の分ループします (setq i 0 n (sslength ss)) (while (< i n) ;ブロック参照からZ座標値を取得します ;次の図形 属性 タグ NAMEを取得します (setq el (entget (ssname ss i))) (setq z (last (cdr (assoc 10 el))) i (1+ i) el (entget (entnext (cdr (assoc -1 el))))) (while el ;属性 タグ LENGTHにZ値を設定します (if (= "LENGTH" (cdr (assoc 2 el))) (progn ;属性値を Z座標値(十進数で4桁)に変更します (entmod (subst (cons 1 (rtos z 2 4))(assoc 1 el) el)) (setq el nil) ) ;次の図形を取得します (setq el (entget (entnext (cdr (assoc -1 el))))) ) ) ) ;選択セットを解放します (setq ss nil) ) ) (setvar "DIMZIN" dimz) (terpri) )

後でプログラムを見直す時に思い出せるように、多めのコメントを付けました。

回答が見つかりましたか?