明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: jdhszh

[原创]一个检查高程点高程和注记值是否相符的小程序

    [复制链接]
发表于 2012-3-11 12:47:02 | 显示全部楼层
把源代码 发出来 共同研究一下啊 谢谢了
发表于 2012-12-3 02:02:23 | 显示全部楼层
都过去几年了,能贴个源码吗?
发表于 2012-12-11 22:16:33 来自手机 | 显示全部楼层
这是个什么思路
发表于 2013-7-1 08:37:24 | 显示全部楼层
谢谢!试试是否好用!
发表于 2013-7-7 16:39:04 | 显示全部楼层
用不了,不知大家用得怎么样?
发表于 2013-9-27 23:34:17 | 显示全部楼层
请发个源码给我,qq:40224382,谢谢!
发表于 2013-9-29 11:33:06 | 显示全部楼层
应该是检查Z值和height属性的一致性吧

本帖子中包含更多资源

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

x
发表于 2014-1-22 11:19:15 | 显示全部楼层
谢谢楼主...这个有用
发表于 2014-7-3 11:17:54 | 显示全部楼层
谢谢!!!!!!!!
发表于 2014-7-4 08:58:08 | 显示全部楼层
(vl-load-com)

;;;测点高程值与高程注记匹配
(defun c:GCPP(/ s n m s1 s2 s3 d0 d1 d5 dd h0 h x y z k)
   (setq s (ssget "X" '((8 . "GCD")(0 . "INSERT"))))
   (setq n (sslength s) m 0 k 0)
     (repeat n
        (setq  s1 (ssname s m) m (+ m 1))
        (setq  s2 (ENTGET s1))
        (setq  d0 (assoc 10 s2))
        (setq  H0 (last d0))
        (setq x (MJ:GetTagTextStringByRef (vlax-ename->vla-object s1) "integer"))
        (setq y (MJ:GetTagTextStringByRef (vlax-ename->vla-object s1) "decimal"))
        (setq z (MJ:GetTagTextStringByRef (vlax-ename->vla-object s1) "height"))
       (cond ((/= z nil)(setq d1 (atof z)))
             ((and(/= x nil)(/= y nil))(setq d1 (atof (strcat x "." y))))
       )             
          (if (> (abs(- d1 H0)) 0.05)
              (progn
                (setq h d1 k (+ k 1))
                (setq d5 (list (car d0) (cadr d0) (caddr d0) h))
                (setq dd (subst d5 d0 s2))
               (entmod dd)
          ))
     )
       (alert (strcat "共匹配 " (rtos k 2 0) "点"))
)
;; [功能] 取得选定块的指定属性
;; (MJ:GetTagTextStringByRef (vlax-ename->vla-object (car (entsel))) "设计")
(defun MJ:GetTagTextStringByRef        (br tagname / atts tag str)
  (if (and
        (= (vla-get-hasattributes br) :vlax-true)
        (safearray-value
          (setq        atts
                 (vlax-variant-value
                   (vla-getattributes br)
                 )
          )
        )
      )
    (foreach tag (vlax-safearray->list atts)
      (if (= (strcase tagname) (strcase (vla-get-tagstring tag)))
        (setq str (vla-get-TextString tag))
      )
    )
  )
  str
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-22 20:05 , Processed in 0.176677 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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