明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1043|回复: 3

[提问] 各位高手请看这里

[复制链接]
发表于 2014-11-25 14:40:31 | 显示全部楼层 |阅读模式
这是我cad上的代码,可是检查运行总是显示错误,代码的功能是实现弹簧的实体建模,知道的大神帮忙看看,或者有这个功能的代码也可以给我,谢了!
(defun c:spring (/)
  (set p1(getpoint "请指定螺旋线基点:"))
  (setq r(getreal "请输入弹簧平均半径:"))
  (setq d0(getreal "请输入弹簧丝直径:"))
  (setq s(getreal "请输入弹簧节距:"))
  (setq n0(getint "请输入弹簧工作圈数:"))
  (setq n(getint "请输入每圈细化段数(23/36/40/44/48/52/56/60):"))
  (setq n1(* 1.25 n));支撑圈细化段数
  (setq n1(fix n1))
  (setq n2(* n0 n));工作圈细化段数
  (setq delta(/(* 2.0 pi)n));单位转角
  (setq j(/ s n));工作圈轴向位移量
  (setq j0(/ d0 n));支撑圈轴向位移量
  (setq bb(caddr p1))
  (setq ang 0)
  (setq jj 0)
  (command "ucs" "o" p1)
  (setq pt1(list r 0 0 ))
  (command "3dpoly" p1)
  (repeat n1;绘制下支撑
    (setq jj(+ jj 1))
    (setq ang(+ delta ang))
    (setq pt(list(* r(cos ang))(* r(sin ang))(* j0 jj))
          (command pt))
   (setq p2(list 0 0(* j0 jj)))
    (setq g1(* j0 jj));下支撑圈高度
    (setq jj 0)
    (repeat n2 ;绘制工作圈
      (setq jj(+ jj 1))
      (setq ang(+ delta ang))
      (setq pt(list(* r(cos ang))(* r(sin ang))(+ g1(* j jj))))
      (command pt))
    (setq p3(list 0 0(* j jj)))
    (setq g2(* j jj));工作圈高度
    (setq jj 0)
    (repeat n1 ;绘制上支撑圈
      (setq jj(+ jj 1))
    (setq ang(+ delta ang))
    (setq pt(list(* r(cos ang))(* r(sin ang))(+ g1 g2(* j0 jj))))
          (command pt))
    (setq g3(* j0 jj));上支撑圈高度
    (command "")
    (setq e1(entlast))
    (command "ucs" "x" "")
    (command "circle" pt1(/ d0 2))
    (setq e2(entlast))
    (command "extrude" e2 "" "p" e1);拉伸弹簧
    (setq e3(entlast))
    (setq pt2(list r(/ d0 4)0))
    (setq py(+ g1 g2 g3(- o (/ d0 4))))
    (setq pt3(list(- 0 r) py 0))
    (command "slice" e3 "" "zx" pt2 pt3);磨平端部支承面
    (command "slice" e3 "" "zx" pt3 pt2)
    (command "ucs" "w"))

发表于 2014-11-25 15:45:03 | 显示全部楼层
(command "3dpoly" p1)
(command pt)
目测有问题
发表于 2014-11-26 08:24:42 | 显示全部楼层
第一个(command pt)前少个右括弧‘)'
发表于 2014-11-26 10:20:41 | 显示全部楼层
本帖最后由 lucas_3333 于 2014-11-26 10:26 编辑

楼主是在这里下的吧,呵呵
http://www.szthwj.com/ReadNews.asp?NewsID=741

  1. spring;;;-----------弹簧的程序----------
  2. (defun c:spring(/)
  3. (setq p1(getpoint "请指定螺旋线基点:"))
  4. (setq r(getreal "请输入弹簧平均半径:"))
  5. (setq d0(getreal "请输入弹簧丝直径:"))
  6. (setq disp(getreal "请输入弹簧节距:"))
  7. (setq n0(getint "请输入弹簧工作圈数:"))
  8. (setq n(getint "请输入每圈细化段数(16/20/24/28/32/36/40/48/52/56/60/100):"))
  9. (setq n1(* 1.25 n)) ;支撑圈细化段数
  10. (setq n1(fix n1))
  11. (setq n2(* n0 n)) ;工作圈细化段数
  12. (setq delta(/ (* 2.0 pi) n)) ;单位转角
  13. (setq j(/ disp n)) ;工作圈轴向位移量
  14. (setq j0(/ d0 n)) ;支撑圈轴向位移量
  15. (setq bb(caddr p1))
  16. (setq ang 0)
  17. (setq jj 0)
  18. (command "ucs" "o" p1)
  19. (setq pt1(list r 0 0))
  20. (command "3dpoly" pt1)
  21. (repeat n1 ;绘制下支撑圈
  22. (setq jj(+ jj 1))
  23. (setq ang(+ delta ang))
  24. (setq pt(list (* r (cos ang)) (* r (sin ang)) (* j0 jj)))
  25. (command pt)
  26. )
  27. (setq p2(list 0 0 (* j0 jj)))
  28. (setq g1(* j0 jj)) ;下支撑圈高度
  29. (setq jj 0)
  30. (repeat n2 ;绘制工作圈
  31. (setq jj(+ jj 1))
  32. (setq ang(+ delta ang))
  33. (setq pt(list (* r (cos ang)) (* r (sin ang)) (+ g1 (* j jj))))
  34. (command pt)
  35. )
  36. (setq p3(list 0 0 (* j jj)))
  37. (setq g2(* j jj)) ;工作圈高度
  38. (setq jj 0)
  39. (repeat n1 ;绘制上支撑圈
  40. (setq jj(+ jj 1))
  41. (setq ang(+ delta ang))
  42. (setq pt(list (* r (cos ang)) (* r (sin ang)) (+ g1 g2 (* j0 jj))))
  43. (command pt)
  44. )
  45. (setq g3(* j0 jj)) ;上支撑圈高度
  46. (command "")
  47. (setq e1(entlast))
  48. (command "ucs" "x" "") ;拉伸弹簧
  49. (command "circle" pt1 (/ d0 2))
  50. (setq e2(entlast))
  51. (command "extrude" e2 "" "p" e1)
  52. (setq e3(entlast))
  53. (setq py(+ g1 g2 g3 (- 0 (/ d0 4))))
  54. (setq pt3(list (- 0 r) py 0))
  55. (command "slice" e3 "" "zx" pt2 pt3)
  56. (command "slice" e3 "" "zx" pt3 pt2)
  57. (command "ucs" "w")

  58. )
  59. ;;;---------end----------弹簧程序结束!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-23 17:27 , Processed in 0.168860 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表