找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3534|回复: 20

[文字] 字转上标、下标

[复制链接]

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-10-8 18:51:21 | 显示全部楼层 |阅读模式
  • 插件名称 : 字上下标
  • 作  者 : newer
  • 运行环境 :XDRX API OpenDCL 晓东工具箱 
  • 发布时间 :2018-10-08
  • 命令名称 :xdtb_txtsxbiao
  • 插件介绍 :字上下标
  • 备  注 : (点击图片可以放大)
(点击图片可以放大)

晓东温馨提示 1、运行环境为 晓东工具箱XDRX API 的插件,请下载最新版本的 晓东工具箱XDRX API开发环境 一键安装
2、在ACAD中如何加载插件,请看 论坛插件使用方法
3、如果您有要求需要定制插件,请到 编程申请 论坛发帖求助

插件详细内容

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
  1. (defun c:xdtb_txtsxbiao (/ xd-odcl-xiaxiabiao-data ss txt str str2 str3 box box2 box3 len len1 e
  2.                          box4 height
  3.                         )
  4.   (setq xd-odcl-xiaxiabiao-data
  5.          '("YWt6AxoQAACYzyetBuKbKDUxLT9qgFDqTOpVP1ymxo9/XDg1JN4uI2+u5lZRYXdYxn8kVixWb+5Y"
  6.            "UCLEDt9VKYB64ffxutsQHplxjnnuVpS8xi/XGZjICZBizlMWSrqgsgrAR02ZsOKHwEfJSMXgO9Aq"
  7.            "cvHakHp41HlU7Wj+yes+/oDb11f0TjBe9HDyXP9mPKr0roHGFPOvbduo1pRzLVX/MMwzLvcuIXIP"
  8.            "zAvctQcrKATqw2NKXDwAOauSSGRv3U9fq2EowNtTMKA9FtngCLzjmsX1FEdYODF7EsckDOR7/G5o"
  9.            "tO6FrxW044P2G6qbBQ0YD39ABgCcWNICBevi94WOmd5bKVMATgLjn0RDwSWEBbmSNXLBqp2rheFN"
  10.            "gvyfGXIBHYBMcoVTbQGphevwulMqxP/shRNKfJlf/QYzP6htX3qNwhyychiWujwmPvg0do02rGew"
  11.            "HOyOasu4KuNYtXqrqU59r9wJCOckyIoo3R5VQTEB4QzvPvT2zafX6D/Gb5xZlA2Jn6Z5y8M/HME3"
  12.            "45/vmGUNdy+/CBXNRkEfQgS0nILm8wG6jj34YU5iHoAY8yukg8b2fSrsVFZXFOHcBGyc1EWxR8tK"
  13.            "vU2QkNNRTEStsuAchuvwqORisSefnwHTurkmypXLA8m6PWTh3+jGs4gDIKWJNYXEIPH0vTnIwEtJ"
  14.            "ULCCiTjiXkCXg9SPYSKARcb3s0HSocExpHlKEOiGYq0dYb2DcuEbBvvTkXZFGfFUJNamKyqTLE6y"
  15.            "Ky+rNSzkXyParz1bLfxIQqKhXc8e2Uu3MF3cubnbw5iRzYoVV1JTvrQE95HPC+D4E5IF5pO1vaQQ"
  16.            "5tJzNChI3kTxA7Ag0/bUpSqj0JTw85IAvRBzcaUpW9AbndFOYhuNcWSP2Ev2KHGhgM8AiLyqsS+C"
  17.            "f4O+TDEM5ScWaPVa44f8hHUtz7Ub254P0MGUNToVh9xgDMg+MeSiyI8qr0rw7VYLJw/U6bas9j/U"
  18.            "BTdSLYo/SjOR9x09NJxX+Nlq4AwG9J/cn9yc3J3cmtyb3JiamSpVOLMcKp2qUoOQLee2soVAh5vd"
  19.            "wAV0Ggj7yQWZB5DaXkjH7UIJsBnmCTBsmCPfmA3bkG6bm1cgNgc9tlexxxs1LaDozKHRZm7uclaC"
  20.            "kwkWVfwguqKYHFC4zGOOg4bF58fmdJC8Kr9MdAFRGI6hm8X4047O5pyakVlKt4Zx"
  21.           )
  22.   )
  23.   (defun xd::text:pointatindexes (e inx len / pos1 pos2 box)
  24.     (setq pos1 (xd::text:pointatindex e inx)
  25.           pos2 (xd::text:pointatindex e (+ inx len))
  26.           box  (list (car pos1) (cadr pos2) (caddr pos2) (cadddr pos1))
  27.     )
  28.   )
  29.   (defun _process (tf)
  30.     (if (and (setq e (xdrx_entsel
  31.                        (strcat "\n请拾取要改为"
  32.                                (if tf
  33.                                  "上"
  34.                                  "下"
  35.                                )
  36.                                "标的第一个字符 <退出>:"
  37.                        )
  38.                        '((0 . "text"))
  39.                      )
  40.              )
  41.              (setq pt (cadr e)
  42.                    e  (car e)
  43.              )
  44.              (/= (setq str (xd::text:stringbetween
  45.                              e
  46.                              (trans (xdrx_getpropertyvalue e "position") 0 1)
  47.                              pt
  48.                            )
  49.                  )
  50.                  ""
  51.              )
  52.         )
  53.       (progn (xdrx_begin)
  54.              (setq len1 (xdrx_string_length str)
  55.                    txt  (xdrx_getpropertyvalue e "textstring")
  56.                    len  (xdrx_string_length txt)
  57.              )
  58.              (xd::text:adjustalignment e 0 0)
  59.              (setq box  (xdrx_entity_box e)
  60.                    ent2 (xdrx_entity_copy e)
  61.                    ent2 (entlast)
  62.                    str2 (xdrx_string_mid txt len1 nums)
  63.                    box2 (xd::text:pointatindexes e len1 nums)
  64.                    str3 (xdrx_string_mid txt (+ len1 nums))
  65.                    box1 (xdrx_text_box e)
  66.              )
  67.              (if (/= str3 "")
  68.                (progn (xdrx_entity_copy e)
  69.                       (setq ent3 (entlast))
  70.                       (setq box3 (xd::text:pointatindexes
  71.                                    e
  72.                                    (+ len1 nums)
  73.                                    (xdrx_string_length str3)
  74.                                  )
  75.                       )
  76.                )
  77.              )
  78.              (xdrx_setpropertyvalue e "textstring" str)
  79.              (if (/= str3 "")
  80.                (progn (xdrx_setpropertyvalue ent3 "textstring" str3)
  81.                       (xdrx_entity_move ent3 (car box) (xd::geom:get9pt box3 1))
  82.                )
  83.              )
  84.              (xdrx_entity_copy ent2)
  85.              (xdrx_setpropertyvalue
  86.                (entlast)
  87.                "textstring"
  88.                (xdrx_string_right str 1)
  89.              )
  90.              (setq box4   (xdrx_text_box (entlast))
  91.                    height (distance (car box4) (last box4))
  92.              )
  93.              (xdrx_entity_delete (entlast))
  94.              (xdrx_setpropertyvalue
  95.                ent2
  96.                "textstring"
  97.                str2
  98.                "textheight"
  99.                (* 0.6 height)
  100.              )
  101.              (xdrx_entity_move ent2 (car box) (car box2))
  102.              (setq box2 (xdrx_text_box e))
  103.              (if tf
  104.                (progn (xdrx_entity_move ent2 (car box4) (last box4)))
  105.              )
  106.              (xdrx_end)
  107.       )
  108.       (progn (if (= str "")
  109.                (xdrx_prompt "\n第一个字符不能进行上下标操作.")
  110.              )
  111.       )
  112.     )
  113.   )
  114.   (defun c:xd-txt-shangxiabiao-up#OnClicked (/)
  115.     (setq nums (atoi (dcl-Control-GetText xd-txt-shangxiabiao-nums)))
  116.     (dcl-form-close xd-txt-shangxiabiao-form)
  117.     (_process t)
  118.   )
  119.   (defun c:xd-txt-shangxiabiao-down#OnClicked (/)
  120.     (setq nums (atoi (dcl-Control-GetText xd-txt-shangxiabiao-nums)))
  121.     (dcl-form-close xd-txt-shangxiabiao-form)
  122.     (_process nil)
  123.   )
  124.   (dcl-project-import xd-odcl-xiaxiabiao-data)
  125.   (dcl-form-show xd-txt-shangxiabiao-form)
  126.   (princ)
  127. )


论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 418个

财富等级: 日进斗金

发表于 2018-10-8 22:36:55 | 显示全部楼层
版主的程序非常有实用价值,点赞!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 5295个

财富等级: 富甲天下

发表于 2018-10-9 06:03:32 | 显示全部楼层
这个很实用,不知道能否同时设置成既有上标、又有下标。

点评

什么时候用?  详情 回复 发表于 2018-10-11 12:37
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2107个

财富等级: 金玉满堂

发表于 2018-10-9 07:59:58 | 显示全部楼层
谢谢分享。。。。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 6202个

财富等级: 富甲天下

发表于 2018-10-10 10:28:36 | 显示全部楼层
非常实用,也希望能同时设置上下标
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 35个

财富等级: 招财进宝

发表于 2018-10-10 14:23:49 | 显示全部楼层
好东东,赞一个先。。。。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3个

财富等级: 恭喜发财

发表于 2018-10-11 00:35:36 来自手机 | 显示全部楼层
好东东,赞一个先。。。。。
来自: 微社区
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 32个

财富等级: 招财进宝

发表于 2018-10-11 08:18:56 | 显示全部楼层
能在晓东工具上直接打开就好了,不仅可以设置上标,且能设置下标,那就完美了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6056个

财富等级: 富甲天下

发表于 2018-10-11 09:46:21 | 显示全部楼层
不错,很实用。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 12个

财富等级: 恭喜发财

发表于 2018-10-11 12:21:05 | 显示全部楼层
这个很实用
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

 楼主| 发表于 2018-10-11 12:37:46 | 显示全部楼层
tzfcn 发表于 2018-10-9 06:03
这个很实用,不知道能否同时设置成既有上标、又有下标。

什么时候用?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

 楼主| 发表于 2018-10-11 13:17:19 | 显示全部楼层
lz85031 发表于 2018-10-11 08:18
能在晓东工具上直接打开就好了,不仅可以设置上标,且能设置下标,那就完美了。

新写的工具,要等下个版本的晓东工具箱发布才会加入里面。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 5295个

财富等级: 富甲天下

发表于 2018-10-11 13:48:55 | 显示全部楼层

不急,我只是有这个设想,可以加两个小字体后凑合着用
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

 楼主| 发表于 2018-10-11 13:56:54 | 显示全部楼层
tzfcn 发表于 2018-10-11 13:48
不急,我只是有这个设想,可以加两个小字体后凑合着用

我是说,你在什么情况下,要同时标注上和下的

写了个,去看看 http://bbs.xdcad.net/thread-718372-1-1.html
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 32个

财富等级: 招财进宝

发表于 2018-10-11 15:30:40 | 显示全部楼层
本帖最后由 lz85031 于 2018-10-11 15:33 编辑
newer 发表于 2018-10-11 13:56
我是说,你在什么情况下,要同时标注上和下的

写了个,去看看 http://bbs.xdcad.net/thread-718372-1- ...

帮回复,俺们也经常用到,如在一个句子时就要用到HO2、COH2、m3、m2、Q3a(其中3为下标,小写a为上标)等,该数字有上下标的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-3-29 20:05 , Processed in 0.589713 second(s), 63 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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