乐筑天下

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

[编程交流] 将对象与曲线对齐-多

[复制链接]

2

主题

6

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 16:29:37 | 显示全部楼层 |阅读模式
大家好
我正在使用LeeMac的Align对象来弯曲lisp。但我需要像链子一样多做一次。
它可能类似于copy命令的数组选项。
-输入要对齐的项数
-物体之间的距离等
 
谢谢大家特别是李
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:45:13 | 显示全部楼层
做一次,然后缩短pline等,再次做一个2链接链。
回复

使用道具 举报

2

主题

6

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 17:00:31 | 显示全部楼层
 
我想做一次
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-5 17:19:00 | 显示全部楼层
您不能将“测量”或“分割”命令与块和“将块与对象对齐”选项一起使用,因为。。。。。。。。。。。。。?
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:39:44 | 显示全部楼层
如果你看这个lisp,它会使用间距增量沿着pline重复绘制一个块。它还使用两个点来正确旋转。同样的理论可以应用于具有上下链迭代的链环。要进行测试,只需制作一个水平线长度为3.05的块,插入点位于右端。
 
  1. (Defun draw_vehicle ( )
  2. (SETQ ANGBASEE (GETVAR "ANGBASE"))
  3. (SETQ ANGDIRR (GETVAR "ANGDIR"))
  4. (SETQ LUNITSS (GETVAR "LUNITS"))
  5. (SETQ LUPRECC (GETVAR "LUPREC"))
  6. (SETQ AUNITSS (GETVAR "AUNITS"))
  7. (SETQ AUPRECC (GETVAR "AUPREC"))
  8. (setq oldsnap (getvar "osmode"))
  9. (SETVAR "LUNITS" 2)
  10. (SETVAR "ANGBASE" 0.0)
  11. (SETVAR "ANGDIR" 0)
  12. (SETVAR "LUPREC" 0)
  13. (SETVAR "AUNITS" 3)
  14. (SETVAR "AUPREC" 0)
  15. (setvar "osmode" 0)
  16. ;(if (tblsearch "Block" "Holden")
  17. ;(princ "Holden")
  18. ;(progn
  19. ;(command "Insert" "p:\\Autodesk\\vba\\holdencar.dwg" "0,0" 1 1 0)
  20. ;(command "erase" "last" "")
  21. ; progn
  22. (setq obj (vlax-ename->vla-object (car (entsel "\nPick Pline"))))
  23. (setq interval ( getreal "\nEnter spacing m:"))
  24. (setq cRad 3.05)
  25. (setq startang (* pi 1.5))
  26. (setq endang (/ pi 2.0))
  27. (setq dist 0.0)
  28. (setq len (vla-get-length obj))
  29. (setq stpt (vlax-curve-getpointatdist obj interval))
  30. (setq num (+ 1 (fix ( / len interval))))
  31. (repeat num
  32. (command "arc" "C" stpt (polar stpt endang crad)(polar stpt startang crad))
  33. (setq objarc (vlax-ename->vla-object (entlast)))
  34. (if (= (setq intpt (vlax-invoke obj 'intersectWith objarc acExtendnone)) nil)
  35. (setq intpt (vlax-invoke obj 'intersectWith objarc acExtendThisEntity)) ; needed at start
  36. )
  37. (vla-delete objarc)
  38. (setq ang (angle intpt stpt))
  39. (command "Insert" "Holden" stpt 1 1 ang) ; need ang in radians
  40. (setq stpt (vlax-curve-getpointatdist obj (setq dist (+ dist interval))))
  41. ) ; repeat
  42. (SETVAR "LUNITS" lunitss)
  43. (SETVAR "ANGBASE" angbasee)
  44. (SETVAR "ANGDIR" angdirr)
  45. (SETVAR "LUPREC" luprecc)
  46. (SETVAR "AUNITS" aunitss)
  47. (SETVAR "AUPREC" auprecc)
  48. (princ)
  49. ) ; defun
  50. (draw_vehicle)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 13:10 , Processed in 0.447135 second(s), 62 queries .

© 2020-2025 乐筑天下

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