乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 9|回复: 9

[编程交流] 弧的方向

[复制链接]

1

主题

12

帖子

11

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 16:22:30 | 显示全部楼层 |阅读模式
你好
 
我正试图用AutoLISP绘制一个实体。但我在画弧线时被卡住了。
 
请看下面的图片,我被卡住了。
 
172231d4ihc6fbb8r2ktqr.jpg
 
我需要这个弧平行于它下面的线。我尝试了一些UCS命令,但在那个时候arc出现在不相关的地方。我想不出来。我做错了什么事。(我可以在这里发布我的.lsp,但它可能会让你困惑,因为它包含许多由我定义的变量)
 
有人能帮忙吗?
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-5 16:35:37 | 显示全部楼层
我认为在下一篇文章中附上lisp例程的副本对你来说是最有利的。
回复

使用道具 举报

1

主题

12

帖子

11

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 16:40:16 | 显示全部楼层
对不起,在这里:
 
  1. (defun c:abd ()
  2.        (setq wid1 60 len 115 wid1 60 wid2 22.5 hole1 20 hole2 15 rad1 22.5 rad2 20 rad3 50 rad4 10 rad5 7.5 he1 15 thi1 15 thi2 15 dist1 47.5 dist2 25 dist3 22.5 dist4 37.5)
  3. ;base
  4. (setq pnt1 (getpoint "\nPlease select the starting point"))
  5. (setq pnt2 (list (+ (car pnt1) (- len rad2))  (cadr pnt1)  (caddr pnt1)))
  6. (setq pnt3 (list (car pnt2) (- (cadr pnt2) (- wid1 (* rad1 2)))  (caddr pnt1)))
  7. (setq pnt4 (list (+ (car pnt3) (* rad2 2)) (cadr pnt3)  (caddr pnt1)))
  8. (setq pnt5 (list (car pnt4) (+ (cadr pnt4) wid1)  (caddr pnt1)))
  9. (setq pnt6 (list (- (car pnt4) (+ len rad2)) (cadr pnt5)  (caddr pnt1)))
  10. (setq pnt7 (list (car pnt1) (cadr pnt1) (caddr pnt1)))
  11. (command "line" "_non" pnt1 "_non" pnt2 "")
  12. (setq l1 (entlast))
  13. (command "line" "_non" pnt2 "_non" pnt3 "")
  14. (setq l2 (entlast))
  15. (command "line" "_non" pnt3 "_non" pnt4 "")
  16. (setq l3 (entlast))
  17. (command "line" "_non" pnt4 "_non" pnt5 "")
  18. (setq l4 (entlast))
  19. (command "line" "_non" pnt5 "_non" pnt6 "")
  20. (setq l5 (entlast))
  21. (command "line" "_non" pnt6 "_non" pnt7 "")
  22. (setq l6 (entlast))
  23. (setvar "filletrad" 10)
  24. (command "._fillet" l1 l2)
  25. (setq f1 (entlast))
  26. (setvar "filletrad" 50)
  27. (command "._fillet" l4 l5)
  28. (setq f2 (entlast))
  29. (command "._pedit" "_m" l1 l2 l3 l4 l5 l6 f1 f2 "" "_j" "0.00" "" "")
  30. (setq base (entlast))
  31. (command "extrude" base "" he1 "")
  32. (setq extbase1 (entlast))
  33.    (setq pnt8 (list (+ (car pnt1) dist1) (+ (cadr pnt1) (- rad1 rad5))  (caddr pnt1)))
  34. (setq pnt9 (list (+ (car pnt1) (+ dist1 dist3)) (+ (cadr pnt1) (- rad1 rad5))  (caddr pnt1)))
  35. (command "line" "_non" pnt8 "_non" pnt9 "")
  36. (setq l7 (entlast))
  37.    
  38. (setq pnt10 (list (+ (car pnt1) dist1) (+ (cadr pnt1) (+ rad1 rad5))  (caddr pnt1)))
  39. (setq pnt11 (list (+ (car pnt1) (+ dist1 dist3)) (+ (cadr pnt1) (+ rad1 rad5))  (caddr pnt1)))
  40. (command "line" "_non" pnt10 "_non" pnt11 "")
  41. (setq l8 (entlast))
  42. (command "_.arc" "_non" pnt8 "_e" "_non" pnt10 "_direction" 180)
  43. (setq arc1 (entlast))
  44. (command "_.arc" "_non" pnt9 "_e" "_non" pnt11 "_direction" 0)
  45. (setq arc2 (entlast))
  46.    (command "._pedit" "_m" l8 arc1 l7 arc2 "" "_j" "0.00" "" "")
  47. (setq excut (entlast))
  48. (command "extrude" excut "" he1 "")
  49. (setq extcuta (entlast))
  50. (command "subtract" extbase1 "" extcuta "")
  51. (setq extbasenew (entlast))
  52. (setq pnt12 (list (car pnt1) (cadr pnt1) (+ (caddr pnt1) he1)))
  53. (setq pnt13 (list (car pnt1) (cadr pnt1) (+ (caddr pnt1) (+ dist2 he1))))
  54. (command "_.line" "_non" pnt12 "_non" pnt13 "")
  55. (setq l9 (entlast))
  56. (setq pnt14 (list (car pnt1) (+ (cadr pnt1) (* rad1 2)) (+ (caddr pnt1) he1)))
  57. (setq pnt15 (list (car pnt1) (+ (cadr pnt1) (* rad1 2)) (+ (caddr pnt1) (+ dist2 he1))))
  58. (command "_.line" "_non" pnt14 "_non" pnt15 "")
  59. (setq l10 (entlast))
  60. (command "_.arc" "_non" pnt13 "_e" "_non" pnt15 "_radius" rad1)
  61. (setq arc3 (entlast))
  62. )
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-5 16:46:38 | 显示全部楼层
这是学校写lisp程序来创建上述图片对象的作业吗?
回复

使用道具 举报

1

主题

12

帖子

11

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 16:51:22 | 显示全部楼层
是的,这是我需要尽快完成的任务。我编写了一个LISP来绘制对象,必须使用对话框窗口(对话框控制语言代码)修改默认尺寸。
回复

使用道具 举报

18

主题

1529

帖子

973

银币

中流砥柱

Rank: 25

铜币
649
发表于 2022-7-5 16:56:29 | 显示全部楼层
如果在更改UCS时遇到问题,可以尝试在WCS中创建和拉伸实体,然后使用Rotate3D命令正确定位实体。我还建议从多段线开始,而不是圆弧和直线。
回复

使用道具 举报

1

主题

12

帖子

11

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 17:05:52 | 显示全部楼层
 
是否可以在不连接草图的情况下拉伸草图?
 
我尝试了多段线,但也无法处理它。
 
这个项目把我逼疯了!
回复

使用道具 举报

1

主题

12

帖子

11

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 17:12:10 | 显示全部楼层
 
你告诉rotate3d救了我一命!
 
谢谢!
回复

使用道具 举报

5

主题

1074

帖子

1088

银币

初来乍到

Rank: 1

铜币
9
发表于 2022-7-5 17:20:26 | 显示全部楼层
 
查看PRESSPULL命令。
http://www.cadtutor.net/tutorials/autocad/extrude-and-press-pull/
回复

使用道具 举报

1

主题

12

帖子

11

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 17:22:50 | 显示全部楼层
 
非常感谢您的建议!
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-9 19:04 , Processed in 0.779202 second(s), 75 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表