Civil 3D で測点を入力する時に、追加距離を入力する必要があるので、20m測点だと「13+15.689」ってことは・・・ええと・・・電卓・・・ってなるワケです。
どういうこっちゃ!どうにかならんのか!?「13+15.689」って入力させてよ!
LISP 使えば、コマンドラインの入力は少しは改善されるかなぁ・・・
ということで、「コマンドラインの入力」という限定であり、「少しは便利になったかも」ぐらいのものですが、もしよかったら使ってみてください。
(defun c:20m(
/
SurvPT
Pos
NoLst
TotalDis
)
;;;ユーザー入力
(while (or (not Pos) (= Pos 0))
(if SurvPT
(setq Pos (vl-string-search "+" SurvPT))
)
(if (or (not Pos) (= Pos 0))
(progn
(princ "\n +の前に測点を入力してください")
(setq SurvPT (getstring "\n測点と+を入力:"))
)
)
)
;;;測点を分割
(setq NOLst (mapcar 'vl-princ-to-string (read (strcat "("(vl-string-translate "+" " " SurvPT)")"))))
(if (> (length NOLst) 1)
(setq TotalDis (+ (* 20 (atof (car NOLst))) (atof (cadr NOlst))))
(setq TotalDis (+ (* 20 (atof (car NOLst)))))
)
;;;;コマンドラインへ出力
(command TotalDis)
)
例えば、横断抽出ラインの測点入力で「’20m」と入力し(シングルクォーテーションを頭に付けるのを忘れずに)
「13+15.689」って入力すると
「275.689」が測点として入力されます。
私はボタンにしました。右クリックメニューは、横断抽出ラインで[Enter]になってしまい、出なかったの・・・。Shift + 右クリックメニューとかに設定すればいいのかな。