找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 4134|回复: 6

[程序发布] 纵横断面图内 高程标注lsp 插件

[复制链接]

已领礼包: 129个

财富等级: 日进斗金

发表于 2019-10-16 09:50:39 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 qqp741005 于 2019-10-16 10:35 编辑

用各种CAD成图软件生成的纵横断面图,大部分都
需要修改才能使用,修改之后的高程标注免不了,
如果修改量特别多特别大的话,是需要花很多时间
才能完成的,有了该插件能事半功倍的效果,按命
令行提示输入字高 在图中指定任意点(不需要带
属性都可以)输入给定改点的高程数值,就可以在
断面内的任意需要高程标注的位置标注高程数值(
带▽的高程数值)插件命令:bzgc



插件源码:
; 标注高程
(defun c:bzgc()
(command "style" "高程标注黑体" "黑体" "" 0.85 "" "" "")
(if (= hzt nil) (setq hzt 1))
(setq thzt hzt)
(setq thzt (getdist (strcat "\n 文字高度<" (rtos thzt) ">:")))
(if thzt (setq hzt thzt))
(initget 1 "A B ")
(setq gclx (getkword "\n 绝对高程(A) / 相对于某点的高程(B) <A>:"))
(cond
((= gclx "A")
(progn (setq ypt0 0)
(setq Hpt0 0)
(setq hbl 1)
)
)
((= gclx "B")
(progn (setq ypt0 (nth 1 (getpoint "\n 点取基准点位置:")))
(setq Hpt0 (getreal "\n 该基准点高程:"))
(if (= hbl nil) (setq hbl 1))
(setq thbl hbl)
(setq thbl (getreal (strcat "\n 高度放大比例<" (rtos thbl) ">:")))
(if thbl (setq hbl thbl))
)
)
((= gclx "")
(progn (setq ypt0 0)
(setq Hpt0 0)
(setq hbl 1)
)
)
((= gclx nil)
(progn (setq ypt0 0)
(setq Hpt0 0)
(setq hbl 1)
)
)
(t nil)
)
(if (= wz nil)(setq wz "TC"))
(initget 1 "TL TC TR BL BC BR ")
(setq tWZ (getkword (strcat "\n文字位于标注点的方位: 左上(TL) /中上(TC)/右上
(TR)/ 左下(BL) /中下(BC)/右下(BR) <" wz ">:")))
(if (/= twz "") (setq wz twz))
(while (setq pt (getpoint "\n 点取标注点位置:"))
(setq p1 pt)
(if (= (substr wz 1 1) "T")
(progn(setq p2 (polar pt (- (* pi 0.5) (/ pi 6)) hzt))
(setq p3 (polar pt (+ (* pi 0.5) (/ pi 6)) hzt))
(setq p2p (polar pt (- (* pi 0.5) (/ pi 6)) (* hzt 1.1)))
(setq p3p (polar pt (+ (* pi 0.5) (/ pi 6)) (* hzt 1.1)))
)
)
(if (= (substr wz 1 1) "B")
(progn (setq p2 (polar pt (+ (* pi 1.5) (/ pi 6)) hzt))
(setq p3 (polar pt (- (* pi 1.5) (/ pi 6)) hzt))
(setq p2p (polar pt (+ (* pi 1.5) (/ pi 6)) (* hzt 1.1)))
(setq p3p (polar pt (- (* pi 1.5) (/ pi 6)) (* hzt 1.1)))
)
)
(if (or (= wz "TL") (= wz "BL") ) (progn (setq p4p p3p) (setq p4 p3) (setq p5 (polar p4 pi (* hzt 2)))))
(if (or (= wz "TC") (= wz "BC") ) (setq p4p (list (/(+ (nth 0 p2p)(nth 0 p3p))2) (/(+ (nth 1 p2p)(nth 1 p3p))2) )) )
(if (or (= wz "TR") (= wz "BR") ) (progn (setq p4p p2p)(setq p4 p2) (setq p5 (polar p4 0 (* hzt 2)))))
(if (= (substr wz 1 1) "T")
(setq pwz (strcat "B" (substr wz 2 1)))
(setq pwz (strcat "T" (substr wz 2 1)))
)
(if (= (substr wz 2 1) "L")
(setq pwz (strcat(substr pwz 1 1) "R" ))
(if (/= (substr wz 2 1) "C") (setq pwz (strcat (substr pwz 1 1) "L")))
)
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(command "text" "s" "高程标注黑体" "j" pwz p4p (/ hzt 1.5) 0 (rtos (+ hpt0
(/ (- (nth 1 pt) ypt0 ) hbl)) 2 3) "")
(command "pline" p1 p2 p3 "c")
(if (/= (substr wz 2 1) "C") (command "line" p4 p5 ""))
(setvar "osmode" os)
)
);defun
; 显示高程
(defun c:xsgc()
(initget 1 "A B ")
(setq gclx (getkword "\n 绝对高程(A) / 相对于某点的高程(B) <A>:"))
(cond
((= gclx "A")
(progn (setq ypt0 0)
(setq Hpt0 0)
(setq hbl 1)
)
)
((= gclx "B")
(progn (setq ypt0 (nth 1 (getpoint "\n 点取基准点位置:")))
(setq Hpt0 (getreal "\n 该基准点高程:"))
(if (= hbl nil) (setq hbl 1))
(setq thbl hbl)
(setq thbl (getreal (strcat "\n 高度放大比例<" (rtos thbl) ">:")))
(if thbl (setq hbl thbl))
)
)
((= gclx "")
(progn (setq ypt0 0)
(setq Hpt0 0)
(setq hbl 1)
)
)
((= gclx nil)
(progn (setq ypt0 0)
(setq Hpt0 0)
(setq hbl 1)
)
)
(t nil)
)
(while (setq pt (getpoint "\n 点取标注点位置:"))
(princ (rtos (+ hpt0 (/ (- (nth 1 pt) ypt0 ) hbl)) 2 3) )
)
);defun



更多图片 小图 大图
组图打开中,请稍候......

2019.10.15超级实用 标注高程 命令bzgc.LSP

3.27 KB, 下载次数: 100, 下载积分: D豆 -1 , 活跃度 1

高程标注lsp 插件

高程标注插件配图.rar

124.12 KB, 下载次数: 74, 下载积分: D豆 -1 , 活跃度 1

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

已领礼包: 129个

财富等级: 日进斗金

 楼主| 发表于 2019-10-16 10:40:54 | 显示全部楼层
本帖最后由 qqp741005 于 2019-10-16 10:43 编辑

配图是用CASS断面生成的纵断面图 断面成图比例为 1:100

断面图中 白色高程数值 是用该插件生成的  其他颜色的高程数值是对比标尺划线手工计算的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 129个

财富等级: 日进斗金

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

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

发表于 2021-2-16 11:59:42 | 显示全部楼层

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-29 11:50 , Processed in 0.403859 second(s), 44 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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