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 "修改默认值<t>:")) <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>您好!
我不会编程,能不能帮忙编一个"倒角"为园的四分之一的,再次表示感谢!