rocking2008 发表于 2021-12-11 22:01:05

10个币请教个问题

http://bbs.mjtd.com/thread-181540-1-1.html问题在此贴上。



明经币

本帖最后由 rocking2008 于 2021-12-9 16:39 编辑

(setq *blockname* "A块"
         *blocktag*"CC"   
)


现在是指定*blockname*为 "A块" ,程序只能识别 "A块",但是我想让程序能够识别"B块", "X块","镙丝块", "卡口块",应该如何修改。

意思是
(setq *blockname* ("A块" 或 "B块" 或 "X块" 或"镙丝块" 或 "卡口块")
      *blocktag*"CC"   
)


不知道有没有人能看懂我表达的意思。

lee50310 发表于 2021-12-12 12:14:42

本帖最后由 lee50310 于 2021-12-13 03:16 编辑



寫成串列即可
例:
    (setq *blockname* (list "A块" "B块""X块""镙丝块" "卡口块"))

要取用 可透過lisp 的nth 指令

          (setq blk (nth 0*blockname*))   ;取串列 第一個塊 "A块"
          (setq blk (nth 1*blockname*))    ;取串列 第二個塊 "B块"

                               .
                               .
          (setq blk (nth 4 *blockname*)) ;取串列"卡口块"



masterlong 发表于 2021-12-12 12:32:59

这些块应该都是有个CC的属性

机械工程师 发表于 2021-12-13 22:22:20

用,分隔就可以了。
参考下面的
(setq ss_0 (ssget "p" '((2 . "A1,A2,A3,A4"))))
你接触过的话,也可以使用类似下面的,看不懂就算了。
(setq ss_0 (ssget '((-4 . "<OR")(8 . "中心线")(8 . "虚线")(8 . "双点划线")(8 . "电器元件")(8 . "草绘标识")(8 . "草绘标识2")(6 . "DASHED")(6 . "PHANTOM")(6 . "CENTER")(6 . "HIDDEN")(-4 . "OR>"))))
页: [1]
查看完整版本: 10个币请教个问题