yanguangfei 发表于 2012-5-17 00:20:45

一个恢复高程的小程序 (cass)老致命错误请问谁知道

最后调用的是CASS自带的命令
致命错误 提示    命令嵌套不能超过4层
(defun c:hf ( / ss_gcd i name get dxf10)
(princ "\n 选择批量恢复的高程点:<支持多选>")
(setq ss_gcd (ssget (list (cons 0 "point"))))
(if ss_gcd
    (progn
      (setq i -1)
      (repeat (sslength ss_gcd)
        (setq name (ssname ss_gcd (setq i (1+ i))))
        (setq get (entget name) dxf10 (cdr (assoc 10 get)))
        (gcdpointdxf10)
        (if (= (cdr(assoc 8 get)) "GCD") (entdel name))
      )
   )
)
(PRINC)
);end_defun


(defun gcdpoint (pt)
(command "DRAWGCD" "1" pt "" "")
)

zyhandw 发表于 2012-5-17 08:45:38

非要通过这种方式加高程吗?其实完全可以用测点生成dat,重新展高程就完了,也没必要写程序!

soly2006 发表于 2012-6-6 10:48:51

哪位高手搞一下,或说个方法,不胜感谢。

zyhandw 发表于 2012-6-7 09:17:08

soly2006 发表于 2012-6-6 10:48 static/image/common/back.gif
哪位高手搞一下,或说个方法,不胜感谢。

cass中“工程应用”里有“高程点生成无编码点文件”,得到dat,再重新展高程点就行了!

soly2006 发表于 2012-6-7 11:44:04

zyhandw 发表于 2012-6-7 09:17 static/image/common/back.gif
cass中“工程应用”里有“高程点生成无编码点文件”,得到dat,再重新展高程点就行了!

你图里面有上万个点,为了加几个点时候你就不那么想了。

zyhandw 发表于 2012-6-7 14:07:27

本帖最后由 zyhandw 于 2012-6-7 14:09 编辑

soly2006 发表于 2012-6-7 11:44 http://bbs.mjtd.com/static/image/common/back.gif
你图里面有上万个点,为了加几个点时候你就不那么想了。

既然只有几个,估计用手工一个个加,也早加完了!
再说,就算有上万个点,重新展高程也费不了多长时间吧?

soly2006 发表于 2012-6-7 15:50:01

照你说,学lisp没意义了,再少的时间也 是时间哈。
还是请高手们怎么生成cass高程 点(不用cass命令)。

zyhandw 发表于 2012-6-7 17:11:59

soly2006 发表于 2012-6-7 15:50 static/image/common/back.gif
照你说,学lisp没意义了,再少的时间也 是时间哈。
还是请高手们怎么生成cass高程 点(不用cass命令)。

我还是认为如果能通过实用、简单的操作,达到自己要求就行了,不一定都得编程实现!
算了,简单写了一个,看看是否适合你的吧!

qfkxc 发表于 2012-11-3 17:32:30

本帖最后由 qfkxc 于 2012-11-3 17:34 编辑

我的做法是 1 ,先插入一个高程点,创建选择集1
         2,循环复制选择集1到要插入的位置,创建选择集2
3,修改选择集2图元中的高程值为要插入的高程即可
4,删除选择集1

hejiazhao 发表于 2012-11-4 14:11:00

上楼的想法不错
页: [1]
查看完整版本: 一个恢复高程的小程序 (cass)老致命错误请问谁知道