找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 373|回复: 1

[LISP程序]:修正标高程序(把图层设置去掉了)

[复制链接]
发表于 2004-9-20 08:25:10 | 显示全部楼层 |阅读模式

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

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

×
; ===============================================================================
; 钢 结 构 工 具 箱 v8.1 作者:李海斌 日期:2004-08-01
; ===============================================================================
;BG——需要把所要标注的图线的0.000标高放到图形的(0,0)点,才能用默认文字,否则手工输入。
;XG——以某一点为参考点绘制标高,可连续绘制标高,文字自动生成。
;可自动缩放,以dimscale为参考变量.
;***
(defun c:bg (/ olderr pt1 pt2 pt3 text a b s m y len old olddim )
(setq olderr *error* *error* user_err)
(setq old (getvar "osmode"))
(princ "\n绝对标高")
(initget 1)
(setq s (getvar "DIMSCALE"))
(setvar "osmode" 801)
(setq pt1 (getpoint "\n标注位置:"))
(setvar "osmode" 0)
(setq pt3 (getpoint pt1"\n输出位置:"))
(setq y (/ (cadr pt1) 1000))
(if (not (setq text (getdist "\n标高文字<>:")))
(setq text y)
)
(setq a (* s 3)
b (* s 14.5)
c (* s 4)
pt2 (list (car pt3) (cadr pt1))
len (distance pt1 pt2)
m (+ len a)
)
(setq olddim (getvar "DIMZIN"))
(setvar "DIMZIN" 1)
(command ".pline" pt1 "w" "0" "0" (polar pt1 (angle pt1 pt2) m) ""
".pline" (list (+ (car pt2) a) (+ (cadr pt2) a)) "w" "0" "0" pt2
(list (- (car pt2) a) (+ (cadr pt2) a))
(list (+ (car pt2) b) (+ (cadr pt2) a)) ""
".text" "j" "bl" (list (+ (car pt2) a) (+ (cadr pt2) c)) a "0" (rtos text 2 3)
)
(setvar "DIMZIN" olddim)
(setvar "osmode" old)
(if olderr (setq *error* olderr))
(princ)
);defun
;**********
(defun c:xg (/ pt1 pt2 pt3 aa bb cc a b ss m y len old olddim )
(setq olderr *error* *error* user_err)
(setq old (getvar "osmode"))
(princ "\n相对标高")
(setvar "osmode" 549)
(setq pt1 (getpoint "\n基点:"))
(if (not (setq aa (getdist "\n基点标高<±0.000>:")))
(setq aa 0)
)
(initget 1)
(setq ss (getvar "DIMSCALE")
bb (* aa 1000)
)
(while (/= nil (setq pt2 (getpoint "\n标注位置:")))
(setq cc (/ (+ (- (cadr pt2) (cadr pt1)) bb) 1000))
(setvar "osmode" 0)
(setq y (/ (cadr pt1) 1000))
(setq a (* ss 3)
b (* ss 14.5)
c (* ss 4)
)
(setq pt3 (list (car pt1) (cadr pt2))
len (distance pt2 pt3)
m (+ len a)
)
(setq olddim (getvar "DIMZIN"))
(setvar "DIMZIN" 1)
(command ".pline" pt2 "w" "0" "0" (polar pt2 (angle pt2 pt3) m) ""
".pline" (list (+ (car pt3) a) (+ (cadr pt3) a)) "w" "0" "0" pt3
(list (- (car pt3) a) (+ (cadr pt3) a))
(list (+ (car pt3) b) (+ (cadr pt3) a)) ""
".text" "j" "bl" (list (+ (car pt3) a) (+ (cadr pt3) c)) a "0" (rtos cc 2 3)
)
(setvar "DIMZIN" olddim)
(setvar "osmode" 801)
)
(setvar "osmode" old)
(if olderr (setq *error* olderr))
(princ)
);defun
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-9-22 19:07:26 | 显示全部楼层
这个要怎么用呢?楼主说的详细一点呀!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 18:30 , Processed in 0.341693 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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