找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 413|回复: 2

[编程申请] 如何自定义写入文本的值

[复制链接]
发表于 2016-9-5 22:39:30 | 显示全部楼层 |阅读模式

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

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

×
(defun c:xx()
     (setvar "cmdecho" 0) ;指令执行过程不响应
     (PRINC "\n框选写入文字功能,写入: 123")(PRINC)
(setq mkj (getvar 'OSMODE)) (setvar "osmode" 0)               
     (setq p1 (getpoint "\n-->请指定文字的左下角点: "))
     (setq p3 (getcorner p1 "\n-->请指定文字的对角点: "))
     (setq p2 (list (car p1)(cadr p3)))
     (setq p4 (list (car p3)(cadr p1)))
     (setq gg "123")
     (setq cp (inters p1 p3 p2 p4));求出交点
     (setq d (distance p1 p2));计算距离
     (setq d1 (distance p1 p4));计算距离
     (if (< d1 d)
     (setq hd (/ (distance p1 p2) 2))
     (setq hd (/ (distance p1 p4) 2))
     )
     (if (> d1 d)
     (setq th (/ (distance p1 p2) 2))
     (setq th (/ (distance p1 p4) 2))
     )
     (setq nhd (- hd (* 0.12 (getvar "dimscale"))))
     (setq newcp (polar cp (* 1.5 pi) (/ th 2)))
     (setq fp1 (polar newcp pi nhd))
     (setq fp2 (polar newcp 0 nhd))
     (command "text" "f" fp1 fp2 th GG)
   (setvar "clayer" AA)(setvar "osmode" mkj)
     (PRINC "\n写入文本完成!")(PRINC))


论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
 楼主| 发表于 2016-9-5 22:40:51 | 显示全部楼层
框选写入文本,不过定义不了写入的文字值,高手帮忙修改下,谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2016-9-6 08:21:00 | 显示全部楼层
  1. (defun c:xx ()
  2.   (setvar "cmdecho" 0)                       ; 指令执行过程不响应
  3.   (PRINC "\n框选写入文字功能,写入: 123")
  4.   (PRINC)
  5.   (setq mkj (getvar 'OSMODE))
  6.   (setvar "osmode" 0)
  7. ;  (setq gg "123")
  8.   (setq gg (getstring "\n输入文字:"))
  9.   (setq p1 (getpoint "\n-->请指定文字的左下角点: "))
  10.   (setq p3 (getcorner p1 "\n-->请指定文字的对角点: "))
  11.   (setq p2 (list (car p1) (cadr p3)))
  12.   (setq p4 (list (car p3) (cadr p1)))
  13.   (setq cp (inters
  14.              p1
  15.              p3
  16.              p2
  17.              p4
  18.            )
  19.   )                                       ; 求出交点
  20.   (setq d (distance p1 p2))               ; 计算距离
  21.   (setq d1 (distance p1 p4))               ; 计算距离
  22.   (if (< d1 d)
  23.     (setq hd (/ (distance p1 p2) 2))
  24.     (setq hd (/ (distance p1 p4) 2))
  25.   )
  26.   (if (> d1 d)
  27.     (setq th (/ (distance p1 p2) 2))
  28.     (setq th (/ (distance p1 p4) 2))
  29.   )
  30.   (setq nhd (- hd (* 0.12 (getvar "dimscale"))))
  31.   (setq newcp (polar cp (* 1.5 pi) (/ th 2)))
  32.   (setq fp1 (polar newcp pi nhd))
  33.   (setq fp2 (polar newcp 0 nhd))
  34.   (command "text" "f" fp1 fp2 th GG)
  35.   (setvar "clayer" AA)
  36.   (setvar "osmode" mkj)
  37.   (PRINC "\n写入文本完成!")
  38.   (PRINC)
  39. )


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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 02:56 , Processed in 0.359653 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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