找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1663|回复: 36

[求助] 发现dbx方式处理文字bug一枚

[复制链接]

已领礼包: 2476个

财富等级: 金玉满堂

发表于 2017-12-1 17:34:54 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 q3_2006 于 2017-12-1 17:53 编辑

今天用DBX方式修改文字,发现除非对齐方式为左下..(Vlax-Get (Vlax-Ename->Vla-Object (car (entsel))) 'Alignment ) = 0其它对齐方式..文字修改后都有位置变动..但双击修改就会自动回复原位


recover修复打开图也能归位到正常位置



但(vla-auditinfo dbx :vlax-true)..这样写又不行..不知道怎么才能解决这个问题..请大师给想想办法..谢谢

(defun c:tt( / dbx ffn)
        (setq ffn "D:\\1.dwg"
                dbx (vla-GetInterfaceObject (vlax-get-acad-object)
                          (if (< (setq acVer (atoi (getvar "ACADVER"))) 16)
                            "ObjectDBX.AxDbDocument"
                            (strcat "ObjectDBX.AxDbDocument." (itoa acVer))
                          )
                        ))
                (Vlax-Invoke-Method dbx 'Open ffn)
                (vlax-for ob (Vlax-Get dbx 'ModelSpace)
                        (cond
                                ((= "AcDbText" (Vlax-Get ob 'ObjectName ))
                                        (cond
                                                ((= "aaa" (Vlax-Get ob 'TextString ))
                                                        (Vlax-Put ob 'TextString "bbbbbbbbbb")
                                                )
                                        )
                                )
                        )
                )
                ;(vla-auditinfo dbx :vlax-true)
                (Vlax-Invoke-Method dbx 'SaveAs ffn)
        (vlax-release-object dbx)
)

1.rar

4.33 KB, 下载次数: 6, 下载积分: D豆 -1 , 活跃度 1

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

已领礼包: 20个

财富等级: 恭喜发财

发表于 2017-12-1 18:03:08 | 显示全部楼层
判断下对齐方式,修改完文字后,用VLA设置下对齐方式呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

 楼主| 发表于 2017-12-1 18:06:20 | 显示全部楼层

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

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2017-12-1 18:17:04 | 显示全部楼层

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

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2017-12-1 18:19:16 | 显示全部楼层

另外,原图,你换个字体试试,我遇到过,好像是单线的GB....SHX有问题,夹点飞了。
换个字体就解决了。
你的也可能是字体的问题。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

 楼主| 发表于 2017-12-1 18:20:09 | 显示全部楼层

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

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

 楼主| 发表于 2017-12-1 18:22:00 | 显示全部楼层

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

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2017-12-1 18:37:56 | 显示全部楼层

只要是对齐方式是左对齐就没问题?

那你试试把文字不改内容,都改左对齐是否正常?

如果正常,那么你就加代码,改左对齐后,修改内容,然后修改回原来的对齐方式,这样试试。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

 楼主| 发表于 2017-12-1 18:48:04 | 显示全部楼层

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

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2017-12-1 18:57:09 | 显示全部楼层

用你的代码,你的图,我测试,改完后,打开图形,位置没变
搜狗截图20171201185534.png


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

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2017-12-1 19:12:26 | 显示全部楼层

上面正常图是2016打开的

用2008打开,不正常,

搜狗截图20171201190014.png

对比了下正常和不正常的数据,红色是正常的,下面是不正常的,可见,2008打开时候,插入点10没根据对齐11更新。也就是你用DBX时候修改内容后,插入点没更新,应该是低版本CAD的BUG。从这个思路,你代码里面修改下10点的值,试试。数据定义正确了,我想应该能解决。

正常的:

选择对象: ((-1 . <图元名: -7f7120>) (0 . "TEXT") (330 . <图元名: -7f7308>) (5 . "9C")
(100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbText") (10
-39.6912 29.8663 0.0) (40 . 6.32592) (1 . "bbbbbbbbbb") (50 . 0.0) (41 . 1.0)
(51 . 0.0) (7 . "Standard") (71 . 0) (72 . 2) (11 15.4347 29.8663 0.0) (210 0.0
0.0 1.0) (100 . "AcDbText") (73 . 0))

不正常的:

选择对象: ((-1 . <图元名: -7f7120>) (0 . "TEXT") (330 . <图元名: -7f7308>) (5 . "9C")
(100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbText") (10
3.4606 29.8663 0.0) (40 . 6.32592) (1 . "bbbbbbbbbb") (50 . 0.0) (41 . 1.0) (51
. 0.0) (7 . "Standard") (71 . 0) (72 . 2) (11 15.4347 29.8663 0.0) (210 0.0 0.0
1.0) (100 . "AcDbText") (73 . 0))

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

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

 楼主| 发表于 2017-12-1 19:23:48 | 显示全部楼层

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

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2017-12-1 19:30:24 | 显示全部楼层

不正常的图,用了下 (xdrx_object_regen (car (entsel))) ,重新生成了下实体,就正常了。

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

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

 楼主| 发表于 2017-12-1 19:32:32 | 显示全部楼层

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

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2017-12-1 19:36:03 | 显示全部楼层

说明它退步了呗。

总结了两方法,你分别试试

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-23 22:36 , Processed in 0.235940 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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