找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1805|回复: 14

[求助] [求助]:求高人赐教展点的lisp

[复制链接]
发表于 2009-1-8 13:27:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
我想搞一个展点的lisp,但是总是有点问题,请路过的高人指点
    1/坐标点的格式是:1,,254552,45542,21.2
                                即:点号,点名,x,y,z  这里的x,y与cad 坐标系一致。
    2/ 标注的z值只保留一位小数。
   3/cad 图上的格式是: 同时标注点位、点名、高程。
    点位是一个直径0.3的圆,上面是点号,下面是高程,中间一条直线指向坐标点即圆心。  标注文字字高2.0或2.5。
    4/ 要求自动形成点位、点名、分隔线、高程这四个层,以利于向mapgis转换之后的位置调整。   
   请问如何实现?
   千恩万谢啊  最近有用,大量的这种展点要用到这个东西,我飞了很大劲就是做不到,服了,网上的例子好像都不是一体标注,况且位置形式都不符合测量规范。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 593个

财富等级: 财运亨通

发表于 2009-1-8 13:38:49 | 显示全部楼层
发上 Dwg 及数据文件
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-1-8 17:17:47 | 显示全部楼层
用南方CASS啥,即使展点编出来了也没多大用,做地形图还得编其它的程序,南方现在用起来感觉还是可以。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-1-8 17:47:43 | 显示全部楼层
可以实现你的部分要求,自编一个,但要花时间,可给我加15积分吗?

不好意思,下载文件要积分,我才4分,干什么都不行呀
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2009-1-8 19:27:02 | 显示全部楼层
<font face="Fixedsys" color="#ff0000">(</font><font face="Fixedsys" color="#0000ff">setq</font> <font face="Fixedsys">mode</font>
             <font face="Fixedsys" color="#ff0000">(</font><font face="Fixedsys" color="#0000ff">getkword</font>
               <font face="Fixedsys" color="#ff00ff">&quot;\n请选择输出项目:[编号(0)/编码(1)/X值(2)/Y值(3)/Z值(4)]:&quot;</font>
             <font face="Fixedsys" color="#ff0000">)</font>
      <font face="Fixedsys" color="#ff0000">)</font>


你要的东东,这里有:
http://zml84.blog.sohu.com/54345418.html
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-1-8 20:09:45 | 显示全部楼层
good
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-8 22:34:36 | 显示全部楼层
各位费心了  谢谢
  zml84提到的效果不好,kmdz  讲的南方展点只能一次一次的展,要手动分层,而且高程和点号位置重叠、没有分割线、展点号后必须另外一个个的移开 ,再展一次高程、再加上分割线,非常麻烦,同时,点位节点是两个重复的点,编辑时又添一层麻烦
      我要的是一次展完,达到效果,且分出四个层。
见附件中的效果图和数据格式
  我的最终用途,最后是用来转换成mapgis格式,但是由于转换之后,注释字符出现偏移,如果不能有层的分别,当点很多时,移动起来是极其痛苦的!

1,,1615553.6,4539731.1,313.1
2,,1615580.9,4539710.5,300.9
3,,1615644.3,4539658.2,266.6
4,,1615650.6,4539667.1,264.7
5,,1615657.3,4539662.5,266.9
6,,1615641.3,4539641.4,267.3
7,,1615613.2,4539628.1,267.2
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 7335个

财富等级: 富甲天下

发表于 2009-1-9 12:10:35 | 显示全部楼层

  1. ;;;=======================================
  2. ;;; 字形字高用内定值
  3. (defun zd (str)
  4.   ;; (parse "1,,1615553.6,4539731.1,313.1" ",")
  5.   (setq strss (parse str ",")
  6.         Num   (car strss)
  7.         strss (reverse strss)
  8.         strz  (car strss)
  9.         stry  (cadr strss)
  10.         strx  (caddr strss)
  11.         ptc   (list (atof strx) (atof stry))
  12.         pta   (mapcar '+ ptc '(2.5 0))
  13.         ptb   (mapcar '+ pta '(10.0 0))
  14.         ptm   (mapcar '+ pta '(5.0 0))
  15.         dd    (list 0.0 (/ 13.0 64))
  16.         ptm上 (mapcar '+ ptm dd)
  17.         ptm下 (mapcar '- ptm dd)
  18.   )
  19.   (entmake
  20.     (list
  21.       '(0 . "CIRCLE")
  22.       '(8 . "\\M+5B5E3\\M+5CEBB")
  23.       (cons 10 ptc)
  24.       (cons 40 0.15)                    ; Dia = 0.3

  25.     )
  26.   )

  27.   (entmake
  28.     (list
  29.       '(0 . "LINE")
  30.       '(8 . "\\M+5B7D6\\M+5B8EE\\M+5CFDF")
  31.       (cons 10 pta)
  32.       (cons 11 ptb)
  33.     )
  34.   )

  35.   (setvar "Clayer" "\\M+5B5E3\\M+5BAC5")
  36.   (command "Text" "BC" ptm上 "" 0 Num)

  37.   (setvar "Clayer" "\\M+5B8DF\\M+5B3CC")
  38.   (command "Text" "TC" ptm下 "" 0 Strz)
  39. )

  40. ;;; for test only
  41. ;;; ZdDwt.dwg 需在支援路径之下

  42. (defun C:zd4L ()
  43.   (setvar "Osmode" 0)
  44.   (cond
  45.     ((setq file (getfiled "选择展点文件" "" "" 4))
  46.      (command "Insert" "ZdDwt" ^M)
  47.      (if parse nil (load "Parse"))
  48.      (setq fp (open file "r"))
  49.      (while (setq STR (read-line fp))
  50.        (zd str)
  51.      )
  52.      (close fp)
  53.      (command "Zoom" "E")
  54.     )
  55.     (T nil)
  56.   )
  57.   (princ)
  58. )

;; 请搭配附件测试
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2009-1-9 14:26:57 | 显示全部楼层

  1. (setq *acad*           (vlax-get-acad-object)
  2.       *Acdocument* (vla-get-activedocument *acad*)
  3.       *modelspace* (vla-get-modelspace *Acdocument*)
  4. )
  5. (vl-load-com)
  6. (defun c:tt (/ addtxt fl lst)
  7.   (defun addmark (lst / addtxt p1 p2 p3 p4 num pt z)
  8.     (defun addtxt (str p lyr mode / txt)
  9.       (setq txt (vla-addtext *modelspace* str p 2.5))
  10.       (vla-put-alignment txt mode)
  11.       (vla-put-textalignmentpoint txt p)
  12.       (vla-put-layer txt lyr)
  13.       txt
  14.     )
  15.     (setq num (rtos (car lst) 2 0)
  16.           pt  (list (cadr lst) (caddr lst) (cadddr lst))
  17.           z   (rtos (cadddr lst) 2 1)
  18.     )
  19.     (setq p1 (vlax-3d-point (mapcar '+ pt '(2.4 0. 0.)))
  20.           p2 (vlax-3d-point (mapcar '+ pt '(12.4 0. 0.)))
  21.           p3 (vlax-3d-point (mapcar '+ pt '(7.4 0.7 0.)))
  22.           p4 (vlax-3d-point (mapcar '+ pt '(7.4 -0.7 0.)))
  23.     )

  24.     (vla-put-layer
  25.       (vla-addcircle *modelspace* (vlax-3d-point pt) 0.3)
  26.       "点位"
  27.     )
  28.     (vla-put-layer
  29.       (vla-addline *modelspace* p1 p2)
  30.       "分割线"
  31.     )
  32.     (addtxt num p3 "点号" acAlignmentBottomCenter)
  33.     (addtxt z p4 "高程" acAlignmentTopCenter)
  34.   )
  35.   (defun ybl-readfile (fn / f line re)
  36.     (setq f (open fn "r"))
  37.     (while (setq line (read-line f))
  38.       (setq re (cons line re))
  39.     )
  40.     (close f)
  41.     (reverse re)
  42.   )
  43.   (if (setq fl (getfiled "选择dat文件"
  44.                          ""
  45.                          "dat"
  46.                          4
  47.                )
  48.       )
  49.     (progn
  50.       ;;1,,1615553.6,4539731.1,313.1
  51.       (setq lst        (mapcar        '(lambda (x)
  52.                            (read (vl-string-translate
  53.                                    ","
  54.                                    " "
  55.                                    (strcat "(" x ")")
  56.                                  )
  57.                            )
  58.                          )
  59.                         (ybl-readfile fl)
  60.                 )
  61.       )
  62.       (vl-cmdf ".layer"        "m" "点位" "m" "分割线"        "m" "点号" "m" "高程" "")
  63.       (foreach x lst
  64.         (addmark x)
  65.       )
  66.     )
  67.   )
  68.   (princ)
  69. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-1-9 18:40:58 | 显示全部楼层
我们这里也是这样的格式,可惜不是很懂,8、9楼的程序怎么用啊,不会用!哪位说明一下好吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-9 19:02:55 | 显示全部楼层
Underway 的效果太好了!完全满足需要!太感谢了!

斑竹出现错误提示no function definition: VLAX-GET-ACAD-OBJECT,


两位的代码高深莫测,只能用,一时半会儿看不明白,呵呵,看来我的路还很长,天上人间呀
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-1-9 19:42:31 | 显示全部楼层
在命令行先输入(vl-load-com),在执行命令
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-9 23:08:32 | 显示全部楼层
明白了,我在代码的第一行加上(vl-load-com)就可以了,多谢,斑竹的比较干脆利落,借鉴一下Underway 的层颜色设置,太好了!
  感谢各位师兄!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-9-5 08:13:19 | 显示全部楼层
正是我想要的  谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 90个

财富等级: 招财进宝

发表于 2016-12-15 17:51:53 | 显示全部楼层

附件在哪里啊?都看不到啊?还有人在吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-23 10:57 , Processed in 0.698426 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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