找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3822|回复: 4

[选择集] 修改文字内容函数(包括天正文字)

[复制链接]
发表于 2013-6-12 17:50:19 | 显示全部楼层 |阅读模式
函数发布
函数名称: YY-UPDTEXT
调用格式: (YY-UPDTEXT ENT Str)
参数说明: ENT=图元名
STR=新的文字内容
返回值: nil
函数简介: 函数用于更新文字图元的内容。
文字图元包括:单多行文字、天正的单多行文字、天正的图名标注文字、天正的引出标注的上标文字。
函数来源: 原创
函数作者: wowan1314
适用版本: 不限 
最后更新时间: 2013-06-12
备注: 由于天正文字直接修改组码会造成CAD崩溃,故作此函数。
天正多行文字只能改组码。不过还好少量修改时不会崩溃
加句(COMMAnd "COLOR" "")可有效防止崩溃。
演示图片: -

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

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

×
本帖最后由 wowan1314 于 2013-6-14 09:32 编辑

天正文字的修改最好使用VL类函数,不然会造成CAD崩溃。
但天正多行文字只能修改组码,不过还好少量修改时不会崩溃。
  1. ;;=========================={ 修改文字内容函数包括天正文字 }=======================
  2. ;;(YY-UPDTEXT X UU)  X为图元名  uu为新的文字内容---BY wowan1314
  3. (DEFUN YY-UPDTEXT (X UU / ENT OB ENTYPE)
  4.   (setq ent (entget x))
  5.   (setq ob (vlax-ename->vla-object X))
  6.   (SETQ entype (cdr (assoc 0 ENT)))
  7.   (COND
  8.     ((= entype "TCH_MTEXT") (COMMAnd "COLOR" "")
  9.      (entmod (subst (cons 1 UU) (assoc 1 ent) ent))
  10.     )
  11.     ((= entype "TCH_TEXT") (vlax-put-property ob 'Text UU))
  12.     ((= entype "TCH_DRAWINGNAME")
  13.      (vlax-put-property ob 'NameText UU)
  14.     )
  15.     ((= entype "TCH_MULTILEADER")
  16.      (vlax-put-property ob 'UPText UU)
  17.     )
  18.     (T (vlax-put-property ob 'TextString UU))
  19.   )
  20. )

评分

参与人数 2D豆 +15 贡献 +1 收起 理由
xshrimp + 5 很给力!经验;技术要点;资料分享奖!
XDSoft + 10 + 1 很给力!经验;技术要点;资料分享奖!

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2013-6-12 21:01:06 | 显示全部楼层
天正文字的修改最好使用VL类函数,不然会造成CAD崩溃!!!

愿闻其详,请详细点说说,那些实体会那些不会。
一直反感天正,公布了实体代码,又留下崩溃的问题,没劲儿。

点评

天正多行文字通过修改组码不会崩溃。 而图名标注、引出标注、单行文字、天正门窗都会崩溃。 其他没测试过。天正的东西最好不要通过修改组码来实现。用VL函数可有效避免天正崩溃。 我做了个天正类似的双击增补尺  详情 回复 发表于 2013-6-12 21:17
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-12 21:17:46 | 显示全部楼层
本帖最后由 wowan1314 于 2013-6-13 09:21 编辑
cy956 发表于 2013-6-12 21:01
天正文字的修改最好使用VL类函数,不然会造成CAD崩溃!!!

愿闻其详,请详细点说说,那些实体会那些不 ...

天正多行文字通过修改组码不会崩溃(少量不崩,大量修改会崩)。
而图名标注、引出标注、单行文字、天正门窗都会崩溃。
其他没测试过。天正的东西最好不要通过修改组码来实现。用VL函数可有效避免天正崩溃。

我做了个天正类似的双击增补尺寸,在合并到双击管理器后居然也导致异常。
tch_initstart.arx  ARX命令中发生异常。

记得以前编过个天正门窗批量居中布置的程序。 后来天正版本升级,就不能再用了。
测试了下发现原先天正的墙的起点终点信息还在组码里能找到,版本升级后居然都找不到此信息了。
怀疑它针对我。就是不让我改他东西。(呵呵)不过(vlax-curve-getEndPoint obj)(vlax-curve-getStartPoint obj)这两函数还是能得到墙的起点与终点坐标的。

。。总之,  对于天正真心无语。

点评

天正应该不是针对你了,我想应该是天正换人了,新来的人又一套代码。天正一直是这样,走了,来了,来了,走了。  详情 回复 发表于 2013-6-12 22:29
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2013-6-12 22:29:14 | 显示全部楼层
本帖最后由 marting 于 2013-6-12 22:31 编辑
wowan1314 发表于 2013-6-12 21:17
天正多行文字通过修改组码不会崩溃。
而图名标注、引出标注、单行文字、天正门窗都会崩溃。
其他没测试 ...

天正应该不是针对你了,我想应该是天正换人了,新来的人又一套代码。天正一直是这样,走了,来了,来了,走了。
天正从5.0后,不一直是自定义实体嘛,后来输了斯维尔的官司,不让用7.5了,这才有天正TS的横空出世(其实之前已经有了,像谁,大家都清楚)。一会自定义,一会又工具集。不知道现在天正TS还继续开发不。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 520个

财富等级: 财运亨通

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 12:31 , Processed in 0.244944 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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