中国领先的工业平台

返回贤集网 返回微头条
贤集网技术微头条APP获取

一个CAD倒角的小程序,谁给修改修改啊?

 雕钢琢铁

下载贤集网APP入驻自媒体

(defun C:ff(/ r en1 en2 en3 en1_data en2_data P1 P2 P3 P4 p5 p6)
  (setvar "cmdecho" 0)
  (setq osm (getvar "osmode"))
  (setq pic (getvar "pickbox"))
  (setvar "osmode" 0)
  (setq r (getint "指定圆角的半径:"))
  (if(= r nil)(setq r 35))
  (setq en1 (entsel "\n请选择第一条线: "))
  (setq en2 (entsel "\n请选择第二条线: "))
(while en1
  (setq en1 (car en1))
  (setq en1_data(entget en1))
  (setq p1 (cdr(assoc 10  en1_data)))
  (setq P2 (cdr(assoc 11  en1_data)))
(setq tc (cdr(assoc 8  en1_data)))
  (setq p1_datax (car  p1))
  (setq p1_datay (cadr  p1))
  (setq en2 (car en2))
  (setq en2_data(entget en2))
  (setq P3 (cdr(assoc 10  en2_data)))
  (setq P4 (cdr(assoc 11  en2_data)))
  (setq p6 (inters p1 p2 p3 p4 nil))
  (setq p6_datax (car  p6))
  (setq p6_datay (cadr  p6))
  (if (= (- p1_datax p6_datax)(- p1_datay p6_datay))
      (progn 
       (setq ang (angle p2 p6))  
     (Setq P5 (POLAR p6  ang  r))
      )
      (progn 
       (setq ang (angle p1 p6))  
     (Setq P5 (POLAR p6  ang  r))
      )
 )
  (command "FILLET" "r" 0 "FILLET"  en1 en2)
(command "-layer" "s" tc "")
  (command "circle" p6 r)
  (setq en3(entlast))
  (setvar "pickbox"1)
  (command "trim" en1 en2 en3 "" P6 P6 P5  "")
  (setvar "pickbox" pic)
(setvar "osmode" osm) 
(setq en1 (entsel "\n请选择第一条线:<取消轻按Esc> "))
  (setq en2 (entsel "\n请选择第二条线: "))

 
)
  (princ)
  )

这个是在CAD里运行的一个小插件,但是现在想搞两个改进,一个是需要自动是用上次运用的倒角值,另外一个是需要删除倒角的范围内的闲条,有机会大家帮我改进改进啊。

最新回复

还没有人回复哦,抢沙发吧~

发布回复

为您推荐

热门交流