wharan 发表于 2022-5-9 16:21:13

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

本帖最后由 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)      )
      )

    )
)
)



wharan 发表于 2022-5-9 18:57:09


pt_new 新的属性位置

guankuiwu 发表于 2023-9-12 15:47:20

深受启发!!多谢!!{:1_1:}
页: [1]
查看完整版本: vla-put-InsertionPoint修改属性位置,问题在哪?