乐筑天下

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

[编程交流] 将块插入到特定点

[复制链接]

4

主题

32

帖子

28

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 08:03:47 | 显示全部楼层 |阅读模式
嘿,大家好,已经有一段时间了,但我回来了,需要一些帮助。我试图找到一个lisp,它将在指定的点层插入指定的块。
例子:
在一个名为“tree”的图层上,我有385个树位置点。我想在所有树点上插入一个树块。无需缩放或旋转。我有6000多个不同图层和名称的点,因此nodesert例程无法工作,因为它将块插入到图形中的每个点上。我希望它只插入到指定的层。
有人知道一个可以满足我需要的常规吗?
我希望我有点明白我的意思。
谢谢你的帮助。
内特
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 08:10:48 | 显示全部楼层
如何在图纸中识别这些“树点”?
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 08:12:49 | 显示全部楼层
你有所有的点作为CSV或excel,然后如果有像1121.456789.102,树它很容易,很可能是一个lisp已经存在签出李Mac的导入点例程可以做你想要的。
 
如果CSV在这里粘贴几行,或者如果excell粘贴为文本,这是一个已经被问了很多次的问题。
 
也请观看此空间http://www.cadtutor.net/forum/showthread.php?67934-需要lisp从坐标绘制圆/page3
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 08:15:34 | 显示全部楼层
 
这将帮助你获得385分
 
  1. (defun c:test (/ found ss i sn)
  2. (if (and (setq found (tblsearch "BLOCK" "TREE"))
  3.           (setq ss (ssget "_:L" '((0 . "POINT") (8 . "TREE"))))
  4.      )
  5.    (repeat (setq i (sslength ss))
  6.      (setq sn (ssname ss (setq i (1- i))))
  7.      (entmake (list '(0 . "INSERT")
  8.                     '(2 . "TREE")
  9.                     (assoc 10 (entget sn))
  10.                     '(41 . 1.0)
  11.                     '(42 . 1.0)
  12.                     '(43 . 1.0)
  13.                     '(50 . 0.)
  14.               )
  15.      )
  16.    )
  17.    (cond ((not found) (alert " Block < TREE > not found ! "))
  18.          (t
  19.           (alert " Please select points on TREE layer ...")
  20.          )
  21.    )
  22. )
  23. (princ)
  24. )

 
 
那么,在不同图层上的6000个点上插入的块的名称是什么?
回复

使用道具 举报

11

主题

968

帖子

919

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2022-7-6 08:19:09 | 显示全部楼层
那么,您已经在图形上获得了点(其中6000个),但您只想将块放置在指定图层上的这些点上?您是否考虑过隔离该层(LAYISO命令)。那么像这样的事情可能会有所帮助:
如果要查看所有层,则过滤器可能会有所帮助。尝试使用Filter命令,甚至QSelect,仅选择一个或多个指定图层上的点,然后运行上面的lisp。
 
或者修改lisp,将此类过滤器添加到其ssget调用中,如下所示:
  1. (ssget (list '(0 . "POINT") (cons 8 "LayerName")))
回复

使用道具 举报

4

主题

32

帖子

28

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 08:22:09 | 显示全部楼层
点或节点。x、 在被外部参照之前移除z坐标的y、z坐标。
 
它们不是作为csv生成的。它们被导出到。来自a的dxf。然后插入分解块。(从公制到英制是获得正确单位和比例的唯一方法。说来话长……)
 
他们都不一样。其中约有1000个是卫生、暴雨和入口格栅块,其中大多数是连接路缘和人行道的点。
 
 
非常感谢你们的回复。我现在要测试一下,看看它们是否对我正在尝试的工作有效。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 08:26:12 | 显示全部楼层
尚未正确阅读整个线程,但这可能会帮助您:
 
http://lee-mac.com/ptmanager.html
回复

使用道具 举报

4

主题

32

帖子

28

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 08:30:59 | 显示全部楼层
 
我的第一个想法是关闭并冻结除“树”层之外的所有层,这基本上与隔离层相同,我相信,如果我错了,请纠正我的错误,然后使用nodesert lisp,但它仍然可以看到所有点,并在图形中的所有点上放置一个树块,即使它们已关闭并冻结。
使用快速选择是一个优秀的工具,我可以选择所有的树点,但我还没有找到正确的组合,只在树点上插入块。花几个小时制定一个适用于这种情况的例程可以节省我反复插入同一块的大量时间,因此我会继续体验,直到找到答案。Lisp程序的张贴到目前为止是隔离它到我的“树块”。有没有办法让我选择块和层???
回复

使用道具 举报

4

主题

32

帖子

28

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 08:34:49 | 显示全部楼层
 
很好的例行李Mac。这正是我需要的。
1、快速选择全部385个树点
2.ptm enter调用lisp例程
3.单击>>输入类型以选择所有选定点
4、选择块
5.单击“确定”
繁荣
非常感谢。。。。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 08:36:30 | 显示全部楼层
 
非常欢迎toberino
 
这个程序实际上是我的老程序之一,源代码可能需要彻底修改,但我很高兴这些年后它仍然很有用。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-9 21:34 , Processed in 0.533600 second(s), 72 queries .

© 2020-2025 乐筑天下

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