批量圆形变螺孔,程序修改
原版程序,来自于版主ZZXXQQ;感谢版主大人!这个程序目前的功能,批量选择圆孔后,可以添加螺纹线;
存在的问题:生成螺纹线的同时,会改掉原始底孔的大小;
希望更改:生成螺纹线的同时,保持原有底孔大小不变;螺纹线实际外径大小无所谓,无需按标注牙孔匹配生成,取值固定为原始底孔大小的1.2倍也行;
;圆变螺孔 明经 ZZXXQQ 2010.9.8
(defun c:lk ()
(defun mkline (p1 p2 ln)
(entmake (list '(0 . "LINE") (cons 8 ln) (cons 10 p1) (cons 11 p2)))
)
(setvar "CMDECHO" 0)
(if (and (princ "\n选择要加螺纹的圆 :")
(setq ss (ssget '((0 . "CIRCLE"))))) (progn
(setq i 0)
(repeat (sslength ss)
(setq en (ssname ss i)
ent (entget en)
i (1+ i)
pc (cdr(assoc 10 ent))
r (cdr(assoc 40 ent))
ri (* r 0.9)
ro (* r 1.1)
pc1 (polar pc 0 ro)
pc2 (polar pc pi ro)
pc3 (polar pc (/ pi 2) ro)
pc4 (polar pc (/ pi -2) ro)
an1 (/ pi 3)
an2 (/ pi -6))
(if (not (tblsearch "LAYER" "center"))
(command ".LAYER" "N" "center" "C" 1 "center" "L" "CENTER" "CEN" "")
)
(mkline pc1 pc2 "center")
(mkline pc3 pc4 "center")
(entmake (list '(0 . "CIRCLE") (assoc 8 ent) (cons 10 pc) (cons 40 ri)))
(entmake
(list '(0 . "ARC") (cons 10 pc) (cons 40 r) (cons 50 an1) (cons 51 an2) '(62 . 1))
)
(entdel en)
)
))
(setvar "CMDECHO" 1)
(princ)
;圆变螺孔 明经 ZZXXQQ 2010.9.8
(defun c:lk ()
(defun mkline (p1 p2 ln)
(entmake (list '(0 . "LINE") (cons 8 ln) (cons 10 p1) (cons 11 p2)))
)
(setvar "CMDECHO" 0)
(if (and (princ "\n选择要加螺纹的圆 :")
(setq ss (ssget '((0 . "CIRCLE"))))) (progn
(setq i 0)
(repeat (sslength ss)
(setq en (ssname ss i)
ent (entget en)
i (1+ i)
pc (cdr(assoc 10 ent))
r (cdr(assoc 40 ent))
ri (* r 1.0)
ro (* r 1.2)
pc1 (polar pc 0 ro)
pc2 (polar pc pi ro)
pc3 (polar pc (/ pi 2) ro)
pc4 (polar pc (/ pi -2) ro)
an1 (/ pi 3)
an2 (/ pi -6))
(if (not (tblsearch "LAYER" "center"))
(command ".LAYER" "N" "center" "C" 1 "center" "L" "CENTER" "CEN" "")
)
(mkline pc1 pc2 "center")
(mkline pc3 pc4 "center")
(entmake (list '(0 . "CIRCLE") (assoc 8 ent) (cons 10 pc) (cons 40 ri)))
(entmake
(list '(0 . "ARC") (cons 10 pc) (cons 40 ro) (cons 50 an1) (cons 51 an2) '(62 . 1))
)
(entdel en)
)
))
(setvar "CMDECHO" 1)
(princ)
) 我不懂机械
看有的圆弧是画在里面?
你这是不是应有个判断
分为内外两种画法
感谢分享,试用一下 收藏了,好东西 如5楼说的,画法有两种,外螺纹的螺纹线加在内侧,内螺纹的螺纹线画在外侧,而且螺纹线的线型是细实线,不是中心线 挺实用的功能。 ljpnb 发表于 2024-7-6 06:38
如5楼说的,画法有两种,外螺纹的螺纹线加在内侧,内螺纹的螺纹线画在外侧,而且螺纹线的线型是细实线,不 ...
前辈说得对;
严格意义来讲,确实不符合标准;程序目前符合个人使用。如果要做成多功能,分内外,且按不同底孔,做到标准螺纹直径,包括线性线宽。那就需要深入改造了;
本帖最后由 cchessbd 于 2024-7-6 16:11 编辑
ynhh 发表于 2024-7-5 23:11
我不懂机械
看有的圆弧是画在里面?
你这是不是应有个判断
说的很对,我花了几个小时改好了,可以将圆孔改为公制螺纹攻牙底孔。当然,你的M1.6~M48【含M3.5】圆孔值要标准。因为还有装配孔。
里面加了判断,只有标准M牙孔才会更改为对应的底孔。这下好了,免去机械加工记忆之苦。
因为机械加工一般叫牙孔,加工这种孔叫攻牙。没有螺孔这种叫法,因此改为了GY。收费1个币吧。
支持M1.6~M48【含M3.5】的公制螺纹圆改为对应底孔。
cchessbd 发表于 2024-7-6 16:00
说的很对,我花了几个小时改好了,可以将圆孔改为公制螺纹攻牙底孔。当然,你的M1.6~M48【含M3.5】圆孔值 ...
命令可以帮忙加长点吗,方便调用时不冲突
页:
[1]
2