免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 6783|回复: 11
收起左侧

[求助] 求一个检查高程点跟等高线是否矛盾的小插件

[复制链接]

2

主题

659

铜板

1

好友

技术员

Rank: 3Rank: 3

积分
49
发表于 2019-3-9 21:05 | 显示全部楼层 |阅读模式
20铜板
求一个检查高程点跟等高线是否矛盾的小插件,

评分

参与人数 1铜板 +1 收起 理由
bianhailin1 + 1 1

查看全部评分

11

主题

1万

铜板

33

好友

地信名人堂

Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19

积分
1660

精华勋章宣传勋章爱心勋章组织勋章地信元老灌水勋章荣誉会员勋章活跃勋章地信专家组VIP勋章贡献勋章名人堂勋章成就学员勋章

发表于 2019-3-10 14:57 | 显示全部楼层
我到是有但是要注册,你在论坛搜一下应该能有

评分

参与人数 1威望 +20 铜板 +80 收起 理由
jimi21 + 20 + 80 感谢回复!

查看全部评分

回复

使用道具 举报

0

主题

6万

铜板

5

好友

黄金会员

Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23

积分
4212
发表于 2019-3-11 08:09 | 显示全部楼层
关注一下
回复

使用道具 举报

2

主题

659

铜板

1

好友

技术员

Rank: 3Rank: 3

积分
49
 楼主| 发表于 2019-3-12 22:02 | 显示全部楼层
那个帮我看一下这个代码  有什么问题
(defun c:dxjc()
(setq EnAng 25)
(setq StpAng 30)
        (setq StpDis 2.0)
(setq SearchR 5.0)
        (setq blc 1)
        (setq bz1 0 bz2 0)
        (setq mm1 0 mm2 0)
(setq StpDis (* StpDis Blc))
        (setq gc (strcat "\n输入高程点所在图层:"))
(setq jqxc (strcat "\n输入计曲线所在图层:"))
(setq sqxc (strcat "\n输入首曲线所在图层:"))
(setq gcd (getstring gc))
(setq jqx (getstring jqxc))
        (setq sqx (getstring sqxc))
(setq LaJqx (strcase jqx))
(setq LaSqx (strcase sqx))
        (setq ss (ssget "X" (list (cons 0 "INSERT") (cons 8 gcd))))
        (setq m 0)
        (setq l 0)
        (if (/= ss nil)
                     (progn
               (while (setq tname (ssname ss m))
                (setq ed (entget tname))
                (setq zb (cdr (assoc 10 ed)))
                (setq z (last (assoc 10 ed)))
                (setq Pnt0 zb)
              ;   (command"zoom" "c" zb "30")
(setq Done1 1)
        (setq EnDis StpDis)
(while (= Done1 1)
      (setq hbpi (* pi (/ enang 180.00000)))
      (setq Pnt1 (polar Pnt0 hbpi EnDis))
      (SETQ SS1 (SSGET "F" (LIST Pnt0 Pnt1)))
           ;  (setq len1 (sslength ss1))
             (setq pnt2 (polar Pnt0 hbpi (- 0 EnDis)))
             (SETQ SS2 (SSGET "F" (LIST pnt0 Pnt2)))
            ; (setq len2 (sslength ss2))
             (if (and (/= SS1 nil) (/= ss2 nil));2
             (progn   
           (SETQ LEN (SSLENGTH SS1))
           (setq n 0  En1VEL -1000)
                  (while (< n LEN) ;1
                      (setq bz1 0)
               (setq en1 (ssname SS1 n))
                      (if (> len 1)
                       (progn
               (setq enbz1 (ssname SS1 1))
               (setq SS1ed1 (entget enbz1))
                      (setq xx1 (cdr (assoc 6 ss1ed1)))
                       ))
               (setq SS1ed (entget en1))
               (SETQ Lay (CDR (ASSOC 8 SS1ED)))
                      (setq ename (cdr (assoc 0 ss1ed)))
                      (if (and (or (= (strcase ename) (strcase "polyline"))
                                   (= (strcase ename) (strcase "lwpolyline")))
                            (or (= Lay LaJqx) (= Lay LaSqx)))
                   (progn
                             (setq bz1 1)
                      ;(command "pline" pnt0 "w" 0.0 0.0  pnt1 "")
                             (setq entlist (entget en1))
                             (if (= (strcase ename) (strcase "polyline"))
                                 (setq En1VEL (nth 3 (assoc 10 entlist)))
                                 (setq En1VEL (cdr (assoc 38 entlist)))
                       )
                             (setq n LEN)
               ))   
               (setq n (+ n 1))
           ) ;1 (while (< n LEN)
                 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                 (SETQ LEN (SSLENGTH SS2))
                (setq n 0 En2VEL 1000)
          (while (< n LEN)
                     (setq bz2 0)
              (setq en2 (ssname SS2 n))
                      (if (> len 1)
                      (progn
               (setq enbz2 (ssname SS2 1))
               (setq SS1ed2 (entget enbz2))
                      (setq xx2 (cdr (assoc 6 ss1ed2)))
                      ))
              (setq SS2ed (entget en2))
              (SETQ Lay (CDR (ASSOC 8 SS2ED)))
                     (setq ename (cdr (assoc 0 ss2ed)))
                (if (and (or (= (strcase ename) (strcase "polyline"))
                                  (= (strcase ename) (strcase "lwpolyline")))
                              (or (= Lay LaJqx) (= Lay LaSqx)))
                         (progn
                          (setq bz2 1)
                      ;(command "pline" pnt0 "w" 0.0 0.0  pnt2 "")
                             (setq entlist (entget en2))
                             (if (= (strcase ename) (strcase "polyline"))
                                 (setq En2VEL (nth 3 (assoc 10 entlist)))
                                 (setq En2VEL (cdr (assoc 38 entlist)))
                       )
                      (setq n LEN)
                    ))
              (setq n (+ n 1))
                  );1 (while (< n LEN)
                                (if (< en2vel en1vel)
                                    (progn
                                    (setq gczm en1vel)
                                    (setq gczx en2vel)
                                     )
                                    (progn
                                    (setq gczm en2vel)
                                    (setq gczx en1vel)
                                     )
                                  )
                 (if (or (and (> z gczx) (< z gczm))  (and (= xx1 "921") (= xx2 "921")) (and (= xx1 "922") (= xx2 "922")) (and (= xx1 "921") (= xx2 "922")) (and (/= xx1 "922") (= xx2 "921")))
                   (setq Done1 2)
                 (progn
                 (if (and (or (> z gczm) (< z gczx))  (/= gczx gczm) (/= En2VEL 1000) (/= en1vel -1000) (= bz1 1) (= bz2 1))
                 (progn
             ;    (command"change" tname "" "p" "la" "0" "")
                 (command"layer" "s" "0" "c" "1" "" "")
                 (command"_circle" zb "3")
                 (setq bz1 0 bz2 0)
                 (setq l (1+ l))
                 (setq Done1 2)
                  )
                (progn
             (setq EnAng (+ EnAng StpAng))
             (if (> EnAng 180)
                 (progn
                    (setq endis (+ endis stpdis))
                    (setq enang 25)
                    (if (> endis SearchR)
                       (setq Done1 2))
             ))))))
                 )))
                 (setq m (1+ m))
                 )
    (princ " \n共有[ ")
    (princ l)
    (princ " ] 处点线矛盾")
    (princ)
  ))
)
回复

使用道具 举报

148

主题

4万

铜板

149

好友

资深会员

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

积分
3974

灌水勋章荣誉会员勋章活跃勋章地信专家组VIP勋章贡献勋章成就学员勋章

QQ
发表于 2019-3-12 22:27 | 显示全部楼层
等高线高程点检查12.gif
回复

使用道具 举报

2

主题

659

铜板

1

好友

技术员

Rank: 3Rank: 3

积分
49
 楼主| 发表于 2019-3-13 14:56 | 显示全部楼层

这个是啥子插件呢  能不能分享一个
回复

使用道具 举报

2

主题

659

铜板

1

好友

技术员

Rank: 3Rank: 3

积分
49
 楼主| 发表于 2019-3-13 15:07 | 显示全部楼层
我这里有两个插件, 但是我自己用不起 ,又不太懂代码,来个大神帮我解读一下怎么用

等高线与高程点矛盾检查.rar

32.86 KB, 下载次数: 705

回复

使用道具 举报

0

主题

214

铜板

0

好友

实习生

Rank: 1

积分
4
发表于 2019-3-18 10:21 | 显示全部楼层
革命前夜 发表于 2019-3-13 15:07
我这里有两个插件, 但是我自己用不起 ,又不太懂代码,来个大神帮我解读一下怎么用

我知道你要先加载到cass里面,命令是 appload
回复

使用道具 举报

0

主题

214

铜板

0

好友

实习生

Rank: 1

积分
4
发表于 2019-3-18 10:27 | 显示全部楼层
革命前夜 发表于 2019-3-13 15:07
我这里有两个插件, 但是我自己用不起 ,又不太懂代码,来个大神帮我解读一下怎么用

软件加载到cass后,输入命令 (tt),然后输入高程点所在图层(默认 gcd)输入首曲线与计曲线所在图层(默认 dgx),就可以使用了。
回复

使用道具 举报

0

主题

802

铜板

2

好友

助理工程师

Rank: 5Rank: 5

积分
207
发表于 2019-11-20 10:23 | 显示全部楼层
谢谢楼主分享
回复

使用道具 举报

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

本版积分规则

在线客服
快速回复 返回顶部 返回列表