明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5513|回复: 10

[原创]提取等高线生成cass下的DAt

[复制链接]
发表于 2009-6-8 22:21:00 | 显示全部楼层 |阅读模式


(defun c:dfd()
  ;本程序分为两个部分,                           By  老四
  ;1---将线按一定距离进行等分
  (setvar "cmdecho" 0)          ;取消命令显示
  (setq juli (GETINT "\n 输入等分距离:"))
  (command "layer" "m" "DGXD" "color" "red" "" "")
  (SETQ ss1 (SSGET  '((0 . "LWPOLYLINE"))))
   (setq gs (sslength ss1))     ;获取选择集中对象的数目
   (setq n 0)                   ;设置图元初始个数,并逐个读取
   (repeat gs
      (setq name (ssname ss1 n))
      (command "MEASURE" name juli )   ;逐等分距离分点
      (setq n (1+ n))
  ))

;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


            ;提取线上顶点的坐标(带高程)生成南方格式
                  ;可以提取多段线、二维多段线、三维多段线的坐标和高程
                      ;根据线的特征修改程序------有标高的和顶点带高程的
                           ;仔细阅读以下程序根据需要修改相应参数
(vl-load-com)
(defun c:tqzb ()
  (SETQ plx (SSGET))
  (setq gs (sslength plx))
  (setq nn 0)
  (setq file (open "d:\\坐标.dat" "w"))                 ;根据需要选择存放目录
  (while (> gs nn)
    (setq ent (ssname plx nn))
   
     ;提取线上坐标主程序 
     (setq obj (vlax-ename->vla-object ent))
     ;(setq zgc (itoa (fix (vla-get-Elevation obj))))                             ;有标高的情况    
     (setq plist (vlax-safearray->list (vlax-variant-value (vla-get-coordinates obj))))
     (setq n 0)
     (repeat (/ (length plist) 3)              ;设定步长     多段线(用3) 二维线(用2)   
       ;(setq pp (append pp (list (list (nth n plist)(nth (1+ n) plist)))))               ;输出的是列表形式
       (setq xzb (rtos (nth (1+ n) plist)))
       (setq yzb (rtos (nth n plist)))
       (setq zgc (rtos (nth (+ 2 n) plist)))                                       ;顶点带高程的情况
       (princ (strcat "3,," yzb "," xzb "," zgc) file)
       (princ "\n" file)
       (setq n (+ n 3))                        ;设定步长      多段线(用3) 二维线(用2)   
     )
 ;提取线上坐标主程序结束
      (setq nn (+ nn 1))
 )
  (close file)
)

发表于 2009-6-10 21:14:00 | 显示全部楼层

顶,收下!

发表于 2010-1-29 02:14:00 | 显示全部楼层
谢谢!!!
发表于 2011-1-12 10:32:20 | 显示全部楼层
谢谢楼主的分享
收藏试试,学习学习
发表于 2011-1-31 23:12:46 | 显示全部楼层
谢谢!学习一下。
发表于 2011-3-5 09:58:31 | 显示全部楼层
谢谢!学习一下。
发表于 2011-6-8 04:52:42 | 显示全部楼层
谢谢!学习一下。
发表于 2011-6-8 06:38:11 | 显示全部楼层
学习交流~~~
发表于 2011-9-10 00:31:36 | 显示全部楼层
试了一下,发现有时坐标提取是错误的
同时对由cass做出的等高线倒是不认识。
发表于 2012-2-22 22:34:08 | 显示全部楼层
谢谢楼主,学习了  继续努力
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-23 11:37 , Processed in 0.201201 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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