1028695446 发表于 2021-11-5 12:38:40

【块比例】查看并修改块缩放比例

本帖最后由 1028695446 于 2021-11-5 12:40 编辑

修改图块比例

陈伟 发表于 2021-12-10 11:34:55

已完善属性块旋转坐标系下属性文字斜着问题
1个是按天正出图比例设置(1:100),一个是原版修正
下面这段加在       (UNDO_E);;编组结束前面
(setq SSATT (ssget "P" '((0 . "INSERT") (66 . 1))))
(setq UCSAA (angle '(0 0 0) (getvar 'ucsxdir)))
(if (and SSATT (/= UCSAA 0 ))
(command "ATTSYNC" "s"(ssget "p") "Y"))


伸手党收一个币






sunny_8848 发表于 2021-11-5 14:08:55

谢谢分享,下载尝试下

bssurvey 发表于 2021-11-5 16:43:04

學習了,感謝1028695446大大分享,

fxlt619 发表于 2021-11-10 21:22:42

这个怎么不能原位缩放?

KO你 发表于 2021-11-29 14:24:44

没支持动态块,能完善下吗
以下的支持动态块
但没能显示原有比例值
(defun c:bsc ()
(setvar "CMDECHO" 0)
(command ".UNDO" "BE")
(if (setq ss (ssget '((0 . "INSERT"))))
(progn
(setq sI (getdist "\n输入新的比例值:"))
(setq i 0)
(repeat (sslength ss)
   (setq en (ssname ss i)
         ent (entget en)
         i (1+ i)
         pc (cdr(assoc 10 ent)))
(setq rad-1 (xyp-get-dxf 41 en)
   rad-2 (sqrt (* rad-1 rad-1)));;开根,把负值变为正值;;或取值时用Z值
(setq sc (/ SI rad-2 ))
   (command ".scale" en "" pc sc)
)
))
(command ".UNDO" "E")
(setvar "CMDECHO" 1)
(princ)
)
;; xyp-get-DXF 实体dxf数据 (xyp-get-DXF code ename)
(defun xyp-get-DXF (code ename / ent lst a)
(if (= (type code) 'LIST)
    (progn
      (setq ent      (entget ename)
            lst      '()
      )
      (foreach a code
      (setq lst (cons (list a (cdr (assoc a ent))) lst))
      )
      (reverse lst)
    )
    (if      (= code -3)
      (cdr (assoc code (entget ename '("*"))))
      (cdr (assoc code (entget ename)))
    )
)
)

陈伟 发表于 2021-12-9 15:56:21

本帖最后由 陈伟 于 2021-12-10 10:30 编辑

显示原比例没有小数,能不能设置显示原比例小数为3至4位,如 0.500,0.001,希望能加入输入值比实际值大于100倍(用于改变图框的比例,如出图比例为1:100这种),例如:输入值100,实际执行图块比值为1


旋转坐标系更改比例后,增强属性字体按照世界坐标系斜着了(找到解决方法,正想办法加入程序中,缩放后用ATTSYNC更新一下属性)




已修改一个出图比例按100的(就是输入100,图块比例就是1,)


陈伟 发表于 2021-12-9 17:14:21

KO你 发表于 2021-11-29 14:24
没支持动态块,能完善下吗
以下的支持动态块
但没能显示原有比例值


楼主的支持动态块,但在非世界坐标系下属性文字会斜着;你发这个在非世界坐标系下图块会移位,而且移动很远;;各有千秋
页: [1]
查看完整版本: 【块比例】查看并修改块缩放比例