jackynine 发表于 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))


jackynine 发表于 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 hn 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))
      )
      )
    )
)

xyp1964 发表于 2011-1-20 12:49:12

(defun c:tt ()
(setq h (getreal "\n图块比例: "))
(if (or (null h) (= h nil) (= h 0))
    (setq h 1.)
)
(if (setq ss (ssget '((0 . "insert"))))
    (progn
      (setq i -1)
      (while (setq s1 (ssname ss (setq i (1+ i))))
        (setq Object (vlax-ename->vla-object s1))
        (vla-put-XScaleFactor Object h)
        (vla-put-YScaleFactor Object h)
        (vla-put-ZScaleFactor Object h)
      )
    )
)
(princ)
)

chlh_jd 发表于 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)
)

jackynine 发表于 2011-1-21 10:38:34

感谢大虾的回复。受教了

jackynine 发表于 2011-1-21 10:54:52

回复4楼朋友,, 第2种不同的方法你挺臭屁的

461045462 发表于 2011-1-30 20:09:09

jackynine 发表于 2011-1-21 10:54 static/image/common/back.gif
回复4楼朋友,, 第2种不同的方法你挺臭屁的

是否说话稍微客气一些为好.......

xiaxiang 发表于 2011-1-30 22:40:44

461045462 发表于 2011-1-30 20:09 static/image/common/back.gif
是否说话稍微客气一些为好.......

应该是赞扬的意思

bai2000 发表于 2011-1-31 21:59:22

加问一下,怎么把天正的实体对象中的文字按右下角缩放而不打散实体?

tiger1973 发表于 2011-2-7 01:23:27

麻烦的是天正的尺寸
页: [1] 2
查看完整版本: 求教:如何让图纸中每个实体符号在原位置放大或缩小