明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1007|回复: 0

[提问] 排水管线

[复制链接]
发表于 2015-11-22 17:03:40 | 显示全部楼层 |阅读模式

如何修改下列的代碼? 可以做到將互垂或是相交的管線變成如下圖的排水管線,最重要的是要能指定排水方向。

  1. (defun c:arcit ( / *error* _inters arc objs pts rad dir ang)
  2. (vl-load-com)
  3. (defun *error* (msg)
  4. (command "._undo" "_end")
  5. (setvar 'osmode old_os) (setvar 'cmdecho cmd1)
  6. )

  7. (defun _Inters (ss / en pts ss en pts)
  8. (repeat (sslength ss)
  9. (setq en (cons (vlax-ename->vla-object (ssname ss 0)) en))
  10. (ssdel (ssname ss 0) ss)
  11. )
  12. (while en
  13. (setq pt (car en))
  14. (mapcar '(lambda (p l / l pt_)
  15. (while l (if (setq v (vlax-invoke p
  16. 'IntersectWith (car l)
  17. acExtendNone ))
  18. (repeat (/ (length v) 3)
  19. (setq pt_ (list (car v) (cadr v) (caddr v))
  20. v (member (nth 3 v) v)
  21. )
  22. (if (and pt_ (not (vl-position pt_ pts)))
  23. (setq pts (cons pt_ pts)))))
  24. (setq l (cdr l))))
  25. (list pT)
  26. (list (setq en (vl-remove pt en)))
  27. )
  28. ) pts
  29. )
  30. (defun Arc (cen rad sAng eAng)
  31. (entmakex (list (cons 0 "ARC") (cons 10 cen)
  32. (cons 40 rad) (cons 50 sAng)
  33. (cons 51 eAng))))
  34. (setq old_os (getvar 'osmode)
  35. plw (getvar 'plinewid)
  36. cmd1 (getvar 'cmdecho)
  37. clyer (getvar 'clayer))

  38. (setvar 'osmode 0)
  39. (setvar 'cmdecho 0)
  40. (command "._undo" "_begin")

  41. (setq objs (ssget ":L" '((0 . "*LINE"))))
  42. (setq pts (_inters objs))
  43. (setq rad (if (not rad) 1.0 rad))
  44. (setq rad (cond
  45. ((getdist (strcat "\nEnter distance"
  46. (if rad (strcat " <" (rtos rad) ">: ") ": ")
  47. )))(rad)))
  48. (initget 1 "H V")
  49. (setq dir (getkword "\nEnter Option:/ Horizontal/Vertical]: "))
  50. (setq ang (if (eq dir "H")
  51. '(0 pi)
  52. '((/ pi 2.0) (* pi 1.5))
  53. )
  54. )
  55. (foreach p pts
  56. (command "_break"
  57. (polar p (setq fa (eval (car ang))) rad)
  58. (polar p (setq ea (eval (cadr ang))) rad)
  59. )
  60. (setq carc (arc p rad fa ea))
  61. )
  62. (*error* "")
  63. (princ)
  64. )

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
"觉得好,就打赏"
还没有人打赏,支持一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-23 07:14 , Processed in 0.169875 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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