明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: njcknfy

自己动手,改进CASS中欠缺的功能

    [复制链接]
发表于 2009-12-10 10:58:00 | 显示全部楼层
计算面积很有用
发表于 2009-12-25 00:02:00 | 显示全部楼层
LZ.......你好  我想问怎样能解决点线矛盾(即高程点和等高线的高程矛盾)  并高亮显示方便修改   172741475@qq.com  真诚等待各位的回复  谢谢!!!
发表于 2009-12-30 09:44:00 | 显示全部楼层

顶楼的,CASS斑图中:

1 怎么样把面积设置成以亩为位;

2 能不能把地块编号、地类代号、面积的样式灵活设置;

3 能够以斑图统计每一块的面积同时也能按地类汇总。

发表于 2010-5-6 17:05:00 | 显示全部楼层

CASS横断面处理的时候,不能把将断面线保存数据(平距,高程),

提取横断面线,不让不确定中点位置,这个在公路中用的很多,需要改进。

发表于 2010-5-9 19:12:00 | 显示全部楼层
在这里我有回家的感觉 ,感谢楼主对测绘行业的无私奉献,让我在这里学习到了更加多的测绘知识,谢谢,学习中··········
发表于 2010-5-15 20:05:00 | 显示全部楼层

7楼的文件下载怎么是

局域网查看工具V1.60.exe

 

发表于 2010-5-15 20:58:00 | 显示全部楼层

我想问问cass8.0填充的命令不知放在哪个文件里?

因为沙地的符合点太小,我想把它改为图纸上0.2mm,点间隔2mm的圆点填充而成的小点。

不知如何修改,望指教。谢谢

 楼主| 发表于 2010-7-14 13:55:00 | 显示全部楼层

检查等高线点线矛盾的思路

图面上的等高线和高程点的高程值之间的矛盾问题,通过程序检查是可以的,我的具体的思路是以每个高程点从0度至360度,按每隔30度循环,长度为10倍等高距做(SSGET "F" (LIST POINT1 POINT2))的集合,如果选择集有两根等高线,就判断两根等高线高程是递减还是递增,递减则判断高程值减等高距的值是否为两根等高线之间的高程值,递增则判断高程点的值加等高距是否为两根等高线之间的高程值,如存在不符合条件则判断等高线与高程点点线不符。当然,遇到陡坎等其它情况时会有意外,但对于等高线密集的地形图此方法很有效,比人工判断的效率还是高很多的,具体的源码如下:

(defun check_GCD_DGX  (point_pt denggaoju)
;;;检查高程点与周围等高线的一致性
;;;(check_GCD_DGX point_pt denggaoju)
;;;(setq point_pt (getpoint) denggaoju 0.5)
  (setq ang_setp   0.0
 dgx_fxlist nil
 gcddgx_err T
 gcd_H    (nth 2 point_pt))
  (setq ang_i 0)
  (repeat 12
    (setq point_pt1 (list (nth 0 point_pt) (nth 1 point_pt))
   point_pt2 (polar (list (nth 0 point_pt) (nth 1 point_pt))
      ang_setp
      (* 10.0 denggaoju)))
    (setq point_list (list point_pt1 point_pt2))
    (setq dgx_s (ssget "F"
         point_list
         (list (cons -4 "<AND")
        (cons 0 "*POLYLINE")
        (cons -4 "<OR")
        (cons 8 "DGX")
        (cons 8 "OLD_DGX")
        (cons -4 "OR>")
        (cons -4 "AND>"))))
    (if dgx_s
      (progn (setq dgx_i 0
     dgx0_list nil)
      (repeat (sslength dgx_s)
        (setq dgx_ename (ssname dgx_s dgx_i))
        (setq dgx_handent (cdr (assoc 5 (entget dgx_ename))))
        (setq dgx_object (vlax-ename->vla-object dgx_ename))
        (setq dgx_gcz (vla-get-Elevation dgx_object))
        (setq dgx0_list (append dgx0_list (list dgx_gcz)))
        (setq dgx_i (1+ dgx_i)))
      (if (/= dgx0_list nil)
        (progn (setq dgx_fxlist (append dgx_fxlist
            (list (list ang_i dgx0_list))))))))
    (setq ang_setp (+ ang_setp (/ pi 3.0)))
    (setq ang_i (1+ ang_i)))
  (setq check_i 0)
  (while (< check_i (length dgx_fxlist))
    (setq dgx0_list (nth check_i dgx_fxlist))
    (if (> (length (cadr dgx0_list)) 1)
      (progn (setq dgx_1 (nth 0 (cadr dgx0_list))
     dgx_2 (nth 1 (cadr dgx0_list)))
      (cond ((< dgx_1 dgx_2)
      (progn (if (or (< (+ gcd_H denggaoju) dgx_1)
       (> (+ gcd_H denggaoju) dgx_2))
        (setq gcddgx_err nil
       check_i    (length dgx_fxlist)))))
     ((> dgx_1 dgx_2)
      (progn (if (or (> (- gcd_H denggaoju) dgx_1)
       (< (- gcd_H denggaoju) dgx_2))
        (setq gcddgx_err nil
       check_i    (length dgx_fxlist)))))
     (t nil))))
    (setq check_i (1+ check_i)))
  gcddgx_err)

发表于 2010-7-22 08:31:00 | 显示全部楼层
如果电子地形图上的高程点没有高程属性,即只有X\Y值,没有Z值,也就是Z值是在图面上用文本表示的,那怎样将地形点提出X\Y\Z值呢?谢谢
发表于 2010-9-6 10:40:00 | 显示全部楼层

请问楼主

cass的程序文件是一个什么名称呢?查了很久都不知道。

我想利用他的程序编辑一些命令使用。

请发送到461045462@qq.com

请指教。

谢谢

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

本版积分规则

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

GMT+8, 2024-12-23 09:05 , Processed in 0.149972 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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