云中孤鹰
发表于 2013-4-20 13:50:55
想法不错,支持一下
669423907
发表于 2013-4-20 17:21:53
哪位高抬贵手帮整一下啦,
王航
发表于 2013-4-22 11:19:53
669423907 发表于 2013-4-19 21:51 static/image/common/back.gif
(list '(0 . "ARC") (cons 10 pc) (cons 40 r) (cons 50 an1) (cons 51 an2) '(62 . 1))
(list '(0 . ...
解决了,谢谢您!
linheyuanpcb
发表于 2013-5-9 17:35:14
好程序 果段流名,哈哈
邹锋
发表于 2013-5-10 07:00:52
669423907 发表于 2013-4-19 21:02 static/image/common/back.gif
我特喜欢楼主的画中心线的部分,方便帮整合一下吗?谢谢!
;绘制螺孔
;绘制螺孔
(defun c:asd ()
(setq la (getvar "clayer"))
(if (= a nil)
(setq a 8)
)
(princ "\n请输入螺孔规格(M")
(princ (fix a))
(princ "):")
(setq x (getreal))
(cond ((= nil (numberp x)) (setq x a))
((= T (numberp x)) (setq a x))
)
(setq pb (getpoint "\n请指定放置位置:"))
;(setvar "clayer" "螺纹")
(setq m(/ a 2)
m1 (* 0.85 m)
p1 (polar pb pi m)
p2 (polar pb (* pi 1.5) m)
)
(command "arc" p2 "e" p1 pb)
(setvar "clayer" "0")
(setq l1 (ssget "l"))
(command "circle" pb m1)
;*********************
;计算两条直线四个点
(setq pt1 (polar pb 0 (* 1.2 (/ a 2))))
(setq pt3 (polar pb pi (* 1.2 (/ a 2))))
(setq pt2 (polar pb (* 0.5 pi) (* 1.2 (/ a 2))))
(setq pt4 (polar pb (* 1.5 pi) (* 1.2 (/ a 2))))
(entmake (list (cons 0 "LINE")
(CONS 62 1)
(cons 10 pt1)
(cons 11 pt3)
)
)
(setq en2 (entlast))
(entmake (list (cons 0 "LINE")
(CONS 62 1)
(cons 10 pt2)
(cons 11 pt4)
)
)
(princ)
)
好几个月没上网了现在才看到
669423907
发表于 2013-5-10 09:04:35
邹锋 发表于 2013-5-10 07:00 static/image/common/back.gif
;绘制螺孔
(defun c:asd ()
(setq la (getvar "clayer"))
邹锋,大师,非常非常感谢你,中心线是出来了,但是中心线的比例却不能自动根据螺孔的大小自动调节啊,再次有劳你了...
我想要右边的效果.
sicky111
发表于 2013-5-10 10:28:22
圆变螺丝孔没啥难度,难的是怎么把螺丝孔的加工说明注解出来。
669423907
发表于 2013-5-10 22:37:05
sicky111 发表于 2013-5-10 10:28 static/image/common/back.gif
圆变螺丝孔没啥难度,难的是怎么把螺丝孔的加工说明注解出来。
我也不懂怎么表达,就是无论画的螺纹孔是多小或多大,中心线的线型比例都像右图的那样
669423907
发表于 2013-5-10 22:44:48
这个,小笨的中心线,中心线的比例,可以根据图形的大小变化而变化
http://bbs.mjtd.com/thread-96275-1-1.html
邹锋
发表于 2013-5-10 22:58:28
669423907 发表于 2013-5-10 22:44 static/image/common/back.gif
这个,小笨的中心线,中心线的比例,可以根据图形的大小变化而变化
http://bbs.mjtd.com/thread-96275-1-1 ...
;绘制螺孔
(defun c:asd ()
(setq la (getvar "clayer"))
(if (= a nil)
(setq a 8)
)
(princ "\n请输入螺孔规格(M")
(princ (fix a))
(princ "):")
(setq x (getreal))
(cond ((= nil (numberp x)) (setq x a))
((= T (numberp x)) (setq a x))
)
(setq pb (getpoint "\n请指定放置位置:"))
;(setvar "clayer" "螺纹")
(setq m(/ a 2)
m1 (* 0.85 m)
p1 (polar pb pi m)
p2 (polar pb (* pi 1.5) m)
)
(command "arc" p2 "e" p1 pb)
(setvar "clayer" "0")
(setq l1 (ssget "l"))
(command "circle" pb m1)
;*********************
;计算两条直线四个点
(setq chklty (tblsearch "LTYPE" "CENTER"))
(if (= chklty nil)
(entmake (list '(0 . "LTYPE") '(100 . "AcDbSymbolTableRecord")'(100 . "AcDbLinetypeTableRecord")
(cons 2 "CENTER")'(3 . "Center ____ _ ____ _ ____ _ ____ _ ____ _ ____")
'(70 . 0)'(73 . 2) '(40 . 15.0) '(49 . 10.0)'(74 . 0) '(49 . -5.0) '(74 . 0)
)
)
)
(setq xk (* a 0.15))
(setq pt1 (polar pb 0 (* 1.2 (/ a 2))))
(setq pt3 (polar pb pi (* 1.2 (/ a 2))))
(setq pt2 (polar pb (* 0.5 pi) (* 1.2 (/ a 2))))
(setq pt4 (polar pb (* 1.5 pi) (* 1.2 (/ a 2))))
(entmake (list (cons 0 "LINE")
(CONS 62 1)
(cons 6"CENTER")
(cons 48 xk)
(cons 10 pt1)
(cons 11 pt3)
)
)
(setq en2 (entlast))
(entmake (list (cons 0 "LINE")
(CONS 62 1)
(cons 48 xk)
(cons 6"CENTER")
(cons 10 pt2)
(cons 11 pt4)
)
)
(princ)
)