dvbbs
收藏本页
联系我们
论坛帮助
dvbbs

>> CAD在测绘技术中遇到的各种问题和使用技巧都欢迎大家在此讨论。
搜一搜更多此类问题 
测绘信息网论坛测绘软件专题AutoCAD二次开发 → [求助]请教各位高手,CAD中能不能加属性?

您是本帖的第 34902 个阅读者
如果看不到最后一个回贴,请点这里 打印
标题:
[求助]请教各位高手,CAD中能不能加属性?
poseidon
帅哥哟,在线,有人找我吗?
等级:
文章:
积分:
门派:无门无派
注册:
楼主
 推荐这个帖子

发贴心情
[求助]请教各位高手,CAD中能不能加属性?
CAD中能不能给图形要素添加属性?就象MAPGIS中可以添加字段来表示一些属性一样?
ip地址已设置保密
2007-3-3 19:05:58
冷箭
帅哥哟,离线,有人找我吗?
等级:管理员
文章:250
积分:2865
门派:无门无派
注册:2003年3月9日
2
  QQ 点击这里发送电子邮件给冷箭 推荐这个帖子

发贴心情
可以加扩展属性的

网络测绘的倡导者
ip地址已设置保密
2007-3-3 23:29:36
poseidon
帅哥哟,在线,有人找我吗?
等级:
文章:
积分:
门派:无门无派
注册:
3
 推荐这个帖子

发贴心情
谢谢,再请教如何加扩展属性呢?
ip地址已设置保密
2007-3-4 12:24:09
poseidon
帅哥哟,在线,有人找我吗?
等级:
文章:
积分:
门派:无门无派
注册:
4
 推荐这个帖子

发贴心情
冷箭兄赐教图片点击可在新窗口打开查看
ip地址已设置保密
2007-3-5 10:57:01
冷箭
帅哥哟,离线,有人找我吗?
等级:管理员
文章:250
积分:2865
门派:无门无派
注册:2003年3月9日
5
  QQ 点击这里发送电子邮件给冷箭 推荐这个帖子

发贴心情

你如果用过CASS5.1的话,就可以看到里面有加扩展属性的功能

也可以用LISP自己实现:

;;;---------------------------------------------------------------------------;
;;; Internal error handling.
;;;---------------------------------------------------------------------------;

(defun xdataerr(s)
  (if (/= s "Function cancelled")
    (princ (acet-str-format "\nError: %1" s))
  )
  (setq *error* olderr)
  (if ename (redraw ename 4))         ; de-highlight entity
  (princ)
)
;-----------------------------------------------------------------------------;
; XDATA
;-----------------------------------------------------------------------------;

(defun c:xda (/ all elist ename old olderr new rname size_new xd_list
                  xd_list1 xd_list2 xd_list3 xd_ent regflag hand xflag
                  size_old which mme xxdd all1 n index b1)
      (setq olderr *error*               
        *error* xdataerr)
      (setq mme (xstrcase (getstring "\n属性名: ")))
      (setq xxdd (getstring T "\n属性代码:")) 
      (setq regflag 0)
  (setq all1 (ssget))
  (setq n (sslength all1))
  (setq index 0)
 (repeat n
    (setq b1 (entget (ssname all1 index)))
    (setq index (+ index 1))
    (setq ename (cdr (car b1)))
    (setq elist (entget ename (list "*")))
      (setq rname mme)
      (setq xd_list (list '(1002 . "}"))) 
      (setq xd_list (cons (cons 1000 xxdd) xd_list))     
      (setq xflag (length xd_list))
      (setq xd_list (cons '(1002 . "{") xd_list))
      (setq xd_list (cons rname xd_list))
      (setq xd_list (list -3 xd_list))
      (setq size_new (xdsize xd_list))

  ;; The extended data list is now added to the entity data.  This is a
  ;; little more involved if the entity already has extended data.  A check
  ;; of available Xdata space must be made too.

  (if (< size_new (xdroom ename))     ; If there is room for more...
    (progn
      (if (assoc -3 elist)            ; and contains xdata already...
        (progn
          (setq xd_list (cdr xd_list)) ; New xdata.
          (setq xd_ent (cdr (assoc -3 elist))) ; Old xdata.
          ;; Find old xdata with same regapp
          (if (setq old (cddr (assoc rname xd_ent)))
            (progn
              (setq regflag 1)
              (setq new (cdr (reverse (cddr (assoc rname xd_list)))))
              (setq all (append new old)) ; Join old and new xdata with
                                      ; same application name.
              (setq xd_list1 (cons (cons 1002 "{") all)) ; Add open curly
              (setq xd_list2 (cons rname xd_list1)) ; Add regapp

              ;; Substitute back into existing xdata list.

              (setq xd_list3 (subst xd_list2 (assoc rname xd_ent)
                                             (assoc -3 elist)))
           )
            (progn                    ; This is a new regapp...
              (setq xd_list (append xd_ent xd_list)) ; Joins xdata.
              (setq xd_list3 (cons -3 xd_list))
            )
          )
          (setq elist (subst xd_list3 (assoc -3 elist) elist)) ; Joins entity
        )
        (setq elist (cons xd_list elist)) ; No xdata yet.
      )

    )
    (princ "\nInsufficient Xdata space available on object- no new Xdata appended.")
  )

  ;; Finally update the entity in the database to contain the new xdata.

  (if (entmod elist)
    (if (and (= 1 regflag) (<= xflag 1))   ; old application name
      (princ "\nNo xdata appended.")
      (princ "\nNew xdata appended.")
    )
  )
)

  (setq *error* olderr)               ; Reset the error function.
 
  (prin1)
)


网络测绘的倡导者
ip地址已设置保密
2007-3-5 12:44:11
范特西
帅哥哟,在线,有人找我吗?
等级:
文章:
积分:
门派:无门无派
注册:
6
 推荐这个帖子

发贴心情

应该都看的到了?可能是你发贴才1个的原因吧?

ip地址已设置保密
2007-3-12 11:19:41
lbq868
帅哥哟,在线,有人找我吗?
等级:
文章:
积分:
门派:无门无派
注册:
7
 推荐这个帖子

发贴心情
可以加入自定义的属性的啊
ip地址已设置保密
2007-4-2 19:36:16
daihm052
帅哥哟,在线,有人找我吗?
等级:
文章:
积分:
门派:无门无派
注册:
8
 推荐这个帖子

发贴心情
这个不错,,不过加了看不到属性呀。。怎么查看??
ip地址已设置保密
2007-5-3 13:36:53
qwqw2005
帅哥哟,在线,有人找我吗?
等级:
文章:
积分:
门派:无门无派
注册:
9
 推荐这个帖子

发贴心情
如何提高画图速度啊刚毕业的我很需要帮助
ip地址已设置保密
2007-5-4 13:14:17
qwqw2005
帅哥哟,在线,有人找我吗?
等级:
文章:
积分:
门派:无门无派
注册:
10
 推荐这个帖子

发贴心情
画地形图有没有技巧啊我老是漏电杆图片点击可在新窗口打开查看
ip地址已设置保密
2007-5-4 13:15:48

 25   10   1/3页      1   2   3   尾页 
Copyright ©2000 - 2007 othermap.Com
页面执行时间 0.14063 秒, 4 次数据查询