Serhan_BAKIR 发表于 2022-7-5 16:14:18

将尺寸图片转换为n

你好,
 
我试图修改一个直径维度,它有一个块引用,组成了它的图片,并将其转换为其本机视图。如果您能仔细检查所附的图纸,您可以看到从Revit导出的示例尺寸,我到目前为止所取得的成果和所需的结果并排显示。
 
使用以下代码,我成功地在维度“block”中循环,找到多行文字对象及其插入点。然后,我用手头的插入点修改“维度”的文本位置,但不知何故,文本的对齐方式发生了变化,我无法获得所需的方向。
 
我非常感谢您的帮助,使其尽可能接近原始视图。谢谢
 

(defun c:fixdim()
(setq dim (car(entsel)))
(setq dim-obj (vlax-ename->vla-object dim))
(setq dimtxtloc (get-dimblktxtloc dim))
(setq s-array (vlax-make-safearray vlax-vbdouble '(0 . 2)))
(vla-put-textposition dim-obj (vlax-safearray-fill s-array dimtxtloc))
)

(defun get-dimblktxtloc (dim-ename)
(setq dim-entity (vl-catch-all-apply 'entget (list dim-ename)))
(cond
   ((not (vl-catch-all-error-pdim-entity))
    (setq dim-blockname (cdr (assoc 2 dim-entity)))
    (setq blk-object (get-dimblkobj dim-blockname))
    (cond
      ((not (vl-catch-all-error-pblk-object))
(vlax-for subobj blk-object
(cond
    ((= (vla-get-objectname subobj) "AcDbMText")
   (setq blk-txtloc (safearray-value (vlax-variant-value (vla-get-insertionpoint subobj))))
   )
    )
)
)
      )
    )
   )
blk-txtloc
)

(defun get-dimblkobj (blockname)
(vl-catch-all-apply 'vla-item (list (vla-get-blocks (vla-get-ActiveDocument (vlax-get-acad-object))) blockname))
)

尺寸图片。图纸
页: [1]
查看完整版本: 将尺寸图片转换为n