🌊
AutoCADで頂点のZ値を描き出す LISP
;-----------------------------------処理開始
;注釈→TEXTの高さを取得
(initget (+ 2 4));ゼロ不可,マイナス不可
(setq tsz (getreal (strcat "\n 文字の高さ指定:[数値] または [Enter]=直接指定 :")))
(if (= tsz nil)
(setq tsz (getdist "\n 文字の高さ 1 点目を指定"))
)
;ここ、苦労しました。文字の高さを指示します。数値を入れれば、それをtszに入れる
;そうでなければ、画面で指示(textコマンドのように)
;地盤高or計画高
(setq scl (getstring "\n 地盤高or計画高 f=FH/g=GH <f>:"))
(if (or (= scl "f")(= scl ""))
(setq scl "FH=")
(setq scl "GH=")
)
;ここで、FH=とかGH=とか記載する(後から描き込んだ文字か分からなくなるから)
;でも、不要だったかも? defpointレイヤに入れればいいやん!(笑)
;-----------------------------------計測点指示
(initget 0);null可
(while (/= (setq p1 (getpoint "\nZ値を計測したい点(Enter=終了):")) nil)
;-----------------------------------文字記入
(setq txt (rtos (caddr p1) 2 3))
;caddrでp1のZ値を取得しますー
;rtosで文字を変換(少数点以下3桁)
(setq txt (strcat scl txt))
;strcatでFH=やGH=を付けて表示
(setq scol (getvar "cecolor"))
(if (or (= scol 256)(= scol 0))(setq scol "bylayer"))
;command "color"でTEXTオブジェクトを描画 command "TEXT"は、うまく走らない
(command "color" col "text" "J" "L" p1 tsz "45" txt "color" scol)
);whle終わり
(initget 0);null可
;-----------------------------------処理終了
(princ)
📹 使用例(動画予定)
〇3DのサーフェスからZ値を取得する方法
〇点群から作成した現況サーフェスでも頂点の高さが計測できますね
今後のヒント
〇例えば、縦断図の計画線からZ値を描き出すとか
〇横断図の端点からZ値を描き出すとか
現場での確認作業が効率化されるだけでなく、
設計ミスの防止にもつながるツールになったと思います。
AutoCADのカスタマイズって、ちょっとした工夫で
業務がグッと楽になるのが面白いと思うがやけんど...
ほいたらねー
Discussion