明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1121|回复: 4

[讨论] 请问如何把(setq TC2 ?) 中的?设为一个图层?

[复制链接]
发表于 2013-9-14 10:55:12 | 显示全部楼层 |阅读模式
向大师们请教一个问题:请问如何把 (setq TC2 ?)  中的?设为一个图层?谢谢
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2013-9-14 11:01:20 | 显示全部楼层
本帖最后由 lisp爱好者 于 2013-9-14 11:10 编辑

首先偶不是大师,你所指的图层是啥,是图层名就用下面的语句,仅为示例
(setq TC2 (cdr(assoc 8 (entget (car(entsel))))))
 楼主| 发表于 2013-9-14 13:56:57 | 显示全部楼层
lisp爱好者 发表于 2013-9-14 11:01
首先偶不是大师,你所指的图层是啥,是图层名就用下面的语句,仅为示例
(setq TC2 (cdr(assoc 8 (entget ( ...

请问要怎么用呢?比方说是 图号2
“图号2”是一个图层名

点评

(setq TC2 "图层2")  发表于 2013-9-14 23:49
发表于 2013-9-14 17:45:16 | 显示全部楼层
        (setq tcm1 "xxx");定义图层名
        (if
          (= (tblobjname "LAYER" tcm1) nil);没有该图层
            (command "layer" "n" tcm1 "c" "7" "" "");建立图层  
        );if
 楼主| 发表于 2013-9-15 08:36:21 | 显示全部楼层
非常感谢各位的回答,只是我,如此,这般的........不懂

本是想试着改一个通用程序的,把黄大侠的;; 末尾数字+1 自贡黄明儒 2013-6-24 http://bbs.mjtd.com/thread-102143-1-1.html

;;---------------------------------另类拷贝AnotherCopy
;; 末尾数字+1 自贡黄明儒 2013-6-24 http://bbs.mjtd.com/thread-102143-1-1.html
;;ayEntSSHighLight见<a href=\"http://bbs.mjtd.com/thread-101674-1-1.html\" target=\"_blank\">http://bbs.mjtd.com/thread-101674-1-1.html</a>

(defun c,(/ SS0)
(load "阵列复制递增 ACOPY SARRAY.VLX");SARRAY,ACOPY
(if (setq ss0 TC1)
(CC:AC ss0)
(dty)))

(defun CC:AC (ss0 / P0)  
  ;;2  对象na之后所有实体产生的选择集
  (defun newsel        (na / ss e1)
    (if        na
      (setq na (entnext na))
      (setq na (entnext))
    )
    (setq ss (ssadd))
    (while na
      (setq e1 (entget na))
      (if (wcmatch (LI_item 0 e1) "VERTEX,SEQEND,ATTRIB")
        nil
        (setq ss (ssadd na ss))
      )
      (setq na (entnext na))
    )
    ss
  )
  ;;3  copy
  (defun do-copy (ss0 p0 / A BOOL PT SS SS1 SS2)
    (setq bool T)
    (setq ss ss0
          pt p0
    )
    (while bool
      (setq a (entlast))
      (princ "\n >>下一点或者输入距离:")
      (command "_.copy" ss "" pt pause)
      (setq ss1 (newsel a))
      (ayEntSSHighLight ss)
      (command "._Select" ss1 "")
      (if (setq ss2 (ssget "_p" '( TC2 (0 . "*TEXT,ATTDEF,INSERT"))))(SA_change ss2));这句让文字尾数+1
      (if (equal pt (setq pt (getvar "lastpoint")) 0.001)
        (progn (command "undo" "2") (setq bool nil))
      )
      (setq ss ss1)
      ;;(princ (getvar 'errno))
    ))
  ;;4  主程序
  (command "undo" "be")
  (if (and ss0
           (setq p0 (getpoint "\n >基点:"))
      )
    (do-copy ss0 p0)
  )
  (command "undo" "e")
  (princ))



(defun c:cc()
(setq TC1 (ssget '((8 . "名称1,图号2,数量3,材质4,表格5,6不打印,99图框"))))
(setq TC2 ?);;?=图号2(图层)
(c,))



(defun c:ca()
(setq TC1 (ssget));;无限制
(setq TC2 ?);;无限制
(c,))

该怎么写呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-26 10:28 , Processed in 0.188368 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表