求个倒圆角 有不同处 能否实现
如图 倒R角时 一般是打断虚线 倒完R角 再将虚线复完有法子直接倒角 长了剪短了伸不到虚线行吗请问那里出问题了 捕捉丢失
选择要打断(延伸)的线:*取消*
调用(*push-error-using-command*)前无法从 *error* 调用(command)。
建议将(command)调用转换为(command-s)。 本帖最后由 ZZXXQQ 于 2015-5-28 20:18 编辑
;程序未经调试(defun c:tt ()
(setvar "CMDECHO" 0)
(if (setq r (getdist "\n圆角半径r= "))
(command "_.FILLET" "R" r)
)
(while (and (setq s1 (entsel "\n选择要打断(延伸)的线: "))
(setq ent (entget(car s1)))
(= (cdr(assoc 0 ent)) "LINE")
(setq s2 (entsel "\n选择另一条线: ")))
(setq p1 (cdr(assoc 10 ent)))
(setq p2 (cdr(assoc 11 ent)))
(setq pt (if (< (distance p1 (cadr s2)) (distance p2 (cadr s2))) p1 p2))
(command "_.FILLET" "T" "N" s1 s2)
(command "_.EXTEND" "L" "" pt "")
(command "_.TRIM" "L" "" pt "")
(command "_.FILLET" "T" "T" "")
)
(setvar "CMDECHO" 1)
(princ)
)
谢谢Z版 效果没达到我学习下 改改看 lzg8877 发表于 2015-5-28 13:34 static/image/common/back.gif
谢谢Z版 效果没达到我学习下 改改看
沙发修好了,试试看。 (defun c:tt ()
(setq rr (UREAL 7 "" "圆角半径" rr))
(setvar "FILLETRAD" rr)
(setvar "osmode" 0)
(while (and (setq s1 (entsel "\n选择要打断(延伸)的线: "))
(setq s2 (entsel "\n选择另一条线: "))
)
(command "copy" (car s2) "" '(0 0) '(0 0))
(setq s3 (entlast))
(command "fillet" s1 s2)
(command "erase" s2 "")
)
(princ)
) 确实强大 如果选错时还可以复位 让重选就更好了 本帖最后由 spp_wall 于 2015-5-29 11:20 编辑
好像只对直线有效而且好像线过长不会剪切 过短 不会延伸
圆角半径r=
选择要打断(延伸)的线:
选择另一条线:
窗口说明无效。
; 错误: 函数被取消不知这是为什么 昨天在家测试还好 公司不行 ZZXXQQ 发表于 2015-5-28 10:03 static/image/common/back.gif
;程序未经调试
好像剪切了虚线a和B不会延伸! xyp1964 发表于 2015-5-28 21:39 static/image/common/back.gif
效果好,。反复测试结果OK。。虽然用不上,但楼主的代码精简实用,学习了
页:
[1]
2