明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1412|回复: 8

[讨论] 多段线坐标TXT输出坐标 求高手帮助

[复制链接]
发表于 2015-7-29 07:57 | 显示全部楼层 |阅读模式
(defun c:tqzb (/)
    (setq cm (getvar "cmdecho"))
    (setvar "cmdecho" 0)
    (if (setq wjm (getfiled "请指定要保存的坐标文件" "e:\\" "txt" 1))
        (if (setq ssa (ssget '((0 . "LWPOLYLINE"))))
     (progn
                (setq fff (open wjm "w")
        n   (sslength ssa)
        i   0
        no  0
  )
         (repeat n
                     (setq dxf (entget (ssname ssa i))
      i   (1+ i)
      ptb (mapcar 'cdr (vl-remove-if-not '(lambda(x)(= (car x) 10)) dxf))
      ptb (mapcar '(lambda(x)(trans x 0 1)) ptb)
       )
       (foreach pt ptb
                          (setq no (1+ no))
            (write-line (strcat (itoa no) ","
           (rtos (car  pt) 2 2) ","
           (rtos (cadr pt) 2 2) ","
          )
                 fff
     )
       )
  )
                (close fff)
         (princ (strcat "\n坐标已存入\"" wjm "\"中"))
     )
)
   )
    (setvar "cmdecho" cm)
    (princ)
)

输出的坐标小数点是两位怎么能修改成小数点后三位或者四位?
发表于 2015-7-29 09:00 | 显示全部楼层
          (rtos (car  pt) 2 2) ","
           (rtos (cadr pt) 2 2) ","
改成
          (rtos (car  pt) 2 3) ","
           (rtos (cadr pt) 2 3) ","
就好了吧
 楼主| 发表于 2015-7-29 17:51 | 显示全部楼层
903242237 发表于 2015-7-29 09:00
(rtos (car  pt) 2 2) ","
           (rtos (cadr pt) 2 2) ","
改成

谢谢  问题已经解决 呵呵  . 请教下 没有基础 我想学习下LSP程序 编程 看点什么书?
发表于 2018-5-16 15:05 | 显示全部楼层
有直接定义好保存的文件位置和文件名的吗,不想在过程中还要指定一下文件名
发表于 2022-4-26 12:54 | 显示全部楼层
能在图中增加顶点编号功能吗?
发表于 2022-4-26 19:06 | 显示全部楼层
本帖最后由 lee50310 于 2022-4-26 19:11 编辑
wanhongron 发表于 2022-4-26 12:54
能在图中增加顶点编号功能吗?

你是指這功能嗎?


本帖子中包含更多资源

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

x
发表于 2022-4-26 19:32 | 显示全部楼层
本帖最后由 song宋_74729 于 2022-4-26 19:34 编辑

(defun c:tqzb (/)
    (setq cm (getvar "cmdecho"))
    (setvar "cmdecho" 0)
    (if (setq wjm (getfiled "请指定要保存的坐标档" "e:\\" "txt" 1))
        (if (setq ssa (ssget '((0 . "LWPOLYLINE"))))
     (progn
                (setq fff (open wjm "w")
        n   (sslength ssa)
        i   0
        no  0
  )
         (repeat n
                     (setq dxf (entget (ssname ssa i))
      i   (1+ i)
      ptb (mapcar 'cdr (vl-remove-if-not '(lambda(x)(= (car x) 10)) dxf))
      ptb (mapcar '(lambda(x)(trans x 0 1)) ptb)
       )
       (foreach pt ptb
                          (setq no (1+ no))
            (write-line (strcat (itoa no) ","
           (rtos (car  pt) 2 3) ","
           (rtos (cadr pt) 2 3) ","
          )
                 fff
     )
       )
  )
                (close fff)
         (princ (strcat "\n坐标已存入\"" wjm"\"中"))
     )
)
   )
    (setvar "cmdecho" cm)
    (princ)
)


小数点后三位
发表于 2022-4-26 19:33 | 显示全部楼层
(defun c:tqzb (/)
    (setq cm (getvar "cmdecho"))
    (setvar "cmdecho" 0)
    (if (setq wjm (getfiled "请指定要保存的坐标档" "e:\\" "txt" 1))
        (if (setq ssa (ssget '((0 . "LWPOLYLINE"))))
     (progn
                (setq fff (open wjm "w")
        n   (sslength ssa)
        i   0
        no  0
  )
         (repeat n
                     (setq dxf (entget (ssname ssa i))
      i   (1+ i)
      ptb (mapcar 'cdr (vl-remove-if-not '(lambda(x)(= (car x) 10)) dxf))
      ptb (mapcar '(lambda(x)(trans x 0 1)) ptb)
       )
       (foreach pt ptb
                          (setq no (1+ no))
            (write-line (strcat (itoa no) ","
           (rtos (car  pt) 2 4) ","
           (rtos (cadr pt) 2 4) ","
          )
                 fff
     )
       )
  )
                (close fff)
         (princ (strcat "\n坐标已存入\"" wjm"\"中"))
     )
)
   )
    (setvar "cmdecho" cm)
    (princ)
)
小数点后四位
发表于 2023-5-7 04:26 | 显示全部楼层
纯小白,请问cad提示 输入的字符串有缺陷,怎么办
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-18 22:03 , Processed in 0.214453 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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