明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2667|回复: 6

DBX 初级应用 - 不开图添加图框文字并对中

[复制链接]
发表于 2013-1-4 10:34:06 | 显示全部楼层 |阅读模式
本帖最后由 millermin 于 2013-2-3 09:06 编辑

不开图添加文字到表格里,要求文字对中。程序编好了,运行后有点小问题。从数据上看已经对中了,但是显示仍然是左对齐。需要重新打开文件,手动点击一下目标才能实现对中,具体参见附图,如何修改程序?
(defun addtext ( textstring pt alg)
  (setq pt-v(vlax-make-safearray vlax-vbdouble '(0 . 2)))
  (vlax-safearray-fill pt-v pt)
  (setq ht 2.54)  
  (setq ts(vla-addtext block textstring pt-v ht))
  (vla-put-layer ts "ST-G-TEXT")
  (vlax-put-property ts 'stylename "STANDARD")
  ;(vlax-put-property ts 'alignment acalignmentcenter) ;;(option)
  (vla-put-alignment ts acalignmentcenter)  
  ;(vla-put-textalighmentpoint ts pt-v)  ;;(option)
   (vlax-put-property ts 'textalignmentpoint pt-v)  
  (vla-update ts)
)



本帖子中包含更多资源

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

x
发表于 2013-1-4 15:47:23 | 显示全部楼层
把最后一句(vla-update ts)改为(entmod(entget(vlax-vla-object->ename ts)))就可以了。另外 (setq pt-v(vlax-make-safearray vlax-vbdouble '(0 . 2)))(vlax-safearray-fill pt-v pt)这两句可以改为(setq pt-v(vlax-3d-point pt))。
 楼主| 发表于 2013-1-5 03:13:03 | 显示全部楼层
本帖最后由 millermin 于 2013-1-5 03:20 编辑
wuqiu1986 发表于 2013-1-4 15:47
把最后一句(vla-update ts)改为(entmod(entget(vlax-vla-object->ename ts)))就可以了。另外 (setq pt-v(vl ...


谢谢。问题改善了,但是位置多数时候有点偏,偶尔也对。中点坐标是对的,主要是文字的中点没有找对,是文字的中点没有对在中点坐标。参见图示。   左右比较。        
               

     

本帖子中包含更多资源

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

x
 楼主| 发表于 2013-1-5 04:37:51 | 显示全部楼层
本帖最后由 millermin 于 2013-1-5 05:15 编辑

上述现象深入研究发现,用了entmod后,层,字型样式,对位参数都没了,看数据窜行可以发现7,8,71,72 项目丢失。但是entmod之前的数据窜行是完整的。不明白为什么部分数据无法更新。是不是dbx库和autocad库操作有不同。
 楼主| 发表于 2013-1-8 06:17:02 | 显示全部楼层
进一步研究发现问题主要在主程序的存盘语句。(vla-saveas dbx dwgfile)。 由添加文字的有关操作是对dbx库,而entmod是对autocad库,entmod操作在前,存盘在后,等于用dbx库覆盖autocad库,所以程序运行有时不正常,有时提示存盘有问题时,反而实现了对中。怀疑这可能系统不支持的结果。

评分

参与人数 1明经币 +1 收起 理由
crazylsp + 1 赞一个!很有研究

查看全部评分

 楼主| 发表于 2013-1-13 05:50:03 | 显示全部楼层
自己顶,望有结果。
 楼主| 发表于 2013-2-2 12:30:56 | 显示全部楼层
有结果了。结果是这个程序不做任何处理,文字对中放置后,位置显示不对无所谓。再编一个程序,程序自动编写一个script,这个script逐个文件打开,寻找刚才输入的文字,用entmod完成对中操作。具体详见另一贴,有程序源码:
http://bbs.mjtd.com/thread-100103-1-1.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-6-1 06:28 , Processed in 0.179847 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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