批量修改块参照字体样式,高度,有时可以,有时不行,求助
(defun c:tt (/ E1 E2 EL N SS)(while (setq ss (ssget '((0 . "insert") (2 . "GC200") (66 . 1))))
(repeat (setq n (sslength ss))
(if (setq e1 (ssname ss (setq n (1- n))))
(progn
(setq e2 (entnext e1)
el (entget e2))
(if (= "ATTRIB" (cdr (assoc 0 el)))
(progn
(setq el (subst (cons 7 "HZ") (assoc 7 el) el))
(setq el (subst (cons 40 0.75) (assoc 40 el) el))
(entmod el)
)
)
)
)
)
)
(princ)
)
本段代码,可以选择高程点,把字体改正"HZ",字高改成0.75.有时候就行,有的图就不行,
((-1 . <图元名: 7ff4807d8170>) (0 . "INSERT") (5 . "290DF")(102 . "{ACAD_XDICTIONARY") (360 . <图元名: 7ff4807d8180>) (102 . "}") (330 . <图元名: 7ff4809bc980>) (100 . "AcDbEntity") (67 . 0) (410 ."Model") (8 . "GCD") (6 . "Continuous") (100 ."AcDbBlockReference") (66 . 1) (2 . "gc200") (10 485793.0335434.0 53.274) (41 . 0.5) (42 . 0.5) (43 . 0.5) (50 . 0.0) (70 . 0) (71 . 0)(44 . 0.0) (45 . 0.0) (210 0.0 0.0 1.0) (-3 ("SOUTH" (1000 ."202101") (1000 . "放_T1205")) ("S_GXRQ" (1071 . 1721655739))))以上是,我读取的高程点的图元属性。我的地形图,两个人展开的高程点,样式不统一。,管我找的修改方式,修改图元属性,编码7管理样式,40管理字高
但是我读取,这个图元,就没有7和40这组编码。不知道怎么处理。求助大佬。我现在为了完成修改,只能单个修改。修改成正等线体。字高0.625,
另注,我修改前后,查看图元属性,竟一模一样。迷茫
再entupd e1 试试 ATTSYNC 命令试试,属性块的更新,一般需要刷新
页:
[1]