本帖最后由 highflybir 于 2013-4-21 20:45 编辑

常用
可能已经有这样的程序了。但要收费或要注册的,所以我发表了lisp程序在此,希望他们能谅解。这个程序没有什么技巧而言。经过测试,速度应该还可以。
有什么建议或者纰漏之处,请大家指出。
核心代码:

  1. ;;;=============================================================
  2. ;;; 功能:简体字符串和繁体字符串互相转化                        
  3. ;;; 输入:字符串                                                
  4. ;;; 输出:被转化后的字符串                                      
  5. ;;;=============================================================
  6. (defun Text:CharConvert (text IsRev / Index NewTxt Str From to)
  7.   (if IsRev
  8.     (setq From TraditionalCharset
  9.           To SimpleCharSet
  10.     )
  11.     (setq From SimpleCharSet
  12.           To TraditionalCharset
  13.     )
  14.   )
  15.   (setq NewTxt "")
  16.   (while (/= text "")
  17.     (setq str (substr text 1 1))
  18.     (if (> (ascii str) 128)
  19.       (progn
  20.         (setq str (substr text 1 2))
  21.         (setq text (substr text 3))
  22.         (if (setq index (VL-POSITION str From))
  23.           (setq str (nth index To))
  24.         )
  25.       )
  26.       (setq str (substr text 1 1)
  27.             text (substr text 2)
  28.       )
  29.     )
  30.     (setq newtxt (strcat newtxt str))
  31.   )
  32.   newtxt
  33. )
程序源码在此:

程序已经稍做修改。另:若有人能帮忙提供 台湾或者香港的字体和相关样例图,则可辅助我完成内码转换及其测试。在此致谢。
=============================================
2013.1.32增加 DLL文件。



这个是对话框演示演示。
已经包含了32位和64位的版本,应该可以在CAD的各个版本上运行。

  1. (defun c:zzz (/ dlg)
  2. ;;如果注册成功,以后就可以不需要这一句
  3.   (startapp "regsvr32 /i /s \"F:\\zqy\\C\\CharConverter\\Release\\CharConverter.dll\"")     
  4.   (setq dlg (vlax-create-object "CharConverter.Dialog"))
  5.   (if dlg
  6.     (progn
  7.       (vlax-invoke dlg 'doit)
  8.       (vlax-release-object dlg)
  9.     )
  10.   )
  11.   (princ)
  12. )


在VBA里面可以这样用。
首先引用,然后就可以了。
  1. Sub test()
  2.     Dim a As DialogTest
  3.     Set a = CreateObject("CharConverter.Dialog")
  4.     With a
  5.         .doit
  6.     End With
  7. End Sub


以后将会陆续添加其内容,并能对CAD操作。

======================================
2013.04.20更新:提供新的方法和函数,可以实现真正内码转化。


=============================================

2013.04.21更新:现在可以提供对含文字的CAD图元操作,包括:
单行,多行文字,引线,属性,标注,公差,表格,块及其嵌套块。
LISP源码发行了三个版本,GB,GBK,BIG5,简体,繁体,台湾繁体版本.




网友答: 謝謝版大的分享!
另外向版大請教一下
有辦法將「簡體的lsp、fas」轉成「繁體的lsp、fas」的方式嗎?
或是說在「繁體的autocad」載入簡體的lsp或fas時,不會因為亂碼的關係無法執行

网友答:
流氓兔 发表于 2022-2-2 19:26
参数类型错误: VLA-OBJECT nil,可以更新一下代码不

已经解决,问题了,注册一下就好了

网友答: 不论是用测试txt文本转换,或是运行test时提示错误: 参数类型错误: VLA-OBJECT nil
请问这是怎么回事?

网友答: 太强了

网友答: 版主知识丰富,乐于分享,我们有福气

网友答: 楼上说的正确,高版是我们学习LISP的榜样与福气

网友答: 高飞鸟已经飞到云端了。

网友答: 仰视云端!

网友答: 鸟哥,还有啥是你不会的啊

网友答: 不错,多谢了。

网友答: 早就想有这样的程序就好了。多谢了

网友答: 太好了,谢谢
  • 上一篇:置顶CAD窗口,让你工作不再分心 [附:修改CAD标题
  • 下一篇:没有了