明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2977|回复: 11

[求助]怎么修改一个INSERT中的HATCH的比例?

  [复制链接]
发表于 2009-11-18 11:16:00 | 显示全部楼层 |阅读模式
我现在有很多的图块,每个图块分别在每个DWG中,我现在想请教的是如何将一个块中的填充图案的比例调整到一个统一的比例,如0.5并进行更新,我试了,发现DXF表是更新了,但图中还是没有变。由于公司的DWG文件是加密的,没有办法传上来,可以自己随便做一个块试试,谢谢了!
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2009-11-18 13:40:00 | 显示全部楼层
大侠们帮帮忙呀!
发表于 2009-11-18 17:04:00 | 显示全部楼层
要改block定義
 楼主| 发表于 2009-11-18 17:19:00 | 显示全部楼层
龙哥能否给个相关的例子,block用ENTMOD更新吗,还是什么其它 的函数?
发表于 2009-11-18 18:10:00 | 显示全部楼层
用vlax-for遍历块定义对象,这样的例子很多,搜一下试试
 楼主| 发表于 2009-11-18 18:51:00 | 显示全部楼层

遍历块我知道,但怎么修改并保存,并且在INSERT中更新,请指条路。

发表于 2009-11-19 07:50:00 | 显示全部楼层

(defun C:TT ()
  (vlax-for VOBJ
     (vla-item
       (vla-get-blocks
  (vla-get-activedocument
    (vlax-get-acad-object)
  )
       )
       (vla-get-name (vlax-ename->vla-object (car (entsel))))
     )
    (if (= (vla-get-objectname VOBJ) "AcDbHatch")
      (vla-put-patternscale VOBJ 0.1)
    )
  )
  (command "_.regen")
  (princ)
)

(defun C:TTT ()
  (vlax-for VOBJ (vla-get-blocks
     (vla-get-activedocument
       (vlax-get-acad-object)
     )
   )
    (vlax-for VVOBJ VOBJ
      (if (= (vla-get-objectname VVOBJ) "AcDbHatch")
 (vla-put-patternscale VVOBJ 0.1)
      )
    )
  )
  (command "_.regen")
  (princ)
)

 楼主| 发表于 2009-11-19 15:35:00 | 显示全部楼层
还有这样的搞法,学习了,看来几年不写程序真是落伍了,谢谢龙哥!!!
 楼主| 发表于 2009-11-19 16:01:00 | 显示全部楼层
龙哥,我想同时将块其中的ATTDEF的标记修改为一个定值,比如:XXX,要怎么加语句?
发表于 2009-11-20 08:02:00 | 显示全部楼层

;;注意程序沒有修改固定屬性

;;(TTTT "比例" "XXX")

;;(TTTT <屬性提示> <值>)
(defun TTTT (TAG STR)
  (vlax-for VVOBJ (vla-get-blocks
      (vla-get-activedocument
        (vlax-get-acad-object)
      )
    )
    (vlax-for VOBJ VVOBJ
     ;|
      (if (= (vla-get-objectname VVOBJ) "AcDbHatch")
 (vla-put-patternscale VVOBJ 0.1)
      )|;
      (if (and (= (vla-get-objectname VOBJ) "AcDbBlockReference")
        (= (vla-get-hasattributes VOBJ) :vlax-true)
   )
 (foreach ENT (vlax-safearray->list
         (vlax-variant-value (vla-getattributes VOBJ))
       )
   (if (= (strcase (vla-get-tagstring ENT)) (strcase TAG))
     (vla-put-textstring ENT STR)
   )
 )
      )
    )
  )
  (command "_.regen")
  (princ)
)

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

本版积分规则

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

GMT+8, 2024-10-1 19:23 , Processed in 0.286002 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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