设为首页收藏本站

晓东CAD家园-论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 91|回复: 3

[其他] 栅格图像名称与路径修改

[复制链接]

签到天数: 261 天

连续签到: 1 天

[LV.8]以坛为家I

已领礼包: 4个

财富等级: 恭喜发财

发表于 2018-1-4 10:14:49 | 显示全部楼层 |阅读模式
函数发布
函数名称: imgRename
调用格式: imgRename
参数说明:
返回值:
函数简介: 修改CAD图像中插入的栅格图像名称与路径
函数来源: 二次修改
函数作者: wrsxed
适用版本: ACAD 2006- ACAD 2007-2009 ACAD 2010-2012 
最后更新时间: 2018-01-04
备注: -
演示图片: -

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

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

x
本帖最后由 wrsxed 于 2018-1-4 11:03 编辑

(defun c:imgRename ( / imgDict imgDictId dictLength counter dictName dictEntry next)
(DOSLibLoader)
   (setq imgDict (dictsearch (namedobjdict) "ACAD_IMAGE_DICT"))
   (if (equal imgDict nil)
      (princ "\nNo images loaded.")
      (progn
         (setq imgDictId  (cdr (car imgDict))
               dictLength (length imgdict)
               counter   0
               next   T
               dictNameLst nil
               dictEntryLst nil
         )
         (while (< counter dictLength)
            (if (equal (car (nth counter imgDict)) 3)
               (progn
                  (setq dictName (strcase (cdr (nth counter imgDict)))
                        dictEntry (dictnext imgDictId next)
                        next   nil
                  )
                 (setq dictNameLst (cons (cons dictName dictName) dictNameLst)
                       dictEntryLst (cons dictEntry dictEntryLst)
                       )
               )
            )
            (setq counter (1+ counter))
         )
         (setq dictNameLst (reverse dictNameLst)
               dictEntryLst (reverse dictEntryLst)
                       )
        (if (setq dictNameLst
                   (dos_proplist
                     "图像列表"
                     "图形中图像名称                                    修改后图像名称"
                     dictNameLst
                   )
            )
          (progn
            (setq i 0)
            (repeat (length dictNameLst)
              (setq imLst   (nth i dictNameLst)
                    enLst   (nth i dictEntryLst)
                    oldname (strcase (car imLst))
                    newname (strcase (cdr imLst))
              )
              (if (/= oldname newname)
                (progn
                  (if (setq sn (vl-position (cons 3 oldname) imgDict))
                    (progn
                  (setq imgDict (subst (cons 3 newname)
                                     (nth sn imgDict)
                                     imgDict
                              )
                  )
                  (entmod imgDict)
                    ))
                  (setq impath (cdr (assoc 1 enLst)))
                  (setq impath (substr impath (- (strlen impath) 3)))
                  (setq        enLst (subst (cons 1  (strcat ".\\" newname impath))
                                     (assoc 1 enLst)
                                     enLst
                              )
                  )
                  (entmod enLst)
                )
              )
              (setq i (+ 1 i))
            )
          )
        )
      )
   )
  (princ)
)

评分

参与人数 1D豆 +5 收起 理由
Lisphk + 5 很给力!经验;技术要点;资料分享奖!

查看全部评分

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

签到天数: 696 天

连续签到: 2 天

[LV.9]以坛为家II

已领礼包: 19个

财富等级: 恭喜发财

发表于 2018-1-4 10:23:44 | 显示全部楼层
感谢楼主,请问,这个是插件 还是 函数? 我怎么看到了c:

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

使用道具 举报

签到天数: 551 天

连续签到: 36 天

[LV.9]以坛为家II

已领礼包: 1167个

财富等级: 财源广进

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

使用道具 举报

签到天数: 261 天

连续签到: 1 天

[LV.8]以坛为家I

已领礼包: 4个

财富等级: 恭喜发财

 楼主| 发表于 2018-1-4 10:26:36 | 显示全部楼层
本帖最后由 wrsxed 于 2018-1-4 10:27 编辑
函数
是,需要加载DOSLib中的dos_proplist列表对话框
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2018-7-17 07:48 , Processed in 0.151745 second(s), 38 queries , Gzip On, WinCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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