;;人工确定闭合线的现个画坡向线位置和相邻等高线即可完成,坡向线长是50,可根据需要调整长短。
(defun c:pxx ()
(setvar "osmode" 512) ;捕捉最近点
(setq p1 (getpoint "\n选择示坡线第一点:")) ;闭合线上曲率最大点
(setq p2 (getpoint "\n选择示坡线第二点:")) ;闭合线上曲率最大另一点
(setq z1 (caddr p1)) ;取得闭合线高程值
(setq z2 (caddr (getpoint "\n选择相邻线:"))) ;取得相邻线高程值
(setvar "osmode" 0) ;关闭捕捉
(setq ptx (car p1) pty (cadr p1)) ;第一点XY坐标
(command ".XLINE" "PER" P1 P1 "") ;画第一点的垂直构造线
(setq p0 (cdr (assoc 11 (entget (entlast))))) ;构造线相对P1点的增量坐标
(entdel (entlast)) ;删除构造线
(setq p0 (list (- ptx (car p0)) (- pty (cadr p0)))) ;取得增量的XY
(setq at1 (angle p0 p1)) ;计算第一点坡向线的方位弧度角
(setq ptx (car p2) pty (cadr p2)) ;第二点XY坐标
(command ".XLINE" "PER" P2 P2 "") ;画第二点的垂直构造线
(setq p0 (cdr (assoc 11 (entget (entlast))))) ;构造线相对P2点的增量坐标
(entdel (entlast)) ;删除构造线
(setq p0 (list (- ptx (car p0)) (- pty (cadr p0)))) ;取得增量的XY
(setq at2 (angle p0 p2)) ;计算第二点坡向线的方位弧度角
(if (> z1 z2) (progn ;画坡顶坡向线
(command "_pline" p1 (polar p1 at1 50) "") ;画长50的坡向线
(command "_pline" p2 (polar p2 at2 50) "") ;画长50的坡向线
))
(if (< z1 z2) (progn ;画洼地坡向线
(command "_pline" p1 (polar p1 (+ at1 pi) 50) "") ;画长50的坡向线
(command "_pline" p2 (polar p2 (+ at2 pi ) 50) "") ;画长50的坡向线
))
(setvar "osmode" 35)
)
自动示坡_示坡线_自动创建_示坡_
5星 · 超过95%的资源 60 浏览量
2021-10-03
16:26:11
上传
评论
收藏 2KB ZIP 举报
耿云鹏
- 粉丝: 62
- 资源: 4760
最新资源
- 1961ee27df03bd4595d28e24b00dde4e_744c805f7e4fb4d40fa3f695bfbab035_8(1).c
- mediapipe-0.9.0.1-cp37-cp37m-win-amd64.whl.zip
- windows注册表编辑工具
- mediapipe-0.9.0.1-cp37-cp37m-win-amd64.whl.zip
- 校园通行码预约管理系统20240522075502
- 车类型数据集6250张VOC+YOLO格式.zip
- The PyTorch implementation of STGCN.STGCN-main.zip
- 092300108.cpp
- 车类型数据集6000张VOC+YOLO格式.zip
- for daily read
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论5