linuo123 发表于 2024-5-10 14:13:01

多重引线输入汉字乱码


请教大神这段代码批量创建多重引线时候,输入英文内容没事,输入中文内容乱码,怎么解决

(defun c:QQ (/ p1 p2 txt entData)
; 定义一些初始位置和文本
(setq p1List '((0 0) (100 100) (200 200) (300 300)))
(setq txt "你好
你好")

; 遍历位置列表
(foreach pos p1List
    (setq p1 pos)
    (setq p2 (mapcar '+ p1 '(20 30))) ; 假设每个多重引线的第二个点都在第一个点基础上偏移(20, 30)

    ; 创建多重引线的DXF数据
    (setq entData
      (list
      '(0 . "MULTILEADER")
      '(100 . "AcDbEntity")
      '(8 . "Index") ; 图层
      '(100 . "AcDbMLeader")
      '(300 . "CONTEXT_DATA{")
      '(290 . 1) ; 不显示文字
      (cons 304 txt)
      '(292 . 0) ; 底色
      '(302 . "LEADER{")
      '(290 . 1) ; 没有无引线
      (cons 10 p2) ; 文字方向线端点
      '(11 1.0 0.0 0.0) ; 基线长
      '(304 . "LEADER_LINE{") ; 没有引线
      (cons 10 p1) ; 箭头端方向线端点
      '(301 . "}") ; 没有文字
      '(90 . 279552) ; 可能是句柄或者某种标识符,具体取决于AutoCAD版本和上下文
      )
      )

    ; 创建实体
    (entmake entData)
)

(princ) ; 打印结束消息,或者您可以改为其他消息
)

; 在AutoCAD命令行中输入"CreateMultiLeaders"来运行这个函数

liuhe 发表于 2024-5-10 14:24:51

测试没有问题,估计是你的lsp文件编码问题,lsp是ansi,不是uf8

aichong 发表于 2024-5-11 12:36:36

注:win10 1909之后,系统自带的记事本文本文档编码格式默认保存为UTF-8格式了,不是以前版本默认保存的ANSI格式。
页: [1]
查看完整版本: 多重引线输入汉字乱码