找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1776|回复: 8

[求助]:图块后加属性可以办到吗?谢谢。

[复制链接]
发表于 2006-1-3 16:41:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
如何将图形中已有的没有定义属性的图块,给它们全部加上某一属性值,并且把属性也显示出来。

一般来说属性值是在定义图块的时候一起定义的。但如果当时没有定义属性,而后来需要加上怎么办?目的是让图形中已有的图块都能自动加上属性。

谢谢赐教!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-1-3 16:48:30 | 显示全部楼层

Re: [求助]:图块后加属性可以办到吗?谢谢。

最初由 xiaochongcn 发布
[B]目的是让图形中已有的图块都能自动加上属性[/B]

想想看,有实用价值吗?图块加上了属性,已经插入的各个块的属性值不还是要一个一个修改吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-3 18:31:45 | 显示全部楼层
各不相同当然没价值了。
但是当属性值都一样或者大部分都一样的时候了,就有实用价值了。大不了我可以手动修改一小部分属性嘛!
比如一个小区都是5F的楼,这样把5F作为属性值不就很好了吗。况且镜像的时候,属性值还是正常显示。

大家认为有办法吗?
我用在位编辑块加上属性或者炸开块,重新附上属性再同名做块更新都不行。新插入的块正常,但是原有的块则不显示属性。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 5188个

财富等级: 富甲天下

发表于 2006-1-3 21:49:47 | 显示全部楼层
这是我过去编的一个程序,将无属性的块改为有属性的块,可能对你有点用。具体设置属性用另外的程序,或者将此程序稍做修改,我想比较简单,就不贴了。
;;***************************** ADDATT.LSP *****************************
;;
;;  For AutoCAD R14
;;
;;  本程序为没有属性的图块增加属性.
;;  Invisible : T   Value : ""
;;  default tag : DN
;;
;;======================= The Main Function ============================
;;
(defun c:addatt (/ cde clp ccl omd blp olderr ss ent att opt
                   filst tag blknam ltp lay pt lay scl clr n)
  (setq cde (getvar "cmdecho")
        omd (getvar "osmode")
        clp (getvar "celtype")
        ccl (getvar "cecolor")
        blp (getvar "blipmode")
  )
;;
;; Internal error handler
;;
(defun aa_err (s)
  (if (/= s "Function cancelled")
    (princ (strcat "\nError: " s))
  )
  (setq ss nil)
  (setvar "osmode" omd)
  (setvar "celtype" clp)
  (setvar "cecolor" ccl)
  (setvar "blipmode" blp)
  (command "_.UNDO" "_END")
  (setvar "cmdecho" cde)
  (setq *error* olderr)
  (princ)
)
;;
  (setq olderr *error*  *error* aa_err)
  (setvar "cmdecho" 0)
  (command "_.UNDO" "_GROUP")
  (setvar "osmode" 0)
  (setvar "blipmode" 0)
  (setvar "celtype" "BYLAYER")
  (setvar "cecolor" "BYLAYER")
  (setq tag (getstring "\nTag <DN>: "))
  (if (= tag "") (setq tag "DN"))
  (setq ent (car (entsel "\nPick a block: ")))
  (while ent
    (setq att (entget ent))
    (if (= (ai_val 0 att) "INSERT")
      (progn
        (initget "Select All")
        (setq opt (getkword "\nSelect/<All>: ")
              blknam (ai_val 2 att)
              filst (list
                      '(-4 . "<AND")
                        '(0 . "INSERT")
                        (cons 2 blknam)
                        '(-4 . "<NOT") '(66 . 1) '(-4 . "NOT>")
                      '(-4 . "AND>")
                    )
              n 0
        )
        (if (= opt "Select")
          (setq ss (ssget filst))
          (setq ss (ssget "X" filst))
        )
        (if ss
          (repeat (sslength ss)
            (setq ent (ssname ss n)
                  att (entget ent)
                  att (append att '((66 . 1)))
                  ltp (ai_val 6 att)
                  lay (ai_val 8 att)
                  pt (ai_val 10 att)
                  scl (ai_val 41 att)
                  clr (ai_val 62 att)
                  n (1+ n)
            )
            (entdel ent)
            (entmake att)
            (setq att (list '(0 . "ATTRIB") '(1 . "")
                            (cons 2 tag) '(8 . "0")
                            (cons 10 pt) (cons 40 (* 0.2 scl))
                            '(70 . 1)
                      )
            )
            (entmake att)
            (setq att (list '(0 . "SEQEND") (cons 8 lay)))
            (if ltp (setq att (append att (list (cons 6 ltp)))))
            (if clr (setq att (append att (list (cons 62 clr)))))
            (entmake att)
          )
          (prompt "\nAll blocks have already attribute definitions .")
        )
      )
      (prompt "\nNo block selected.")
    )
    (if ss
      (princ (strcat "\n" (itoa (sslength ss))
             " attribute definition(s) added.")
      )
    )
    (setq ent (car (entsel "\nPick a block: ")))
  )
  (setq ss nil)
  (setvar "osmode" omd)
  (setvar "celtype" clp)
  (setvar "cecolor" ccl)
  (setvar "blipmode" blp)
  (command "_.UNDO" "_END")
  (setvar "cmdecho" cde)
  (setq *error* olderr)
  (princ)
)
;;
(defun ai_val (v attr)
  (cdr (assoc v attr))
)
;;======================================================================
(princ)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-1-4 03:02:03 | 显示全部楼层
楼上的我有用啊,教师要求我们加属性,不知道怎么弄呢,呵呵
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-4 23:30:40 | 显示全部楼层
加载程序后提示:
错误: 输入的点对中含有多余的 cdrs
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-1-5 10:47:19 | 显示全部楼层
最初由 xiaochongcn 发布
[B]我用在位编辑块加上属性或者炸开块,重新附上属性再同名做块更新都不行。新插入的块正常,但是原有的块则不显示属性。[/B]


你已经做对了一半了:照你的方法,炸开一个块,增加属性,重新做同名块,这是正确的。
你差了一步:同步属性, _AttSync 命令

看看下面的帖子,2楼的“艺高”长老的演示
http://www.xdcad.net/forum/showthread.php?threadid=125677
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 5188个

财富等级: 富甲天下

发表于 2006-1-5 23:39:25 | 显示全部楼层
系统出毛病了,而且怎么也改不过来。
filst 定义的时候出错。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-9 23:19:32 | 显示全部楼层
谢谢民工!
也谢谢原地踏步。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-11-20 23:54 , Processed in 0.391873 second(s), 47 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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