(defun c:test ( / dcl rb:write flag dcl_location ent *error* )
(defun *error* ( m )
(and (wcmatch (strcase m) "*CANCEL*")
(load-dcl)
)
)
(defun rb:write ( filename textlist write / fname line lst )
(setq fname (open filename (if write "w" "a")))
(foreach x textlist
(write-line x fname)
)
(setq fname (close fname))
(if (findfile filename)
t nil
)
)
(if (not (findfile (setq dcl_location "c:\\temp\\temp.dcl")))
(rb:write dcl_location
'("main"
": dialog {"
" label = \"testing\";"
" : boxed_column {"
" : text {"
" label = \"<object type>\";"
" key = \"txt\";"
" }"
" : button {"
" label = \"pick object\";"
" key = \"button\";"
" }"
" } cancel_button;"
"}") t
)
)
(defun load-dcl ( / dcl )
(setq dcl (load_dialog dcl_location))
(if (new_dialog "main" dcl)
(progn
(and ent
(set_tile "txt"
(cdr (assoc 0 (entget ent)))
)
)
(action_tile "button" "(done_dialog 2)")
(setq flag (start_dialog))
(unload_dialog dcl)
(and (eq 2 flag)
(setq ent (car (entsel "\nSpecify object to select: ")))
(load-dcl)
)
) (alert "fail")
)
)
(load-dcl)
)
如果你逃跑,它会重新加载。你能发布你试图修改的lsp吗?
Ymg如果你愿意的话,你也可以贡献自己的名字
最终结果是修改它并输出一个带有dcl的lisp以重新打开并添加一个关闭按钮,该按钮可以在en用户完成所需项目的生成后选择,而无需在cad中重新键入lisp命令行以生成另一个项目。 罗伯特,
如果你在帖子中给我们一个DH_V0.4 lisp的链接,那会有所帮助
无法通过搜索工具找到它。
ymg公司 看起来也一样,
如果我空出来,我会把所谓的dh作为附件发布 DH04 DCL中的指令告诉您点击鼠标右键以恢复对话框,更改设置或退出对话框。 罗伯特,
在压力容器碟形封头处发现
谷歌是我们的朋友! 好的,明白了,但是如果我想让我的开发人员也这么做,我怎么办?我已经有一段时间忘记了如何发布ta代码了 你有没有发现它也应该在那里? 将单词CODE放在lisp前面的括号[]中,将/CODE放在lisp后面的括号中 <br>;--------------------------------------------------------<br><br>(defun unghi (m n l)<br>(setq x (/ (- (+ (* m m) (* n n)) (* l l)) (* 2 m n))<br>ung (- (/ pi 2) (atan (/ x (sqrt (- 1 (* x x)))))))<br>)<br><br>;--------------------------------------------------------<br><br>(defun SaveVars ()<br>(setq myChoice (get_tile "mychoice"))<br>)<br><br>;--------------------------------------------------------<br><br>(defun SaveVarsCylsb ()<br>(setq d (atof (get_tile "Dia")))<br>(setq h (atof (get_tile "Hght")))<br>(setq alft (atof (get_tile "Alfat")))<br>(setq alfb (atof (get_tile "Alfab")))<br>(setq nr (atoi (get_tile "Ndiv")))<br>)<br><br>;--------------------------------------------------------<br><br>(defun SaveVarsHelix ()<br>(setq d1 (atof (get_tile "dmare")))<br>(setq d2 (atof (get_tile "dmic")))<br>(setq s (atof (get_tile "pas")))<br>)<br><br>;--------------------------------------------------------<br><br>(defun SaveVarsIcc ()<br>(setq a (atof (get_tile "A_lg")))<br>(setq b (atof (get_tile "B_lg")))<br>(setq h (atof (get_tile "H_hg")))<br>(setq d1 (atof (get_tile "Dmare")))<br>(setq d2 (atof (get_tile "Dmic")))<br>(setq dy (atof (get_tile "D_ecc")))<br>(setq alfg (atof (get_tile "Alfag")))<br>(setq nr (atoi (get_tile "Ndiv")))<br>)<br><br>;--------------------------------------------------------<br><br>(defun SaveVarsCconeDH ()<br>(setq d1 (atof (get_tile "Dmare")))<br>(setq d2 (atof (get_tile "Dmic")))<br>(setq h (atof (get_tile "Hght")))<br>)<br><br>;--------------------------------------------------------<br><br>(defun SaveVarsCconeDA ()<br>(setq d1 (atof (get_tile "Dmare")))<br>(setq d2 (atof (get_tile "Dmic")))<br>(setq alfa (atof (get_tile "Alfa")))<br>)<br><br>;--------------------------------------------------------<br><br>(defun SaveVarsEcone ()<br>(setq d1 (atof (get_tile "Dmare")))<br>(setq d2 (atof (get_tile "Dmic")))<br>(setq ht (atof (get_tile "Hght")))<br>(setq dx (atof (get_tile "Ecc")))<br>(setq nr (atoi (get_tile "Ndiv")))<br>)<br><br>;--------------------------------------------------------<br><br>(defun SaveVarsConesb ()<br>(setq h (atof (get_tile "Hght")))<br>(setq ht (atof (get_tile "HTot")))<br>(setq alfa (atof (get_tile "Alfa")))<br>(setq betat (atof (get_tile "Betat")))<br>(setq betab (atof (get_tile "Betab")))<br>(setq nr (atoi (get_tile "Ndiv")))<br>)<br><br>;--------------------------------------------------------<br><br>(defun SaveVarsCflcone ()<br>(setq d1i (atof (get_tile "Dimare")))<br>(setq d2i (atof (get_tile "Dimic")))<br>(setq kri (atof (get_tile "KRadi")))<br>(setq sf (atof (get_tile "StrFL")))<br>(setq thk (atof (get_tile "Thick")))<br>(setq alfa (atof (get_tile "Alpha")))<br>)<br><br>;--------------------------------------------------------<br><br>(defun SaveVarsLegCone ()<br>(setq dt (atof (get_tile "DTank")))<br>(setq rk (atof (get_tile "RKnuck")))<br>(setq alfa (atof (get_tile "Alpha")))<br>(setq tp (atof (get_tile "ThkPad")))<br>(setq d (atof (get_tile "DPipe")))<br>(setq e (atof (get_tile "Ecc")))<br>(setq teta (atof (get_tile "Theta")))<br>(setq ht (atof (get_tile "HTot")))<br>(setq h (atof (get_tile "HOverTg")))<br>(setq nr (atoi (get_tile "NDiv")))<br>)<br><br>;--------------------------------------------------------<br><br>(defun SaveVarsLegFD ()<br>(setq dt (atof (get_tile "DTank")))<br>(setq rk (atof (get_tile "RKnuck")))<br>(setq rd (atof (get_tile "RDish")))<br>(setq tp (atof (get_tile "ThkPad")))<br>(setq d (atof (get_tile "DPipe")))<br>(setq e (atof (get_tile "Ecc")))<br>(setq teta (atof (get_tile "Theta")))<br>(setq ht (atof (get_tile "HTot")))<br>(setq h (atof (get_tile "HOverTg")))<br>(setq nr (atoi (get_tile "NDiv")))<br>)<br><br>;--------------------------------------------------------<br><br>(defun SaveVarsLegEllipt ()<br>(setq dt (atof (get_tile "DTank")))<br>(setq tp (atof (get_tile "ThkPad")))<br>(setq d (atof (get_tile "DPipe")))<br>(setq e (atof (get_tile "Ecc")))<br>(setq teta (atof (get_tile "Theta")))<br>(setq ht (atof (get_tile "HTot")))<br>(setq h (atof (get_tile "HOverTg")))<br>(setq nr (atoi (get_tile "NDiv")))<br>)<br><br>;--------------------------------------------------------<br><br>(defun SaveVarsRdRctg ()<br>(setq d (atof (get_tile "Diam")))<br>(setq a (atof (get_tile "DimA")))<br>(setq b (atof (get_tile "DimB")))<br>(setq h (atof (get_tile "Hght")))<br>(setq dx (atof (get_tile "EccX")))<br>(setq dy (atof (get_tile "EccY")))<br>(setq alfg (atof (get_tile "Alpha")))<br>)<br><br>;--------------------------------------------------------<br><br>(defun DwgCylsb ()<br>(if (or (<= d 0) (<= h 0) (<= alft -90) (>= alft 90) (<= alfb -90) (>= alfb 90) (<= nr 10))<br>(alertcylsb)<br>(progn<br>(setq osmd (getvar "osmode"))<br>(setvar "osmode" 16384)<br>(setvar "pdmode" 0)<br>(setvar "plinewid" 0.0)<br>(setq pt0 (getpoint "Base Point:")<br>x0 (car pt0)<br>y0 (cadr pt0)<br>alfat (abs (/ (* alft pi) 180))<br>alfab (abs (/ (* alfb pi) 180))<br>r (/ d 2)<br>tgat (/ (sin alfat) (cos alfat))<br>tgab (/ (sin alfab) (cos alfab))<br>yt0 (* r tgat)<br>yb0 (* r tgab)<br>ht (- (/ h 2) yt0)<br>hb (- (/ h 2) yb0)<br>cont 0)<br>(if (= alft 0) (setq sgnat 1) (setq sgnat (/ alft (abs alft))))<br>(if (= alfb 0) (setq sgnab 1) (setq sgnab (/ alfb (abs alfb))))<br>(while (<= cont nr)<br>(setq teta (/ (* cont 2 pi) nr)<br>xtbi (+ x0 (* r teta))<br>xi (* r (cos teta))<br>dxti (+ r (* sgnat xi))<br>yti (+ ht (* dxti tgat))<br>dxbi (- r (* sgnab xi))<br>ybi (+ hb (* dxbi tgab))<br>y1 (+ y0 yti)<br>y2 (- y0 ybi)<br>pt1 (list xtbi y1)<br>pt2 (list xtbi y2)<br>cont (1+ cont))<br>(if (> cont 1) (command "line" pt3 pt1 pt2 pt4 "") (command "line" pt1 pt2 ""))<br>(setq pt3 pt1<br>pt4 pt2))<br>(setvar "osmode" osmd)<br>(princ)))<br>)<br><br>;--------------------------------------------------------<br><br>(defun DwgHelix ()<br>(if (or (<= d1 d2) (<= d2 0) (<= s 0))<br>(alerthelix)<br>(progn<br>(setq osmd (getvar "osmode"))<br>(setvar "osmode" 16384)<br>(setvar "pdmode" 0)<br>(setvar "plinewid" 0.0)<br>(setq pt0 (getpoint "Base Point:")<br><br>h (/ (- d1 d2) 2)<br>lint (sqrt (+ (* s s) (* pi pi d2 d2)))<br>lext (sqrt (+ (* s s) (* pi pi d1 d1)))<br>dext (/ (* 2 h lext) (- lext lint))<br>dint (- dext (* 2 h)) <br>rext (/ dext 2)<br>rint (/ dint 2)<br>alfap2 (- pi (/ lext dext))<br>pt0 (polar pt0 0.0 rext)<br>pe1 (polar pt0 alfap2 rext)<br>pe2 (polar pt0 (- (* 2 pi) alfap2) rext)<br>pi1 (polar pt0 alfap2 rint)<br>pi2 (polar pt0 (- (* 2 pi) alfap2) rint)<br>pt3 (polar pt0 pi rext)<br>pt4 (polar pt0 pi rint))<br>(command "arc" pe1 pt3 pe2)<br>(command "arc" pi1 pt4 pi2)<br>(command "pline" pi1 pe1 "")<br>(command "pline" pi2 pe2 "")<br>(setvar "osmode" osmd)<br>(princ)))<br>)<br><br>;--------------------------------------------------------<br><br>(defun DwgIcc ()<br>(if (or (<= a h) (<= b 0) (<= h 0) (< d1 d2) (<= d2 0) (< dy (/ (- d2 d1) 2)) (> dy (/ (- d1 d2) 2)) (<= alfg 0) (>= alfg 180) (<= nr 10))<br>(alerticc)<br>(progn<br>(setq osmd (getvar "osmode"))<br>(setvar "osmode" 16384)<br>(setvar "pdmode" 0)<br>(setvar "plinewid" 0.0)<br>(setq pt0 (getpoint "Base Point:")<br>alfa (/ (* alfg pi) 180)<br>x10 (car pt0)<br>y0 (cadr pt0)<br>x11 (+ x10 (* d1 pi))<br>x20 (+ x10 (* 1.25 d1 pi))<br>x21 (+ x20 (* d2 pi))<br>p0 (list x10 y0)<br>p1 (list x11 y0)<br>p2 (list x11 (+ y0 a))<br>p3 (list x10 (+ y0 a))<br>p4 (list x20 y0)<br>p5 (list x21 y0)<br>cont 0)<br>(command "pline" p0 p1 p2 p3 "c")<br>(command "line" p4 p5 "")<br>(while (<= cont nr)<br>(setq teta (/ (* cont 2 pi) nr)<br>m (/ (* d2 (cos teta)) 2)<br>n (/ (* d2 (sin teta)) 2)<br>y (- dy n)<br>xc (* b (sin alfa))<br>x (- xc (* m (cos alfa)))<br>x1 (sqrt (- (/ (expt d1 2) 4) (expt y 2)))<br>x2 (- x x1)<br>l2 (/ x2 (sin alfa))<br>w2 (+ (/ (* teta d2) 2) x20)<br>pt20 (list w2 y0)<br>pt2 (list w2 (+ y0 l2))<br>zc (+ h (* b (cos alfa)))<br>z2 (+ zc (* m (sin alfa)))<br>z1 (- z2 (* l2 (cos alfa)))<br>beta (atan x1 y)<br>w1 (* (+ beta (/ pi 2)) (/ d1 2))<br>pt1 (list (+ x10 w1) (+ y0 z1))<br>cont (1+ cont))<br>(if (> cont 1) (command "line" pt1a pt1 ""))<br>(if (> cont 1) (command "line" pt2a pt2 pt20 "") (command "line" pt2 pt20 ""))<br>(setq pt1a pt1<br>pt2a pt2))<br>(setvar "osmode" osmd)<br>(princ)))<br>)<br><br>;--------------------------------------------------------<br><br>(defun DwgCconeDH ()<br>(if (or (<= d1 d2) (< d2 0) (<= h 0))<br>(alertcconedh)<br>(progn<br>(setq osmd (getvar "osmode"))<br>(setvar "osmode" 16384)<br>(setvar "pdmode" 0)<br>(setvar "plinewid" 0.0)<br>(setq pt0 (getpoint "Base Point:")<br>tgalfa (/ (* 2 h) (- d1 d2))<br>rad (sqrt (+ 1 (* tgalfa tgalfa)))<br>rext (/ (* d1 rad) 2)<br>rint (/ (* d2 rad) 2)<br>gammap2 (* pi (- 1 (/ 1 rad)))<br>pt0 (polar pt0 0.0 rext)<br>pe1 (polar pt0 gammap2 rext)<br>pe2 (polar pt0 (- (* 2 pi) gammap2) rext)<br>pi1 (polar pt0 gammap2 rint)<br>pi2 (polar pt0 (- (* 2 pi) gammap2) rint)<br>pt3 (polar pt0 pi rext)<br>pt4 (polar pt0 pi rint))<br>(command "arc" pe1 pt3 pe2)<br>(if (/= d2 0) (command "arc" pi1 pt4 pi2))<br>(if (/= d2 0) (command "pline" pi1 pe1 ""))<br>(if (/= d2 0) (command "pline" pi2 pe2 "") (command "pline" pe1 pt0 pe2 ""))<br>(setvar "osmode" osmd)<br>(princ)))<br>)<br><br>;--------------------------------------------------------<br><br>(defun DwgCconeDA ()<br>(if (or (<= d1 d2) (< d2 0) (<= alfa 0) (>= alfa 90))<br>(alertcconeda)<br>(progn<br>(setq osmd (getvar "osmode"))<br>(setvar "osmode" 16384)<br>(setvar "pdmode" 0)<br>(setvar "plinewid" 0.0)<br>(setq pt0 (getpoint "Base Point:")<br>alfa (/ (* alfa pi) 180) <br>tgalfa (/ (sin alfa) (cos alfa)) <br>rad (sqrt (+ 1 (* tgalfa tgalfa)))<br>rext (/ (* d1 rad) 2)<br>rint (/ (* d2 rad) 2)<br>gammap2 (* pi (- 1 (/ 1 rad)))<br>pt0 (polar pt0 0.0 rext)<br>pe1 (polar pt0 gammap2 rext)<br>pe2 (polar pt0 (- (* 2 pi) gammap2) rext)<br>pi1 (polar pt0 gammap2 rint)<br>pi2 (polar pt0 (- (* 2 pi) gammap2) rint)<br>pt3 (polar pt0 pi rext)<br>pt4 (polar pt0 pi rint))<br>(command "arc" pe1 pt3 pe2)<br>(if (/= d2 0) (command "arc" pi1 pt4 pi2))<br>(if (/= d2 0) (command "pline" pi1 pe1 ""))<br>(if (/= d2 0) (command "pline" pi2 pe2 "") (command "pline" pe1 pt0 pe2 ""))<br>(setvar "osmode" osmd)<br>(princ)))<br>)<br><br>;--------------------------------------------------------<br><br>(defun DwgEcone ()<br>(if (or (<= d1 d2) (< d2 0) (<= ht 0) (<= nr 5))<br>(alertecone)<br>(progn<br>(setq osmd (getvar "osmode"))<br>(setvar "osmode" 16384)<br>(setvar "pdmode" 0)<br>(setvar "plinewid" 0.0)<br>(setq pt0 (getpoint "Base Point:")<br>r1 (/ d1 2)<br>r2 (/ d2 2)<br>h (/ (* d1 ht) (- d1 d2))<br>dx1 (/ (* h dx) ht)<br>dx2 (- dx1 dx)<br>dtheta (/ pi nr)<br>z1 h<br>z2 (- h ht)<br>theta 0<br>beta 0<br>x1 (- dx1 (* r1 (cos theta)))<br>x2 (- dx2 (* r2 (cos theta)))<br>y1 (* r1 (sin theta))<br>y2 (* r2 (sin theta))<br>l02a (sqrt (+ (* x2 x2) (* y2 y2) (* z2 z2)))<br>l21a (sqrt (+ (* (- x1 x2) (- x1 x2)) (* (- y1 y2) (- y1 y2)) (* (- z1 z2) (- z1 z2))))<br>l01a (+ l02a l21a)<br>pt0 (polar pt0 pi l02a)<br>pt2 (polar pt0 beta l02a)<br>pt1 (polar pt2 beta l21a)<br>pt4 pt2<br>pt4p pt2<br>pt3 pt1<br>pt3p pt1<br>cont 1)<br>(command "line" pt2 pt1 "")<br>(while (<= cont nr)<br>(setq theta (* cont dtheta)<br>lseg (/ (* pi r1) nr)<br>x1 (- dx1 (* r1 (cos theta)))<br>x2 (- dx2 (* r2 (cos theta)))<br>y1 (* r1 (sin theta))<br>y2 (* r2 (sin theta))<br>l02 (sqrt (+ (* x2 x2) (* y2 y2) (* z2 z2)))<br>l21 (sqrt (+ (* (- x1 x2) (- x1 x2)) (* (- y1 y2) (- y1 y2)) (* (- z1 z2) (- z1 z2))))<br>l01 (+ l02 l21))<br>(unghi l01 l01a lseg)<br>(setq dbeta ung<br>beta (+ beta dbeta)<br>pt2 (polar pt0 beta l02)<br>pt1 (polar pt2 beta l21)<br>pt2p (polar pt0 (* -1 beta) l02)<br>pt1p (polar pt2p (* -1 beta) l21)<br>cont (1+ cont))<br>(command "line" pt4 pt2 pt1 pt3 "")<br>(command "line" pt4p pt2p pt1p pt3p "")<br>(setq pt3 pt1<br>pt4 pt2<br>pt3p pt1p<br>pt4p pt2p<br>l01a l01))<br>(setvar "osmode" osmd)<br>(princ)))<br>)<br><br>;--------------------------------------------------------<br><br>(defun DwgConesb ()<br>(if (or (<= h 0) (< ht h) (<= alfa 0) (>= alfa 90) (<= betat (* -1 alfa)) (>= betat alfa) (< betab 0) (>= betab alfa) (< nr 12))<br>(alertconesb)<br>(progn<br>(setq osmd (getvar "osmode"))<br>(setvar "osmode" 16384)<br>(setvar "pdmode" 0)<br>(setvar "plinewid" 0.0)<br>(setq pt0 (getpoint "Base Point:")<br>x0 (car pt0)<br>y0 (cadr pt0)<br>alfa (/ (* alfa pi) 180)<br>betat (/ (* betat pi) 180))<br>(if (= betat 0) (setq signbetat 1) (setq signbetat (/ (abs betat) betat)))<br>(setq betab (/ (* betab pi) 180)<br>tgalfa (/ (sin alfa) (cos alfa))<br>tgbetat (/ (sin betat) (cos betat))<br>tgbetab (/ (sin betab) (cos betab))<br>rt (/ (- ht h) (- tgalfa (abs tgbetat)))<br>rb (/ ht (- tgalfa tgbetab))<br>gama (/ (* 2 pi) (sqrt (+ 1 (* tgalfa tgalfa))))<br>fi (- (* 2 pi) gama)<br>gama2 (/ gama 2)<br>fi2 (/ fi 2)<br>dgama2 (/ gama2 nr)<br>dteta (/ pi nr)<br>hgb (* rb tgalfa)<br>hgt (* rt tgalfa)<br>htb (- hgb (* rb tgbetab))<br>htt (- hgt (* rt tgbetat signbetat))<br>rib0 (/ rb (cos alfa))<br>rit0 (- (/ rt (cos alfa)) (/ (* (- signbetat 1) rt (sin betat)) (sin (+ pi (* -1 alfa) betat))))<br>ang fi2<br>xp0bp (+ x0 (* rib0 (cos ang)))<br>yp0bp (+ y0 (* rib0 (sin ang)))<br>xp0tp (+ x0 (* rit0 (cos ang)))<br>yp0tp (+ y0 (* rit0 (sin ang)))<br>yp0bm (- y0 (* rib0 (sin ang)))<br>yp0tm (- y0 (* rit0 (sin ang)))<br>p0bp (list xp0bp yp0bp)<br>p0tp (list xp0tp yp0tp)<br>p0bm (list xp0bp yp0bm)<br>p0tm (list xp0tp yp0tm)<br>teta 0<br>cont 1)<br>(command "line" p0tp p0bp "") <br>(command "line" p0tm p0bm "")<br>(while (<= cont nr)<br>(setq teta (+ teta dteta)<br>ang (+ ang dgama2)<br>x1b (* (* rb -1) (cos teta))<br>x1t (* (* rt -1) (cos teta))<br>xib (/ htb (+ tgbetab (/ hgb x1b))))<br>(if (= h ht) (setq xit 0) (setq xit (/ htt (+ tgbetat (/ hgt x1t)))))<br>(setq yib (* xib tgbetab)<br>yit (* xit tgbetat)<br>hib (- htb yib)<br>hit (- htt yit)<br>rib (/ hib (sin alfa))<br>rit (/ hit (sin alfa))<br>xp1bp (+ x0 (* rib (cos ang)))<br>yp1bp (+ y0 (* rib (sin ang)))<br>xp1tp (+ x0 (* rit (cos ang)))<br>yp1tp (+ y0 (* rit (sin ang)))<br>yp1bm (- y0 (* rib (sin ang)))<br>yp1tm (- y0 (* rit (sin ang)))<br>p1bp (list xp1bp yp1bp)<br>p1tp (list xp1tp yp1tp)<br>p1bm (list xp1bp yp1bm)<br>p1tm (list xp1tp yp1tm))<br>(command "line" p0bp p1bp "")<br>(command "line" p0bm p1bm "")<br>(command "line" p0tp p1tp "")<br>(command "line" p0tm p1tm "")<br>(setq p0bp (list xp1bp yp1bp)<br>p0tp (list xp1tp yp1tp)<br>p0bm (list xp1bp yp1bm)<br>p0tm (list xp1tp yp1tm)<br>cont (1+ cont)))<br>(setvar "osmode" osmd)<br>(princ)))<br>)<br><br>;--------------------------------------------------------<br><br>(defun DwgCflcone ()<br>(if (or (<= d1i d2i) (< d2i 0) (< kri 0) (< sf 0) (< thk 0) (<= alfa 0) (>= alfa 90))<br>(alertcflcone)<br>(progn<br>(setq osmd (getvar "osmode"))<br>(setvar "osmode" 16384)<br>(setvar "pdmode" 0)<br>(setvar "plinewid" 0.0)<br>(setq pt0 (getpoint "Base Point:")<br>alfa (/ (* alfa pi) 180)<br>r1i (/ d1i 2)<br>dm (+ d1i thk)<br>rm (/ dm 2)<br>krm (+ kri (/ thk 2))<br>beta (- (/ pi 2) alfa)<br>xk (* krm (- 1 (cos beta)))<br>rc (- rm xk)<br>dc (* 2 rc)<br>lk (* krm beta)<br>lkf (+ lk sf)<br>gc1 (/ rc (cos alfa))<br>g (+ gc1 lkf)<br>d1 (* 2 g (cos alfa))<br>d2 (+ d2i (* thk (sin alfa)))<br>tgalfa (/ (sin alfa) (cos alfa))<br>rad (sqrt (+ 1 (* tgalfa tgalfa)))<br>rext (/ (* d1 rad) 2)<br>rint (/ (* d2 rad) 2)<br>gammap2 (* pi (- 1 (/ 1 rad)))<br>pt0 (polar pt0 0.0 rext)<br>pe1 (polar pt0 gammap2 rext)<br>pe2 (polar pt0 (- (* 2 pi) gammap2) rext)<br>pi1 (polar pt0 gammap2 rint)<br>pi2 (polar pt0 (- (* 2 pi) gammap2) rint)<br>pt3 (polar pt0 pi rext)<br>pt4 (polar pt0 pi rint))<br>(command "arc" pe1 pt3 pe2)<br>(if (/= d2 0) (command "arc" pi1 pt4 pi2))<br>(if (/= d2 0) (command "pline" pi1 pe1 ""))<br>(if (/= d2 0) (command "pline" pi2 pe2 "") (command "pline" pe1 pt0 pe2 ""))<br>(setvar "osmode" osmd)<br>(princ)))<br>)<br><br>;--------------------------------------------------------<br><br>(defun DwgIntLegCone ()<br>(if (or (<= dt d) (<= d 0) (< rk 0) (>= e (/ d 2)) (< teta 0) (>= teta 80) (< tp 0) (<= ht 0) (< alfa 0) (>= alfa 90) (< nr 5))<br>(alertlegcone)<br>(progn<br>(setq osmd (getvar "osmode"))<br>(setvar "osmode" 16384)<br>(setvar "pdmode" 0)<br>(setvar "plinewid" 0.0)<br>(setq pt0 (getpoint "Base Point:")<br>dt (+ dt (* 2 tp))<br>rk (+ rk tp)<br>e (- e tp)<br>rt (/ dt 2)<br>r (/ d 2)<br>alfa (/ (* alfa pi) 180)<br>teta (/ (* teta pi) 180)<br>xt (* rk (- 1 (sin alfa)))<br>cosbeta (/ (+ (* 2 rt e) (* e e) (* r r)) (* 2 (+ rt e) r))<br>tgbeta (if (/= cosbeta 0) (sqrt (/ (- 1 (* cosbeta cosbeta)) (* cosbeta cosbeta))) 0)<br>beta (if (> cosbeta 0) (atan tgbeta) (if (< cosbeta 0) (- pi (atan tgbeta)) pi))<br>dbeta (/ beta nr)<br>delta (- pi beta)<br>ddelta (/ delta nr)<br>dx (* r dbeta)<br>dxx (* r ddelta)<br>xx0 (* r (- 1 (cos delta)))<br>yymax (* xx0 (/ (sin teta) (cos teta)))<br>x0 (car pt0)<br>y0 (cadr pt0)<br>Ltot (* 2 pi r)<br>Ldecup (* 2 beta r)<br>L1 (/ (- Ltot Ldecup) 2)<br>x00 x0<br>y00 (- y0 h)<br>yref y00<br>xxref x0<br>yyref y0<br>x1 (- x0 L1)<br>y1 (- y0 yymax)<br>x2 x1<br>y2 (- y0 ht)<br>x3 (+ x1 Ltot)<br>y3 y2<br>x4 x3<br>y4 y1<br>x5 (+ x0 Ldecup)<br>y5 y0<br>x6 x5<br>y6 y00<br>xmid (+ x1 (/ Ltot 2))<br>pt00 (list x00 y00)<br>ptt0 (list x0 y0)<br>pt1 (list x1 y1)<br>pt2 (list x2 y2)<br>pt3 (list x3 y3)<br>pt4 (list x4 y4)<br>pt5 (list x5 y5)<br>pt6 (list x6 y6)<br>cont 1)<br>(command "line" pt00 pt0 "")<br>(command "line" pt5 pt6 "")<br>(command "pline" pt1 pt2 pt3 pt4 "")<br>(while (<= cont nr)<br>(setq betai (- beta (* cont dbeta))<br>xp (- (* r (cos betai)) e)<br>yp (* r (sin betai))<br>x (- rt (sqrt (+ (* (- rt xp) (- rt xp)) (* yp yp))))<br>y (if (<= x xt) (sqrt (- (* 2 rk x) (* x x))) (/ (+ rk (* (- x rk) (sin alfa))) (cos alfa)))<br>xi (+ x00 dx)<br>yi (- yref y)<br>pti (list xi yi)<br>xf0 (+ xmid (- xmid x00))<br>yf0 y00<br>xfi (+ xmid (- xmid xi))<br>yfi yi<br>ptf0 (list xf0 yf0)<br>ptfi (list xfi yfi)<br>deltai (- delta (* cont ddelta))<br>xli (- xx0 (* r (- 1 (cos deltai))))<br>yli (* xli (/ (sin teta) (cos teta)))<br>xxi (- xxref (* dxx cont))<br>yyi (- yyref yli)<br>ptti (list xxi yyi)<br>xxf0 (+ xmid (- xmid x0))<br>yyf0 y0<br>xxfi (+ xmid (- xmid xxi))<br>yyfi yyi<br>pttf0 (list xxf0 yyf0)<br>pttfi (list xxfi yyfi))<br>(command "line" pt00 pti "")<br>(command "line" ptf0 ptfi "")<br>(command "line" ptt0 ptti "")<br>(command "line" pttf0 pttfi "")<br>(setq x00 xi<br>y00 yi<br>pt00 (list x00 y00)<br>x0 xxi<br>y0 yyi<br>ptt0 (list x0 y0)<br>cont (+ 1 cont)))<br>(setvar "osmode" osmd)<br>(princ)))<br>)<br><br>;--------------------------------------------------------<br><br>(defun DwgIntLegFD ()<br>(if (or (<= dt d) (<= d 0) (<= rd rk) (< rk 0) (>= e (/ d 2)) (< teta 0) (>= teta 80) (< tp 0) (<= ht 0) (< nr 5))<br>(alertlegfd)<br>(progn<br>(setq osmd (getvar "osmode"))<br>(setvar "osmode" 16384)<br>(setvar "pdmode" 0)<br>(setvar "plinewid" 0.0)<br>(setq pt0 (getpoint "Base Point:")<br>dt (+ dt (* 2 tp))<br>rd (+ rd tp)<br>rk (+ rk tp)<br>e (- e tp)<br>rt (/ dt 2)<br>r (/ d 2)<br>teta (/ (* teta pi) 180)<br>sinalfa (/ (- rt rk) (- rd rk))<br>tgalfa (/ sinalfa (sqrt (- 1 (* sinalfa sinalfa))))<br>alfa (atan tgalfa)<br>xt (* rk (- 1 (sin alfa)))<br>m (sqrt (- (- (* rd rd) (* 2 rd rk)) (- (* rt rt) (* 2 rt rk))))<br>cosbeta (/ (+ (* 2 rt e) (* e e) (* r r)) (* 2 (+ rt e) r))<br>tgbeta (if (/= cosbeta 0) (sqrt (/ (- 1 (* cosbeta cosbeta)) (* cosbeta cosbeta))) 0)<br>beta (if (> cosbeta 0) (atan tgbeta) (if (< cosbeta 0) (- pi (atan tgbeta)) pi))<br>dbeta (/ beta nr)<br>delta (- pi beta)<br>ddelta (/ delta nr)<br>dx (* r dbeta)<br>dxx (* r ddelta)<br>xx0 (* r (- 1 (cos delta)))<br>yymax (* xx0 (/ (sin teta) (cos teta)))<br>x0 (car pt0)<br>y0 (cadr pt0)<br>Ltot (* 2 pi r)<br>Ldecup (* 2 beta r)<br>L1 (/ (- Ltot Ldecup) 2)<br>x00 x0<br>y00 (- y0 h)<br>yref y00<br>xxref x0<br>yyref y0<br>x1 (- x0 L1)<br>y1 (- y0 yymax)<br>x2 x1<br>y2 (- y0 ht)<br>x3 (+ x1 Ltot)<br>y3 y2<br>x4 x3<br>y4 y1<br>x5 (+ x0 Ldecup)<br>y5 y0<br>x6 x5<br>y6 y00<br>xmid (+ x1 (/ Ltot 2))<br>pt00 (list x00 y00)<br>ptt0 (list x0 y0)<br>pt1 (list x1 y1)<br>pt2 (list x2 y2)<br>pt3 (list x3 y3)<br>pt4 (list x4 y4)<br>pt5 (list x5 y5)<br>pt6 (list x6 y6)<br>cont 1)<br>(command "line" pt00 pt0 "")<br>(command "line" pt5 pt6 "")<br>(command "pline" pt1 pt2 pt3 pt4 "")<br>(while (<= cont nr)<br>(setq betai (- beta (* cont dbeta))<br>xp (- (* r (cos betai)) e)<br>yp (* r (sin betai))<br>x (- rt (sqrt (+ (* (- rt xp) (- rt xp)) (* yp yp))))<br>mt (sqrt (- (* rd rd) (* (- rt x) (- rt x))))<br>y (if (<= x xt) (sqrt (- (* 2 rk x) (* x x))) (- mt m))<br>xi (+ x00 dx)<br>yi (- yref y)<br>pti (list xi yi)<br>xf0 (+ xmid (- xmid x00))<br>yf0 y00<br>xfi (+ xmid (- xmid xi))<br>yfi yi<br>ptf0 (list xf0 yf0)<br>ptfi (list xfi yfi)<br>deltai (- delta (* cont ddelta))<br>xli (- xx0 (* r (- 1 (cos deltai))))<br>yli (* xli (/ (sin teta) (cos teta)))<br>xxi (- xxref (* dxx cont))<br>yyi (- yyref yli)<br>ptti (list xxi yyi)<br>xxf0 (+ xmid (- xmid x0))<br>yyf0 y0<br>xxfi (+ xmid (- xmid xxi))<br>yyfi yyi<br>pttf0 (list xxf0 yyf0)<br>pttfi (list xxfi yyfi))<br>(command "line" pt00 pti "")<br>(command "line" ptf0 ptfi "")<br>(command "line" ptt0 ptti "")<br>(command "line" pttf0 pttfi "")<br>(setq x00 xi<br>y00 yi<br>pt00 (list x00 y00)<br>x0 xxi<br>y0 yyi<br>ptt0 (list x0 y0)<br>cont (+ 1 cont)))<br>(setvar "osmode" osmd)<br>(princ)))<br>)<br><br>;--------------------------------------------------------<br><br>(defun DwgIntLegEllipt ()<br>(if (or (<= dt d) (<= d 0) (>= e (/ d 2)) (< teta 0) (>= teta 80) (< tp 0) (<= ht 0) (< nr 5))<br>(alertlegellipt)<br>(progn<br>(setq osmd (getvar "osmode"))<br>(setvar "osmode" 16384)<br>(setvar "pdmode" 0)<br>(setvar "plinewid" 0.0)<br>(setq pt0 (getpoint "Base Point:")<br>a (+ (/ dt 2) tp)<br>b (+ (/ dt 4) tp)<br>dt (+ dt (* 2 tp))<br>e (- e tp)<br>rt (/ dt 2)<br>r (/ d 2)<br>teta (/ (* teta pi) 180)<br>cosbeta (/ (+ (* 2 rt e) (* e e) (* r r)) (* 2 (+ rt e) r))<br>tgbeta (if (/= cosbeta 0) (sqrt (/ (- 1 (* cosbeta cosbeta)) (* cosbeta cosbeta))) 0)<br>beta (if (> cosbeta 0) (atan tgbeta) (if (< cosbeta 0) (- pi (atan tgbeta)) pi))<br>dbeta (/ beta nr)<br>delta (- pi beta)<br>ddelta (/ delta nr)<br>dx (* r dbeta)<br>dxx (* r ddelta)<br>xx0 (* r (- 1 (cos delta)))<br>yymax (* xx0 (/ (sin teta) (cos teta)))<br>x0 (car pt0)<br>y0 (cadr pt0)<br>Ltot (* 2 pi r)<br>Ldecup (* 2 beta r)<br>L1 (/ (- Ltot Ldecup) 2)<br>x00 x0<br>y00 (- y0 h)<br>yref y00<br>xxref x0<br>yyref y0<br>x1 (- x0 L1)<br>y1 (- y0 yymax)<br>x2 x1<br>y2 (- y0 ht)<br>x3 (+ x1 Ltot)<br>y3 y2<br>x4 x3<br>y4 y1<br>x5 (+ x0 Ldecup)<br>y5 y0<br>x6 x5<br>y6 y00<br>xmid (+ x1 (/ Ltot 2))<br>pt00 (list x00 y00)<br>ptt0 (list x0 y0)<br>pt1 (list x1 y1)<br>pt2 (list x2 y2)<br>pt3 (list x3 y3)<br>pt4 (list x4 y4)<br>pt5 (list x5 y5)<br>pt6 (list x6 y6)<br>cont 1)<br>(command "line" pt00 pt0 "")<br>(command "line" pt5 pt6 "")<br>(command "pline" pt1 pt2 pt3 pt4 "")<br>(while (<= cont nr)<br>(setq betai (- beta (* cont dbeta))<br>xp (- (* r (cos betai)) e)<br>yp (* r (sin betai))<br>x (- rt (sqrt (+ (* (- rt xp) (- rt xp)) (* yp yp))))<br>y (/ (* b (sqrt (- (* 2 a x) (* x x)))) a)<br>xi (+ x00 dx)<br>yi (- yref y)<br>pti (list xi yi)<br>xf0 (+ xmid (- xmid x00))<br>yf0 y00<br>xfi (+ xmid (- xmid xi))<br>yfi yi<br>ptf0 (list xf0 yf0)<br>ptfi (list xfi yfi)<br>deltai (- delta (* cont ddelta))<br>xli (- xx0 (* r (- 1 (cos deltai))))<br>yli (* xli (/ (sin teta) (cos teta)))<br>xxi (- xxref (* dxx cont))<br>yyi (- yyref yli)<br>ptti (list xxi yyi)<br>xxf0 (+ xmid (- xmid x0))<br>yyf0 y0<br>xxfi (+ xmid (- xmid xxi))<br>yyfi yyi<br>pttf0 (list xxf0 yyf0)<br>pttfi (list xxfi yyfi))<br>(command "line" pt00 pti "")<br>(command "line" ptf0 ptfi "")<br>(command "line" ptt0 ptti "")<br>(command "line" pttf0 pttfi "")<br>(setq x00 xi<br>y00 yi<br>pt00 (list x00 y00)<br>x0 xxi<br>y0 yyi<br>ptt0 (list x0 y0)<br>cont (+ 1 cont)))<br>(setvar "osmode" osmd)<br>(princ)))<br>)<br><br>;--------------------------------------------------------<br><br>(defun DwgRdRctg ()<br>(if (or (<= d 0) (<= a 0) (<= b 0) (<= h 0) (< alfg 0) (>= alfg 90))<br>(alertrdrctg)<br>(progn<br>(setq osmd (getvar "osmode"))<br>(setvar "osmode" 16384)<br>(setvar "pdmode" 0)<br>(setvar "plinewid" 0.0)<br>(setq pt0 (getpoint "Base Point:")<br>alfa (/ (* pi alfg) 180)<br>r (/ d 2)<br>x1 (+ dx (* 0.5 a (cos alfa)))<br>y1 (+ dy (* 0.5 b))<br>z1 (- h (* 0.5 a (sin alfa)))<br>x2 (- dx (* 0.5 a (cos alfa)))<br>y2 (+ dy (* 0.5 b))<br>z2 (+ h (* 0.5 a (sin alfa)))<br>x3 (- dx (* 0.5 a (cos alfa)))<br>y3 (- dy (* 0.5 b))<br>z3 (+ h (* 0.5 a (sin alfa)))<br>x4 (+ dx (* 0.5 a (cos alfa)))<br>y4 (- dy (* 0.5 b))<br>z4 (- h (* 0.5 a (sin alfa)))<br>p1 (list x1 y1 z1)<br>p2 (list x2 y2 z2)<br>p3 (list x3 y3 z3)<br>p4 (list x4 y4 z4)<br>pa (list (* r (cos (/ (* 0 pi) 180))) (* r (sin (/ (* 0 pi) 180))) 0.0)<br>pb (list (* r (cos (/ (* 15 pi) 180))) (* r (sin (/ (* 15 pi) 180))) 0.0)<br>pc (list (* r (cos (/ (* 30 pi) 180))) (* r (sin (/ (* 30 pi) 180))) 0.0)<br>pd (list (* r (cos (/ (* 45 pi) 180))) (* r (sin (/ (* 45 pi) 180))) 0.0)<br>pe (list (* r (cos (/ (* 60 pi) 180))) (* r (sin (/ (* 60 pi) 180))) 0.0)<br>pf (list (* r (cos (/ (* 75 pi) 180))) (* r (sin (/ (* 75 pi) 180))) 0.0)<br>pg (list (* r (cos (/ (* 90 pi) 180))) (* r (sin (/ (* 90 pi) 180))) 0.0)<br>ph (list (* r (cos (/ (* 105 pi) 180))) (* r (sin (/ (* 105 pi) 180))) 0.0)<br>pj (list (* r (cos (/ (* 120 pi) 180))) (* r (sin (/ (* 120 pi) 180))) 0.0)<br>pk (list (* r (cos (/ (* 135 pi) 180))) (* r (sin (/ (* 135 pi) 180))) 0.0)<br>pl (list (* r (cos (/ (* 150 pi) 180))) (* r (sin (/ (* 150 pi) 180))) 0.0)<br>pm (list (* r (cos (/ (* 165 pi) 180))) (* r (sin (/ (* 165 pi) 180))) 0.0)<br>pn (list (* r (cos (/ (* 180 pi) 180))) (* r (sin (/ (* 180 pi) 180))) 0.0)<br>po (list (* r (cos (/ (* 195 pi) 180))) (* r (sin (/ (* 195 pi) 180))) 0.0)<br>pp (list (* r (cos (/ (* 210 pi) 180))) (* r (sin (/ (* 210 pi) 180))) 0.0)<br>pq (list (* r (cos (/ (* 225 pi) 180))) (* r (sin (/ (* 225 pi) 180))) 0.0)<br>pr (list (* r (cos (/ (* 240 pi) 180))) (* r (sin (/ (* 240 pi) 180))) 0.0)<br>ps (list (* r (cos (/ (* 255 pi) 180))) (* r (sin (/ (* 255 pi) 180))) 0.0)<br>pt (list (* r (cos (/ (* 270 pi) 180))) (* r (sin (/ (* 270 pi) 180))) 0.0)<br>pu (list (* r (cos (/ (* 285 pi) 180))) (* r (sin (/ (* 285 pi) 180))) 0.0)<br>pv (list (* r (cos (/ (* 300 pi) 180))) (* r (sin (/ (* 300 pi) 180))) 0.0)<br>px (list (* r (cos (/ (* 315 pi) 180))) (* r (sin (/ (* 315 pi) 180))) 0.0)<br>py (list (* r (cos (/ (* 330 pi) 180))) (* r (sin (/ (* 330 pi) 180))) 0.0)<br>pz (list (* r (cos (/ (* 345 pi) 180))) (* r (sin (/ (* 345 pi) 180))) 0.0)<br>lsgm (/ (* pi d) 24)<br>l12 a<br>l23 b<br>l34 a<br>l14 b<br>l1a (distance p1 pa)<br>l1b (distance p1 pb)<br>l1c (distance p1 pc)<br>l1d (distance p1 pd)<br>l1e (distance p1 pe)<br>l1f (distance p1 pf)<br>l1g (distance p1 pg)<br>l2g (distance p2 pg)<br>l2h (distance p2 ph)<br>l2j (distance p2 pj)<br>l2k (distance p2 pk)<br>l2l (distance p2 pl)<br>l2m (distance p2 pm)<br>l2n (distance p2 pn)<br>l3n (distance p3 pn)<br>l3o (distance p3 po)<br>l3p (distance p3 pp)<br>l3q (distance p3 pq)<br>l3r (distance p3 pr)<br>l3s (distance p3 ps)<br>l3t (distance p3 pt)<br>l4t (distance p4 pt)<br>l4u (distance p4 pu)<br>l4v (distance p4 pv)<br>l4x (distance p4 px)<br>l4y (distance p4 py)<br>l4z (distance p4 pz)<br>l4a (distance p4 pa))<br>(unghi l4a l14 l1a)<br>(setq u14a ung)<br>(unghi l14 l1a l4a)<br>(setq u41a ung)<br>(unghi l1g l12 l2g)<br>(setq u21g ung)<br>(unghi l12 l2g l1g)<br>(setq u12g ung)<br>(unghi l2n l23 l3n)<br>(setq u32n ung)<br>(unghi l23 l3n l2n)<br>(setq u23n ung)<br>(unghi l3t l34 l4t)<br>(setq u43t ung)<br>(unghi l34 l4t l3t)<br>(setq u34t ung)<br>(unghi l1a l1b lsgm)<br>(setq u1b ung)<br>(unghi l1b l1c lsgm)<br>(setq u1c ung)<br>(unghi l1c l1d lsgm)<br>(setq u1d ung)<br>(unghi l1d l1e lsgm)<br>(setq u1e ung)<br>(unghi l1e l1f lsgm)<br>(setq u1f ung)<br>(unghi l1f l1g lsgm)<br>(setq u1g ung)<br>(unghi l2g l2h lsgm)<br>(setq u2h ung)<br>(unghi l2h l2j lsgm)<br>(setq u2j ung)<br>(unghi l2j l2k lsgm)<br>(setq u2k ung)<br>(unghi l2k l2l lsgm)<br>(setq u2l ung)<br>(unghi l2l l2m lsgm)<br>(setq u2m ung)<br>(unghi l2m l2n lsgm)<br>(setq u2n ung)<br>(unghi l3n l3o lsgm)<br>(setq u3o ung)<br>(unghi l3o l3p lsgm)<br>(setq u3p ung)<br>(unghi l3p l3q lsgm)<br>(setq u3q ung)<br>(unghi l3q l3r lsgm)<br>(setq u3r ung)<br>(unghi l3r l3s lsgm)<br>(setq u3s ung)<br>(unghi l3s l3t lsgm)<br>(setq u3t ung)<br>(unghi l4t l4u lsgm)<br>(setq u4u ung)<br>(unghi l4u l4v lsgm)<br>(setq u4v ung)<br>(unghi l4v l4x lsgm)<br>(setq u4x ung)<br>(unghi l4x l4y lsgm)<br>(setq u4y ung)<br>(unghi l4y l4z lsgm)<br>(setq u4z ung)<br>(unghi l4z l4a lsgm)<br>(setq u4a ung)<br>(setq pt1 (polar pt0 0.0 l14)<br>pta0 (polar pt0 u14a l4a)<br>ucr (- pi (+ u41a u1b))<br>ptb (polar pt1 ucr l1b)<br>ucr (- ucr u1c)<br>ptc (polar pt1 ucr l1c)<br>ucr (- ucr u1d)<br>ptd (polar pt1 ucr l1d)<br>ucr (- ucr u1e)<br>pte (polar pt1 ucr l1e)<br>ucr (- ucr u1f)<br>ptf (polar pt1 ucr l1f)<br>ucr (- ucr u1g)<br>ptg (polar pt1 ucr l1g)<br>ucr (- ucr u21g)<br>pt2 (polar pt1 ucr l12)<br>ucr (- (+ pi ucr) (+ u12g u2h))<br>pth (polar pt2 ucr l2h)<br>ucr (- ucr u2j)<br>ptj (polar pt2 ucr l2j)<br>ucr (- ucr u2k)<br>ptk (polar pt2 ucr l2k)<br>ucr (- ucr u2l)<br>ptl (polar pt2 ucr l2l)<br>ucr (- ucr u2m)<br>ptm (polar pt2 ucr l2m)<br>ucr (- ucr u2n)<br>ptn (polar pt2 ucr l2n)<br>ucr (- ucr u32n)<br>pt3 (polar pt2 ucr l23)<br>ucr (- (+ pi ucr) (+ u23n u3o))<br>pto (polar pt3 ucr l3o)<br>ucr (- ucr u3p)<br>ptp (polar pt3 ucr l3p)<br>ucr (- ucr u3q)<br>ptq (polar pt3 ucr l3q)<br>ucr (- ucr u3r)<br>ptr (polar pt3 ucr l3r)<br>ucr (- ucr u3s)<br>pts (polar pt3 ucr l3s)<br>ucr (- ucr u3t)<br>ptt (polar pt3 ucr l3t)<br>ucr (- ucr u43t)<br>pt4 (polar pt3 ucr l34)<br>ucr (- (+ pi ucr) (+ u34t u4u))<br>ptu (polar pt4 ucr l4u)<br>ucr (- ucr u4v)<br>ptv (polar pt4 ucr l4v)<br>ucr (- ucr u4x)<br>ptx (polar pt4 ucr l4x)<br>ucr (- ucr u4y)<br>pty (polar pt4 ucr l4y)<br>ucr (- ucr u4z)<br>ptz (polar pt4 ucr l4z)<br>ucr (- ucr u4a)<br>pta (polar pt4 ucr l4a))<br>(command "pline" pt0 pta0 pt1 ptg pt2 ptn pt3 ptt pt4 pt3 pt2 pt1 "c")<br>(command "pline" pta0 ptb ptc ptd pte ptf ptg pth ptj ptk ptl ptm ptn pto ptp ptq ptr pts ptt ptu ptv ptx pty ptz pta "")<br>(command "line" ptb pt1 ptc "")<br>(command "line" ptd pt1 pte "")<br>(command "line" pt1 ptf "")<br>(command "line" pth pt2 ptj "")<br>(command "line" ptk pt2 ptl "")<br>(command "line" pt2 ptm "")<br>(command "line" pto pt3 ptp "")<br>(command "line" ptq pt3 ptr "")<br>(command "line" pt3 pts "")<br>(command "line" ptu pt4 ptv "")<br>(command "line" ptx pt4 pty "")<br>(command "line" ptz pt4 pta "")<br>(setvar "osmode" osmd)<br>(princ)))<br>)<br><br>;--------------------------------------------------------<br><br>(defun alertcylsb ()<br>(if (<= d 0) (alert " D > 0 !!!"))<br>(if (<= h 0) (alert " H > 0 !!!"))<br>(if (<= alft -90) (alert " ALPHAt > -90 !!!"))<br>(if (>= alft 90) (alert " ALPHAt < 90 !!!"))<br>(if (<= alfb -90) (alert " ALPHAb > -90 !!!"))<br>(if (>= alfb 90) (alert " ALPHAb < 90 !!!"))<br>(if (<= nr 10) (alert " NR > 10 !!!"))<br>(cylsb)<br>)<br><br>;--------------------------------------------------------<br><br>(defun alerthelix ()<br>(if (<= d1 d2) (alert " D1 > D2 !!! "))<br>(if (<= d2 0) (alert " D2 > 0 !!! "))<br>(if (<= s 0) (alert " S > 0 !!! "))<br>(helix)<br>)<br><br>;--------------------------------------------------------<br><br>(defun alerticc ()<br>(if (<= a h) (alert " A > H !!! "))<br>(if (<= b 0) (alert " B > 0 !!! "))<br>(if (<= h 0) (alert " H > 0 !!! "))<br>(if (< d1 d2) (alert " D1 >= D2 !!! "))<br>(if (<= d2 0) (alert " D2 > 0 !!! "))<br>(if (< dy (/ (- d2 d1) 2)) (alert " DY >= -(D1-D2)/2 !!! "))<br>(if (> dy (/ (- d1 d2) 2)) (alert " DY <= (D1-D2)/2 !!! "))<br>(if (<= alfg 0) (alert " ALPHA > 0 !!! "))<br>(if (>= alfg 180) (alert " ALPHA < 180 !!! "))<br>(if (<= nr 10) (alert " NR > 10 !!!"))<br>(intcylcyl)<br>)<br><br>;--------------------------------------------------------<br><br>(defun alertcconedh ()<br>(if (<= d1 d2) (alert " D1 > D2 !!! "))<br>(if (< d2 0) (alert " D2 >= 0 !!! "))<br>(if (<= h 0) (alert " H > 0 !!! "))<br>(cconedh)<br>)<br><br>;--------------------------------------------------------<br><br>(defun alertcconeda ()<br>(if (<= d1 d2) (alert " D1 > D2 !!! "))<br>(if (< d2 0) (alert " D2 >= 0 !!! "))<br>(if (<= alfa 0) (alert " ALPHA > 0 !!!"))<br>(if (>= alfa 90) (alert " ALPHA < 90 !!!"))<br>(cconeda)<br>)<br><br>;--------------------------------------------------------<br><br>(defun alertecone ()<br>(if (<= d1 d2) (alert " D1 > D2 !!! "))<br>(if (< d2 0) (alert " D2 >= 0 !!! "))<br>(if (<= ht 0) (alert " H > 0 !!! "))<br>(if (<= nr 5) (alert " NR > 5 !!! "))<br>(ecccone)<br>)<br><br>;--------------------------------------------------------<br><br>(defun alertconesb ()<br>(if (<= h 0) (alert " H > 0 !!!"))<br>(if (< ht h) (alert " Htot >= H !!!"))<br>(if (<= alfa 0) (alert " ALPHA > 0 !!!"))<br>(if (>= alfa 90) (alert " ALPHA < 90 !!!"))<br>(if (<= betat (* -1 alfa)) (alert " BETAt > -ALPHA !!!"))<br>(if (>= betat alfa) (alert " BETAt < ALPHA !!!"))<br>(if (< betab 0) (alert " BETAb >= 0 !!!"))<br>(if (>= betab alfa) (alert " BETAb < ALPHA !!!"))<br>(if (< nr 12) (alert " NR >= 12 !!!"))<br>(conesb)<br>)<br><br>;--------------------------------------------------------<br><br>(defun alertcflcone ()<br>(if (<= d1i d2i) (alert " D1i > D2i !!! "))<br>(if (< d2i 0) (alert " D2i >= 0 !!! "))<br>(if (< kri 0) (alert " KRi >= 0 !!! "))<br>(if (< sf 0) (alert " SF >= 0 !!! "))<br>(if (< thk 0) (alert " t >= 0 !!! "))<br>(if (<= alfa 0) (alert " ALPHA > 0 !!!"))<br>(if (>= alfa 90) (alert " ALPHA < 90 !!!"))<br>(concflcone)<br>)<br><br>;--------------------------------------------------------<br><br>(defun alertlegcone ()<br>(if (<= dt d) (alert " D > d !!! "))<br>(if (<= d 0) (alert " d > 0 !!! "))<br>(if (< rk 0) (alert " rk >= 0 !!! "))<br>(if (>= e (/ d 2)) (alert " e < d/2 !!! "))<br>(if (< teta 0) (alert " Theta >= 0 !!! "))<br>(if (>= teta 80) (alert " Theta < 80 !!! "))<br>(if (< tp 0) (alert " t >= 0 !!! "))<br>(if (<= ht 0) (alert " HT > 0 !!! "))<br>(if (< alfa 0) (alert " ALPHA >= 0 !!! "))<br>(if (>= alfa 90) (alert " ALPHA < 90 !!! "))<br>(if (< nr 5) (alert " NR >= 5 !!! "))<br>(intlegcone)<br>)<br><br>;--------------------------------------------------------<br><br>(defun alertlegfd ()<br>(if (<= dt d) (alert " D > d !!! "))<br>(if (<= d 0) (alert " d > 0 !!! "))<br>(if (<= rd rk) (alert " Rd > rk !!! "))<br>(if (< rk 0) (alert " rk >= 0 !!! "))<br>(if (>= e (/ d 2)) (alert " e < d/2 !!! "))<br>(if (< teta 0) (alert " Theta >= 0 !!! "))<br>(if (>= teta 80) (alert " Theta < 80 !!! "))<br>(if (< tp 0) (alert " t >= 0 !!! "))<br>(if (<= ht 0) (alert " HT > 0 !!! "))<br>(if (< nr 5) (alert " NR >= 5 !!! "))<br>(intlegfd)<br>)<br><br>;--------------------------------------------------------<br><br>(defun alertlegellipt ()<br>(if (<= dt d) (alert " D > d !!! "))<br>(if (<= d 0) (alert " d > 0 !!! "))<br>(if (>= e (/ d 2)) (alert " e < d/2 !!! "))<br>(if (< teta 0) (alert " Theta >= 0 !!! "))<br>(if (>= teta 80) (alert " Theta < 80 !!! "))<br>(if (< tp 0) (alert " t >= 0 !!! "))<br>(if (<= ht 0) (alert " HT > 0 !!! "))<br>(if (< nr 5) (alert " NR >= 5 !!! "))<br>(intlegellipt)<br>)<br><br>;--------------------------------------------------------<br><br>(defun alertrdrctg ()<br>(if (<= d 0) (alert " D > 0 !!! "))<br>(if (<= a 0) (alert " A > 0 !!! "))<br>(if (<= b 0) (alert " B > 0 !!! "))<br>(if (<= h 0) (alert " H > 0 !!! "))<br>(if (< alfg 0) (alert " ALPHA >= 0 !!! "))<br>(if (>= alfg 90) (alert " ALPHA < 90 !!! "))<br>(redrdrctg)<br>)<br><br>;--------------------------------------------------------<br><br>(defun cylsb ()<br>(setq dcl_id (load_dialog (strcat prgpath "DEVELOP.dcl")))<br>(if (not (new_dialog "CYLSB" dcl_id)) (exit))<br>(setq x (dimx_tile "image")<br>y (dimy_tile "image"))<br>(start_image "image")<br>(fill_image 0 0 x y 0)<br>(slide_image 0 0 x y (strcat prgpath "cylsb"))<br>(end_image)<br>(action_tile "cancel" "(setq ddiag 1) (done_dialog)")<br>(action_tile "accept" "(setq ddiag 2) (SaveVarsCylsb) (done_dialog)")<br>(start_dialog)<br>(unload_dialog dcl_id)<br>(if (= ddiag 1) (princ))<br>(if (= ddiag 2) (DwgCylsb)) <br>)<br><br>;--------------------------------------------------------<br><br>(defun helix ()<br>(setq dcl_id (load_dialog (strcat prgpath "DEVELOP.dcl")))<br>(if (not (new_dialog "HLX" dcl_id)) (exit))<br>(setq x (dimx_tile "image")<br>y (dimy_tile "image"))<br>(start_image "image")<br>(fill_image 0 0 x y 0)<br>(slide_image 0 0 x y (strcat prgpath "hlx"))<br>(end_image)<br>(action_tile "cancel" "(setq ddiag 1) (done_dialog)")<br>(action_tile "accept" "(setq ddiag 2) (SaveVarsHelix) (done_dialog)")<br>(start_dialog)<br>(unload_dialog dcl_id)<br>(if (= ddiag 1) (princ))<br>(if (= ddiag 2) (DwgHelix)) <br>)<br><br>;--------------------------------------------------------<br><br>(defun intcylcyl ()<br>(setq dcl_id (load_dialog (strcat prgpath "DEVELOP.dcl")))<br>(if (not (new_dialog "ICC" dcl_id)) (exit))<br>(setq x (dimx_tile "image")<br>y (dimy_tile "image"))<br>(start_image "image")<br>(fill_image 0 0 x y 0)<br>(slide_image 0 0 x y (strcat prgpath "icc"))<br>(end_image)<br>(action_tile "cancel" "(setq ddiag 1) (done_dialog)")<br>(action_tile "accept" "(setq ddiag 2) (SaveVarsIcc) (done_dialog)")<br>(start_dialog)<br>(unload_dialog dcl_id)<br>(if (= ddiag 1) (princ))<br>(if (= ddiag 2) (DwgIcc)) <br>)<br><br>;--------------------------------------------------------<br><br>(defun conccone ()<br>(setq dcl_id (load_dialog (strcat prgpath "DEVELOP.dcl")))<br>(if (not (new_dialog "CCONE" dcl_id)) (exit))<br>(action_tile "cancel" "(setq ddiag 1) (done_dialog)")<br>(action_tile "accept" "(setq ddiag 2) (SaveVars) (done_dialog)")<br>(start_dialog)<br>(unload_dialog dcl_id)<br>(if (= ddiag 1) (princ))<br>(if (= ddiag 2)<br>(cond<br>((= myChoice "but1") (cconedh))<br>((= myChoice "but2") (cconeda))<br>)<br>)<br>)<br><br>;--------------------------------------------------------<br><br>(defun cconedh ()<br>(setq dcl_id (load_dialog (strcat prgpath "DEVELOP.dcl")))<br>(if (not (new_dialog "CCONEDH" dcl_id)) (exit))<br>(setq x (dimx_tile "image")<br>y (dimy_tile "image"))<br>(start_image "image")<br>(fill_image 0 0 x y 0)<br>(slide_image 0 0 x y (strcat prgpath "cnc_cone_dh"))<br>(end_image)<br>(action_tile "cancel" "(setq ddiag 1) (done_dialog)")<br>(action_tile "accept" "(setq ddiag 2) (SaveVarsCconeDH) (done_dialog)")<br>(start_dialog)<br>(unload_dialog dcl_id)<br>(if (= ddiag 1) (princ))<br>(if (= ddiag 2) (DwgCconeDH)) <br>)<br><br>;--------------------------------------------------------<br><br>(defun cconeda ()<br>(setq dcl_id (load_dialog (strcat prgpath "DEVELOP.dcl")))<br>(if (not (new_dialog "CCONEDA" dcl_id)) (exit))<br>(setq x (dimx_tile "image")<br>y (dimy_tile "image"))<br>(start_image "image")<br>(fill_image 0 0 x y 0)<br>(slide_image 0 0 x y (strcat prgpath "cnc_cone_da"))<br>(end_image)<br>(action_tile "cancel" "(setq ddiag 1) (done_dialog)")<br>(action_tile "accept" "(setq ddiag 2) (SaveVarsCconeDA) (done_dialog)")<br>(start_dialog)<br>(unload_dialog dcl_id)<br>(if (= ddiag 1) (princ))<br>(if (= ddiag 2) (DwgCconeDA)) <br>)<br><br>;--------------------------------------------------------<br><br>(defun ecccone ()<br>(setq dcl_id (load_dialog (strcat prgpath "DEVELOP.dcl")))<br>(if (not (new_dialog "ECONE" dcl_id)) (exit))<br>(setq x (dimx_tile "image")<br>y (dimy_tile "image"))<br>(start_image "image")<br>(fill_image 0 0 x y 0)<br>(slide_image 0 0 x y (strcat prgpath "ecc_cone"))<br>(end_image)<br>(action_tile "cancel" "(setq ddiag 1) (done_dialog)")<br>(action_tile "accept" "(setq ddiag 2) (SaveVarsEcone) (done_dialog)")<br>(start_dialog)<br>(unload_dialog dcl_id)<br>(if (= ddiag 1) (princ))<br>(if (= ddiag 2) (DwgEcone)) <br>)<br><br>;--------------------------------------------------------<br><br>(defun conesb ()<br>(setq dcl_id (load_dialog (strcat prgpath "DEVELOP.dcl")))<br>(if (not (new_dialog "CONESB" dcl_id)) (exit))<br>(setq x (dimx_tile "image")<br>y (dimy_tile "image"))<br>(start_image "image")<br>(fill_image 0 0 x y 0)<br>(slide_image 0 0 x y (strcat prgpath "cone_sb"))<br>(end_image)<br>(action_tile "cancel" "(setq ddiag 1) (done_dialog)")<br>(action_tile "accept" "(setq ddiag 2) (SaveVarsConesb) (done_dialog)")<br>(start_dialog)<br>(unload_dialog dcl_id)<br>(if (= ddiag 1) (princ))<br>(if (= ddiag 2) (DwgConesb)) <br>)<br><br>;--------------------------------------------------------<br><br>(defun concflcone ()<br>(setq dcl_id (load_dialog (strcat prgpath "DEVELOP.dcl")))<br>(if (not (new_dialog "CFLCONE" dcl_id)) (exit))<br>(setq x (dimx_tile "image")<br>y (dimy_tile "image"))<br>(start_image "image")<br>(fill_image 0 0 x y 0)<br>(slide_image 0 0 x y (strcat prgpath "cnc_fl_cone"))<br>(end_image)<br>(action_tile "cancel" "(setq ddiag 1) (done_dialog)")<br>(action_tile "accept" "(setq ddiag 2) (SaveVarsCflcone) (done_dialog)")<br>(start_dialog)<br>(unload_dialog dcl_id)<br>(if (= ddiag 1) (princ))<br>(if (= ddiag 2) (DwgCflcone)) <br>)<br><br>;--------------------------------------------------------<br><br>(defun intlegcone ()<br>(setq dcl_id (load_dialog (strcat prgpath "DEVELOP.dcl")))<br>(if (not (new_dialog "LEGCONE" dcl_id)) (exit))<br>(setq x (dimx_tile "image")<br>y (dimy_tile "image"))<br>(start_image "image")<br>(fill_image 0 0 x y 0)<br>(slide_image 0 0 x y (strcat prgpath "leg_cone"))<br>(end_image)<br>(action_tile "cancel" "(setq ddiag 1) (done_dialog)")<br>(action_tile "accept" "(setq ddiag 2) (SaveVarsLegCone) (done_dialog)")<br>(start_dialog)<br>(unload_dialog dcl_id)<br>(if (= ddiag 1) (princ))<br>(if (= ddiag 2) (DwgIntLegCone)) <br>)<br><br>;--------------------------------------------------------<br><br>(defun intlegfd ()<br>(setq dcl_id (load_dialog (strcat prgpath "DEVELOP.dcl")))<br>(if (not (new_dialog "LEGFD" dcl_id)) (exit))<br>(setq x (dimx_tile "image")<br>y (dimy_tile "image"))<br>(start_image "image")<br>(fill_image 0 0 x y 0)<br>(slide_image 0 0 x y (strcat prgpath "leg_fd"))<br>(end_image)<br>(action_tile "cancel" "(setq ddiag 1) (done_dialog)")<br>(action_tile "accept" "(setq ddiag 2) (SaveVarsLegFD) (done_dialog)")<br>(start_dialog)<br>(unload_dialog dcl_id)<br>(if (= ddiag 1) (princ))<br>(if (= ddiag 2) (DwgIntLegFD)) <br>)<br><br>;--------------------------------------------------------<br><br>(defun intlegellipt ()<br>(setq dcl_id (load_dialog (strcat prgpath "DEVELOP.dcl")))<br>(if (not (new_dialog "LEGELLIPT" dcl_id)) (exit))<br>(setq x (dimx_tile "image")<br>y (dimy_tile "image"))<br>(start_image "image")<br>(fill_image 0 0 x y 0)<br>(slide_image 0 0 x y (strcat prgpath "leg_ellipt"))<br>(end_image)<br>(action_tile "cancel" "(setq ddiag 1) (done_dialog)")<br>(action_tile "accept" "(setq ddiag 2) (SaveVarsLegEllipt) (done_dialog)")<br>(start_dialog)<br>(unload_dialog dcl_id)<br>(if (= ddiag 1) (princ))<br>(if (= ddiag 2) (DwgIntLegEllipt)) <br>)<br><br>;--------------------------------------------------------<br><br>(defun redrdrctg ()<br>(setq dcl_id (load_dialog (strcat prgpath "DEVELOP.dcl")))<br>(if (not (new_dialog "RNDRCTG" dcl_id)) (exit))<br>(setq x (dimx_tile "image")<br>y (dimy_tile "image"))<br>(start_image "image")<br>(fill_image 0 0 x y 0)<br>(slide_image 0 0 x y (strcat prgpath "rd_rctg"))<br>(end_image)<br>(action_tile "cancel" "(setq ddiag 1) (done_dialog)")<br>(action_tile "accept" "(setq ddiag 2) (SaveVarsRdRctg) (done_dialog)")<br>(start_dialog)<br>(unload_dialog dcl_id)<br>(if (= ddiag 1) (princ))<br>(if (= ddiag 2) (DwgRdRctg)) <br>)<br><br>;--------------------------------------------------------<br><br>(defun CEV ()<br>(setq prgpath "C:/USERS/Robert Perron/DESKTOP/DEVELOP/")<br>(setq dcl_id (load_dialog (strcat prgpath "DEVELOP.dcl")))<br>(if (not (new_dialog "DVLP" dcl_id)) (exit))<br>(action_tile "cancel" "(setq ddiag 1) (done_dialog)")<br>(action_tile "accept" "(setq ddiag 2) (SaveVars) (done_dialog)")<br>(start_dialog)<br>(unload_dialog dcl_id)<br>(if (= ddiag 1) (princ))<br>(if (= ddiag 2)<br>(cond<br>((= myChoice "but1") (cylsb))<br>((= myChoice "but2") (helix))<br>((= myChoice "but3") (conccone))<br>((= myChoice "but4") (ecccone))<br>((= myChoice "but5") (conesb))<br>((= myChoice "but6") (concflcone))<br>((= myChoice "but7") ())<br>((= myChoice "but8") ())<br>((= myChoice "but9") ())<br>((= myChoice "but10") ())<br>((= myChoice "but11") (intcylcyl))<br>((= myChoice "but12") ())<br>((= myChoice "but13") ())<br>((= myChoice "but14") (intlegcone))<br>((= myChoice "but15") (intlegfd))<br>((= myChoice "but16") (intlegellipt))<br>((= myChoice "but17") (redrdrctg))<br>)<br>)<br>)<br>
页:
1
[2]