明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2182|回复: 2

CAD中电子签字,块中如何插入块?

[复制链接]
发表于 2012-6-10 20:35:06 | 显示全部楼层 |阅读模式
有没有人搞过CAD中的电子签名啊,就是扫描的文字用sline或sketch描成电子签名然后做成块?
我现在想把科里面所有人的名字做成电子签名的块(如手写签字块张三),然后通过一个程序将【手写签字“张三”的块】替换掉现有块中的宋体的名字【张三】,位置就在原宋体字的位置,大小都是先调整好的固定大小,只要找到原文字位置,在块中插入块就可以了,现在要解决两个问题:
  • 如何在预先不打开块的情况下定位需要替换的名字
  • 如何在块中插入块
希望有人能指点一下,谢谢!
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2015-11-2 09:52:29 | 显示全部楼层
试试这个程序,如何?;;;文字替换成图块
(defun C:thqm(/ ent block_name block_scale os ss s1 i pt acad mspace acaddocument)
        (vl-load-com)
        (setvar "cmdecho" 0)
        (princ "文字替换成图块")
        (while
                (progn
                        (setq ent (entsel "\n请选择一个图块:"))
                        (not (if (= ent nil)
                                        nil
                                        (wcmatch (cdr (assoc 0 (entget (car ent)))) "INSERT") ;实体类型必须为大写
                                )
                        )
                )
                (princ"\n未选取任何图块,请重新点选:")
        )       
        (setq block_name (cdr (assoc 2 (entget (car ent)))));获取块名
  (initget 6)
  (if (not (setq block_scale (getreal "\n指定块插入比例<1.0>")))
    (setq block_scale 1.0)
  )
        (setq os (getvar "osmode"))
        (princ "\n请选择要替换的文字:***提示:文字中心为块的插入点***")
        (if (setq ss (ssget '((0 . "text"))))
                (repeat (setq i (sslength ss))
                        (setq s1 (ssname ss (setq i (1- i))))
                        (setq ent (entget s1))
                        (setq pt (cdr (assoc 10 ent)))
                        (setq acad (vlax-get-acad-object))
                        (setq acaddocument (vla-get-activedocument acad))
                        (setq mspace (vla-get-modelspace acaddocument))
                        (setvar "osmode" 0)
                        (vla-insertblock
                                mspace
                                (vlax-3d-point pt)
                                block_name
                                block_scale
                                block_scale
                                block_scale
                                0
                        )
                        (setvar "osmode" os)
                        (entdel s1) ;_删除原文字                       
                )               
        )
        (princ)
)
回复 支持 1 反对 0

使用道具 举报

发表于 2012-6-10 23:11:32 | 显示全部楼层
sf,沙发我来做
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-29 17:30 , Processed in 0.178382 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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