找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: qjcpj

[分享]:更新文字(LISP & DCL)

[复制链接]
 楼主| 发表于 2004-11-29 19:17:45 | 显示全部楼层
前两日回到曲靖,上网看到网友发的几个帖子,心里非常感谢!特别感谢LUCAS  
斑竹,所发贴子使我学到了在Autolisp中如何调用含对话框AutoCAD标准命令的方法。今天根据各位大虾的建议,对拙作gxwz更新文字模块作了修改,主要是增加了对ATTDEF及ATTRIB(块属性文字)的支持,另修改了原程序的部分bug;另外一点说明:gxwz模块主要是针对于文字内容修改,因而对TEXT及MTEXT实体的其它属性如字高、字体样式等的修改现暂未纳入本程序,待本人修改调试觉得满意后再上传。
附件gxwz.rar含修改后gxwz.lsp及gxwz.dcl文件源代码。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-30 00:58:51 | 显示全部楼层
这是另一个文字修改工具的界面,qjcpj  兄可以参考一下。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-30 08:54:47 | 显示全部楼层
一个小建议,楼主的程序更新文字后最好能重新生成一下,或者在说明中讲清楚。我在改块中的文字时,显示的是选到的那个块的字符被修改了,而其它未选的同名块未改,而这正是我所希望的,而且对楼主很佩服。打算好好研究一下是如何实现的。谁知,图一打出来,原来是所有同名块一起更新了。惨!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2004-11-30 13:57:40 | 显示全部楼层
已看到17及18楼主的建议,谢谢!我会努力的。
18楼主的意见,我想解决的办法只有在程序中添加更改块名子程序,主要思路是:遍历图形数据库找出所有块名称,然后编一随机产生字符串的函数产生一个块名称,如果与所选块名一样则重产生;另外一个办法是将块名修改为类似标注实体的无名块(例为"*D2"),不过本人对如何产生名称不重复的无名块不是很清楚,那位网友清楚请上传,不甚感激!对于18楼主所提问题,我的做法通常是将块内文字定义为带属性块文字,这样也就不存在所提之问题了,不过我还是很感谢其所提的中肯意见。
不知各位有没有其它更好的办法,也请大家各抒己见!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-2 13:24:34 | 显示全部楼层
我也遇到了和18楼相同的问题,修改之后,发现所有的同名块都变了,一个小时白干了。能否只改所选的块的内容呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-12-2 14:00:02 | 显示全部楼层
用gxwz更改块中文字内容,我在实际使用中基本上只更改一个块文字,因而没有遇到诸位所提内容,对于18及21楼主遇到的问题,我深表遗憾!
对21楼主提出的“能否只改所选的块的内容呢?”问题,如果在程序中不更改要修改实体的块名,目前本人暂无法在程序中实现,大家知道,在AutoCAD中,更新任何一个块,在图中的任何同名块将会改变,本人gxwz模块在图中更改多个同名块时,虽图面上看到的是所选的块文字内容更新,其实桌面上所有的同名块内核都已更新了,大家可以使用regen命令试一下;如果在程序中更改要修改实体的块名,这倒是可以实现“只改所选的块的内容”,这几日我正在调试该部分内容程序。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-6 12:18:37 | 显示全部楼层
块名变不变这倒没有关系,但必须是只修改所选的块的内容,希望早日见到新的成果出来。我的工作中,经常会插入许多同名块,然后又重新编辑,不希望一起更新所有的同名块的内容,以前是先插入,然后再一个个分解,最后再行一个一个编辑,这样太慢了,效率不高;如果能成功的话,我以后就用你的程序编辑块文字了,很方便的,速度也很快。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8611个

财富等级: 富甲天下

发表于 2004-12-7 08:40:08 | 显示全部楼层
要想实现单独修改某一个块内的文字而不改变其它同名块,必须更改这个块的名字,否则就会把所有的同名块都改了。可以把块名增加一个随机的后缀。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-12-8 00:56:24 | 显示全部楼层
根据大家反馈意见,对gxwz更新文字模块作了一点修改,主要是修改了在含多个同名块的图形中修改一个块,其它块随之更新的bug!现可实现单独修改某一个块的文字而不改变其它同名块,不过程序的思路是将编辑的块用随机产生的“名称”将其改名实现的,如果不想改变所编辑块的名称,请不要使用本程序。
本来我想在“DIMENSION”实体添加上下标文字选项(对话框),“TEXT、MTEXT”实体用17楼楼主(武陵山人)提供的图片修改好后,再一并上传修改后的gxwz更新文字模块,不过最近白天“赶图”是忙得天昏地暗,晚上实在是没多少精力……
附件gxwz.rar含修改后gxwz.lsp及gxwz.dcl(没有改动)文件源代码。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2004-12-8 10:34:02 | 显示全部楼层
当所选为标注时,程序运行到以下代码时出现错误提示。(VER)函数(见图)
[php]
    (if        (and (= rz "") (wcmatch (ver) "Visual*"))
      (setq rz (rtos (cdr (assoc '42 ent_dxf))))
    )
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8611个

财富等级: 富甲天下

发表于 2004-12-8 12:12:55 | 显示全部楼层
最初由 它山之石 发布
[B]当所选为标注时,程序运行到以下代码时出现错误提示。(VER)函数(见图)
[php]
    (if        (and (= rz "") (wcmatch (ver) "Visual*"))
      (setq rz (rtos (cdr (assoc '42 ent_dxf))))
    )
[/php] [/B]


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

使用道具 举报

 楼主| 发表于 2004-12-8 12:24:56 | 显示全部楼层
我在R14.01(2002,2005)版本上调试时未出现27楼主所表述的现象,请问27楼主,你使用的版本是什么?是否完全安装?有否屏蔽什么系统变量?版本是不是AutoCAD LT简装版,麻烦你在你所使用的AutoCAD系统的命令行中输入(ver),并将所返回的字符串上传,好吗?……  我好修改程序相关代码,拜托了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 12:03 , Processed in 0.373756 second(s), 53 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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