明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1827|回复: 2

[讨论] PLINE节点坐标()

[复制链接]
发表于 2013-4-16 21:11:14 | 显示全部楼层 |阅读模式

PILINE线每个节点上有一个圆的块(块的插入点坐标与PLINE线每个节点的坐标一样,但块中有不同的Z坐标值)
线是从左到右画的,起点为1,从左到右。。。已1基准点,,依次算出每个节点与基准点的绝对距离,如图,1-2的距离14.24,1-3的距离28.12,。。。。。。1-5的距离54.13
我想的方法是
得到距离的方法:选择线,提取每个节点坐标,然后用坐标可以算出绝对距离,
得到块Z坐标的方法:当到2的节点时,判断块与节点坐标一样,得到块的Z坐标值,依此类推,
最后输出到文件即可。
其实就是一个横断面提取数据的问题,格式:绝对距离,绝对高程,绝对距离,绝对高程,绝对距离,绝对高程,绝对距离,绝对高程
顺便还想问个问题:就是输出文件的时候能不能已行的的格式输出。如图:
(print "横断面距离高程数据提取.2013.1")
(defun c:tq ()                              
   (setq ff (open (getfiled "文件保存为" "c:/" "csv" 1) "a"))
   (setq zh (getstring"\n请输入桩号:"))
   (write-line zh ff)
   (while (setq dist (getdist "\n取2点距离:"))
   (print dist)
   (setq gcc (getstring "输入高程:"))
   (setq pdz (strcat (rtos dist) "," gcc))
   (write-line pdz ff)
   )
   (close ff)
   (princ)
)
这是我自己学着弄的一个,输出的格式都是纵向的如上图一样。应该这样

本帖子中包含更多资源

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

x
发表于 2013-11-18 00:13:43 | 显示全部楼层
楼主,现在按照你提的要求弄出程序没有,有的话给我发一个,qq:50056697
发表于 2013-11-18 22:56:18 | 显示全部楼层
本帖最后由 llsheng_73 于 2013-11-18 23:11 编辑

(write-line zh ff)
    (while (setq dist (getdist "\n取2点距离:"))
    (print dist)
    (setq gcc (getstring "输入高程:"))
    (setq pdz (strcat (rtos dist) "," gcc))
    (write-line pdz ff)
    )

改为
(write-line zh ff)
(setq pdz"")
    (while (setq dist (getdist "\n取2点距离:"))
    (setq gcc (atof(getreal (strca(rots dist 2 2)"输入高程:")));;;这样显示少占行也更直观一些,先取REAL再转为字串可以避免输入一些乱七八糟的东东比如字母等
    (setq pdz (strcat  pdz(rtos dist) "," gcc","))
    )
    (write-line pdz ff)
就可以把它们写成一行了,另外逗号最好改成制表符TAB

如果是根据图上的线和块来提取数据,可以把块坐标按与线起点坐标的距离来排序,自动计算距离并获取相应高程值(当某个点上得不到高程时再要求输入)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-26 04:49 , Processed in 0.166106 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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