明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2274|回复: 1

求修改一下这个角度匹配的程序

[复制链接]
发表于 2012-4-21 04:38:28 | 显示全部楼层 |阅读模式
本帖最后由 lshpool 于 2012-4-21 04:42 编辑

;;;;;;下面的程序,总共分为2部分,一个是文字内容匹配,后面是角度匹配,角度匹配的有些问题,见下面批注,希望有高手修改一下


;;;;;;文字内容匹配,让后面选中的文字内容,和第一次选择点样板文字内容变成一样的
(defun c:nrpp ()
  (command "undo" "begin")
  (setq ent1 (entsel "select text origin:"))
  (princ "select text to modify:")
  (setq ent_ss (ssget '((-4 . "<OR")
   (-4 . "<AND")
   (0 . "*TEXT")
   (-4 . "AND>")
   (-4 . "<AND")
   (0 . "mtext")
   (-4 . "AND>")
   (-4 . "OR>")
         )
        )
  )
  (setq ent_list1 (entget (car ent1))
n   0
ent_len   (sslength ent_ss)
  )
  (while (< n ent_len)
    (setq ent_list2 (entget (ssname ent_ss n)))
    (setq ent_list2
    (subst (assoc '1 ent_list1)
    (assoc '1 ent_list2)
    ent_list2
    )
    )
    (entmod ent_list2)
    (setq n (1+ n))
  )
  (command "undo" "end")(princ)
)
;;;文字方向匹配(jdpp)让所选文字的角度和线段的角度平行
;;;程序缺陷:1、对自定义坐标系支持不好,文字的角度颠倒。2、希望能让文字改变角度后,自动靠近直线段并保持一定距离例如
;;;0.5倍字高。3、不知道何故,在2010版本以上的cad中使用时候,有时候会导致系统崩溃;4、选择文字不能多选
(defun c:jdpp (/ smd gmd ent text_ang ent_list)
  (setq smd (getvar "snapmode")
        gmd (getvar "gridmode")
  )
  (command "snapmode" "0")
  (command "gridmode" "0")
  (princ "\n选择源物体:")
  (command "ucs" "ob" pause)
  (setvar "UCSICON" 0)
  (if (setq ent (entsel "选择目标文字:")
      )
    (progn
      (setq text_ang (angle '(0 0 0) (getvar "UCSXDIR")))
      (while (> text_ang (/ pi 2)) (setq text_ang (- text_ang pi)))
      (setq ent_list (entget (car ent)))
      (setq ent_list (subst (cons 50 text_ang)
       (assoc '50 ent_list)
       ent_list
       )
      )
      (entmod ent_list)
    )
  )
(setvar "UCSICON" 1)
(command "ucs" "p")
(setvar "snapmode" smd)
(setvar "gridmode" gmd)
(princ)
)
发表于 2012-4-21 18:21:22 | 显示全部楼层
选择文字另方
(setq ent_ss (ssget '(( 0 . "*TEXT"))))

建议堤供样本文件以配合调试
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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