明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5664|回复: 19

求助如何获取图框的比例后用其改变标注尺全局比例因子

  [复制链接]
发表于 2012-5-6 19:35:49 | 显示全部楼层 |阅读模式
        在一个模型空间里面做很多张图纸,,我们图纸都是必须1:1的(工厂加工需要) 。因为图框有大有小,所以我只能用改变标注全局比例因子的方法来改变尺寸和箭头的大小,,但每次插入图框后都要自己计算图框放大了多少倍,然后再去改变全局比标注例因子的大小。现在我有个想法就是能不能在未知图框大小的情况下,点选图框,便可获取图框放大了多少倍,然后自动改变全局标注比例因子。我再点选标注更新,便可改变尺寸文字和箭头等大小了。
我是从lidaxiu兄弟的一个帖子http://bbs.mjtd.com/forum.php?mod=viewthread&tid=90626里面想到的,这是他写的获取图框大小的比例的lisp,但后续不会如何使用,本人lisp菜鸟,只会一些简单的。求大侠们支个招,或者帮我写下后续的,,小弟在此谢过了。这个是获取图块比例的lisp。
(defun C:kbl (/ xscale yscale zscale
blockname sourceblkobj targetblkobj
blklist ss i n
)
(setq sourceblkobj (entsel "\n请选择块,查看比例:"))
(if (null sourceblkobj) (exit))
(setq sourceblkobj (vlax-ename->vla-object (car sourceblkobj)))
(if (/= "AcDbBlockReference" (vla-get-objectname sourceblkobj))
(progn
(princ
"\nThe object you selected was not block reference. Application terminated."
)
(exit)
)
)
(setq blockname (vla-get-name sourceblkobj)
xscale (vla-get-xscalefactor sourceblkobj)
yscale (vla-get-yscalefactor sourceblkobj)
zscale (vla-get-zscalefactor sourceblkobj)
)
)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2012-5-6 20:50:34 | 显示全部楼层
得到的xscale, yscale,zscale既是图块在x,y,z方向上的放大倍数。通过这个倍数你可以去用lisp写标注的全局变量。
发表于 2012-5-6 23:21:14 | 显示全部楼层
本帖最后由 AMTONNY 于 2012-5-6 23:27 编辑

我是利用图框外边是多段线,图档内全部打散线,图框的文字为块来实现的哦

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

点评

如果不打散图框可以实现以上功能吗????  发表于 2012-12-17 16:50
呵呵,动作真快。  发表于 2012-5-6 23:24
CTC
命令: (LOAD "C:/Documents and Settings/Administrator/桌面/ZAA.LSP") Error: 参数类型错误: numberp: nil 命令: za ; 错误: LOAD 失败: "RegisterLimitUser" 命令: 命令: zaa 自动调整打印文字   发表于 2012-5-6 23:23
发表于 2012-5-6 23:28:04 | 显示全部楼层
楼上的附件已经修改好了

点评

CTC
错误: 参数类型错误: numberp: nil  发表于 2012-5-6 23:30
发表于 2012-5-6 23:35:36 | 显示全部楼层
AMTONNY 发表于 2012-5-6 23:28
楼上的附件已经修改好了

不用管哦,试过了能正常使用,但是你在图框内必须有标注,单行或多行文本才可能动行,例如我的附件图框内加上文字和标注就可以了,试试看吧

点评

能改改,适应天正的绘图环境更好  发表于 2012-12-11 19:22
 楼主| 发表于 2012-5-7 09:14:29 | 显示全部楼层
本帖最后由 lvrenfei 于 2012-5-7 09:27 编辑

昨天晚上我写了一个获取图框长度方向两点距离,然后便可计算出改变标注全局比例因子。但还是麻烦了点,,觉得还是点选图框方便。
发表于 2012-5-25 11:14:36 | 显示全部楼层
我有个程序,是图框放大然后把标注全局比例改为随尺寸和水平这两个名字,同时设置字体高度箭头等尺寸,可供你参考,这程序标注颜色这段程序还运行不了,输入的比例数字没法写入标题栏块属性,请大家看看
(defun c:fd ()
  (setq abc (getreal "\nPlease input scalefactor:"))
  (command "scale" "all" "" "0,0" abc)
  (command "DIMEXE" 2)                        ;超出尺寸线
  (command "DIMASZ" 2.5)                ;箭头大小
  (command "DIMEXO" 0)                        ;尺寸起点偏移量
  (command "DIMTXT" 3.5)                ;标注文字高度
  (command "DIMGAP" 1.5)                ;当尺寸线分成两段从而将标注文字放置在两段之间时,设置标注文字周围的距离。;;   
(command "DIMCLRE" by block)                     ; 为尺寸界线指定颜色
(command "DIMCLRD" by block)                 ; 为尺寸线、箭头和标注引线指定颜色。同时控制由 LEADER 命令创建的引线颜色                                
  (command "DIMCLRT" by block)                ;为标注文字指定颜色。 此颜色可以是任意有效的颜色编号
  (command "dimzin" 8)                        ;角度标注消零
  (command "dimazin" 2)                        ;线性标注消零
  (command "dimjust" 0)
  (command "dimtad" 1)
  (command "dimdec" 2)
  (command "dimadec" -1)
  (command "ltscale" (* 1.5 abc))                ;全局线性比例因子
  (command "DIMTOH" "on")                ;控制标注文字在尺寸界线外的位置 关  将文字与尺寸线对齐  开 水平绘制文字
  (command "DIMTIH" "on")
  (command "dimscale" abc)        ; 尺寸的全局比例
  (command "DIMLFAC" 1)                        ;线性标注测量值的比例因子。
  (command "dimstyle" "s" "水平" "")
  (command "DIMTOH" "OFF")                ;控制标注文字在尺寸界线外的位置
  (command "DIMTIH" "OFF")

  (command "dimstyle" "s" "随尺寸" "")
)
发表于 2012-12-11 17:44:57 | 显示全部楼层
这个讨论还没有完,
发表于 2012-12-11 18:59:14 | 显示全部楼层
本帖最后由 bai2000 于 2012-12-12 12:57 编辑

这个能支持天正的尺寸及文字标注会更好,请老大们出手
发表于 2012-12-12 13:01:01 | 显示全部楼层
今天再顶一下,请老大们改一下,适应于天正环境的:字高,标注等
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-27 20:42 , Processed in 0.210012 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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