明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2634|回复: 14

[基础] 如何让CAD点那个文字朗读一下

[复制链接]
发表于 2017-12-13 07:55:52 | 显示全部楼层 |阅读模式
  (setq sapi (vlax-create-object "Sapi.SpVoice"))
  (vlax-invoke sapi "Speak" "本工程依据抗震规范设计 !" 0)
各位好,有两年时间没有发铁了,有什么办法调用上面的在CAD里点那个文字就朗读一遍
各位有什么好办法不

"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2017-12-13 20:39:43 | 显示全部楼层
(defun c:WBLD (/ ss i txt catch)
  (defun speek (str)
    (setq spi (vlax-create-object "Sapi.SpVoice"))
    (vlax-method-applicable-p spi "Speak")
    (vlax-invoke-method spi "Speak" str 3)
  )
  (princ "\n请选择要朗读的文字 : ")
  (if (setq ss (ssget '((0 . "*TEXT"))))
    (progn
      (setq i -1)
      (repeat (sslength ss)
        (setq txt (cdr (assoc 1 (entget (ssname ss (setq i (1+ i))))))
              cat (vl-catch-all-apply 'speek (list txt))
        )
        (if (vl-catch-all-error-p cat)
          (progn (princ "\n朗读文字时捕捉到错误 : ")
                 (princ (vl-catch-all-error-message cat))
          )
        )
      )
    )
  )
  (princ)
)
发表于 2019-5-8 11:44:27 | 显示全部楼层
测试可以用,本质是调用VBS的方法。

新建一个txt文档,复制下面一行的内容到文档内:
CreateObject("SAPI.SpVoice").Speak "朗读测试"
保存,关闭文档,将文档后缀的.txt改为.vbs,双击运行就会朗读。

不太熟悉这种用法,不过最后应该释放一下创建的对象吧
发表于 2019-5-8 12:14:20 | 显示全部楼层
satan421 发表于 2019-5-8 11:44
测试可以用,本质是调用VBS的方法。

新建一个txt文档,复制下面一行的内容到文档内:

调用的SAPI.SpVoice不是vbs
 楼主| 发表于 2017-12-13 18:46:39 | 显示全部楼层
我的铁快垫底了
 楼主| 发表于 2017-12-13 20:40:09 | 显示全部楼层
完了抄不全,不能用呀
发表于 2017-12-13 22:28:41 | 显示全部楼层
居然还可以朗读。长见识了
发表于 2017-12-14 12:27:22 | 显示全部楼层
这个厉害了,必须收藏
发表于 2017-12-16 10:27:44 | 显示全部楼层
真的能读嘛,好像不成功。
发表于 2017-12-24 00:21:46 | 显示全部楼层
朗读???第一次听说。还能这样玩啊。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 11:43 , Processed in 0.183735 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表