云中孤鹰 发表于 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)
)

页: 1 2 [3] 4 5
查看完整版本: 原创,圆孔生成镙丝孔