找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2779|回复: 5

[求助] [求助]:如何修改属性块中的属性值?

[复制链接]
发表于 2008-10-23 10:18:11 | 显示全部楼层 |阅读模式

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

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

×
小弟初学lisp,我想编制这样一个小程序:
批量修改一些属性块面的属性值,同时修改其对应文字高度等属性
但如何获取块中的属性呢?请大侠指点
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2008-10-23 22:27:47 | 显示全部楼层
现给出一例:

  1.   [FONT=courier new]
  2. (defun to(n)
  3.   (cdr (assoc n (entget sn)))
  4. )
  5. (defun canzhao (/ sn p13 p14) ;;提取参照文字或属性内容:
  6.   (setq sn (car (entsel (strcat "\n点取需用参照的文字、属性或尺寸<" text0 ">:"))))
  7.   (if (= sn nil)
  8.     (setq st text0)
  9.     (if (or (= "TEXT" (to 0))(= "INSERT" (to 0))(= "DIMENSION" (to 0)))
  10.       (if (= "INSERT" (to 0))        
  11.         (setq st  (entget (entnext (cdr (car (entget sn)))))
  12.               st (cdr (assoc 1 st))
  13.         );;提取属性
  14.         (progn  
  15.           (if (= "DIMENSION" (to 0))
  16.             (progn   ;;提取尺寸
  17.               (setq p13 (to 13) p14 (to 14))
  18.               (if (eq (to 1) "")
  19.                  (setq st (* (fix (/ (+ (distance p13 p14) 4) 10)) 10)
  20.                        st (itoa st)
  21.                  )
  22.                  (setq st (to 1))   
  23.               )      
  24.             )
  25.             (setq st (to 1));;提取文字
  26.           )
  27.         )      
  28.       );if
  29.       (setq st "")      
  30.     );if
  31.   )
  32.   (setq text0 st)
  33. )
  34.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2008-10-24 21:47:33 | 显示全部楼层
在“(defun canzhao (/ sn p13 p14) ;;提取参照文字或属性内容:”的后面还需加一行:
(if (null text0)(setq text0 ""))
否则程序运行时可能出错,特此补充。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2008-10-25 14:12:03 | 显示全部楼层
程序怎么不能用呀,输入命令说是位置命令,怎么回事?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2008-10-25 15:09:42 | 显示全部楼层
应输入 (canzhao) 而不是canzhao
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 14:21 , Processed in 0.283264 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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