乐筑天下

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

[编程交流] 现场放样信息

[复制链接]

145

主题

590

帖子

446

银币

中流砥柱

Rank: 25

铜币
725
发表于 2022-7-6 08:45:53 | 显示全部楼层 |阅读模式
是否有人创建了lisp以生成放样信息?
 
我们通常将块复制到图形中,并在屏幕上对其编号。然后我们绘制一条连接它们的pline,并列出pline以将坐标复制到Excel。我们通常会将标有编号的图纸pdf发送到现场。
 
有谁能提供一个更好的建议,我们可以怎么做?
回复

使用道具 举报

44

主题

542

帖子

502

银币

后起之秀

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

铜币
220
发表于 2022-7-6 08:50:17 | 显示全部楼层
比如在哪里放置偏置销钉等?难道你不能只导出放样点的坐标(从AutoCad或任何其他civil/survey软件包),而这就是放样作业所需的全部内容吗?
回复

使用道具 举报

145

主题

590

帖子

446

银币

中流砥柱

Rank: 25

铜币
725
发表于 2022-7-6 08:53:40 | 显示全部楼层
我有一个块,我用LeeMac非常酷的NumInc3.1插入一个增量数字的块。我想知道如何根据递增的数字列出某个名称的所有块的X,Y?或者有人已经有什么可以做这件事了吗?我看了李的PointManager,但它似乎是为我想要的相反设计的。
 
谢谢
回复

使用道具 举报

145

主题

590

帖子

446

银币

中流砥柱

Rank: 25

铜币
725
发表于 2022-7-6 08:58:39 | 显示全部楼层
我找到了这条线索,它几乎把我带到了我想去的地方。
http://www.cadtutor.net/forum/showthread.php?31653-点到excel工作表的Lisp坐标-%28点编号%29
如果我用多行文字放置点,效果很好,因为它检测到文字,我可以在excel中对其排序。我的问题是如何在CAD中对它们进行编号 094557xgme22gsfmggmtfw.png
如果我插入这样的块,插入时会爆炸,留下红色符号,这是一个块和多行文字,我如何通过选择它们将“x”转换为数字。有人可以创建一个lisp,当我选择文本时,它将变为1,而我选择的下一个将变为2,等等。?
 
对不起,我;我在这方面做得很好,但我有很多图纸要做,所以我正在寻找解决方案。
回复

使用道具 举报

8

主题

1133

帖子

1164

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 09:00:24 | 显示全部楼层
 
您是否尝试过使用AutoCAD属性提取?您有一个属性为数字的块。属性提取将在数字上添加插入点坐标,以生成一个非常好的csv文件
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:03:55 | 显示全部楼层
写这篇文章很有趣,也许会有所帮助:
 
  1. (defun c:test ( / block def el en ent file in lst pt ss str tag tags val )
  2.    (while
  3.        (not
  4.            (or
  5.                (eq "" (setq block (getstring t "\nBlock Name to Extract: ")))
  6.                (and
  7.                   (setq def (tblsearch "BLOCK" block))
  8.                   (= 2 (logand 2 (cdr (assoc 70 def))))
  9.                )
  10.            )
  11.        )
  12.        (princ "\nBlock not Attributed or not Found.")
  13.    )
  14.    (if (not (eq "" block))
  15.        (if
  16.            (setq ss
  17.                (ssget "_X"
  18.                    (list
  19.                        (cons 0 "INSERT")
  20.                        (cons 2 block)
  21.                        (cons 66 1)
  22.                        (cons 410 (if (= 1 (getvar 'CVPORT)) (getvar 'CTAB) "Model"))
  23.                    )
  24.                )
  25.            )
  26.            (progn
  27.                (setq ent (tblobjname "BLOCK" block))
  28.                (while (setq ent (entnext ent))
  29.                    (if (eq "ATTDEF" (cdr (assoc 0 (entget ent))))
  30.                        (setq tags (cons (strcase (cdr (assoc 2 (entget ent)))) tags))
  31.                    )
  32.                )
  33.                (while
  34.                    (not
  35.                        (member
  36.                            (setq tag
  37.                                (strcase
  38.                                    (cond
  39.                                        (   (eq ""
  40.                                                (setq tag
  41.                                                    (getstring
  42.                                                        (strcat "\nTag to Sort by <" (last tags) ">: ")
  43.                                                    )
  44.                                                )
  45.                                            )
  46.                                            (last tags)
  47.                                        )
  48.                                        (   tag   )
  49.                                    )
  50.                                )
  51.                            )
  52.                            tags
  53.                        )
  54.                    )
  55.                    (princ "\nAttribute not found in Block.")
  56.                )
  57.                (if (setq file (getfiled "Output File" "" "txt;csv" 1))
  58.                    (progn
  59.                        (repeat (setq in (sslength ss))
  60.                            (setq en (ssname ss (setq in (1- in)))
  61.                                  pt (cdr (assoc 10 (entget en)))
  62.                                  val nil
  63.                            )
  64.                            (while
  65.                                (and
  66.                                    (null val)
  67.                                    (eq "ATTRIB"
  68.                                        (cdr
  69.                                            (assoc 0
  70.                                                (setq el
  71.                                                    (entget
  72.                                                        (setq en (entnext en))
  73.                                                    )
  74.                                                )
  75.                                            )
  76.                                        )
  77.                                    )
  78.                                )
  79.                                (if (eq (strcase (cdr (assoc 2 el))) tag)
  80.                                    (setq val (cdr (assoc 1 el)))
  81.                                )
  82.                            )
  83.                            (if val
  84.                                (setq lst (cons (cons val pt) lst))
  85.                            )
  86.                        )
  87.                        (if (setq file (open file "w"))
  88.                            (progn
  89.                                (foreach line (vl-sort lst '(lambda ( a b ) (< (atof (car a)) (atof (car b)))))
  90.                                    (setq str (car line))
  91.                                    (foreach x (cdr line)
  92.                                        (setq str (strcat str "," (rtos x)))
  93.                                    )
  94.                                    (write-line str file)
  95.                                )
  96.                                (setq file (close file))
  97.                            )
  98.                            (princ "\nUnable to Open Chosen File.")
  99.                        )
  100.                    )
  101.                    (princ "\n*Cancel*")
  102.                )
  103.            )
  104.            (princ "\nNo Blocks Found.")
  105.        )
  106.    )
  107.    (princ)
  108. )
回复

使用道具 举报

145

主题

590

帖子

446

银币

中流砥柱

Rank: 25

铜币
725
发表于 2022-7-6 09:06:41 | 显示全部楼层
非常酷的LeeMac。谢谢关于NumInc3.1的一个问题是,当我在块上设置osnap时,块不会捕捉到一条直线。我做错什么了吗?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:10:08 | 显示全部楼层
 
对象捕捉(以及所有其他标准AutoCAD功能,如跟踪等)在“动态模式”下不可用(由于grread循环)。
 
这应该在动态模式描述中描述。
回复

使用道具 举报

145

主题

590

帖子

446

银币

中流砥柱

Rank: 25

铜币
725
发表于 2022-7-6 09:11:42 | 显示全部楼层
好的,谢谢。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 09:15:29 | 显示全部楼层
李像往常一样做得很好,但运行第二步,将它们从csv中带回来,放置在图纸中,以便在现场进行硬拷贝查看。
 
如果你想要代码,只要问。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 08:32 , Processed in 0.491305 second(s), 74 queries .

© 2020-2025 乐筑天下

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