日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

将方孔分段的lisp_AutoLisp编写工程地质剖面图小工具

發布時間:2023/12/10 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 将方孔分段的lisp_AutoLisp编写工程地质剖面图小工具 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

AutoLisp編寫工程地質剖面圖小工具

朱紅雷李健民 (浙江省水利水電勘測設計院杭州 310002)

在我院應用的CAD工程地質制圖系統中,通常采用的各種高級語言編制的程序,一般是通過編制數據文件,生成CAD圖形數據交換文件(一般為*.SCR或*.DXF)達到繪制CAD圖紙的目的。這種方法往往顯得不符合我們的繪圖習慣,也很不直觀。為此,我們利用AutoLisp語言開發繪制工程地質剖面圖組件,在實際應用中取得了較好的效果。

其實,繪圖過程就是各種工程地質剖面圖組件的拼接過程。一幅工程地質剖面圖,一般而言不外乎以下幾個組件:圖幅圖簽、剖面圖框架(如標尺、樁號等)、勘探信息(如鉆孔、平硐等)、地質構造、圖例花紋、各種地質線條等。如果我們分別對不同組件編寫不同的繪制工具,并把他們有機地、相互關聯地放置在一起,就繪制出了一幅工程地質圖紙。因此,開發出一套繪制各種工程地質組件的程序,具有一定的實用價值。

AutoLisp語言內嵌于AutoCAD,編寫的小程序可以方便地在 AutoCAD界面下進行人機對話。例如下列程序代碼段通過輸入幾個數據即可實現繪制一個簡單的鉆孔。

(defun c:zk()

(setq pt0 (getpoint "/n請輸入鉆孔位置:"))

(setq blc (getreal "/n請輸入比例尺:"))

(steq ks (getreal "/n請輸入孔深(m):"))

(setq ksx (* (/ ks blc) 1000))

(setq pt1 (list (- (car pt0) 0.5) (cadr pt0)))

(setq pt2 (list (- (car pt0) 0.5) (- (cadr pt0) ksx)))

(setq pt3 (list (+ (car pt0) 0.5) (- (cadr pt0) ksx)))

(setq pt4 (list (+ (car pt0) 0.5) (cadr pt0)))

(command "PLINE" pt1 pt2 pt3 pt4 "")

我們在用AutoLisp編制上述小工具時,遇到了一些問題,也有些心得體會,愿與大家交流,權作拋磚引玉。

1 常用數據應建立磁盤文件進行保存,如工程名稱、比例尺、剖面方向等,需要在不同的Autolisp甚至于不同的圖紙間通用,因此需建立磁盤文件進行保存。相關的函數有read-line、wrtie-line等進行磁盤讀寫操作;rtos、atof 等進行數值與字符串的轉換。

2 盡量應用表格進行編寫,可以使程序簡潔并增加可讀性。事實上,一個AutoLisp程序本身就是一個表或若干表的集合。而各種數據組成的表又是AutoLisp的數組,在某種程度上,這種表比其它高級語言的數組更容易操作,因為AutoLisp提供了豐富的表操作語言,如(subst newitem olditem list);

總結

以上是生活随笔為你收集整理的将方孔分段的lisp_AutoLisp编写工程地质剖面图小工具的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。