找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 567|回复: 6

[求助] [求助]:求文字的四个点的点表

[复制链接]
发表于 2008-8-16 23:05:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
怎么求文字的四个点的点表,支持多行文字最好,而且要是文字在任何角度的,感觉晓东原来的有点不准,谁能写个好点的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 10401个

财富等级: 富甲天下

发表于 2008-8-17 10:06:46 | 显示全部楼层
哪四个点?是外包围框的四个角点吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-17 13:12:57 | 显示全部楼层
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 10401个

财富等级: 富甲天下

发表于 2008-8-17 14:03:54 | 显示全部楼层
试试看:
[php]
;文本外框,只对单行文字有效。晓东 zxq0220
(DEFUN C:TXTBLK ()
(SETVAR "CMDECHO" 0)
(SETQ OLDOS (GETVAR "OSMODE"))
(SETQ TXTSZ (GETVAR "TEXTSIZE"))
(SETVAR "OSMODE" 0)
(PRINC "\nSelect Text : ")
(IF (SETQ SS (SSGET '((0 . "TEXT")))) (PROGN
  (COMMAND ".UNDO" "BE")
  (SETQ SL (SSLENGTH SS) I 0)
  (REPEAT SL
   (SETQ ENT (ENTGET (SSNAME SS I)) I (1+ I))
   (SETVAR "TEXTSIZE" (CDR(ASSOC 40 ENT)))
   (SETQ TEMP    (TEXTBOX (LIST (ASSOC 1 ENT)))
         PT_BASE (CDR (ASSOC 10 ENT))
         ANG     (CDR (ASSOC 50 ENT)) ;文字转角
         TEXTW   (CDR (ASSOC 41 ENT)) ;文字高宽比
         TEMP_W  (* (- (CAADR TEMP) (CAAR TEMP)) TEXTW) ;实际字宽
         TEMP_H  (- (CADADR TEMP) (CADAR TEMP))
         PT      (LIST (+ (CAR PT_BASE) (CAAR TEMP)) (+ (CADR PT_BASE) (CADAR TEMP))))
   (COMMAND "PLINE" PT
            (SETQ PT1 (POLAR PT (+ (/ PI 2) ANG) TEMP_H))
            (POLAR PT1 ANG TEMP_W)
            (POLAR PT ANG TEMP_W)
            "C")
  )
  (COMMAND ".UNDO" "E")
))
(SETVAR "TEXTSIZE" TXTSZ)
(SETVAR "OSMODE" OLDOS)
(SETVAR "CMDECHO" 1)
(PRINC)
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2008-8-17 14:14:17 | 显示全部楼层
对末尾有空格的文字,用TEXTBOX取点不准
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-17 15:37:55 | 显示全部楼层
刚测试了下,也不准,不过改下应该可以,支持多行就好了,在此还是谢谢zxq0220的帮忙  ~!楼上的,我要的就是比较通用准确的,你不要只说不准,能否也给个准确的?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2008-8-20 22:10:00 | 显示全部楼层
http://zml84.blog.sohu.com/79282269.html

;;;=======================================================
;;;    通用函数
;;;功能:获取TEXT对象包围盒四个角点
;;;参数:ENT ----text组码表
;;;参数:SC  ----缩放比例
(defun TEXTBOX2    (ENT SC    / PT0 ANG LST PTA PTB PTC PTD LST_NEW PT_ANG PT_DIST)
    ;;插入点 角度
    (setq PT0 (cdr (assoc 10 ENT))
      ANG (cdr (assoc 50 ENT))
    )
    ;;计算局部坐标系四点
    (setq LST (textbox ENT))
    (setq PTA (car LST)
      PTB (cadr LST)
    )
    (setq PTC (list (car PTA) (cadr PTB))
      PTD (list (car PTB) (cadr PTA))
    )
    (setq LST      (list PTA PTC PTB PTD)
      LST_NEW ()
    )
    ;;旋转坐标系
    (foreach PT    LST
    (setq PT_DIST (distance '(0 0 0) PT)
          PT_ANG  (angle '(0 0 0) PT)
          PT      (polar '(0 0 0) (+ PT_ANG ANG) (* SC PT_DIST))
          LST_NEW (cons PT LST_NEW)
    )
    )
    ;;平移
    (setq LST '())
    (foreach PT    LST_NEW
    (setq PT  (mapcar '+ PT0 PT)
          LST (cons PT LST)
    )
    )
    ;;返回
    LST
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-16 16:29 , Processed in 0.396675 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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