找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 726|回复: 3

[LISP函数]:出图比例判断

[复制链接]
发表于 2003-7-28 17:42:29 | 显示全部楼层 |阅读模式

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

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

×
二次开发时经常需要用到出图比例,用来确定文字高度等。
如果每个二次开发的程序都要求用户输入“比例系数”等参数,会让用户感到非常不方便。
其实,当用户设置了标注样式,就明确表示了出图比例,只要和标注样式匹配,就可以自动判断出用户的出图比例。
下面的程序定义了判断出图比例的函数:

(defun tzbl-wl (/ zh wltzbl)
(setq zh (* (getvar "dimtxt")))
(cond
((> zh 1000) (setq wltzbl 1000))
((> zh 100) (setq wltzbl 100))
((> zh 10) (setq wltzbl 10))
((> zh 1) (setq wltzbl 1))
((> zh 0.1) (setq wltzbl 0.1))
(T (setq wltzbl 0.1)))
(if (/= 0 (getvar "dimscale"))
(setq wltzbl (* wltzbl (getvar "dimscale")))
(if (= (getvar "tilemode") 0)
(if (/= (getvar "cvport") 1)(setq wltzbl
(/ (getvar "viewsize")
(- (cadar (cddar (vports))) (cadr (cadar (vports))))
)))))(if (= (getvar "cvport") 1)(setq wltzbl 1))(setq zh wltzbl))

(注:以上程序由程序生成,wl-tools 制图工具可以根据用户的要求生成类似的文件)

返回值就是用户的出图比例。例如出图比例为1:100,返回100。

示例:
以下程序可以定义写出图高度为3 的文字:
(defun C:T3 (/ p1)
  (setq p1 (getpoint "文字位置: "))
  (if (> (cdr (assoc 40 (tblsearch "style" (getvar "textstyle")))) 0)
    (princ "\n此功能不支持字高不为0的文字样式")
    (command "TEXT" "none" p1 (* (tzbl-wl) 3) 0)
  )
)

下面演示了文字高度等随标注设置的改变而改变


  1. <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="700" id="AutoNumber1" height="498">
  2.   <tr>
  3.     <td width="100%" height="489">
  4.       <iframe name="I1" width="100%" height="100%" src="http://civilworker.com/wltools/help/help-bl.htm">
  5. 浏览器不支持嵌入式框架或配置为不显示嵌入式框架
  6.       </iframe>
  7.     </td>
  8.   </tr>
  9. </table>
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-7-29 08:49:09 | 显示全部楼层
wl-tools是什么工具?能不能共享一下?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8644个

财富等级: 富甲天下

发表于 2003-7-29 08:55:59 | 显示全部楼层
是啊,看上去是个非常不错的东西,共享一下吧。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-7-29 13:30:20 | 显示全部楼层
非常感谢前面两位朋友的支持。
文件下载和详细说明见:http://civilworker.com/wltools/
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-26 14:30 , Processed in 0.299562 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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