明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: wudechao

画"云线"增强版本

  [复制链接]
发表于 2012-5-9 15:25:39 | 显示全部楼层
多边形不成哦!!
 楼主| 发表于 2012-5-9 22:09:25 | 显示全部楼层
本帖最后由 wudechao 于 2012-5-9 22:09 编辑

终于找到多边形不行的原因:最小弧长和最大弧长采用CAD默认的0.5肯定不行.用这个命令前必须先改弧长.比如改为500
发表于 2012-9-1 21:36:23 | 显示全部楼层
2007环境全能用
发表于 2013-8-7 00:25:35 | 显示全部楼层
  1. (defun c:ly (/    )
  2. ;;;  ;_定义错误
  3. ;;;   (defun #err99 (s)
  4. ;;;    (command ".UNDO" "E")
  5. ;;;    (setvar "CECOLOR" c)
  6. ;;;    (setvar "OSMODE" snap)
  7. ;;;    (setq *error* $orr)
  8. ;;;  )
  9. ;;;  (setq $orr *error*)
  10. ;;;  (setq *error* #err99)
  11. ;;;  (setvar "CMDECHO" 0)
  12. ;;;  (command ".UNDO" "BE")
  13. ;;;  (setvar "OSMODE" 0)
  14. ;;;  (setq c (getvar "CECOLOR")
  15. ;;;snap (getvar "OSMODE")
  16. ;;;  )
  17. ;;;  (setq *error* #err99)
  18. (Setq osmode_bak (getvar "osmode"));_记录捕捉
  19. (Setq clayer_bak (getvar "clayer"));_记录当前图层
  20. (Setvar "cmdecho" 0);_关闭命令提示
  21. (Setvar "osmode" 0);_关闭捕捉
  22. (if (= (tblsearch "layer" "yunxian") nil)
  23.     (progn
  24.       (command "layer" "m" "yunxian" "c" "1" "" "")
  25.     )
  26.   );_建立图层
  27. (SETVAR "CLAYER" "yunxian");设为当前图层  
  28. (setq yesno (getkword "\n云线轮廓[矩形(R)/圆形(C)] <R>:"))
  29. (cond
  30.   ((= yesno "R")
  31.    (setq tst 1)
  32.   )
  33.   ((= yesno "r")
  34.    (setq tst 1)
  35.   )
  36.   ((= yesno "C")
  37.    (setq tst 2)
  38.   )
  39.   ((= yesno "c")
  40.    (setq tst 2)
  41.   )
  42.   (t
  43.    (setq tst 1)
  44.   )
  45. )
  46. (while (= "A" (progn
  47.   (initget "A")
  48.   (setq pt1 (getpoint "\n[修改弧长(A)/指定起点]<退出>:"))
  49.         )
  50. )
  51.   (command "_revcloud")
  52.   (command)
  53.   (initget 6)
  54.   (setq r1 (getint "\n指定最小弧长<默认>:")
  55. r2 (getint "\n指定最大弧长<默认>:")
  56.   )
  57.   (if (= r1 nil)
  58.    (setq r1 500)
  59.   )
  60.   (if (= r2 nil)
  61.    (setq r2 800)
  62.   )
  63. )
  64. (command "_revcloud" "S" "C" "A" r1 r2)
  65. (command)
  66. (setq n 0
  67.        pt2 t
  68. )
  69. (while (and
  70.   (= tst 1)
  71.   pt2
  72. )
  73.   (progn
  74.    (if (> n 0)
  75.     (setq pt1 (getpoint "\n指定第一个角点<退出>:"))
  76.    )
  77.    (setq pt2 (getcorner pt1 "\n指定另一个角点:"))
  78.    (if (= pt2 "")
  79.     (setq pt2 nil)
  80.    )
  81.    (command "_rectang" pt1 pt2)
  82.    (command "_revcloud" "O" "" (entlast) "N")
  83.    (setq n (+ n 1))
  84.   )
  85. )
  86. (while (and
  87.   (= tst 2)
  88.   pt2
  89. )
  90.   (progn
  91.    (if (> n 0)
  92.     (setq pt1 (getpoint "\n指定圆的圆心<退出>:"))
  93.    )
  94.    (command "_.CIRCLE" pt1 1)
  95.    (setq en-data (entget (entlast)))
  96.    (setq test t)
  97.    (while test
  98.     (setq tmp (grread t 7 0))
  99.     (redraw)
  100.     (cond
  101.      ((= (car tmp) 3)
  102.       (setq pt2 (cadr tmp))
  103.       (command "_revcloud" "O" "" (entlast) "N")
  104.       (redraw)
  105.       (setq test nil)
  106.      )
  107.      ((= (car tmp) 11)
  108.       (entdel (entlast))
  109.       (setq test nil)
  110.      )
  111.      ((= (car tmp) 5)
  112.       (setq pt (cadr tmp))
  113.       (grdraw pt pt1 7)
  114.       (setq new-rr (distance pt1 pt))
  115.       (setq en-data (subst
  116.        (cons 40 new-rr)
  117.        (assoc 40 en-data)
  118.        en-data
  119.       )
  120.       )
  121.       (entmod en-data)
  122.      )
  123.     )
  124.    )
  125.    (setq n (+ n 1))
  126.   )
  127. )
  128. (Setvar "osmode" osmode_bak);_还原捕捉
  129. (Setvar "clayer" clayer_bak);_还原当前图层
  130. (Setvar "cmdecho" 1);_打开命令提示
  131. (Princ);_关闭程序返回值
  132. );_程序结束



楼主您好   我的意思是想新建一个图层   并设定为当前层    画完云线   退出      并记忆捕捉     画完恢复   不太会lsp   照猫画虎加了些东西   可是一直得不到想要的结果   您有时间可以看看吗
发表于 2013-8-7 08:32:03 | 显示全部楼层
程序不错,但如果我想让画的云线是细线,有高手能改一下程序吗
发表于 2013-8-8 23:53:04 | 显示全部楼层
其实我觉得还是一个比较实在 反正都是标记 越简单越好 避免选择浪费的时间
发表于 2013-8-14 14:16:55 | 显示全部楼层
加载后输入LY怎么没反应?
发表于 2014-12-10 21:21:24 | 显示全部楼层
试了一下,很给力
发表于 2014-12-11 15:53:32 | 显示全部楼层
试了一下,多边形的一用电脑就接近死机,也没见云线画出来,其他OK很方便!
发表于 2015-8-31 09:04:44 | 显示全部楼层
多边形不成功 我用的是CAD2007
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 11:35 , Processed in 0.165886 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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