wmz 发表于 2014-1-29 16:00:25

请教关于选择集的问题

(setq Mlayer "原断面线")
(setq p1 (list 0 0) p2 (list 10 0) p3 (list 10 5) p4 (list 0 5))
(setq s1 (ssget "wp" (list p1 p2 p3 p4 p1) (list (cons 8 Mlayer) (cons 0 "LWPOLYLINE") (cons 8 "注记")(cons 0 "TEXT"))))

以上这样的“wp”选择为什么不行,请教大侠们要怎样才行?(注意,我的层名需要用变量)

xyp1964 发表于 2014-1-29 16:15:50

(setq Mlayer "原断面线"
      p1   '(0 10)
      p2   '(10 0)
      p3   '(10 5)
      p4   '(0 5)
      ss   (ssget "wp"
                  (list p1 p2 p3 p4)
                  (list '(-4 . "<OR")
                          '(-4 . "<AND")
                          (cons 8 Mlayer)
                          '(0 . "LWPOLYLINE")
                          '(-4 . "AND>")
                          '(-4 . "<AND")
                          '(8 . "注记")
                          '(0 . "TEXT")
                          '(-4 . "AND>")
                          '(-4 . "OR>")
                  )
             )
)

wmz 发表于 2014-1-29 16:27:18

测试成功,谢谢XYP1964大侠!!!祝新春愉快,阖家欢乐!

wmz 发表于 2014-1-29 16:28:08

测试成功,谢谢XYP1964大侠!!!祝新春愉快,阖家欢乐!

xyp1964 发表于 2014-1-29 17:05:58

(setq p1 '(0 10)
      p2 '(10 0)
      p3 '(10 5)
      p4 '(0 5)
      ss (ssget        "wp"
                (list p1 p2 p3 p4)
                (FilterM '(((8 . "原断面线") (0 . "LWPOLYLINE"))
                           ((8 . "注记") (0 . "TEXT"))
                          )
                       nil
                )
       )
)

;; FilterM AndOr过滤器表 (FilterM Flst And-TNil)
;; (FilterM '(((8 . "原断面线")(0 . "LWPOLYLINE"))((8 . "注记")(0 . "TEXT"))) nil)
(defun FilterM (Flst And-TNil / x lst1)
(foreach x Flst
    (setq x    (cons '(-4 . "<AND") (append x '((-4 . "AND>"))))
          lst1 (append x lst1)
    )
)
(if And-TNil
    (cons '(-4 . "<AND") (append lst1 '((-4 . "AND>"))))
    (cons '(-4 . "<OR") (append lst1 '((-4 . "OR>"))))
)
)
页: [1]
查看完整版本: 请教关于选择集的问题