明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2196|回复: 3

[LISP]请高手指点迷津(附属性块修改源码)

[复制链接]
发表于 2004-9-23 18:25:00 | 显示全部楼层 |阅读模式
我在lockmyeye和meflying两大高手指点下,编写了批量改变属性块中文字高度和宽度比例的程序,并将其放到ACAD2004.lsp中。在对图纸批量处理时,有属性块的图纸正常,但无属性块的图纸就报错(参数类型错误: lentityp),找不到解决办法。
敬请各位高手指点。
(defun ModTxt(ent H / ent blkname ents h1 bl)
(while (/= (cdr (assoc 0 ents)) "SEQEND")
(if (or
(= (cdr (assoc 0 ents)) "ATTRIB")
)
(progn
(setq h1 (cdr (assoc 40 ents)))
(setq bl (cdr (assoc 41 ents))) (setq ents (subst (cons 41 h) (assoc 41 ents) ents))
(entmod ents)
(setq ents (subst (cons 40 (* h1 bl)) (assoc 40 ents) ents))
(entmod ents)
)
)
(setq ent (entnext ent))
(setq ents (entget ent))
)
) ;主程序 (defun blkatt(/ olderr ss1 n nn ent name oldlist conlist newlist olds oldh olds1 sty7)
(setq ss1(ssget "X" (list (cons 0 "INSERT"))))
(if (/= ss1 nil)
(progn
(setq n 0 nn (sslength ss1) olds '1.01 )
(repeat nn
(setq name(ssname ss1 n))
(ModTxt name 1)
(setq n(1+ n))
)
)
) (command "_.regen")
)
发表于 2004-9-23 18:52:00 | 显示全部楼层
用 dxf66 判断是否有属性,有才改
 楼主| 发表于 2004-9-23 19:02:00 | 显示全部楼层
无痕先生给出dxf66的源码格式,或干脆帮人帮到底,给出完整的修改码,在此,本人不胜感激。
发表于 2004-9-24 07:57:00 | 显示全部楼层
(setq ss1(ssget "X" (list (cons 0 "INSERT") '(66 . 1))))
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-18 15:29 , Processed in 0.154861 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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