【块比例】查看并修改块缩放比例
本帖最后由 1028695446 于 2021-11-5 12:40 编辑修改图块比例 已完善属性块旋转坐标系下属性文字斜着问题
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"))
伸手党收一个币
谢谢分享,下载尝试下 學習了,感謝1028695446大大分享, 这个怎么不能原位缩放? 没支持动态块,能完善下吗
以下的支持动态块
但没能显示原有比例值
(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-10 10:30 编辑
显示原比例没有小数,能不能设置显示原比例小数为3至4位,如 0.500,0.001,希望能加入输入值比实际值大于100倍(用于改变图框的比例,如出图比例为1:100这种),例如:输入值100,实际执行图块比值为1
旋转坐标系更改比例后,增强属性字体按照世界坐标系斜着了(找到解决方法,正想办法加入程序中,缩放后用ATTSYNC更新一下属性)
已修改一个出图比例按100的(就是输入100,图块比例就是1,)
KO你 发表于 2021-11-29 14:24
没支持动态块,能完善下吗
以下的支持动态块
但没能显示原有比例值
楼主的支持动态块,但在非世界坐标系下属性文字会斜着;你发这个在非世界坐标系下图块会移位,而且移动很远;;各有千秋
页:
[1]