alan_cmh 发表于 2004-6-23 10:20:00

如何在程序运行开始时提示h1和h2 的值?

ljcgq 发表于 2004-6-23 18:48:00

这样行么?


(defun c:dj( / l ll p1 h h1 h2)<BR>        (setq cm(getvar "cmdecho")       os(getvar "osmode")) <BR>        (setvar "cmdecho" 0)<BR>        (setq h(getreal "请输入默认值:"))<BR>        (setq l(car (nentsel       "请选择直线1")))<BR>        (if       h       (setq h1 h ) (setq h1(getdist "线1切割值:"))       )<BR>        (setq       ll(car (nentsel       "请选择直线2")))<BR>        (if       h       (setq h2 h ) (setq h2(getdist "线2切割值:"))       )                                                               <BR>        (setq p1 (inters               (cdr (assoc 10 (entget l)))               (cdr (assoc 11 (entget l)))<BR>                                                                                                                                                                                                                               (cdr (assoc 10 (entget ll)))       (cdr (assoc 11 (entget ll)))                       nil))<BR>        (command "_chamfer" "d" h1 h2) (command)<BR>        (command "_chamfer" l ll)<BR>        (setq line(entlast))<BR>        (setvar "osmode" 0) <BR>        (command "rectang" (cdr (assoc 10 (entget line))) <BR>                                                                                                                                                                                                                                                                               (cdr (assoc 11 (entget line)))               )<BR>        (command "trim" line "" p1 "") <BR>        (setvar "osmode" os)<BR>        (command "erase" line "")<BR>        (command "explode" (entlast) )<BR>        (setvar "cmdecho" cm) (print)<BR>        )

alan_cmh 发表于 2004-6-23 21:38:00




谢谢ljcgq,"如何在程序运行开始时提示h1和h2 的值?"


我指的是在输入dj命令后,即给出上次的h1和h2 的值,如果是第一次启动dj命令,就提示默认值1.5,就如autocad 的chamfer命令一样!

chd411829 发表于 2004-6-25 13:18:00

好东西,我看不懂,但我会用了,谢谢大家!

ljcgq 发表于 2004-6-27 17:11:00

<A name=29410><FONT color=#000066><B>alan_cmh</B></FONT></A> :下面的修改基本能满足你的要求但是思路不好....希望高手们能给些建议...


(defun c:dj( / l ll p1       )<BR>        (setq cm(getvar "cmdecho")       os(getvar "osmode")) <BR>        (setvar "cmdecho" 0)<BR>        (if (= h1 nil)                               <BR>                               (progn (print       "当前默认值h1=1.5;h2=1.5")(print))<BR>                               (progn (print (strcat "当前默认值h1=" (rtos h1) ";h2=" (rtos h2))) (print))<BR>        )<BR>        (if       (= "t" (getstring "修改默认值&lt;t&gt;:"))                               <BR>                       (progn<BR>                                                                               (setq h1(getreal "请输入默认值h1:"))<BR>                                                                               (setq h2(getreal "请输入默认值h2:")) <BR>                                                                               (setq h3 1)<BR>                       )<BR>               (if ( /= h3 1) <BR>               (setq h1 1.5 h2 1.5)<BR>               )<BR>        )<BR>               (setq l(car (nentsel       "请选择直线1")))<BR>               <BR>        <BR>        (setq       ll(car (nentsel       "请选择直线2")))<BR>        (setq p1 (inters               (cdr (assoc 10 (entget l)))               (cdr (assoc 11 (entget l)))<BR>                                                                                                                                                                                                                               (cdr (assoc 10 (entget ll)))       (cdr (assoc 11 (entget ll)))                       nil))<BR>        (command "_chamfer" "d" h1 h2) (command)<BR>        (command "_chamfer" l ll)<BR>        (setq line(entlast))<BR>        (setvar "osmode" 0) <BR>        (command "rectang" (cdr (assoc 10 (entget line))) <BR>                                                                                                                                                                                                                                                                               (cdr (assoc 11 (entget line)))               )<BR>        (command "trim" line "" p1 "") <BR>        (setvar "osmode" os)<BR>        (command "erase" line "")<BR>        (command "explode" (entlast) )<BR>        (setvar "cmdecho" cm) (print)<BR>        (setq h11 h1) (setq h22 h2)<BR>        )

pfd8667 发表于 2004-10-31 10:31:00

<A name=16532><FONT color=#000066><B>ljcgq</B></FONT></A>您好!


我不会编程,能不能帮忙编一个"倒角"为园的四分之一的,再次表示感谢!
页: 1 2 [3]
查看完整版本: [求助]一個特殊的倒角程序