乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 8|回复: 5

[编程交流] 导出每个的度量值

[复制链接]

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 20:28:26 | 显示全部楼层 |阅读模式
大家好,
 
首先,我要感谢你们提供了这个非常有用的论坛。你帮了我很多。
 
但现在我需要一个lisp,它将每个多段线线段的度量值导出到excel。有点像附上的图片。
 
212829qwe6q8rg8em5g0uw.jpg
 
谢谢
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 20:51:37 | 显示全部楼层
很确定李·麦克。com有一个例程可以做到这一点。
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 21:02:23 | 显示全部楼层
我已经找到了,但那一套比我想要的要多。
 
我想要一个只有片段长度的。并且,如果可能的话,可以为表格选择更多的多段线,如之前附着的图像。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 21:09:55 | 显示全部楼层
是否要导出这些线段的值,或者选择多段线,并将每个线段单独导出到单独的单元格中,如Excel工作表中所示?
 
L1和L2呢?它们是否已经存在,或者您希望命名导出的多段线,以引用每行值
到其多段线?
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 21:18:19 | 显示全部楼层
 
我想单独处理每个部分,如Excel表。
 
关于L1和L2,它们只是一个例子。对于我需要的,可以只是按选定的每条多段线的顺序进行计算,从1开始。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 21:32:32 | 显示全部楼层
试试看,让我知道。
 
  1. (defun c:Test (/ *error* ss f o i l n in sn lst a d st)
  2. ;;;        Author : Tharwat 16.Dec.2014        ;;;
  3. ;;; Write Polylines' segments to Excel        ;;;
  4. ;;;                                        ;;;
  5. (defun *error* (x)
  6.    (if o
  7.      (close o)
  8.    )
  9. )
  10. (princ "\n Select Polyline :")
  11. (if (and (setq ss (ssget '((0 . "LWPOLYLINE"))))
  12.           (setq f (getfiled "\n Save as :" (getvar 'DWGPREFIX) "csv" 1))
  13.      )
  14.    (progn
  15.      (setq o (open f "w")
  16.            i 0
  17.            l 0.
  18.            n 0
  19.      )
  20.      (write-line "Ref No." o)
  21.      (repeat (setq in (sslength ss))
  22.        (repeat (fix (vlax-curve-getendparam
  23.                       (setq sn (ssname ss (setq in (1- in))))
  24.                     )
  25.                )
  26.          (setq d (vlax-curve-getdistatparam sn (setq i (1+ i))))
  27.          (if (< 0. l)
  28.            (setq lst (cons (setq a (- d l)) lst))
  29.            (setq lst (cons d lst))
  30.          )
  31.          (if a
  32.            (setq l (+ l a))
  33.            (setq l (+ l d))
  34.          )
  35.        )
  36.        (entmake (list '(0 . "TEXT")
  37.                       (setq st (assoc 10 (entget sn)))
  38.                       (cons 11 (cdr st))
  39.                       (cons 40 (getvar 'TEXTSIZE))
  40.                       (cons 1 (itoa (setq n (1+ n))))
  41.                       (cons 7 (getvar 'TEXTSTYLE))
  42.                 )
  43.        )
  44.        (write-line
  45.          (apply 'strcat
  46.                 (mapcar '(lambda (x) (strcat (rtos x 2 2) ";"))
  47.                         (append (list n) lst)
  48.                 )
  49.          )
  50.          o
  51.        )
  52.        (setq lst nil
  53.              i   0
  54.              l   0.
  55.        )
  56.      )
  57.      (close o)
  58.    )
  59. )
  60. (princ)
  61. )(vl-load-com)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-11 08:59 , Processed in 1.008928 second(s), 67 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表