NSHX 发表于 2024-7-22 22:25:42

批量修改块参照字体样式,高度,有时可以,有时不行,求助

(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,
另注,我修改前后,查看图元属性,竟一模一样。迷茫

自贡黄明儒 发表于 2024-7-22 22:31:36

再entupd e1 试试

liuhe 发表于 2024-7-23 08:23:43

ATTSYNC   命令试试,属性块的更新,一般需要刷新
页: [1]
查看完整版本: 批量修改块参照字体样式,高度,有时可以,有时不行,求助