乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 51|回复: 3

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

[复制链接]

11

主题

16

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 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")
)
回复

使用道具 举报

20

主题

872

帖子

10

银币

中流砥柱

Rank: 25

铜币
952
发表于 2004-9-23 18:52:00 | 显示全部楼层
用 dxf66 判断是否有属性,有才改
回复

使用道具 举报

11

主题

16

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2004-9-23 19:02:00 | 显示全部楼层
请无痕先生给出dxf66的源码格式,或干脆帮人帮到底,给出完整的修改码,在此,本人不胜感激。
回复

使用道具 举报

29

主题

1152

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1268
发表于 2004-9-24 07:57:00 | 显示全部楼层
(setq ss1(ssget "X" (list (cons 0 "INSERT") '(66 . 1))))
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-8-20 06:47 , Processed in 0.884249 second(s), 61 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表