明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 688|回复: 4

[源码] 请大神帮忙改文字齐线的程序

[复制链接]
发表于 2018-1-16 11:25 | 显示全部楼层 |阅读模式
4明经币
目前只支持单线,希望修改来支持多线,能同时支持单线最好。
请大神出手相助,还请别嫌弃,我只有这么多明经币了。谢谢

;;;拷贝文字随线角度
(vl-load-com)
(defun c:g (/ ent enl pt1 pt2 mid_pt ang)
  (defun emk_t (layer pt1 pt2 text ang n72 n73 h w sty /)
    (entmake (list '(0 . "text")
     '(100 . "AcDbEntity")
     (cons 8 layer)
     '(100 . "AcDbText")
     (cons 10 pt1)
     (cons 1 text)
     (cons 40 h)
     (cons 41 w)
     (cons 7 sty)
     (cons 72 n72)
     (cons 11 pt2)
     (cons 50 ang)
     (cons 73 n73)
      )
    )
  )
  (while
  (setq ent (car (entsel "\n选择文字:")))
  (if (= "TEXT" (cdr (assoc 0 (entget ent))))
    (progn
      (while (setq enl (entsel "\n选择对齐线:"))
(if (= "LINE" (cdr (assoc 0 (entget (car enl)))))
   (progn
     (setq pt1  (cdr (assoc 10 (entget (car enl))))
    pt2  (cdr (assoc 11 (entget (car enl))))
    mid_pt (vlax-curve-getClosestPointTo
      (vlax-ename->vla-object (car enl))
      (cadr enl)
    )
    ang  (angle pt1 pt2)
     )
     (if (and (> ang (* 0.5 pi)) (<= ang (* pi 1.5)))
       (setq ang (- ang pi))
     )
     (emk_t (cdr (assoc 8 (entget ent)))
     '(0 0 0)
     (polar mid_pt (+ ang (* 0.5 pi)) 100)
     (cdr (assoc 1 (entget ent)))
     ang
     1
     0
     (cdr (assoc 40 (entget ent)))
     (cdr (assoc 41 (entget ent)))
     (cdr (assoc 7 (entget ent)))
     )
   )
)
      )
    )
  ))
  (princ)
)

附件: 您需要 登录 才可以下载或查看,没有账号?注册
发表于 2018-1-16 11:32 | 显示全部楼层
一个变通的办法
改用Osnap函数取得中点与端点
以此两点求得该段角度
回复

使用道具 举报

 楼主| 发表于 2018-1-16 11:35 | 显示全部楼层
Andyhon 发表于 2018-1-16 11:32
一个变通的办法
改用Osnap函数取得中点与端点
以此两点求得该段角度

主要是我不会啊
回复

使用道具 举报

 楼主| 发表于 2018-1-16 11:38 | 显示全部楼层
这个是论坛里找的别人的程序,我本人是一点都不会,觉得好用所以请大家帮忙修改一下,我不知道这个修改起来是不是很麻烦
回复

使用道具 举报

发表于 2018-1-16 13:59 | 显示全部楼层
这个确实挺麻烦的
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-28 16:41 , Processed in 0.150547 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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