明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4931|回复: 11

[源码]勘丈地籍图绘图程序

  [复制链接]
发表于 2014-5-11 02:32:05 | 显示全部楼层 |阅读模式
本帖最后由 004 于 2014-5-11 02:43 编辑




  1. ;;;勘丈地籍图绘图程序
  2. ;;;wkq004  20140420
  3. (setvar "cmdecho" 0)

  4. (if (setq layerE (tblobjname "layer" "004YS"))
  5.   (progn
  6.     (setq layerEL (entget layerE))
  7.     (setq ass62 (assoc 62 layerEL))
  8.     (if  (/= 4 (cdr ass62))
  9.       (progn (setq layerEL (subst (cons 62 4) ass62 layerEL))
  10.        (entmod layerEL)
  11.       )
  12.     )
  13.   )
  14.   (entmake (list '(0 . "LAYER")
  15.      '(100 . "AcDbSymbolTableRecord")
  16.      '(100 . "AcDbLayerTableRecord")
  17.      '(70 . 0)
  18.      '(6 . "Continuous")
  19.      '(62 . 4)
  20.      (cons 2 "004YS")
  21.      )
  22.   )
  23. )
  24. ;;;(if (setq layerE (tblobjname "layer" "004YS"))
  25. ;;;  (progn
  26. ;;;    (setq layerEL (entget layerE))
  27. ;;;    (if  (eq nil (setq ass62 (assoc 62 layerEL)))
  28. ;;;      (progn
  29. ;;;  (setq el
  30. ;;;         (cons
  31. ;;;     (nth 0 layerEL)
  32. ;;;     (cons (nth 1 layerEL)
  33. ;;;           (cons (cons 62 4) (cddr layerEl))
  34. ;;;     )
  35. ;;;         )
  36. ;;;  )
  37. ;;;  (entmod el)
  38. ;;;      )
  39. ;;;      (if (/= 4 (cdr ass62))
  40. ;;;  (progn (setq layerEL (subst (cons 62 4) ass62 layerEL))
  41. ;;;         (entmod layerEL)
  42. ;;;  )
  43. ;;;      )
  44. ;;;    )
  45. ;;;  )
  46. ;;;)
  47. (if (setq layerE (tblobjname "layer" "004FJ"))
  48.   (progn
  49.     (setq layerEL (entget layerE))
  50.     (setq ass62 (assoc 62 layerEL))
  51.     (if  (/= 5 (cdr ass62))
  52.       (progn (setq layerEL (subst (cons 62 5) ass62 layerEL))
  53.        (entmod layerEL)
  54.       )
  55.     )
  56.   )
  57.   (entmake (list '(0 . "LAYER")
  58.      '(100 . "AcDbSymbolTableRecord")
  59.      '(100 . "AcDbLayerTableRecord")
  60.      '(70 . 0)
  61.      '(6 . "Continuous")
  62.      '(62 . 5)
  63.      (cons 2 "004FJ")
  64.      )
  65.   )
  66. )

  67. (if (setq layerE (tblobjname "layer" "004GFJ"))
  68.   (progn
  69.     (setq layerEL (entget layerE))
  70.     (setq ass62 (assoc 62 layerEL))
  71.     (if  (/= 2 (cdr ass62))
  72.       (progn (setq layerEL (subst (cons 62 2) ass62 layerEL))
  73.        (entmod layerEL)
  74.       )
  75.     )
  76.   )

  77.   (entmake (list '(0 . "LAYER")
  78.      '(100 . "AcDbSymbolTableRecord")
  79.      '(100 . "AcDbLayerTableRecord")
  80.      '(70 . 0)
  81.      '(6 . "Continuous")
  82.      '(62 . 2)
  83.      (cons 2 "004GFJ")
  84.      )
  85.   )
  86. )

  87. (if (setq layerE (tblobjname "layer" "004QSX"))
  88.   (progn
  89.     (setq layerEL (entget layerE))
  90.     (setq ass62 (assoc 62 layerEL))
  91.     (if  (/= 1 (cdr ass62))
  92.       (progn (setq layerEL (subst (cons 62 1) ass62 layerEL))
  93.        (entmod layerEL)
  94.       )
  95.     )
  96.   )

  97.   (entmake (list '(0 . "LAYER")
  98.      '(100 . "AcDbSymbolTableRecord")
  99.      '(100 . "AcDbLayerTableRecord")
  100.      '(70 . 0)
  101.      '(6 . "Continuous")
  102.      '(62 . 1)
  103.      (cons 2 "004QSX")
  104.      )
  105.   )
  106. )

  107. (if (setq layerE (tblobjname "layer" "004权利人"))
  108.   (progn
  109.     (setq layerEL (entget layerE))
  110.     (setq ass62 (assoc 62 layerEL))
  111.     (if  (/= 4 (cdr ass62))
  112.       (progn (setq layerEL (subst (cons 62 4) ass62 layerEL))
  113.        (entmod layerEL)
  114.       )
  115.     )
  116.   )
  117.   (entmake (list '(0 . "LAYER")
  118.      '(100 . "AcDbSymbolTableRecord")
  119.      '(100 . "AcDbLayerTableRecord")
  120.      '(70 . 0)
  121.      '(6 . "Continuous")
  122.      '(62 . 4)
  123.      (cons 2 "004权利人")
  124.      )
  125.   )
  126. )

  127. (if (setq layerE (tblobjname "layer" "004序号"))
  128.   (progn
  129.     (setq layerEL (entget layerE))
  130.     (setq ass62 (assoc 62 layerEL))
  131.     (if  (/= 4 (cdr ass62))
  132.       (progn (setq layerEL (subst (cons 62 4) ass62 layerEL))
  133.        (entmod layerEL)
  134.       )
  135.     )
  136.   )
  137.   (entmake (list '(0 . "LAYER")
  138.      '(100 . "AcDbSymbolTableRecord")
  139.      '(100 . "AcDbLayerTableRecord")
  140.      '(70 . 0)
  141.      '(6 . "Continuous")
  142.      '(62 . 4)
  143.      (cons 2 "004序号")
  144.      )
  145.   )
  146. )


  147. (defun c:QD ()
  148.   (princ "\n权属线起点")
  149.   (setq ss (cadr (ssgetfirst)))
  150.   (if (and ss (= (setq ssn (sslength ss)) 1))
  151.     (progn
  152.       (setq e (ssname ss 0))
  153.       (setq el (entget e))
  154.       (setq pt (cdr (assoc 10 el)))
  155.       (setq pt1 (polar pt (* 0.25 pi) 1))
  156.       (setq pt2 (polar pt (* 1.25 pi) 1))
  157.       (setq pt3 (polar pt (* 0.75 pi) 1))
  158.       (setq pt4 (polar pt (* 1.75 pi) 1))
  159.       (grdraw pt1 pt2 1)
  160.       (grdraw pt3 pt4 1)
  161.     )
  162.     (progn
  163.       (setq e (car (entsel "\n选择权属线")))
  164.       (setq el (entget e))
  165.       (setq pt (cdr (assoc 10 el)))
  166.       (setq pt1 (polar pt (* 0.25 pi) 1))
  167.       (setq pt2 (polar pt (* 1.25 pi) 1))
  168.       (setq pt3 (polar pt (* 0.75 pi) 1))
  169.       (setq pt4 (polar pt (* 1.75 pi) 1))
  170.       (grdraw pt1 pt2 -1)
  171.       (grdraw pt3 pt4 -1)
  172.     )
  173.   )
  174.   (princ)
  175. )


  176. (defun c:0 (/ ss)
  177.   (setq ss (cadr (ssgetfirst)))
  178.   (if ss
  179.     '()
  180.     (progn
  181.       (princ "\n选择要归到0层的对象:")
  182.       (setq ss (ssget))
  183.     )
  184.   )
  185.   (if ss
  186.     (progn (command "change" ss "" "p" "la" "0" "")
  187.      (princ "\n对象已归到0层:")
  188.     )
  189.   )
  190.   (princ)
  191. )


  192. (defun c:sx ()
  193.   (setvar "SORTENTS" 0)
  194.   (if (setq ss (ssget "x" '((8 . "0"))))
  195.     (command "draworder" ss "" "B")
  196.   )
  197.   (if (setq ss (ssget "x" '((8 . "JZD"))))
  198.     (command "draworder" ss "" "B")
  199.   )
  200.   (if (setq ss (ssget "x" '((8 . "*影像*"))))
  201.     (command "draworder" ss "" "B")
  202.   )
  203.   (princ)
  204. )

  205. (defun c:0s ()
  206.   (if (setq ss (ssget "x" '((8 . "0"))))
  207.     (command "draworder" ss "" "F")
  208.   )
  209. )

  210. (defun c:QSS ()
  211.   (setvar "SORTENTS" 0)
  212.   (if (setq ss (ssget "x" '((8 . "QSX"))))
  213.     (command "draworder" ss "" "F")
  214.   )
  215.   (princ)
  216. )

  217. (defun c:QSX ()
  218.   (setvar "SORTENTS" 0)
  219.   (if (setq ss (ssget "x" '((8 . "QSX"))))
  220.     (command "draworder" ss "" "B")
  221.   )
  222.   (if (setq ss (ssget "x" '((8 . "*影像*"))))
  223.     (command "draworder" ss "" "B")
  224.   )
  225.   (princ)
  226. )

  227. (defun c:YS (/ ss)
  228.   (princ "\n檐水:")
  229.   (setq ss (cadr (ssgetfirst)))
  230.   (if (and ss (< (setq ssn (sslength ss)) 3))
  231.     (progn
  232.       (command "PUTP" "c" "143132" ss "")
  233.     )
  234.     (progn
  235.       (command "DD" "143132")
  236.     )
  237.   )
  238.   (princ)
  239. )

  240. (defun c:FJ (/ ss)
  241.   (princ "\n房基:")
  242.   (setq ss (cadr (ssgetfirst)))
  243.   (if (and ss (< (setq ssn (sslength ss)) 3))
  244.     (progn
  245.       (command "PUTP" "c" "143133" ss "")
  246.     )
  247.     (progn
  248.       (command "DD" "143133")
  249.     )
  250.   )
  251.   (princ)
  252. )

  253. (defun c:QS (/ ss)
  254.   (princ "\n权属线:")
  255.   (setq ss (cadr (ssgetfirst)))
  256.   (if (and ss (= (setq ssn (sslength ss)) 1))
  257.     (progn
  258.       (command "PUTP" "c" "143134" ss "")
  259.     )
  260.     (progn
  261.       (command "DD" "143134")
  262.     )
  263.   )
  264.   (princ)
  265. )


  266. (defun c:DK (/ ss)
  267.   (princ "\n加固坎:")
  268.   (setq ss (cadr (ssgetfirst)))
  269.   (if (and ss (< (setq ssn (sslength ss)) 3))
  270.     (progn
  271.       (command "PUTP" "c" "143135" ss "")
  272.     )
  273.     (progn
  274.       (command "DD" "143135")
  275.     )
  276.   )
  277.   (princ)
  278. )

  279. (defun c:YZ (/ ss)
  280.   (princ "\n雨罩:")
  281.   (setq ss (cadr (ssgetfirst)))
  282.   (if (and ss (< (setq ssn (sslength ss)) 3))
  283.     (progn
  284.       (command "PUTP" "c" "143130" ss "")
  285.     )
  286.     (command "DD" "143130")
  287.   )
  288.   (princ)
  289. )

本帖子中包含更多资源

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

x

评分

参与人数 3明经币 +4 金钱 +30 收起 理由
13648893846 + 1 很给力!
gzxl + 1 很给力!
yfy2003 + 2 + 30

查看全部评分

发表于 2020-11-1 11:02:20 | 显示全部楼层
[源码]勘丈地籍图绘图程序
发表于 2020-12-21 14:40:24 | 显示全部楼层

感谢分享好东西
发表于 2020-1-13 14:00:40 | 显示全部楼层
感谢分享好东西
发表于 2014-5-11 08:00:11 | 显示全部楼层
一早上明经见到有测绘的好源码,顶顶顶
发表于 2014-5-11 08:19:34 | 显示全部楼层
专业测绘人人员 终于有大作了  支持    强烈支持
发表于 2014-5-12 14:34:26 | 显示全部楼层
大侠,能根据三角网文件(图形或者数据)查询指定点坐标高程吗
发表于 2014-5-12 21:26:14 来自手机 | 显示全部楼层
树櫴希德 发表于 2014-5-12 14:34
大侠,能根据三角网文件(图形或者数据)查询指定点坐标高程吗

gzxl有这方面的源码,看他发过的主题
发表于 2014-5-12 21:29:12 来自手机 | 显示全部楼层
本帖最后由 wkq004 于 2014-5-12 21:30 编辑
树櫴希德 发表于 2014-5-12 14:34
大侠,能根据三角网文件(图形或者数据)查询指定点坐标高程吗


高程点内插程序(已更新)

http://bbs.mjtd.com/forum.php?mod=viewthread&tid=100043&extra=&mobile=yes
发表于 2014-12-21 22:40:30 来自手机 | 显示全部楼层
是个好东西得支持
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-22 19:59 , Processed in 0.227803 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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