54256 发表于 2013-11-8 16:29:30

获得倒数第几个创建的对象

有没有这样的函数,参数是1,2,3,4,5……

返回值是获取倒数第几个创建的对象,比如(fun3)返回倒数第三个创建的对象

谢谢

819534890 发表于 2013-11-8 17:30:27

本帖最后由 819534890 于 2013-11-8 17:36 编辑

来个简单的:

(defun k1(n)
(repeat (1- n)
(command "erase" (entlast) "")
)
(setq sn (entlast))
(repeat (1- n)
(command"undo" "")
)
sn
)

ZZXXQQ 发表于 2013-11-8 19:18:56

(defun bb (n)
(setq ss (ssadd))
(repeat (1- n)
(ssadd (entlast) ss)
(entdel (entlast))
)
(setq i -1)
(repeat (sslength ss)
(entdel (ssname ss (setq i (1+ i))))
)
ss
)

自贡黄明儒 发表于 2013-11-9 09:14:43

本帖最后由 自贡黄明儒 于 2013-11-9 09:31 编辑


;;获取倒数第n个元素 自贡黄明儒2013年11月9日
;;示例(HH:nthEnt 1)=(entlast)
(defun HH:nthEnt (n / LASTENT LST)
(repeat n
    (setq lastent (entdel (entlast)))
    (setq lst (cons lastent lst))   
)
(mapcar 'entdel lst)
lastent
)

xyp1964 发表于 2013-11-9 09:32:09

本帖最后由 xyp1964 于 2013-11-9 09:33 编辑

;; (aaa 3)
(defun aaa (n)
(setqss (ssget "x")
      s1 (ssname ss (- n 1))
)
(redraw s1 3)
)

llsheng_73 发表于 2013-11-11 16:36:03

上边的回复说明我们都很容易被惯性思维影响,一看见要倒数第几个,马上想到ENTLAST而忘了SSGET没有说明但大家都知道的一点:它所返回的图元与绘图的先后是反的
还是院长来得直接
页: [1]
查看完整版本: 获得倒数第几个创建的对象