明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: 88641787

[测绘] 如何批量标注多段线坐标

[复制链接]
发表于 2015-12-21 15:21 | 显示全部楼层
88641787 发表于 2015-12-21 14:36
你好   我的意思是说只要点一下一个多段线就能把所有端点坐标给标注出来   谢谢

是这意思吧!

本帖子中包含更多资源

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

x
 楼主| 发表于 2015-12-21 15:51 | 显示全部楼层
zzyong00 发表于 2015-12-21 15:21
是这意思吧!

是的    谢谢版主
 楼主| 发表于 2015-12-21 15:58 | 显示全部楼层
zzyong00 发表于 2015-12-21 15:21
是这意思吧!

能否分享一下
发表于 2015-12-21 20:21 | 显示全部楼层
88641787 发表于 2015-12-21 15:58
能否分享一下

;;;多段线坐标标注
(defun c:bzzb()
   (setq ps_cmdecho (getvar "cmdecho")
         ps_osmode  (getvar "osmode")
         ps_luprec  (getvar "luprec")   
     )
     (setvar "cmdecho" 0)
     (setvar "osmode" 0)
     (setvar "luprec" 0)
     (command "-layer" "n" "坐标标注" "c" "4" "坐标标注" "")
      (setvar"dimzin"0);;保留小数位数时如果位数不足可以补零
     (princ "\n输入文字大小-{1~3} <")(princ words)(princ ">:")
     (setq words (getint))
     (princ "\n输入引线长度 (建议")(princ (* words 10))(princ ")")
     (princ "<上次长度为")(princ long)(princ ">:")
     (setq long (getreal))
     (setq sunmer (ssget '((-4 . "<OR")
                           (0 . "POLYLINE")
                           (0 . "LWPOLYLINE")
                           (-4 . "OR>")
                          )
                   )
     )
     (setq germeip (sslength sunmer))
      (setq pianju (* words 0.1))
     (setq somode 0)
     (while (< somode germeip)
        (setq limes (entget (ssname sunmer somode)))
        (setq limun (length limes))
        (setq aobel 0)
        (while (< aobel limun)
          (if (= (car (nth aobel limes)) 10)
            (progn
               (command "layer" "s" "坐标标注" "")
               (setq pt (cdr (nth aobel limes)))
               (setq pt1 (polar pt (+ 0 (* 0.4 pi)) long))
               (setq pt2 (polar pt1 0 (* words 7.5)))
               (command "line" pt pt1 pt2 "")
               (setq xx (strcat "Y=" (rtos (car pt) 2 3)))
               (setq yy (strcat "X=" (rtos (cadr pt) 2 3)))            
               (setq ptx (list (+ (car pt1) 0.1) (- (cadr pt1) words)))
               (setq pty (list (+ (car pt1) 0.1) (+ (cadr pt1) pianju)))
               (command "text" pty words 0 yy)
               (command "text" ptx words 0 xx)
            )
          )
          (setq aobel (1+ aobel))
        )
          (setq somode (1+ somode))
     )
(defun vxs (e / i v lst)
  (setq i -1)
  (while
    (setq v (vlax-curve-getpointatparam e (setq i (1+ i))))
     (setq lst (cons v lst))
  )
  (reverse lst)
)   

     (setvar "cmdecho" ps_cmdecho)
     (setvar "osmode" ps_osmode)
     (setvar "luprec" ps_luprec)
)

评分

参与人数 1明经币 +1 收起 理由
88641787 + 1 很给力!

查看全部评分

发表于 2015-12-22 08:14 | 显示全部楼层
论坛里看到过类似的,你搜搜……
 楼主| 发表于 2015-12-22 08:59 | 显示全部楼层
香田里浪人 发表于 2015-12-21 20:21
;;;多段线坐标标注
(defun c:bzzb()
   (setq ps_cmdecho (getvar "cmdecho")

谢谢分享   这个lsp很好用  你真的很厉害
 楼主| 发表于 2015-12-22 09:00 | 显示全部楼层
知行ooo李肖坪 发表于 2015-12-22 08:14
论坛里看到过类似的,你搜搜……

找了很久  没有找到    你能不能提供一下链接我学习学习     谢谢
 楼主| 发表于 2015-12-24 15:34 | 显示全部楼层
我觉得把程序改成  把多段线的各端点坐标标注在CAD图上  然后编上序号 把各端点的坐标都保存在记事本上就完美了
发表于 2016-1-11 10:25 | 显示全部楼层
非常不错的工具,太感谢了!
发表于 2023-11-5 21:18 | 显示全部楼层
香田里浪人 发表于 2015-12-21 20:21
;;;多段线坐标标注
(defun c:bzzb()
   (setq ps_cmdecho (getvar "cmdecho")


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

本版积分规则

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

GMT+8, 2024-3-28 19:18 , Processed in 0.253064 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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