找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1150|回复: 5

[原创]:cass类展点

[复制链接]
发表于 2007-7-26 21:31:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
;2007年7月26日
;程序目的是碎步展点,高程值为负数的点只展点标记,而不注记高程值
;关于属性块的制作方法,请参考www.xdcad.net的属性块制作f ... 要的目录即可
;以下为数据格式
;点名       X               Y                H            BZ(属性)
;9044-1     128624.671      210370.953       21.846       9999      
;1700       128647.897      210324.352       -22.354      1DL140   
;1701       128645.881      210323.411       22.289       1DL139   
;1702       128644.828      210323.217       -22.276      1DX452   
;1703       128632.199      210304.209       22.051       1DL138   
;1704       128630.763      210303.111       -22.004      1DL137   
;1705       128644.039      210324.384       22.602       1DX453   
;9044-2     128624.657      210370.955       -22.854      9999      

;------sub------
(defun flz()
        (setq i0 ii)
        (while (or (= zc ",") (= zc " "))
                  (setq i0 (1+ i0))
                  (setq zc (substr ll i0 1))
        )
        (setq ii i0)
        (while (> zc ",")
                (setq ii (1+ ii))
                (setq zc (substr ll ii 1))
        )
        (setq le (- ii i0))
)

;------main------
(defun C:SBZd( / b1 d wj kzm fo LL p1 zc p0)
        (setvar "dimazin" 0) (setvar "dimzin" 1)                         ;前置消除零和后置零保留
        (setvar "cmdecho" 0) (setvar "osmode" 0)
        (setq bl (getreal "请输入比例尺(500):"))
        (setq d (* 0.001 bl) p1 nil)
        (setq d (* 0.001 (getvar "useri1")) p1 nil)
        (setq d (* 1.0 1.0) )
        (setq wj (getstring "请输入kzm所指向的盘符文件名:"))                 ;*.xyz的格式为:点号  类别 x  y  z
        (princ "正在展碎步点")
        (setq kzm (strcat "c:\\123\\"  wj  ".xyz"))                                
        (setq fo (open  kzm "r"))                                     
        (setq LL (read-line fo))
        (setq p1 (list 0 0))  
        (command "-layer" "m" "GCD" "c" "R" "" "")                         ;GCD图层建立
        (while (and ll (/= ll ""))
                (setq i0 1 ii 1)
                (setq zc (substr ll 1 1))
               
                (flz) (setq dh (substr ll i0 le))
                (flz) (setq x  (substr ll i0 le))
                (flz) (setq y  (substr ll i0 le))
                (flz) (setq z  (substr ll i0 le))
                (flz) (setq bz (substr ll i0 le))
               
                (setq x1 (atof x))
                (setq y1 (atof y))
                (SETQ Z (ATOF Z))
           
                  (SETQ Z1 (RTOS Z 2 2))
                  (SETQ X(RTOS X1 2 2))
                  (SETQ Y(RTOS Y1 2 2))

                (setq p0 (list y1 x1 Z))
                (if(< 0 Z)
                        (command "-LAYER" "S" "GCD" "" "insert" "C:\\123\\GC200.dwg" p0 d d 0 z1)           ;最后一项代表标识号,展点和高程值
                        ;(command  "-LAYER"  "s"  ""  ""  "insert" "C:\\123\\sbzd.dwg" p0 d d 0 dh )        ;最后一项代表标识号,展点和点名
                        (command  "-LAYER"  "s"  "GCD"  ""  "insert" "C:\\123\\GC200.dwg"  p0 d d 0 "" )    ;最后一项代表标识号,无任何标注,只有点标记在
                )
                (setq ll (read-line fO))
        )

        (setq s (ssget '(0 0)))
        (setvar "cmdecho" 1); (setvar "cecolor" cc)
        (close fo)
        (setq C:sbzd nil)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2007-7-27 06:16:17 | 显示全部楼层
把数据格式转换成CASS格式,展点就可以了,挺方便的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-28 22:38:12 | 显示全部楼层
但是cass不提供 高程值 为负数的 展点程序
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-29 00:17:53 | 显示全部楼层
对于 str->str 的现在用的很少拉
下次研究个 list->list 出来
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-7-31 13:25:55 | 显示全部楼层
高手
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-8-5 19:10:54 | 显示全部楼层
ok!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-23 00:36 , Processed in 0.414203 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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