乐筑天下

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

[编程交流] 用于点导出的LISP

[复制链接]
VVA

1

主题

308

帖子

308

银币

初来乍到

Rank: 1

铜币
8
发表于 2022-7-6 06:49:36 | 显示全部楼层
我做了​​EcoorE中的一个小变化。lsp(添加圆)。要四舍五入到2个小数点,请将变量LUPREC设置为2,或参见命令单位。删除Z-导出并删除不必要的Excell列。或者导出到txt文件,在记事本中打开,键入Ctrl+F(查找),查找字符串:0,替换字符串-无
回复

使用道具 举报

3

主题

19

帖子

16

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 06:52:42 | 显示全部楼层
οκ非常感谢。。
它现在正在与圆圈一起工作
回复

使用道具 举报

4

主题

7

帖子

3

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 06:55:36 | 显示全部楼层
我想计算面积并将其导出到excel文件中。
有任何lisp例程。
 
我已经为上面的lisp例程,但在两个文件中
一个用于导出坐标,另一个用于计算面积。
 
如何合并这两者或导出坐标替换为导出区域。
 
 
谢谢和问候!!
山姆
将2dpoints导出到CSV。lsp
地区LSP
回复

使用道具 举报

24

主题

147

帖子

123

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-7-6 06:58:18 | 显示全部楼层
嗨,塔瓦,
我使用这个lisp,但也添加了弧。
几个问题:
如何也列出直径(或半径,如果其弧)与X和Y坐标?
是否允许选择用户定义的0,0(或UCS原点预设)?
 
这是我修改过的版本
 
  1. (defun c:TesT (/ *error* dir fNme ss i sname c x y)
  2. (vl-load-com)
  3. ; THARWAT Oct. 07.2010
  4. (defun *error* (msg)
  5.    (and fNme (close fNme))
  6.    (if (and msg
  7.             (not (wcmatch (strcase msg) "*BREAK*,*CANCEL*,*QUIT*,"))
  8.        )
  9.      (princ (strcat "\nError: " msg))
  10.    )
  11. )
  12. (setq dir "C:\\My Folder")
  13. (vl-mkdir dir)
  14. (if (and
  15.        (setq fNme (open "C:/My Folder/coordinates.txt" "w"))
  16.        (setq ss (ssget '((0 . "CIRCLE,ARC"))))
  17.      )
  18.    (progn
  19.      (repeat (setq i (sslength ss))
  20.        (setq sname (ssname ss (setq i (1- i))))
  21.        (setq c (cdr (assoc 10 (entget sname))))
  22.        (write-line
  23.          (strcat (setq x (rtos (car c) 2 3))
  24.                  "\t"
  25.                 (setq y (rtos (cadr c) 2 3))
  26.          )
  27.          fNme
  28.        )
  29.        (entmakex (list '(0 . "MTEXT")
  30.                        '(100 . "AcDbEntity")
  31.                        '(100 . "AcDbMText")
  32.                        (cons 40 (getvar 'textsize))
  33.                        (cons 1
  34.                              (strcat "X" "=" " " x "[url="file://p/"]\\P[/url]" "Y" "=" " " y)
  35.                        )
  36.                        (assoc 10 (entget sname))
  37.                        '(50 . 0.)
  38.                        '(210 0.0 0.0 1.0)
  39.                  )
  40.        )
  41.      )
  42.      (close fNme)
  43. (command "mtext" "0,0" "2,2" "0,0" "ORIGIN" "")
  44. (command "chprop" "l" "" "c" "4" "")
  45.    )
  46.    (princ)
  47. )
  48. (princ)
  49. )
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 07:02:35 | 显示全部楼层
 
嗨,shailujp

 
  1. (defun c:Test (/ *error* fl f ss i sn e c r x y)
  2. ;;;--- Tharwat 03.06.2013---;;;
  3. (defun *error* (msg)
  4.    (and f (close f))
  5.    (princ (strcat "\nError: " msg "\n*Cancel*"))
  6. )
  7. (if (and (setq fl (getfiled "Specify the text file name :"
  8.                              (getvar 'DWGPREFIX)
  9.                              "txt"
  10.                              1
  11.                    )
  12.           )
  13.           (setq f (open fl "w"))
  14.           (progn (princ "\n Select Arcs and Circles ")
  15.                  (setq ss (ssget '((0 . "CIRCLE,ARC"))))
  16.           )
  17.      )
  18.    (progn
  19.      (write-line "X: \t Y: \t Diameter/Radius" f)
  20.      (repeat (setq i (sslength ss))
  21.        (setq e (entget (setq sn (ssname ss (setq i (1- i)))))
  22.              c (cdr (assoc 10 e))
  23.        )
  24.        (if (eq (cdr (assoc 0 e)) "ARC")
  25.          (setq r (cdr (assoc 40 e)))
  26.          (setq r (* (cdr (assoc 40 e)) 2.))
  27.        )
  28.        (write-line
  29.          (strcat (setq x (rtos (car c) 2 3))
  30.                  "\t"
  31.                  (setq y (rtos (cadr c) 2 3))
  32.                  "\t"
  33.                  (rtos r 2 3)
  34.          )
  35.          f
  36.        )
  37.        (entmakex
  38.          (list '(0 . "MTEXT")
  39.                '(100 . "AcDbEntity")
  40.                '(100 . "AcDbMText")
  41.                (cons 40 (getvar 'TEXTSIZE))
  42.                (cons 1 (strcat "X" "=" " " x "\\P" "Y" "=" " " y))
  43.                (assoc 10 e)
  44.                '(50 . 0.)
  45.          )
  46.        )
  47.      )
  48.      (close f)
  49.    )
  50.    (princ)
  51. )
  52. (princ)
  53. )
回复

使用道具 举报

24

主题

147

帖子

123

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-7-6 07:05:12 | 显示全部楼层
嗨,塔瓦,
 
你的Lisp程序很好用。我删除了圆弧过滤,因为我只使用直径作为输出。
作为并添加了创建表的功能,我下载了J.Villareal的另一个例程。这使我能够使用实用程序生成的excel数据插入表格。
 
你能帮我再深入一步吗?可以在图纸中插入序列号文本(定义实体)而不是XY坐标吗。XY和直径详细信息仅在表中需要。这样的话,绘图就会很干净,因为较小的绘图会被太多的多行文字重叠而弄乱,变得很难阅读。
 
我已经附上lisp文件以及图纸。
 
P、 我叫谢里什,你叫什么?
测试2.lsp
图纸1.dwg
回复

使用道具 举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-6 07:08:29 | 显示全部楼层
shailujp,
 
请阅读代码发布指南,并在以后发布代码时使用代码标签。我帮你修改了之前的帖子。
回复

使用道具 举报

24

主题

147

帖子

123

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-7-6 07:11:47 | 显示全部楼层
有人能帮我安排一下日程吗?
回复

使用道具 举报

VVA

1

主题

308

帖子

308

银币

初来乍到

Rank: 1

铜币
8
发表于 2022-7-6 07:13:49 | 显示全部楼层
也许这会有帮助
回复

使用道具 举报

24

主题

147

帖子

123

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-7-6 07:18:36 | 显示全部楼层
高VVA
链接上的lisp有效,但由于某些原因,输出坐标与实际尺寸不匹配。不确定它是如何工作的。
 
无论如何,我可以用下面的代码做些什么(主要来自Tharwat,但我做了一些调整):
1) 要求用户输入以指定原点(基本上设置UCS)
2) 将XY直径细节导出到excel文件(&D)(使用trans函数将XY转换为当前UCS)
3) 添加0,0原点文本,以便用户知道原点是否正确。
4) 使用J.Villareal的TBL3在图纸上恢复整个表格。lisp(使用数据链)
 
 
我想要的是:
1) 所有实体(圆弧或圆)应在图纸1、2、3等上编号。。。。(类似于COORN utility对每个链接所做的操作)
2) 它创建的表格应具有第一列序列号(每个项目1)和第五列实体类型(例如圆弧或圆),以识别对象类型。
 
有人能试试这个吗?
 
 
  1. (defun c:XYT (/ *error* fl f ss i sn e c d x y DLName)
  2. ;;;--- Tharwat 03.06.2013---;;;
  3. (SETVAR "TEXTSIZE" 2.5)
  4. (defun *error* (msg)
  5.    (and f (close f))
  6.    (princ (strcat "\nError: " msg "\n*Cancel*"))
  7. )
  8. (if (and (setq fl (getfiled "Specify the .xls file name :"
  9.                              (getvar 'DWGPREFIX)
  10.                              "xls"
  11.                              1
  12.                    )
  13.           )
  14.           (setq f (open fl "w"))
  15.           (progn
  16.    (setq orgn (getpoint "\n Specify the origin:"))
  17.          (command "ucs" "o" orgn)
  18.          (princ "\n Select Ellipse, Arcs & Circles")
  19.                  (setq ss (ssget '((0 . "ELLIPSE,CIRCLE,ARC"))))
  20.           )
  21.      )
  22.    (progn
  23.      (write-line "X: \t Y: \t Dia:" f)
  24.      (repeat (setq i (sslength ss))
  25.        (setq e (entget (setq sn (ssname ss (setq i (1- i)))))
  26.             c (cdr (assoc 10 e))
  27.        )
  28.        ;(if (eq (cdr (assoc 0 e)) "arc")
  29.          ;(setq r (cdr (assoc 40 e)))
  30.          (setq d (* (cdr (assoc 40 e)) 2.))
  31.       
  32.        (write-line
  33.          (strcat (setq x (rtos (car (trans c 0 1)) 2 3))
  34.                  "\t"
  35.                  (setq y (rtos (cadr (trans c 0 1)) 2 3))
  36.                  "\t"
  37.                  (setq d (rtos d 2 3))
  38.          )
  39.          f
  40. )
  41. )
  42.      (close f)
  43. (command "mtext" "0,0" "j" "tr" "-2,-2" "0,0" "ORIGIN" "")
  44. (command "chprop" "l" "" "c" "4" "")
  45. (load "tbl3")
  46. (tbl3)
  47. ;        (command "scale" "L" "" pause "0.6")
  48. (princ)
  49. )
  50. (princ)
  51. )
  52. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 18:53 , Processed in 0.661659 second(s), 70 queries .

© 2020-2025 乐筑天下

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