Grossa Speaks Final

コンピュータに関するテーマを
気の向くまま取り上げています。
(時々雑談...)

ICAD L字型配線

2006年04月30日 | CAD
;;Kim_WiringL
;;
;;L字型配線
;;
;;February 13,2006 Original
;;February 19,2006 Version 0.7
;;April 14,2006 Version 0.8
;;April 18,2006 Version 0.9
;;April 30,2006 Version 1.0
;;Coding by Kim Grossa
;;
;;midPA(Xma,Yma=Xe,Ys)-----------startP(Xs,Ys)
;;
;;endP(Xe,Ye)--------------------midPB(Xmb,Ymb=Xs,Ye)
;;
;;Command Name "wl"
;;
;;使用方法
;;コマンドラインで"wl"と入力し、Enter
;;最初の点をクリック
;;最後の点をクリック
;;ポリラインを描きたい方向の任意の点をクリック
;;丸めの半径を変更したい場合は"s"または"S"を入力し、Enter


(defun C:wl()
;*****始点、終点を取得
(setq startP (getpoint "npick startpoint:"))

(setq endP (getpoint "npick endpoint:"))

;****中間点の座標の計算
(setq Yma (car (cdr startP)));中間点AのY座標を求める(=始点のY座標 Ys)
(setq Xma (car endP)) ;中間点AのX座標を求める (=終点のX座標 Xe )
(setq midPA (list Xma Yma)) ;中間点Aのリストを求める

(setq Ymb (car (cdr endP))) ;中間点BのY座標を求める(=終点のY座標 Ye)
(setq Xmb (car startP)) ;中間点BのX座標を求める (=始点のX座標 Xs )
(setq midPB (list Xmb Ymb)) ;中間点Bのリストを求める

;*****ポリラインの方向を決めるための点を取得
(setq directP (getpoint "npick direction"))

;*****中間点A,Bと方向決定点との距離計算
(setq distA (distance directP midPA))
(setq distB (distance directP midPB))

;*****ポリラインを描く
(cond
((<distA distB) ;始点から水平方向 )

((<distB distA) ;始点から垂直方向 )
)

;*****ポリラインを選択
(setq mypolyline(entlast))

;*****丸めの半径の入力
(setq nowrad (getvar "filletrad"));現在の設定値を取得
(princ "n(radius=");現在の設定値を表示
(princ nowrad)
(princ "):")
(setq str1(getstring"Setting:"));設定値を変更する場合
(if (or(= str1 "s")(= str1 "S"));小文字か大文字のsが押下されたら
(progn
(setq real1(getreal"Enter a radius:"));新しい設定値を入力
(setvar "filletrad" real1);新しい丸めの半径
)
)

;*****ポリラインを丸める
(command "FILLET" "P" mypolyline);ポリラインを丸める


)

最新の画像もっと見る

コメントを投稿