乐筑天下

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

[编程交流] Lisp添加每行合计(&T)

[复制链接]

49

主题

1246

帖子

1210

银币

后起之秀

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

铜币
254
发表于 2022-7-6 08:07:07 | 显示全部楼层 |阅读模式
大家好,我以前看过Lisp例程,在那里可以选择多行和/或PLINE,它将累加总长度。尝试在这里搜索,但我想我没有任何运气。。。。有人能指出一个吗?提前谢谢。如果没有,不用担心,只要想一件我们办公室的评估人员可能感兴趣的事情。。。。
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 08:15:51 | 显示全部楼层
向下滚动至测量和尺寸G。它叫elen。lsp。
 
http://www.asmitools.com/Files/Programs.html
 
感谢阿斯米!
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 08:24:51 | 显示全部楼层
或者这1:
 
http://www.cadtutor.net/faq/questions/28/How+do+I+use+an+AutoLISP+routine%3F
 
-大卫
回复

使用道具 举报

22

主题

272

帖子

254

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
111
发表于 2022-7-6 08:26:30 | 显示全部楼层
或者这个。。。
莱伦。lsp
莱伦。DCL
回复

使用道具 举报

12

主题

395

帖子

384

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 08:33:19 | 显示全部楼层
或者这一个将它们提取到excel中
 
  1. (defun c:ple (/    layer layer_list leng row ss sumlen total xlApp xlCells)
  2. (vl-load-com)
  3. (if (setq ss (ssget "_X" (list (cons 0 "*POLYLINE"))))
  4.    (progn
  5.      (setq    xlApp (vlax-get-or-create-object "Excel.Application")
  6.        xlCells       (vlax-get-property
  7.                 (vlax-get-property
  8.                   (vlax-get-property
  9.                 (vlax-invoke-method
  10.                   (vlax-get-property xlApp "Workbooks")
  11.                   "Add")
  12.                 "Sheets")
  13.                   "Item" 1)
  14.                 "Cells"))
  15.      
  16.      (vla-put-visible xlApp :vlax-true)
  17.      (vlax-put-property xlCells "Item" 1 1 "Layer")
  18.      (vlax-put-property xlCells "Item" 1 2 "Length")
  19.      (setq row 2
  20.        total 0)      
  21.      (mapcar '(lambda (z)
  22.         (if (not (member z layer_list))
  23.           (setq layer_list (append (list z) layer_list))))
  24.          (mapcar '(lambda (z) (cdr (assoc 8 (entget z)))) (mapcar 'cadr (ssnamex ss))))
  25.      (repeat (length layer_list)
  26.    (setq layer (car layer_list))
  27.    (setq ss (ssget "_X" (list (cons 0 "*POLYLINE")(cons 8 layer))) sumlen 0)
  28.    (mapcar '(lambda (z) (setq sumlen (+ sumlen (vla-get-length (vlax-ename->vla-object (cadr z)))))) (ssnamex ss))
  29.    (vlax-put-property xlCells "Item" row 1 layer)
  30.    (vlax-put-property xlCells "Item" row 2 (rtos sumlen 2 3))
  31.    (setq total (+ total sumlen))
  32.    (setq layer_list (cdr layer_list))
  33.    (setq row (+ row 1))
  34.    )
  35.      (setq row (+ row 1))
  36.      (vlax-put-property xlCells "Item" row 1 "Total:")
  37.      (vlax-put-property xlCells "Item" row 2 (rtos total 2 3))
  38.      
  39.      (vlax-release-object xlApp)
  40.      (alert "Close Excel file manually")
  41.      (gc)(gc)
  42.      (princ)
  43.      ) (alert "There are no Polylines on your drawing!"))
  44. )
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 08:40:29 | 显示全部楼层
这是一个迫切需要更新,但我只是太懒了,没有使用它太多,但由于每个人都张贴他们的,我只是认为我会是一个帮派的一部分。
 
回复

使用道具 举报

6

主题

249

帖子

247

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 08:43:14 | 显示全部楼层
 
有一天请更新并包括“圈”请!
(为什么不从以前开始?)
S
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 08:50:50 | 显示全部楼层
 
我想这是你可以用的东西。
我想我今晚会坐下来做一个更新,在孩子睡觉后,我会做的。添加圆形。
 
因为我是弱智。不久前,我非常需要它,写了它,用了几次,但还没有真正接触过它。我的一个朋友一直在使用它进行竣工调查。
 
今晚,我至少会添加圆圈并修复单位。
回复

使用道具 举报

0

主题

2

帖子

2

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-6 08:59:42 | 显示全部楼层
大家好,我有类似的代码,但我有一些问题。
 
问题是它计算图形中所有多段线的长度。
我希望它只根据我的选择计算多段线的长度,并按层将总数发送到excel。
 
我目前的代码如下所示:
  1. (defun c:ple (/ elist  en   i    layer    layer_list
  2. leng  pline   row    ss     sumlen   total
  3. x  xlApp   xlBook   xlBooks  xlCells  xlSheet
  4. xlSheets
  5.        )
  6. (vl-load-com)
  7. (setq xlApp    (vlax-get-or-create-object "Excel.Application")
  8. xlBooks  (vlax-get-property xlApp "Workbooks")
  9. xlBook    (vlax-invoke-method xlBooks "Add")
  10. xlSheets (vlax-get-property xlBook "Sheets")
  11. xlSheet    (vlax-get-property xlSheets "Item" 1)
  12. xlCells    (vlax-get-property xlSheet "Cells")
  13. )
  14. (vla-put-visible xlApp :vlax-true)
  15. ;headers
  16. (vlax-put-property xlCells "Item" 1 1 "Layer")
  17. (vlax-put-property xlCells "Item" 1 2 "Length")
  18. (setq row 2
  19. total 0)
  20. (setq ss (ssget "_X" (list (cons 0 "*POLYLINE"))) i -1)
  21. (repeat (sslength ss)
  22.    (setq en (ssname ss (setq i (1+ i)))
  23.   elist (entget en)
  24.   layer (cdr (assoc 8 elist)))
  25.    (if (not (member layer layer_list))
  26.      (setq layer_list (cons layer layer_list))))
  27. (repeat (length layer_list)
  28.    (setq layer (car layer_list))
  29.    (vlax-put-property xlCells "Item" row 1 layer)
  30.    (setq ss (ssget "_X" (list (cons 0 "*POLYLINE")(cons 8 layer))) i -1 sumlen 0)
  31.    (repeat (sslength ss)
  32.    (setq row (1+ row))  
  33.    (setq pline (vlax-ename->vla-object (ssname ss (setq i (1+ i)))))
  34.    (setq leng  (vlax-curve-getdistatparam pline
  35.    (vlax-curve-getendparam pline)))
  36.    (vlax-put-property xlCells "Item" row 2 (rtos leng 2 3))
  37.    ;;;    (vlax-put-property xlCells "Item" row 2 (rtos leng 2 3)); for metric units  
  38.    (setq sumlen (+ sumlen leng)))
  39.    (setq row (1+ row))
  40.    (vlax-put-property xlCells "Item" row 1 "SubTotal:")
  41.    (vlax-put-property xlCells "Item" row 2 (rtos sumlen 2 3))
  42.    (setq total (+ total sumlen))
  43. ;;;    (vlax-put-property xlCells "Item" row 2 (rtos sumlen 2 3)); for metric units
  44.    (setq layer_list (cdr layer_list))
  45.    (setq row (+ row 2))
  46.    
  47. )
  48. ; footers:
  49. (vlax-put-property xlCells "Item" row 1 "Total:")
  50. (vlax-put-property xlCells "Item" row 2 (rtos total 2 3))
  51. ;;;(vlax-put-property xlCells "Item" row 2 (rtos total 2 3)); for metric units  
  52. (mapcar (function (lambda(x)
  53.      (vl-catch-all-apply
  54.        (function (lambda()
  55.      (progn
  56.        (vlax-release-object x)
  57.        (setq x nil)))))))
  58. (list xlCells xlSheet xlSheets xlBook xlBooks xlApp)
  59. )
  60. (alert "Close Excel file manually")
  61. (gc)(gc)
  62. (princ)
  63. )
  64. (princ "\t\t***\t  Type PLE to write polines length to Excel\t***")
  65. (princ)

 
 
 
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 09:01:20 | 显示全部楼层
我的5美分价值
 
090710cmyfq1ffbjm8jjyj.jpg
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-9 09:24 , Processed in 0.806465 second(s), 74 queries .

© 2020-2025 乐筑天下

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