土木在线论坛 \ 建筑设计 \ CAD下载及教程 \ 菜鸟编写的一段lisp代码,请高手帮我看看!

菜鸟编写的一段lisp代码,请高手帮我看看!

发布于:2012-06-26 19:39:26 来自:建筑设计/CAD下载及教程 [复制转发]
(defun c:hh()
(setq ss1 (ssget ));;获取18列点集合
(setq ss2 (ssget ))
(setq ss3 (ssget ))
(setq ss4 (ssget ))
(setq ss5 (ssget ))
(setq ss6 (ssget ))
(setq ss7 (ssget ))
(setq ss8 (ssget ))
(setq ss9 (ssget ))
(setq ss10 (ssget ))
(setq ss11 (ssget ))
(setq ss12 (ssget ))
(setq ss13 (ssget ))
(setq ss14 (ssget ))
(setq ss15 (ssget ))
(setq ss16 (ssget ))
(setq ss17 (ssget ))
(setq ss18 (ssget ))
(setq i 0)
(setq n (sslength ss1))
(repeat n
(setq spt1 (ssname ss1 i));循环取得点集合中各个点的集合
(setq spt2 (ssname ss2 i))
(setq spt3 (ssname ss3 i))
(setq spt4 (ssname ss4 i))
(setq spt5 (ssname ss5 i))
(setq spt6 (ssname ss6 i))
(setq spt7 (ssname ss7 i))
(setq spt8 (ssname ss8 i))
(setq spt9 (ssname ss9 i))
(setq spt10 (ssname ss10 i))
(setq spt11 (ssname ss11 i))
(setq spt12 (ssname ss12 i))
(setq spt13 (ssname ss13 i))
(setq spt14 (ssname ss14 i))
(setq spt15 (ssname ss15 i))
(setq spt16 (ssname ss16 i))
(setq spt17 (ssname ss17 i))
(setq spt18 (ssname ss18 i))
(setq ept1 (entget spt1))
(setq ept2 (entget spt2))
(setq ept3 (entget spt3))
(setq ept4 (entget spt4))
(setq ept5 (entget spt5))
(setq ept6 (entget spt6))
(setq ept7 (entget spt7))
(setq ept8 (entget spt8))
(setq ept9 (entget spt9))
(setq ept10 (entget spt10))
(setq ept11 (entget spt11))
(setq ept12 (entget spt12))
(setq ept13 (entget spt13))
(setq ept14 (entget spt14))
(setq ept15 (entget spt15))
(setq ept16 (entget spt16))
(setq ept17 (entget spt17))
(setq ept18 (entget spt18))
(setq pt1 (get_pt ept1))
(setq pt2 (get_pt ept2))
(setq pt3 (get_pt ept3))
(setq pt4 (get_pt ept4))
(setq pt5 (get_pt ept5))
(setq pt6 (get_pt ept6))
(setq pt7 (get_pt ept7))
(setq pt8 (get_pt ept8))
(setq pt9 (get_pt ept9))
(setq pt10 (get_pt ept10))
(setq pt11 (get_pt ept11))
(setq pt12 (get_pt ept12))
(setq pt13 (get_pt ept13))
(setq pt14 (get_pt ept14))
(setq pt15 (get_pt ept15))
(setq pt16 (get_pt ept16))
(setq pt17 (get_pt ept17))
(setq pt18 (get_pt ept18))
(command "spline" pt1 pt2 pt3 pt4 pt5 pt6 pt7 pt8 pt9 pt10 pt11 pt12 pt13 pt14 pt15 pt16 pt17 pt18 "" "" "")
(setq i (+ 1 i))
)
)
(defun get_pt(ept)
(setq lxyz (cdr (assoc 10 ept)))
(setq sx (car lxyz))
(setq sy (cadr lxyz))
(setq pt (list sx sy))
)
1、这个代码能简写吗?感觉重复好多!
2、如何根据用户输入来确定点集合的个数,比如用户输入15,那我只需要15个参数就行了!
3、这个代码执行后,在点集中包含点的个数较少时可以正确的连接,但是个数较多时就得到了图中的结果!
因为平时画图需要用到这个功能,所以还请高手帮我看看,十分感谢!!!

效果图.jpg

全部回复(4 )

只看楼主 我来说两句
  • hhbwhite
    hhbwhite 沙发
    做到一个集合里用vl-sort排序,你看看行不
    2012-09-06 17:43:06

    回复 举报
    赞同0
  • gxb19861110
    gxb19861110 板凳
    问下这个跟限制选择集显示的夹点数有什么区别啊?
    2012-07-27 17:10:27

    回复 举报
    赞同0
加载更多
这个家伙什么也没有留下。。。

CAD下载及教程

返回版块

52.08 万条内容 · 682 人订阅

猜你喜欢

阅读下一篇

为毛我的CAD剪切不了构造线??麻烦高手指导一下

最近我的CAD不知道出了什么毛病,构造线剪切不了,多段线什么的又可以剪切,搞得每次画图都好烦躁,我的CAD是04版的,有没有同学遇到过同样的问题的,麻烦知道的帮下忙,谢谢

回帖成功

经验值 +10