- 积分
- 43
- 明经币
- 个
- 注册时间
- 2014-9-22
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2014-9-22 10:33:06
|
显示全部楼层
谢谢,顶个,我新手,我发一个源代码不知道怎么用,帮我看看吗
(defun filletgp
(/ ssl1 ssl2 pt1 pt2 pt3 pt4 num num1 num2 i li1 li2
intp1 intp2 nli1 nli2 dist ddd)
(setvar "CMDECHO" 0)
(setq ddd (getvar "FILLETRAD"))
(setq dist (getdist (strcat "\nPlease input fillet radius<" (rtos ddd) ">:")))
(if (/= dist nil)
(setvar "FILLETRAD" dist)
)
(setq
pt1 (getpoint "\nPlease select frist group line:\nFrist point:")
)
(initget 32)
(setq pt2
(getpoint pt1 "Second point:")
pt3
(getpoint "\nPlease select second group line:\nFrist point:"
)
)
(initget 32)
(setq pt4 (getpoint pt3 "Second point:")
ssl1 (ssget "F" (list pt1 pt2) '((0 . "line")))
ssl2 (ssget "F" (list pt3 pt4) '((0 . "line")))
num1 (sslength ssl1)
num2 (sslength ssl2)
num (min num1 num2)
i 0
)
(repeat num
(setq li1 (ssname ssl1 i)
li2 (ssname ssl2 i)
intp1 (inters pt1
pt2
(cdr (assoc 10 (setq nli1 (entget li1))))
(cdr (assoc 11 nli1))
)
intp2 (inters pt3
pt4
(cdr (assoc 10 (setq nli2 (entget li2))))
(cdr (assoc 11 nli2))
)
)
(command "_.fillet" (list li1 intp1) (list li2 intp2))
(if (/= (cdr (assoc 8 nli1)) (cdr (assoc 8 nli2)))
(progn
(setq nli2 (subst (assoc 8 nli1) (assoc 8 nli2) (entget li2)))
(entmod nli2)
)
)
(setq i (1+ i))
)
(princ)
)
;;;
(defun C:fg (/ osort)
(if (= (rem (setq osort (getvar "sortents")) 2) 1)
(progn
(setvar "sortents" (- osort 1))
(filletgp)
(setvar "sortents" osort)
)
(filletgp)
)
(princ)
)
|
|