明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 8072|回复: 15

如何用VLISP 程序实现:把CAD里面文字复制粘贴板里面,可以用CTRL+V,在文本里粘贴

    [复制链接]
发表于 2011-12-2 17:40:22 | 显示全部楼层 |阅读模式
本帖最后由 zhb236623 于 2011-12-3 19:13 编辑

如何用VLISP 程序实现如下功能:


在图形里面有文字   “砖”     利用LISP程序复制这个文字。。然后可以把这个文字放到粘贴板里面。也就是说可以打开一个文本文件,然后可以把这个文字粘贴在这个文本文件里面。。。

用_.ddedit命令可以实现,如何用命令方式怎么实现呢。


想实现的功能是图纸里面文字“123/456/789”  -》“123-456-789”到剪切板里面,然后可以在打开的文本文本文件里面粘贴得到“123-456-789”

本帖被以下淘专辑推荐:

发表于 2023-8-8 18:21:19 | 显示全部楼层
Gu_xl 发表于 2011-12-2 18:02
为何不直接用(open filename "a")方法将文字写入文件?
下面提供两个剪贴板操作函数!

这东西怎么用啊,我加载之后按a没反应啊
发表于 2022-11-25 12:57:56 来自手机 | 显示全部楼层
zhb236623 发表于 2011-12-3 19:13
借用了yucpp 的程序   http://bbs.mjtd.com/thread-85614-1-1.html
也谢谢Gu_xl

非常感谢您的分享
发表于 2024-4-21 07:55:50 | 显示全部楼层
真好用 感谢您的分享
CTRL+V,在文本里粘贴时 不能换行,
能换行就更好用,
发表于 2011-12-2 18:02:51 | 显示全部楼层
本帖最后由 Gu_xl 于 2011-12-2 18:06 编辑

为何不直接用(open filename "a")方法将文字写入文件?
下面提供两个剪贴板操作函数!
  1. ;;;将文本复制到剪贴板
  2. (defun CopytoClipboard(text / Clip_board)
  3. (setq Clip_board (Vlax-Get-Property (Vlax-Get (vlax-create-object "htmlfile") 'ParentWindow) 'ClipboardData))
  4. (Vlax-Invoke Clip_board 'SetData "text" text)
  5.   (vlax-release-object Clip_board)
  6.   text
  7. )
  8. ;;;从剪贴板拷贝文本
  9. defun GetClipboard(/ Clip_board text)
  10. (setq Clip_board (Vlax-Get-Property (Vlax-Get (vlax-create-object "htmlfile") 'ParentWindow) 'ClipboardData))
  11. (setq text (Vlax-Invoke Clip_board 'GetData "text"))
  12.   (vlax-release-object Clip_board)
  13.   text
  14. )

 楼主| 发表于 2011-12-3 14:10:14 | 显示全部楼层
本帖最后由 zhb236623 于 2011-12-3 14:10 编辑
Gu_xl 发表于 2011-12-2 18:02
为何不直接用(open filename "a")方法将文字写入文件?
下面提供两个剪贴板操作函数!


谢谢楼主。下来看一下。宗地图里面有地号:350000/222/222/222/000   然后图形存盘的时候要把这个地号加在DWG图形文件名中 即   宗地图.dwg  ->      宗地图(350000-222-222-222-000).dwg  所以需要这个功能。。。
发表于 2011-12-3 15:21:38 | 显示全部楼层
同行啊!
 楼主| 发表于 2011-12-3 19:13:07 | 显示全部楼层
本帖最后由 zhb236623 于 2011-12-3 19:13 编辑

借用了yucpp 的程序   http://bbs.mjtd.com/thread-85614-1-1.html
也谢谢Gu_xl



  1. ;;程序中的字符串哪里来的?我有个从cad中复制到剪切板的。
  2. ;;;=================================================================*
  3. ;;;功能:向系统剪贴板写入文字                                       *
  4. (defun ZML-CLIP-SETSTRING (STR / HTML RESULT)
  5.   (and (= (type STR) 'STR)
  6.        (setq HTML (vlax-create-object "htmlfile"))
  7.        (setq RESULT (vlax-invoke
  8.                       (vlax-get        (vlax-get HTML 'PARENTWINDOW)
  9.                                 'CLIPBOARDDATA
  10.                       )
  11.                       'SETDATA
  12.                       "Text"
  13.                       STR
  14.                     )
  15.        )
  16.        (vlax-release-object HTML)
  17.   )
  18. )
  19. ;;;=================================================================*
  20. ;;函数测试
  21. (defun c:wc ()
  22. (vl-load-com)
  23.   (setq txtss (ssget '((0 . "*TEXT"))))
  24.   (while (> (sslength txtss) 1)
  25.     (alert "只能选择一个文字串,请重新选择!")
  26.     (setq txtss (ssadd))
  27.     (setq txtss (ssget '((0 . "*TEXT"))))
  28.   )
  29.   (setq txtcon (cdr (assoc 1 (entget (ssname txtss 0)))))
  30.   (setq ent_str_last (vl-string-translate "/" "-" txtcon))
  31.   (setq ent_str_last_kuahao (strcat "(" ent_str_last ")"))
  32.   (ZML-CLIP-SETSTRING ent_str_last_kuahao)
  33.   (princ "\n文字已复制到剪切板,可以直接粘贴了!")
  34.   (princ)
  35. )


本帖子中包含更多资源

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

x
 楼主| 发表于 2011-12-3 19:23:32 | 显示全部楼层
zyhandw 发表于 2011-12-3 15:21
同行啊!

程序弄好,欢迎试用下。。。
 楼主| 发表于 2011-12-3 22:14:47 | 显示全部楼层
Gu_xl 发表于 2011-12-2 18:02
为何不直接用(open filename "a")方法将文字写入文件?
下面提供两个剪贴板操作函数!

再次麻烦下版主。如何去掉字符串是的引号 ""  呢。。http://bbs.mjtd.com/forum.php?mo ... #pid495181pid495181    谢谢。。
发表于 2011-12-4 20:49:04 | 显示全部楼层
zhb236623 发表于 2011-12-3 19:23
程序弄好,欢迎试用下。。。

试用了一下,不错!谢谢!!
 楼主| 发表于 2011-12-5 10:03:01 | 显示全部楼层
zyhandw 发表于 2011-12-4 20:49
试用了一下,不错!谢谢!!

可以再试一下这个。http://bbs.mjtd.com/forum.php?mo ... #pid495181pid495181
如果一张图上有新老地号都要的话可以用这个。。。
发表于 2011-12-26 14:38:48 | 显示全部楼层
天天为这个问题困扰,现在终于找到解决的方法,谢谢各位!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 20:16 , Processed in 0.270294 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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