乐筑天下

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

[编程交流] Lisp复制

[复制链接]

41

主题

120

帖子

84

银币

后起之秀

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

铜币
200
发表于 2022-7-6 10:05:23 | 显示全部楼层 |阅读模式
嘿,我想写一些像这样的东西:
复制图层WA1上的多段线
(右侧15000份)
然后添加以选择复制的对象(最好作为列表)
每次复制后都会变换区域。
我试着用“ssget”X做点什么,但不知怎么的,这并没有成功
帮助:)
回复

使用道具 举报

55

主题

293

帖子

239

银币

后起之秀

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

铜币
275
发表于 2022-7-6 10:12:08 | 显示全部楼层
15000份副本,无疑可能会使Autocad程序崩溃。
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 10:17:51 | 显示全部楼层
15000份肯定很多。这些是闭合多段线吗?我问你是因为你提到要改造它们(15000份?)进入区域。
 
你在画什么?你能举一个例子来说明你想从什么开始,以及你想让成品看起来像什么吗?每个示例一个就足够了。谢谢
回复

使用道具 举报

41

主题

120

帖子

84

银币

后起之秀

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

铜币
200
发表于 2022-7-6 10:24:11 | 显示全部楼层
可能写得不好。
这是向15000个单元的右移
 
(setq en(ssget“_x”)
(列表
(cons 0“LW多段线”)
(cons 8(strcat“WARSTWA1”“*”))
)
)
 
(命令“.u copy“en”“m”“0,0,0”“50000,0,0”“E”)
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 10:33:41 | 显示全部楼层
15000件?公制还是英制?
 
移动中的移动?看起来您使用的是“复制”命令,而不是“移动”命令。
 
对不起,我还是没听懂。
 
那么使用区域呢?这从哪里来?
回复

使用道具 举报

55

主题

293

帖子

239

银币

后起之秀

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

铜币
275
发表于 2022-7-6 10:38:00 | 显示全部楼层
可能是这样的。。。。
 
  1. (setq ss (ssget "_x" '((0 . "LWPOLYLINE")(cons 8 (strcat "XXX" "*")))))
  2. (command "_.copy" ss "" '(0. 0. 0.) (polar '(0. 0. 0.) 0.0 15000.))
回复

使用道具 举报

41

主题

120

帖子

84

银币

后起之秀

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

铜币
200
发表于 2022-7-6 10:46:04 | 显示全部楼层
语言问题:)
是的,我想这样做:
我强调xxx层上的所有多段线。
我有一个变量列表(选定的多段线)。
每个元素的副本右侧15000 mm。
复制的项变换区域并添加到列表(变量)。
此列表中的每个项目都按顺序垂直于模型拉伸(挤出)(solid 3d)500 mm
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:51:02 | 显示全部楼层

 
  1. (defun c:test ( / doc spc ss n r ) (vl-load-com)
  2. ;; Example by Lee Mac 2010  www.lee-mac.com
  3. (setq spc
  4.    (vlax-get-property (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
  5.      (if (= 1 (getvar 'CVPORT)) 'PaperSpace 'ModelSpace)
  6.    )
  7. )
  8. (if (ssget "_X" '((0 . "LWPOLYLINE") (8 . "XXX*")))
  9.    (progn
  10.      (vlax-for o (setq ss (vla-get-ActiveSelectionSet doc))
  11.        (vla-move (setq n (vla-copy o))
  12.          (vlax-3D-point '(0. 0. 0.)) (vlax-3D-point '(15000. 0. 0.))
  13.        )
  14.        (vla-put-closed n :vlax-true)
  15.        (vla-AddExtrudedSolid spc (car (setq r (vlax-invoke spc 'AddRegion (list n)))) 500. 0.)
  16.        (vla-delete n)
  17.        (mapcar 'vla-delete r)
  18.      )
  19.      (vla-delete ss)
  20.    )
  21.    (princ "\n** No LWPolylines Found **")
  22. )
  23. (princ)
  24. )
回复

使用道具 举报

41

主题

120

帖子

84

银币

后起之秀

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

铜币
200
发表于 2022-7-6 10:53:55 | 显示全部楼层
谢谢,就这样。这里有很多,“vla”。您必须进行一点培训才能理解代码。非常感谢你。也许还有一个问题:
什么命令可以添加或剪切三维实体
回复

使用道具 举报

41

主题

120

帖子

84

银币

后起之秀

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

铜币
200
发表于 2022-7-6 11:00:27 | 显示全部楼层
添加到已创建形状的列表中。
我的意思是以后可以诉诸变量的某个地方。
例如,对象X旋转90度
 
成立后该地区如何搬迁
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 21:43 , Processed in 0.611253 second(s), 72 queries .

© 2020-2025 乐筑天下

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