明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 13939|回复: 96

[源码] 修改文字上下划线---击文字上部为上划线,下部为下划线,右击...

  [复制链接]
发表于 2013-12-18 13:43:55 | 显示全部楼层 |阅读模式
本帖最后由 自贡黄明儒 于 2014-1-29 19:36 编辑

;;*****修改文字上下划线******黄明儒2013年12月18日
(defun C:uo (/ EN PT PTT STR X)
  ;;[功能]pt是在text上部,返回T
  (defun HH:TextSX (e en pt / H PT1)
    (setq h (cdr (assoc 40 en)))
    (setq pt1 (trans pt 1 0))
    (vl-cmdf "_.ucs" "OB" e)        ;转到对象坐标系
    (setq pt1 (trans pt1 0 1))        ;当前ucs
    (vl-cmdf "_.ucs" "_p")        ;恢复ucs   
    (< (/ h 2.0) (cadr pt1))
  )
  ;;Flag,nil 右击,删除上下划线
  (defun leftPick (e pt Flag / EN STR)
    (set 'en (entget e))
    (setq str (cdr (assoc 1 en)))
    (mapcar '(lambda (x) (setq str (vl-string-trim x str)))
     (list "%%O" "%%o" "%%U" "%%u")
    )
    (if Flag
      (if (HH:TextSX e en pt)
(entmod (subst (cons 1 (strcat "%%o" str)) (assoc 1 en) en))
(entmod (subst (cons 1 (strcat "%%u" str)) (assoc 1 en) en))
      )
      (entmod (subst (cons 1 str) (assoc 1 en) en))
    )
  )
  ;; 本程序主程序
  (vl-load-com)
  (HH:ayOSMode nil)
  (princ "\n 修改文字上下划线(左击:上下划线; 右击:删除)")
  (while
    (cond ((and (setq pt (grread t 4 2))      ;获取grread值
  (equal (car pt) 5)
    )
    (progn
      (setq ptt (cadr pt)
     en  (nentselp ptt)
      )
      t
    )
   )
   ((and (equal (car pt) 3) en (ssget (cadr en) '((0 . "TEXT")))) ;3为左键
    (leftPick (car en) (cadr en) T)
   )
   ((and (or (equal (car pt) 11) (equal (car pt) 25))
  en
  (ssget (cadr en) '((0 . "TEXT")))
    )          ;右键
    (leftPick (car en) (cadr en) nil)
   )
    )
  )
  (HH:ayOSMode T)
  (gc)
  (princ)
)
;;*****修改文字上下划线******黄明儒2013年12月18日
;;本程序是想说明,可以将文字划分成网格,touch不同的地方产生不同的反应,从而显得"文本"生机勃勃,同现实比较接近。好多对象均可这样处理。

本帖子中包含更多资源

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

x

评分

参与人数 1明经币 +1 金钱 +5 收起 理由
tigcat + 1 + 5 很给力!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下

本帖被以下淘专辑推荐:

 楼主| 发表于 2021-1-29 21:02:25 来自手机 | 显示全部楼层
hw8810 发表于 2021-1-29 17:41
缺函数啊大佬no function definition: HH:AYOSMODE

就是按下F3,注释掉就行,影响不大
发表于 2021-2-1 10:55:18 | 显示全部楼层
自贡黄明儒 发表于 2021-1-29 21:02
就是按下F3,注释掉就行,影响不大

谢谢大佬,学习了
发表于 2021-1-29 17:41:37 | 显示全部楼层
本帖最后由 hw8810 于 2021-1-29 17:42 编辑

缺函数啊大佬no function definition: HH:AYOSMODE
发表于 2013-12-18 14:20:36 | 显示全部楼层
不错,有点意思
发表于 2013-12-18 15:40:19 | 显示全部楼层
黄总好无聊啊
发表于 2013-12-18 15:46:15 | 显示全部楼层
本帖最后由 hao3ren 于 2013-12-18 15:47 编辑

是不可以点左右,将文字放在框里面啊
我晕原来是u%%
 楼主| 发表于 2013-12-18 15:50:37 | 显示全部楼层
hao3ren 发表于 2013-12-18 15:46
是不可以点左右,将文字放在框里面啊
我晕原来是u%%

如果再划分左右,击文字可以执行许多程序了
发表于 2013-12-18 16:17:17 | 显示全部楼层
黄总的新产品真多啊
发表于 2013-12-18 16:48:21 | 显示全部楼层
量产啊!!!!!!
发表于 2013-12-18 16:52:16 | 显示全部楼层
有点意思啊
发表于 2013-12-18 17:25:30 | 显示全部楼层
挺好玩的,想法独特
发表于 2013-12-18 17:30:32 | 显示全部楼层
黄大师果然高产啊~~~~~~支持一个~~~~
能不能帮我写一个这样的程序啊??先谢谢了
http://bbs.xdcad.net/thread-672075-1-1.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-22 15:25 , Processed in 0.194396 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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