这里有个,只供参考[code="lisp]

(defun c:tt ( / dist ename ept fdist file fistpt fpt gcdz i lename lept lobj lspt lst maxx maxy minx miny Name obj objname pt ptl rename rept robj rspt slen spt ss v x zpt zsdist)

(vl-load-com)

(while (setq ename (car (entsel "\n请选择断面线:")))

(if ename

(progn

(setvar "osmode" 33)

(setq zPt (getpoint "\n拾取断面起点:")

zPt (list (car zPt) (cadr zPt))

)

(setvar "osmode" 0)

(setq obj (vlax-ename->vla-object ename))

(setq objname (vlax-get obj 'ObjectName ))

(if (or (= objname "AcDbLine") (= objname "AcDbPolyline"))

(progn

(setq sPt (vlax-curve-getStartPoint obj)

ePt (vlax-curve-getEndPoint obj)

)

(vla-Offset (vlax-ename->vla-object ename) -0.3) ;控制中线两边

(setq Lename (entlast)

Lobj   (vlax-ename->vla-object Lename)

Lspt   (vlax-curve-getStartPoint Lobj)

Lept   (vlax-curve-getEndPoint Lobj)

)

(vla-Offset (vlax-ename->vla-object ename) 0.3) ;控制中线两边

(setq Rename (entlast)

Robj   (vlax-ename->vla-object Rename)

Rspt   (vlax-curve-getStartPoint Robj)

Rept   (vlax-curve-getEndPoint Robj)

)

(setq lst (list Lspt Lept Rept Rspt))

(setq minX (apply 'min (mapcar '(lambda (x) (car x)) lst))

minY (apply 'min (mapcar '(lambda (x) (cadr x)) lst))

maxX (apply 'max (mapcar '(lambda (x) (car x)) lst))

maxY (apply 'max (mapcar '(lambda (x) (cadr x)) lst))

)

(entdel Lename) (entdel Rename)

(command "zoom" (list minX minY) (list maxX maxY))

(setq i -1 ss (ssget "_CP" lst '((0 . "INSERT") (2 . "GC200"))))

(if ss

(progn

(setq slen (sslength ss))

(repeat slen

(setq Name (ssname ss (setq i (1+ i))))

(setq pt   (cdr (assoc 10 (entget Name))))

(setq ptl  (cons pt ptl))

)

(setq ptl (gcd_sort ptl obj))

(setq fpt (car ptl))

(setq zsdist (distance zPt sPt)) ;线起点至断面中点的距离

(if (setq file (getfiled "保存数据" "D:\\K0+000" "csv" 1))

(progn

(setq file (open file "a"))

(write-line "距离,高程值" file)

(while ptl

(setq npt (car ptl))

(setq pt (vlax-curve-getClosestPointTo obj npt))

(setq dist (- (vlax-curve-getDistAtPoint obj pt) zsdist))

(setq gcdz (caddr npt))

(write-line (strcat (rtos dist 2 3) "," (rtos gcdz 2 3)) file)

(setq ptl (cdr ptl))

)

(close file)

)

)

)

)

)

)

(setq ptl nil)

)

)

)

)

(defun gcd_sort (ptl obj / lst x n)

(if (= (type obj) 'ENAME) (setq curve (vlax-ename->vla-object obj)))

(setq lst (mapcar '(lambda (x /) (vlax-curve-getParamAtPoint obj (vlax-curve-getClosestPointTo obj x))) ptl))

(mapcar '(lambda (n) (nth n ptl)) (vl-sort-i lst '

)[/code]

lisp填挖横断面提取_CASS横断面提取程序,望大侠们改善改善相关推荐

  1. lisp填挖横断面提取_求助,AUTOLISP语言的这个程序流程图怎么写。关于纵横断面绘制的...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 (defun huitu(p1 p2) (setq topleft (list (- (car p1) 4.5) (- (cadr p1) 6.0)) t ...

  2. jmeter如何通过后置处理器提取(正则提取器、json提取器)做接口关联?

    一.后置处理器-正则表达式提取器 1.添加正则表达式提取 2.正则表达式提取面板介绍: 引用名称:提取引用名称,下个请求要引用此参数名称,如填写token,下个请求中用${token} 正则表达式:( ...

  3. 【Jmeter】JSON提取器之各种提取操作

    在使用Jmeter进行接口测试的时候,通常会遇到接口依赖的场景,需要提取接口的返回值作为另一个接口的参数.如果返回的数据格式恰好是json时,此时就需要使用后置处理器中的JSON提取器了. 添加方式: ...

  4. 利用python提取abaqus节点坐标的脚本_用于在Abaqus中提取结点力的Python程序

    用于在Abaqus中提取结点力的Python程序 #coding=utf-8 from abaqus import * from abaqusConstants import * from odbAc ...

  5. ArcGIS教程:填挖的工作原理

    汇(和峰)是由于数据的分辨率或将高程四舍五入到最近的整数值而产生的常见错误. 应对汇进行填充以确保盆地和河流得以正确划分.如果未对汇进行填充,则生成的水系网络可能会呈现不连续性. 填挖工具使用与焦点流 ...

  6. matlab求基音频率,语音中提取基音频率matlab程序.doc

    语音中提取基音频率matlab程序 语音中提取基音频率matlab程序%%corr.m % correlation for pitch estimation% flag =1 from left to ...

  7. 如何使用《背景音乐提取器》提取歌曲中的伴奏

    上周末一天时间开发完成了一款mini小软件:背景音乐提取器,历经了多次元数据被拒绝后,终于审核成功.该软件能够提取歌曲音乐文件中的伴奏,也就是没有语音的背景音乐. 软件界面设计很简单:只有一个打开文件 ...

  8. 如何使用《背景音乐提取器》提取歌曲中的背景音乐

    上周末一天时间开发完成了一款mini小软件:背景音乐提取器,历经了多次元数据被拒绝后,终于审核成功. 软件界面设计很简单:只有一个打开文件的按钮. 点击打开文件的按钮后,可以选择需要提取背景音乐的歌曲 ...

  9. CCPD2019车牌提取和字符提取

    CCPD2019车牌提取和字符提取 最近有进行车牌识别的需要,故处理了CCPD2019的数据集,提取了车牌和数字字母汉字的字符. 一.CCPD数据集 关于CCPD的介绍可参考如下文章 CCPD车牌数据 ...

最新文章

  1. 电脑c盘满了怎么办_电脑用久了C盘空间不够用怎么办?教你如何无损扩展C盘空间大小...
  2. 【WPF】右键菜单ContextMenu可点击区域太小的问题
  3. 五、QPushButton按钮和QLineEdit控件操作
  4. php基础_变量和比较符
  5. linux dns chroot,chroot DNS 过程(包括一些简单的排错过程)
  6. 京东将回购计划授权增至30亿美元并延期至2024年
  7. 如何在Java客户端调用RESTful服务
  8. cloudera-agent启动File not found : /usr/sbin/cmf-agent解决办法(图文详解)
  9. java项目新东方在线源码_[VIP源码]【S019】SSM框架开发智夫子在线考试系统项目源码 百度云盘...
  10. 19数字媒体技术1班 刘增千 PS笔记4
  11. 数据结构之平衡二叉树详解
  12. linux里的.mht是什么文件,mht是什么文件?打开mht文件的方法
  13. 如何做一个自己的网站?
  14. 企业微信自建应用审批接口开发
  15. 「Jenkins Pipeline」- expected to call xxx but wound up catching xxx @20210219
  16. 传奇服务器充值系统,传奇服务端会员系统COM引擎传奇增加会员系统的方法
  17. FOC之park变换推导笔记
  18. 联想靠什么?|看完DCG的“硬指标”,我总觉得有哪点儿不对
  19. 在VSCode中配置Fira Code字体
  20. 谈顺丰与菜鸟的数据断交事件

热门文章

  1. 用 vue+elemnet ui实现仿有赞首页搜索框点击放大input并展开下拉盒子的动画效果
  2. 【CTO讲堂】互动,让直播更有价值
  3. java 图片等比例压缩工具
  4. MD5、SHA1、CRC32值是干什么的?
  5. 实验室管理系统lims的设计与实现
  6. 全国计算机基础一级教学,全国一级计算机基础教学幻灯片.ppt
  7. 数据库系统之SQL SELECT语句-4
  8. debian9.6给github上下载的qq加个图标方法
  9. QQ上线新功能,微信用户要羡慕哭了!
  10. 除了桃色陷阱和网购骗局 还有哪些骗术在春节期间出现?