Civil3Dの入力で20m測点を使いたい

Civil 3D で測点を入力する時に、追加距離を入力する必要があるので、20m測点だと「13+15.689」ってことは・・・ええと・・・電卓・・・ってなるワケです。

 
Qestion
どういうこっちゃ!どうにかならんのか!?「13+15.689」って入力させてよ!
 
Answer
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 + 右クリックメニューとかに設定すればいいのかな。

最新情報をチェックしよう!