明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 727|回复: 3

[提问] vla-put-InsertionPoint修改属性位置,问题在哪?

[复制链接]
发表于 2022-5-9 16:21:13 | 显示全部楼层 |阅读模式
本帖最后由 wharan 于 2022-5-10 10:40 编辑

用vla-put-InsertionPoint修改属性位置,在同一程序位置的属性字高、对齐模式都能修改,惟独用vla-put-InsertionPoint修改属性位置,位置没有改变。但如果再执行一遍代码,属性位置就改变了。
程序中红色代码部分,第一遍执行不能改变属性位置,再执行一遍代码可改变属性位置。
蓝色代码为两端对齐模式,第一遍执行能正常改变属性位置。
这是个很奇怪的现象,是不是哪里做的有问题?望高手解答。
另外,增加文中绿色代码,让该行指令执行两次,可以正常修改属性文字位置。

;;更改块属性的位置,属性高度
(defun Chg_Att_Position        (ent             TagString         NewPostion
                         AttHgt             DQ_Mode         width
                         /             lstVar         lstAttrsattr
                        )
  (setq lstVar (vla-getattributes (vlax-ename->vla-object ent)))
  (setq lstAttrs (vlax-safeArray->list (vlax-variant-value lstVar)))
  (foreach attr        lstAttrs
    (if        (= TagString (vla-get-TagString attr))
      (if (= DQ_Mode 7)
        (progn
          (vla-put-textalignmentpoint attr (vlax-3d-point pt_new))
          (vla-put-MtextBoundaryWidth attr width)
          (vla-put-Alignment attr DQ_Mode)
          (vla-put-height attr AttHgt)

         (vla-update attr)        )
        (progn
          (vla-put-InsertionPoint attr (vlax-3d-point pt_new))
          (vla-put-Alignment attr DQ_Mode)
          (vla-put-height attr AttHgt)

         (vla-put-InsertionPoint attr (vlax-3d-point pt_new))
         (vla-update attr)        )
      )

    )
  )
)



点评

pt_new ?  发表于 2022-5-9 18:46
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2022-5-9 18:57:09 | 显示全部楼层

pt_new 新的属性位置
发表于 2023-9-12 15:47:20 | 显示全部楼层
深受启发!!多谢!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 04:46 , Processed in 0.168225 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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