乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 20|回复: 0

[编程交流] 将尺寸图片转换为n

[复制链接]

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 16:14:18 | 显示全部楼层 |阅读模式
你好,
 
我试图修改一个直径维度,它有一个块引用,组成了它的图片,并将其转换为其本机视图。如果您能仔细检查所附的图纸,您可以看到从Revit导出的示例尺寸,我到目前为止所取得的成果和所需的结果并排显示。
 
使用以下代码,我成功地在维度“block”中循环,找到多行文字对象及其插入点。然后,我用手头的插入点修改“维度”的文本位置,但不知何故,文本的对齐方式发生了变化,我无法获得所需的方向。
 
我非常感谢您的帮助,使其尽可能接近原始视图。谢谢
 
  1. (defun c:fixdim()
  2. (setq dim (car(entsel)))
  3. (setq dim-obj (vlax-ename->vla-object dim))
  4. (setq dimtxtloc (get-dimblktxtloc dim))
  5. (setq s-array (vlax-make-safearray vlax-vbdouble '(0 . 2)))  
  6. (vla-put-textposition dim-obj (vlax-safearray-fill s-array dimtxtloc))
  7. )
  8. (defun get-dimblktxtloc (dim-ename)
  9. (setq dim-entity (vl-catch-all-apply 'entget (list dim-ename)))
  10. (cond
  11.    ((not (vl-catch-all-error-p  dim-entity))
  12.     (setq dim-blockname (cdr (assoc 2 dim-entity)))
  13.     (setq blk-object (get-dimblkobj dim-blockname))
  14.     (cond
  15.       ((not (vl-catch-all-error-p  blk-object))
  16. (vlax-for subobj blk-object
  17.   (cond
  18.     ((= (vla-get-objectname subobj) "AcDbMText")
  19.      (setq blk-txtloc (safearray-value (vlax-variant-value (vla-get-insertionpoint subobj))))
  20.      )
  21.     )
  22.   )
  23. )
  24.       )
  25.     )
  26.    )
  27. blk-txtloc
  28. )
  29. (defun get-dimblkobj (blockname)
  30. (vl-catch-all-apply 'vla-item (list (vla-get-blocks (vla-get-ActiveDocument (vlax-get-acad-object))) blockname))
  31. )

尺寸图片。图纸
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-13 16:35 , Processed in 0.546791 second(s), 54 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表