乐筑天下

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

[编程交流] 文字和文字坐标额外

[复制链接]

18

主题

95

帖子

69

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-5 19:39:09 | 显示全部楼层 |阅读模式
我需要lisp沿多段线的文字,使坐标和文字代码提取到CSV
样品图纸
必修的。csv
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 19:44:15 | 显示全部楼层
您的dwg绝不会反映您如何获得这些高程。这是某种形式的放样程序吗?你有其他竖曲线信息吗?
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 19:46:02 | 显示全部楼层
这是我的方法。
 
  1. (defun c:Test  (/ sel f o l)
  2. ;;    Tharwat 11.01.2014    ;;
  3. (princ "\n Select Single texts :")
  4. (if (and (setq sel (ssget '((0 . "TEXT"))))
  5.           (setq f (getfiled "Save as to csv format "
  6.                             (getvar 'DWGPREFIX)
  7.                             "CSV"
  8.                             1))
  9.           (setq o (open f "w"))
  10.           )
  11.    (progn
  12.      ((lambda (x / sn e)
  13.         (while (setq sn (ssname sel (setq x (1+ x))))
  14.           (setq l
  15.                  (cons (list (cdr (assoc 10 (setq e (entget sn))))
  16.                              (cdr (assoc 1 e)))
  17.                        l))
  18.           )
  19.         )
  20.        -1)
  21.      (setq l
  22.             (vl-sort l
  23.                      '(lambda (q p) (< (cadr (car q)) (cadr (car p))))))
  24.      (write-line "Code,EASTING,NORTHING,ELEVATION" o)
  25.      (mapcar '(lambda (v)
  26.                 (write-line
  27.                   (strcat (cadr v)
  28.                           ","
  29.                           (rtos (caar v) 2)
  30.                           ","
  31.                           (rtos (cadar v) 2)
  32.                           ","
  33.                           (rtos (caddar v) 2))
  34.                   o))
  35.              l)
  36.      (close o)
  37.      )
  38.    )
  39. (princ)
  40. )
回复

使用道具 举报

18

主题

95

帖子

69

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-5 19:50:52 | 显示全部楼层
谢谢你,先生,做了一个很好的lisp代码
回复

使用道具 举报

18

主题

95

帖子

69

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-5 19:53:37 | 显示全部楼层
文本看起来是垂直的,文本看起来是垂直的,沿着文本的多段线找出文本应该相应。
样本2.dwg
必修的。csv
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 19:57:37 | 显示全部楼层
我的程序是在第一张图上工作,你已经附加在第一个职位。
因此,为了使程序在这样的情况下工作,我认为程序应该考虑多段线的方式,并相应地对文本进行排序。
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-5 20:00:57 | 显示全部楼层
我知道我在另一个论坛上看到并回复了这个请求。
 
我在那里发布的代码应该适用于“sample2.dwg”和任何其他多段线配置。,唯一的问题是,我选择使用“文本”值而不是数字文本的Z坐标,正如您已经知道的,如果Z坐标取代数字值,则1.292将在CSV文件中列为“0.0”高程。
 
同样,如果文本值为1.292,Z坐标为0.0,CSV列表上应该出现什么值?
0.0对我来说没有意义,除非你告诉我1.292是基准标高。
回复

使用道具 举报

18

主题

95

帖子

69

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-5 20:03:45 | 显示全部楼层
先生,需要右键更改1.292文本z(高程)值为0.00“p2csv.lsp”
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-5 20:05:28 | 显示全部楼层
并将图形上的文本字符串值“1.292”更改为“0.0”?还是会保持不变?或者你是说csv的0.00应该在高程列中读为1.292?
回复

使用道具 举报

18

主题

95

帖子

69

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-5 20:10:05 | 显示全部楼层
“代码”列中的文本值。
但保持更改高程值实际高度。ex 1.292至0.000实际标高。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 13:57 , Processed in 0.474931 second(s), 83 queries .

© 2020-2025 乐筑天下

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