化工工藝流程圖閥門程序設計
(作者未知) 2009/7/19
提要:本文針對化工工藝流程圖CAD閥門繪制程序設計,探討CAD在化工工藝設計中的運用。文后提供的程序清單可在AutoCAD R12中文環(huán)境下運行,對化工工藝設計CAD二次開發(fā)提供經驗與技巧。
CAD技術已廣泛應用于各專業(yè)設計,但在化工工藝設計領域內商品化軟件不足,這就需要各設計單位自行開發(fā)應用軟件以適應CAD技術的發(fā)展.本文提供的閥門繪制程序是在AutoCAD二次開發(fā)的化工工藝計算機輔助設計CPCAD系統(tǒng)中的一個獨立程序,它以AutoLisp語言編寫,功能全,使用方便,具有可讀性及一定的技巧。
● 閥門繪制要求
在AutoCAD上繪制閥門,要求于已存在的工藝管道上據閥門類型自動按一定的比例顯示,圖紙輸出時的尺寸符合專業(yè)制圖要求,(原因是不可能根據閥門的實際尺寸與其它化工設備按同一比例繪圖) 并自動切斷管道線,同時判斷管線與水平方向的夾角,可取代AutoCAD的copy。閥門型式全,層自動設置并不受原當前層的影響。
● 程序簡介
該程序針對以上要求,提供11種常用閥型,可方便地進行選擇.如需其它類型,可對源程序簡單地修改補充。
1.主控程序
在主控程序中,(if (and (/= *bl nil) (/= *dwgscale nil))判斷變量*bl及*dwgscal是否存在.如不存在程序不再執(zhí)行,因此需在ACAD.LSP中加載或在command下賦值(注:*bl=*dwgscale)。如(setq *bl 100) (setq *dwgscale 100),100為繪圖比例。Progn語句段完成圖層設置,下面的缺省值設計讀者可自行分析,具有通用性和一定的技巧。
2.閥門程序的公用子程序
該部分是程序的核心.閥門長度的賦值是繪圖比例的5倍,當以相同比例輸出時其長度為5mm。法蘭的繪制是可選擇的。當提示閥心位置時,選擇line實體,程序可就選擇的line實體的起點和終點坐標計算該線與水平方向的夾角,同時求出各繪制點的極坐標。需要強調的是對Pline折線不適用,其原因是起點與終點的連線和要繪閥門不一致。(一般地,如需粗線可在出圖時對繪圖儀的參數進行設置)該子程序中又調用法蘭設計子程序,這是AutoLisp允許的,而且是一很好的功能。
3.其它子程序相對簡單,不再介紹。
●.附源程序清單VA
(defun *ERROR* (st)
(menucmd "s=s")
(command "osnap" "none")
(command "layer" "s" cl "")
(setvar "regenmode" 1)
(princ st)
(terpri)
)
(defun qs ()
(setq fc (* 5.0 *bl))
(menucmd "s=s")
(initget "Y N")
(if (not *yffl) (setq *yffl "N"))
(princ "\n有否法蘭: [ Y/N ]﹤ ")
(princ *yffl)
(setq fl (getkword " ﹥"))
(if (not fl) (setq fl *yffl) (setq *yffl fl))
) (defun dfw ( )
(command "OSNAP" "NEAR")
(setq e1 (entsel "\n閥心位置:"))
(command "osnap" "none")
(defun gy()
(setq zx (cadr e1)
e2 (entget (car e1))
p01 (cdr (assoc 10 e2))
p02 (cdr (assoc 11 e2))
zj (+ (* (/ 1.0 2.0) pi) (angle p01 p02))
l1 (/ fc 1.732)
l2 (/(未完,下一頁)
|
|
|