peraperson 发表于 2015-7-20 17:34:56

请教一个关于得到boundary 边界的问题

现有点表plst 选择集ss 想用点表为ss生成边界然后得到每次生成的边界
写了一下
...
(repeat (length plst)
(command "_.boundary" "a" "i" "n" "+x" "b" "n" ss "" "")
(command (nth (setq n (+ n 1)) plst) "")
(setq en (entlast))
...

可以执行但是点多跑起来太慢 于是把第一个command 提出repeat外
...
(command "_boundary".......)
(repeat (length plst)
(command (nth (setq n (+ n 1)) plst))
)
(command "")
...

速度是快了不少 但是请问如何像之前一样用entlast或其他方法得到生成的多线段呢?

谢谢

谢谢!

dbqtju 发表于 2015-7-20 21:19:29

...
(command "_boundary".......)
(repeat (length plst)
(command (nth (setq n (+ n 1)) plst))
(setq entlst (cons (entlast) entlst))
)
(command "")
...

peraperson 发表于 2015-7-21 09:47:45

dbqtju 发表于 2015-7-20 21:19
...
(command "_boundary".......)
(repeat (length plst)


谢谢回复 之前试过这种但是有问题 比如下面的代码会报错
(setq v -1)
(repeat (length entlst)
(setq enn (nth (setq v (+ v 1)) entlst))
(vlax-ldata-put enn "TYPE" "R")
)

peraperson 发表于 2015-7-21 09:58:41

dbqtju 发表于 2015-7-20 21:19
...
(command "_boundary".......)
(repeat (length plst)


我的理解是把(command "")提出了repeat外后 boundary在repeat内还没生成多段线 所以在repeat内用entlast得不到多段线

peraperson 发表于 2015-7-21 10:37:59

解决了。。。用entnext
页: [1]
查看完整版本: 请教一个关于得到boundary 边界的问题