明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1486|回复: 7

求已知起点终点水平标注标高。求高手出手谢谢

[复制链接]
发表于 2012-12-20 21:07 | 显示全部楼层 |阅读模式
1明经币



测试文件:


操作:
1---指定起点输入标高
2---指定终点输入标高
3---进行标高标高并生成高度线
麻烦哪位高手出手帮忙谢谢
附件: 您需要 登录 才可以下载或查看,没有账号?注册

最佳答案

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2012-12-20 21:07 | 显示全部楼层
本帖最后由 夏生生 于 2012-12-21 08:37 编辑
flytoday 发表于 2012-12-21 07:12
沉滴好快顶起哈………


试试
  1. (defun c:test1 ( / oldos pt1 pt2 ptx ang bg1 bg2 bgx dist disx)
  2.   (setq oldos (getvar "osmode"))
  3.   (setvar "osmode" 513)
  4.   (setq        pt1  (getpoint "\n选择起点:")
  5.         bg1  (getreal "\n输入起点标高:")
  6.         pt2  (getpoint "\n选择终点:")
  7.         bg2  (getreal "\n输入终点标高:")
  8.         dist (distance pt1 pt2)
  9.         ang  (+ (/ pi 2) (angle pt1 pt2))
  10.   )
  11.   (entmake (list '(0 . "line")
  12.                  (cons 10 pt1)
  13.                  (cons 11 (polar pt1 ang (* bg1 1000)))
  14.            )
  15.   )
  16.   (entmake (list '(0 . "text")
  17.                  '(10 0 0 0)
  18.                  (cons 11 (polar pt1 ang (* bg1 1000)))
  19.                  (cons 1 (rtos bg1 2 3))
  20.                  '(40 . 250)
  21.                  '(41 . 0.75)
  22.                  (cons 50 (- ang (/ pi 2)))
  23.                  '(7 . "standard")
  24.                  '(72 . 1)
  25.                  '(73 . 0)
  26.            )
  27.   )
  28.   (entmake (list '(0 . "line")
  29.                  (cons 10 pt2)
  30.                  (cons 11 (polar pt2 ang (* bg2 1000)))
  31.            )
  32.   )
  33.   (entmake (list '(0 . "text")
  34.                  '(10 0 0 0)
  35.                  (cons 11 (polar pt2 ang (* bg2 1000)))
  36.                  (cons 1 (rtos bg2 2 3))
  37.                  '(40 . 250)
  38.                  '(41 . 0.75)
  39.                  (cons 50 (- ang (/ pi 2)))
  40.                  '(7 . "standard")
  41.                  '(72 . 1)
  42.                  '(73 . 0)
  43.            )
  44.   )
  45.   (while (setq ptx (getpoint "\n选择插入点:"))
  46.     (setq disx (distance pt1 ptx)
  47.           bgx  (+ bg1 (/ (* disx (- bg2 bg1)) dist))
  48.     )
  49.     (entmake (list '(0 . "line")
  50.                    (cons 10 ptx)
  51.                    (cons 11 (polar ptx ang (* bgx 1000)))
  52.              )
  53.     )
  54.     (entmake (list '(0 . "text")
  55.                    '(10 0 0 0)
  56.                    (cons 11 (polar ptx ang (* bgx 1000)))
  57.                    (cons 1 (rtos bgx 2 3))
  58.                    '(40 . 250)
  59.                    '(41 . 0.75)
  60.                    (cons 50 (- ang (/ pi 2)))
  61.                    '(7 . "standard")
  62.                    '(72 . 1)
  63.                    '(73 . 0)
  64.              )
  65.     )
  66.   )
  67.   (setvar "osmode" oldos)
  68.   (princ)
  69. )

评分

参与人数 1明经币 +1 收起 理由
flytoday + 1 完美了谢谢大师~

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2012-12-21 07:12 来自手机 | 显示全部楼层
沉滴好快顶起哈………
回复

使用道具 举报

 楼主| 发表于 2012-12-21 14:27 | 显示全部楼层


麻烦大师改下谢谢~

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2012-12-21 17:38 | 显示全部楼层
来个另类的:两点内插标高

本帖子中包含更多资源

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

x

点评

院长滴虽好但无成品的哦  发表于 2012-12-21 20:57
回复

使用道具 举报

 楼主| 发表于 2012-12-22 08:52 来自手机 | 显示全部楼层
大师麻烦修改下谢谢
回复

使用道具 举报

发表于 2012-12-22 08:54 | 显示全部楼层
flytoday 发表于 2012-12-21 14:27
麻烦大师改下谢谢~
  1. (defun c:test1 ( / oldos pt1 pt2 ptx ang bg1 bg2 bgx dist disx)
  2.   (setq oldos (getvar "osmode"))
  3.   (setvar "osmode" 513)
  4.   (setq        pt1  (getpoint "\n选择起点:")
  5.         bg1  (getreal "\n输入起点标高:")
  6.         pt2  (getpoint "\n选择终点:")
  7.         bg2  (getreal "\n输入终点标高:")
  8.         dist (distance pt1 pt2)
  9.         ang  (+ (/ pi 2) (angle pt1 pt2))
  10.   )
  11.   (entmake (list '(0 . "text")
  12.                  '(10 0 0 0)
  13.                  (cons 11 pt1)
  14.                  (cons 1 (rtos bg1 2 3))
  15.                  '(40 . 250)
  16.                  '(41 . 0.75)
  17.                  (cons 50 (- ang (/ pi 2)))
  18.                  '(7 . "standard")
  19.                  '(72 . 1)
  20.                  '(73 . 0)
  21.            )
  22.   )
  23.   (entmake (list '(0 . "line")
  24.                  (cons 10 pt2)
  25.                  (cons 11 (polar pt2 ang (* (- bg2 bg1) 1000)))
  26.            )
  27.   )
  28.   (entmake (list '(0 . "text")
  29.                  '(10 0 0 0)
  30.                  (cons 11 (polar pt2 ang (* (- bg2 bg1) 1000)))
  31.                  (cons 1 (rtos bg2 2 3))
  32.                  '(40 . 250)
  33.                  '(41 . 0.75)
  34.                  (cons 50 (- ang (/ pi 2)))
  35.                  '(7 . "standard")
  36.                  '(72 . 1)
  37.                  '(73 . 0)
  38.            )
  39.   )
  40.   (while (setq ptx (getpoint "\n选择插入点:"))
  41.     (setq disx (distance pt1 ptx)
  42.           bgx  (+ bg1 (/ (* disx (- bg2 bg1)) dist))
  43.     )
  44.     (entmake (list '(0 . "line")
  45.                    (cons 10 ptx)
  46.                    (cons 11 (polar ptx ang (* (- bgx bg1) 1000)))
  47.              )
  48.     )
  49.     (entmake (list '(0 . "text")
  50.                    '(10 0 0 0)
  51.                    (cons 11 (polar ptx ang (* (- bgx bg1) 1000)))
  52.                    (cons 1 (rtos bgx 2 3))
  53.                    '(40 . 250)
  54.                    '(41 . 0.75)
  55.                    (cons 50 (- ang (/ pi 2)))
  56.                    '(7 . "standard")
  57.                    '(72 . 1)
  58.                    '(73 . 0)
  59.              )
  60.     )
  61.   )
  62.   (setvar "osmode" oldos)
  63.   (princ)
  64. )

点评

很好可以用了谢谢。。谢谢大侠出手相助非常感谢  发表于 2012-12-22 12:26

评分

参与人数 1明经币 +1 收起 理由
冰之绝恋 + 1 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2023-8-23 12:25 | 显示全部楼层
xyp1964 发表于 2012-12-21 17:38
来个另类的:两点内插标高

能分享一个吗
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-9 04:02 , Processed in 0.273830 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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