重慶崽兒 发表于 2014-9-14 21:04:27

ssget"_CP"提取多段线内多段线坐标问题,请大神解答

用ssget"_CP"提取多段线内的多段线有时候能有,有时候又没有,不知道什么原因,还请大神解答
多段线都是封闭的,而且提取前都是(command "_.ZOOM" "E")了的

比如上面这个,就提取不到里面的多段线,还请大神解答,不胜感激!

重慶崽兒 发表于 2014-9-14 21:38:08

谢谢院长,但是好像不是这个原因,我这个全是多段线,没有二维多段线
我把外围多段线的顶线坐标提取出来,放在"dingdianbiao"这个变量里,然后:

命令: (ssget "_CP" dingdianbiao)
nil
命令: *取消*
返回的却是nil   不知道是什么情况。

Andyhon 发表于 2014-9-14 21:39:20

您若不给出 Dwg文件 供验证,是很难厘清底...

重慶崽兒 发表于 2014-9-14 22:00:51

Andyhon 发表于 2014-9-14 21:39 static/image/common/back.gif
您若不给出 Dwg文件 供验证,是很难厘清底...


上传上来了,还请大神解答一下啊,我用(ssget "_CP" dingdianbiao)提取,显示的是NIL。。。。。。

Gu_xl 发表于 2014-9-14 22:04:49

重慶崽兒 发表于 2014-9-14 22:00
上传上来了,还请大神解答一下啊,我用(ssget "_CP" dingdianbiao)提取,显示的是NIL。。。。。。

wcs==>ucs

重慶崽兒 发表于 2014-9-14 22:13:27

Gu_xl 发表于 2014-9-14 22:04 static/image/common/back.gif
wcs==>ucs

G版的意思是转为用户坐标系?
额......但是我这个恰恰需要的是坐标啊,打开图纸就能发现,这个是西安80坐标系,我需要的就是里面的坐标。。。。。。

Andyhon 发表于 2014-9-15 09:10:53

我这儿简单用白色框的点位 "CP" 可选

自贡黄明儒 发表于 2014-9-15 09:24:16

本帖最后由 自贡黄明儒 于 2014-9-15 09:26 编辑

我试了一下也不行,外面那条线是POLYLINE,是不是问题出在这里?
(defun HH:PtLists (en)
(mapcar 'cdr
          (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget en))
)
)
(defun C:w1 ()
(setq e (car (entsel)))
(setq pts (HH:PtLists e))
(setq ss (ssget "CP" pts '((0 . "*POLYLINE"))))
)

自贡黄明儒 发表于 2014-9-15 09:38:26

下面原代码不会返回nil
(defun HH:PtLists (en)
(mapcar 'cdr
          (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget en))
)
)
(defun MJ:delsame (l)
(if L
    (cons (car L) (MJ:delsame (vl-remove (car L) (cdr L))))
)
)
(defun C:w1 ()
(setq e (car (entsel)))
(setq pts (MJ:delsame (HH:PtLists e)))
(setq ss (ssget "CP" pts '((0 . "*POLYLINE"))))
)

Andyhon 发表于 2014-9-15 10:29:43

怎底说 ...没有二维多段线...

Command: (ssget "X" '((0 . "LwPolyLine")))
<Selection set: 10a>
页: [1] 2 3
查看完整版本: ssget"_CP"提取多段线内多段线坐标问题,请大神解答