ly8zx2109 发表于 2008-5-6 06:36:00

圆台外表面展开为平面的程序

哪位大侠能帮我编一个把圆台外表面展开为平面程序?非常感谢。

ZZXXQQ 发表于 2008-5-6 12:50:00

本帖最后由 作者 于 2008-5-8 20:04:17 编辑



;圆台展开 明经 ZZXXQQ 2008.5.6 2008.5.8改
(defun c:tt ()
(setvar "CMDECHO" 0)
(setq oldos (getvar "OSMODE"))
(setq d (getdist "\n大端直径 :")
      ds (getdist "\n小端直径 :")
      h (getdist "\n圆台高 :"))
(if (and (> d 0) (> ds 0) (> h 0)) (progn
   (setq d2 (/ d 2) ds2 (/ ds 2)
         f (- d2 ds2)
         r (/ (* (sqrt (+ (* f f) (* h h))) d2) f)
         rs (/ (* (sqrt (+ (* f f) (* h h))) ds2) f)
         ang (/ (* d pi) r))
   (if (setq pt (getpoint "\n大弧中点 :")) (progn
    (setvar "OSMODE" 0)
    (setq pc (polar pt (/ pi 2) r)
          pt1 (polar pc (+ (/ pi -2) (/ ang 2)) r)
          pt2 (polar pc (- (/ pi -2) (/ ang 2)) r)
          pt3 (polar pc (+ (/ pi -2) (/ ang 2)) rs)
          pt4 (polar pc (- (/ pi -2) (/ ang 2)) rs))
    (command ".arc" pt2 "c" pc pt1 ".arc" pt4 "c" pc pt3
             ".line" pt1 pt3 "" ".line" pt2 pt4 "")
    (setvar "OSMODE" oldos)
   ))
))
(setvar "CMDECHO" 1)
(princ)
)

ly8zx2109 发表于 2008-5-6 13:27:00

谢谢

谢谢了。还有些不明白,那个大弧中点是指的哪个点?谢谢了。

ZZXXQQ 发表于 2008-5-6 14:46:00

就是展开扇形中外面那个圆弧。你在CAD中画一个不就清楚了。

ly8zx2109 发表于 2008-5-6 20:20:00

<p>谢谢你了,但是出来图不是我想想的那种,我要是把一个锥形的筒展到平面上。那也谢谢你帮忙,还得麻烦你再改一下。</p>

ZZXXQQ 发表于 2008-5-8 20:09:00

二楼已改。

ly8zx2109 发表于 2008-5-9 14:11:00

谢谢!非常感谢。

ZERO896 发表于 2009-9-29 08:51:00

function XML() {
   
}

b2994949 发表于 2009-9-30 14:31:00

很想学习下

jaminchou 发表于 2009-10-23 22:39:00

非常感谢楼主!有了工具方便多了,如果不用LSP之类的工具得算出夹角旋转得到。
页: [1] 2
查看完整版本: 圆台外表面展开为平面的程序