明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3408|回复: 10

[基础] 求教:如何让图纸中每个实体符号在原位置放大或缩小

[复制链接]
发表于 2011-1-19 14:22:44 | 显示全部楼层 |阅读模式
在 CAD中,总会碰到有许多不同图纸拼接而成的图纸(自己单位 或者 外来单位的图纸相接) 从而造成图纸中的各种符号大小不一, 现在需要按比例将所有符号在原坐标点放大或缩小成统一的式样  求教高手支招 !!(假设符号为实体 )属性为:((-1 . <图元名: 7ed77260>) (0 . "INSERT") (330 . <图元名:
7ed7fcf0>) (5 . "5B84") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 .
"1112") (100 . "AcDbBlockReference") (2 . "1112") (10 8.11455e+007 6.75032e+006
0.0) (41 . 0.999999) (42 . 0.999999) (43 . 0.999999) (50 . 6.28318) (70 . 0)
(71 . 0) (44 . 0.0) (45 . 0.0) (210 0.0 0.0 1.0))



 楼主| 发表于 2011-1-19 16:06:48 | 显示全部楼层
自己写了个源码,可将块状符号按比例在原坐标点缩小  此方法通过修改块状符号X 与Y比例因子实现,,相信有更好的办法达到目的  请不吝赐教
(defun c:fh()
(setq ss (ssget  '((0 . "insert"))))
(sslength ss)
  (if ss
    (progn
      (setq h (getreal "\n符号X比例:")
         cen h  n 0
      )
      (repeat (sslength ss)
      (setq en (ssname ss n)
            enl (entget en)
            )
      (if h (setq enl (subst (cons 41 h) (assoc 41 enl) enl)))
      (if cen (setq enl (subst (cons 42 cen) (assoc 42 enl) enl)))
      (entmod enl)
      (setq n (1+ n))
        )
      )
    )
)
发表于 2011-1-20 12:49:12 | 显示全部楼层
  1. (defun c:tt ()
  2.   (setq h (getreal "\n图块比例: "))
  3.   (if (or (null h) (= h nil) (= h 0))
  4.     (setq h 1.)
  5.   )
  6.   (if (setq ss (ssget '((0 . "insert"))))
  7.     (progn
  8.       (setq i -1)
  9.       (while (setq s1 (ssname ss (setq i (1+ i))))
  10.         (setq Object (vlax-ename->vla-object s1))
  11.         (vla-put-XScaleFactor Object h)
  12.         (vla-put-YScaleFactor Object h)
  13.         (vla-put-ZScaleFactor Object h)
  14.       )
  15.     )
  16.   )
  17.   (princ)
  18. )

评分

参与人数 1金钱 +5 收起 理由
jackynine + 5 thanks

查看全部评分

发表于 2011-1-20 14:35:59 | 显示全部楼层
本帖最后由 chlh_jd 于 2011-1-20 15:28 编辑

(defun c:mysc(/ sc ss i en ent pts pt s1)
  (svos)
  (setq sc (getreal "\n请输入缩放比例<1.0>:"))
  (if (null sc)
    (setq sc 1.0))
  (setq ss (ssget))
  (setq i -1)
  (setvar "OSMODE" 0)
  (while (setq en (ssname ss (setq i (1+ i))))
    (setq pt (ss-getencen en))   
    (ss-en-scale en pt sc)   
    )
  (clos)
  (princ "\n高山流水图元中心缩放程序,命令mysc")
  (princ)
  )

评分

参与人数 1金钱 +5 收起 理由
jackynine + 5

查看全部评分

 楼主| 发表于 2011-1-21 10:38:34 | 显示全部楼层
感谢大虾的回复。受教了  
 楼主| 发表于 2011-1-21 10:54:52 | 显示全部楼层
回复4楼朋友,, 第2种不同的方法  你挺臭屁的
发表于 2011-1-30 20:09:09 | 显示全部楼层
jackynine 发表于 2011-1-21 10:54
回复4楼朋友,, 第2种不同的方法  你挺臭屁的

是否说话稍微客气一些为好.......
发表于 2011-1-30 22:40:44 | 显示全部楼层
461045462 发表于 2011-1-30 20:09
是否说话稍微客气一些为好.......

应该是赞扬的意思
发表于 2011-1-31 21:59:22 | 显示全部楼层
加问一下,怎么把天正的实体对象中的文字按右下角缩放而不打散实体?
发表于 2011-2-7 01:23:27 | 显示全部楼层
麻烦的是天正的尺寸
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-18 17:50 , Processed in 0.171839 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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