明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2120|回复: 10

发一个研究autocad字体有哪些字符的小代码

[复制链接]
发表于 2018-7-29 21:18:58 | 显示全部楼层 |阅读模式
发一个研究AutoCAD字体有哪些字符的小代码,可能有不对的地方,请大家指正。
用法:1.设置你要测试的字体,在“字体样式”对话框设置,
2.
把以下代码放在vbaIDE里,运行。
  1. Option Explicit

  2. '测试字体中的特殊符号
  3. Public Sub cs()
  4. Dim tc1 As AcadAcCmColor, tc2 As AcadAcCmColor

  5. Set tc1 = ThisDrawing.Application.GetInterfaceObject("Autocad.AcCmColor" & "." & Left(ThisDrawing.Application.Version, 2))
  6. Set tc2 = ThisDrawing.Application.GetInterfaceObject("Autocad.AcCmColor" & "." & Left(ThisDrawing.Application.Version, 2))

  7. tc1.ColorIndex = acCyan
  8. tc2.ColorIndex = acRed
  9. Dim objTxt As AcadText, V As String, Inspt(2) As Double
  10. Dim i As Long, j As Long
  11. Const 列数 = 5
  12. Const 行距 = 20

  13. ''以下为初步测试
  14. For j = 1 To 999
  15.     i = i + 1
  16.     V = "%%%%" & CStr(j)
  17.     Inspt(0) = (i - ((i - 1) \ 列数) * 列数) * 行距
  18.     Inspt(1) = ((i - 1) \ 列数) * 行距
  19.     Inspt(2) = 0
  20.     Set objTxt = ThisDrawing.ModelSpace.AddText(V, Inspt, 3)
  21.     objTxt.TrueColor = tc2

  22.     V = "%%" & CStr(j)
  23.     Inspt(0) = (i - ((i - 1) \ 列数) * 列数) * 行距
  24.     Inspt(1) = ((i - 1) \ 列数) * 行距 - 行距 / 2
  25.     Inspt(2) = 0
  26.     Set objTxt = ThisDrawing.ModelSpace.AddText(V, Inspt, 3)
  27.     objTxt.TrueColor = tc1
  28. Next j



  29. For j = Asc("A") To Asc("z")
  30.     i = i + 1
  31.     V = "%%%%" & Chr(j)
  32.     Inspt(0) = (i - ((i - 1) \ 列数) * 列数) * 行距
  33.     Inspt(1) = ((i - 1) \ 列数) * 行距
  34.     Inspt(2) = 0
  35.     Set objTxt = ThisDrawing.ModelSpace.AddText(V, Inspt, 3)
  36.     objTxt.TrueColor = tc2
  37.     V = "%%" & Chr(j)
  38.     Inspt(0) = (i - ((i - 1) \ 列数) * 列数) * 行距
  39.     Inspt(1) = ((i - 1) \ 列数) * 行距 - 行距 / 2
  40.     Inspt(2) = 0
  41.     Set objTxt = ThisDrawing.ModelSpace.AddText(V, Inspt, 3)
  42.     objTxt.TrueColor = tc1
  43. Next j

  44. ThisDrawing.Application.ZoomExtents

  45. End Sub

3.测试结果如图所示:


4.例如,当你想输入η时,在文字框里输入%%951就可以了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

点评

找到宝了  发表于 2022-7-26 09:10
发表于 2018-7-29 21:33:24 来自手机 | 显示全部楼层
顶一下阿勇老师,再请教一个有营养的问题,vb6在CAD中如何实现伸缩式窗体,类似QQ鼠标移动到隐藏边出来窗体,鼠标从窗体上移开,窗体隐藏到侧边

点评

vb6编写的cad辅助工具类,和cad在不同进程,与cad无关,这个问题就是:vb程序如何实现像qq一样的伸缩式窗体,网上代码很多吧!  发表于 2018-7-29 22:12
发表于 2018-7-30 09:07:21 | 显示全部楼层
先要设置字体 能直接添加到现有字体么!

点评

没明白你的意思?  发表于 2018-7-30 11:23
发表于 2018-7-31 11:22:55 | 显示全部楼层
似乎是仅列出1-999号字符,并不是列出字体里支持的所有字符?截图只是后边的部分字符吧。编着玩玩还行,实用性并不大~

点评

就是个玩的  发表于 2018-7-31 12:01
发表于 2019-4-22 17:27:22 | 显示全部楼层
不错不错,学习一下,初入!
发表于 2019-5-15 12:08:38 | 显示全部楼层
1.这个好像识别不出来就是显示?号。
2.在mtext中不起作用,text中还行
3.刚开始是怎么知道这些符号都是%%开始的呢?
 楼主| 发表于 2019-5-16 12:21:11 | 显示全部楼层
renhaitao_nice 发表于 2019-5-15 12:08
1.这个好像识别不出来就是显示?号。
2.在mtext中不起作用,text中还行
3.刚开始是怎么知道这些符号都是% ...

1.不是显示不出来,而是哪个编码没有对应的符号;
2.在mtext里,只要字体设置正确,也没问题;
3.这。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 06:31 , Processed in 0.153528 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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