spp_wall 发表于 2014-9-23 16:39:46

下面的程序只对直线有效 对多段线无效 应该怎么修改?

本帖最后由 spp_wall 于 2014-9-24 12:18 编辑

(defun c:ff()
(setvar "cmdecho" 0);控制command回显,0.关闭回显 1.打开回显
(setvar "blipmode" 0);在AutoCAD中有时有交叉点标记在鼠标点击处产生,用BLIPMODE命令,在提示行下输入OFF可消除它
;(graphscr);显示 AutoCAD 图形屏幕
(setq s (entsel "\n选择第一条线"))
(setq s2 (entsel "\n选择第二条线"))
(command "_.UCS" "")
(command "_.MOVE" s s2 "" "0,0,0" "0,0,1e99")
(command "_.MOVE" s s2 "" "0,0,0" "0,0,-1e99")
(command "_.fillet""r" "5""")
(command "_.fillet" s s2) ;
(setvar "cmdecho" 1)
(princ)
)


改了几小时还是无法实现也许大师一下就解决了 谢谢 帮忙看看!

改成圆角 Z轴归零对多段线也有效果!! 如果半径能改成可以自己选择就更好了!

自己完善了选择半径 见楼下 请高手再完善下:
1:现在有时候多段线进行倒圆角 会连成一条多段线 怎么在程序中最后分解多段线!
2:能不能进行半径的标注!


ZZXXQQ 发表于 2014-9-23 20:32:06

(command "_.fillet""r" "5" "")
(command "_.fillet" s s2)
==>
(command "_.fillet""r" "5")
(command "_.fillet" (cadr s) (cadr s2))

spp_wall 发表于 2014-9-23 20:51:24

ZZXXQQ 发表于 2014-9-23 20:32 static/image/common/back.gif
(command "_.fillet""r" "5" "")
(command "_.fillet" s s2)
==>

可以用在多段线了 但是 怎么点完两条线 后还要再点一条线呢!

spp_wall 发表于 2014-9-24 12:17:13

(defun c:ff(/ s3 s4 )
(setvar "cmdecho" 0);控制command回显,0.关闭回显 1.打开回显
(setvar "blipmode" 0);在AutoCAD中有时有交叉点标记在鼠标点击处产生,用BLIPMODE命令,在提示行下输入OFF可消除它
;(graphscr);显示 AutoCAD 图形屏幕
(setq s (entsel "\n选择第一条线"))
(setq s2 (entsel "\n选择第二条线"))
;(setq ss(ssget s s2 ));根据选定对象创建选择集
;线段Z归零开始
(command "_.UCS" "")
(command "_.MOVE" s s2 "" "0,0,0" "0,0,1e99")
(command "_.MOVE" s s2 "" "0,0,0" "0,0,-1e99");线段Z归零结束

;半径选择开始
(initget "A B C D E F G H I J")
(setq s3 (getkword "\n请选择半径<A>:"))
(if (or (null s3) (= s3 "A")) (setq s4 "5")) ;设置半径
(if (= s3 "B") (setq s4 "10"))
(if (= s3 "C") (setq s4 "15"))
(if (= s3 "D") (setq s4 "20"))
(if (= s3 "E") (setq s4 "25"))
(if (= s3 "F") (setq s4 "30"))
(if (= s3 "G") (setq s4 "35"))
(if (= s3 "H") (setq s4 "40"))
(if (= s3 "I") (setq s4 "45"))
(if (= s3 "J") (setq s4 "50"));半径选择结束

;圆角开始
(command "_.fillet""r" s4)
(command "_.fillet" (cadr s) (cadr s2));圆角结束


;分解开始(未完)
(setq el (entlast) )

(command "_explode" el);分解结束(未完)

;标注半径开始(未完)

;标注半径结束(未完)

(setvar "cmdecho" 1)
(princ)
)

自己完善了选择半径 请高手再完善下:
1:现在有时候多段线进行倒圆角 会连成一条多段线 怎么在程序中最后分解多段线!
2:能不能进行半径的标注!
页: [1]
查看完整版本: 下面的程序只对直线有效 对多段线无效 应该怎么修改?