乐筑天下

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

[编程交流] 需要重复Wblo的帮助

[复制链接]

2

主题

6

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 10:59:56 | 显示全部楼层 |阅读模式
我需要一些关于lisp例程的帮助来创建我的库的wblocks。
我有一个图形(主图形),其中包含5000个“可能”块的实体。实体已经准备好进行WBlock了,但是,由于我要通过几个步骤来创建每个实体,我认为lisp例程可以帮助加快这个过程。首先,每个“将是”块下面都有一段文本,指示实际的块文件名应该是什么。这段文本不包括在wblock本身中-它只是一个标签,以确保文件名正确。为了手动锁定,我通常使用ddedit选择文本,并在提示输入文件名时执行ctrl+c和ctrl+v组合键。基本上,我想让lisp例程完成以下所有步骤。
 
提示输入中心点-用作子块的插入点,并将ucs原点设置为同一点,以便单个子块位于新文件中的0,0,0处。
 
我使用以下代码获取每个wblock的插入点:
(命令“UCS”“O”“center”(setq insertpt(getpoint“\nSet 0,0,0原点和块的插入点”))
 
获取实体下方文本的值(对于wblock文件名)
 
-Wblock到d:\块\“文本字符串中的值”
(路径本身可以硬编码,或者……最好在例程开始时提示“文件夹位置”)
 
选择要wblock的实体(窗口)
如果文件名存在,则提示覆盖或输入新文件名
 
在当前0,0,0(同一点)处将新创建的块插入到“主图形”中
 
重复-提示下一个wblock插入点。。。
 
*********
 
任何帮助都将不胜感激!!
回复

使用道具 举报

14

主题

271

帖子

257

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-6 11:04:27 | 显示全部楼层
像这样的?
回复

使用道具 举报

2

主题

6

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 11:08:05 | 显示全部楼层
谢谢你的回复。
这是一个方便的例行程序,但它不做我需要的。导出块。lsp正在我的主图形中查找现有块。我在图纸中没有任何方块。。。我只是准备好了原始实体,以便进行WBlock。
回复

使用道具 举报

14

主题

271

帖子

257

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-6 11:12:25 | 显示全部楼层
对不起,我没看懂。这怎么样?
请注意,如果块已经存在,它将不会继续(如果存在块,是否总是要替换它?)
回复

使用道具 举报

2

主题

6

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 11:13:54 | 显示全部楼层
它工作得很好!比我提出的粗糙代码好多了。在执行wblock命令之前,是否有方法将UCS原点设置为与“pt”相同的点?我试着使用
 
  1. (setvar "ucsorg" pt)
但它表示“变量设置被拒绝”。
我也试过:
将新原点设置到同一点,但例程随后立即停止。
 
此外,wblocks被保存到“我的文档”文件夹中。有没有办法让我选择wblocks应该保存在哪里?。。。如果没有,我可以在做完后把它们搬走。
 
如果存在块,我不一定要覆盖它。如果我复制了“块名文本”,最好能得到提示。
 
最后,有没有办法循环或保持例程运行,这样我就可以连续wblock?
 
这太棒了!非常感谢你的帮助。
回复

使用道具 举报

41

主题

301

帖子

265

银币

后起之秀

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

铜币
209
发表于 2022-7-6 11:16:51 | 显示全部楼层
你在说这个吗
 
  1. 3
回复

使用道具 举报

2

主题

6

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 11:20:37 | 显示全部楼层
我需要将ucs原点移动到与每个wblock(pt)的插入点拾取的同一点。这样,在创建的每个新文件中,对象的插入点实际上位于0,0,0。
回复

使用道具 举报

14

主题

271

帖子

257

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-6 11:25:21 | 显示全部楼层
我会说赛斯(flowerrobot)是对的,尽管也许我没有跟随。。。
 
我只是把if改成了一段时间,这样它就可以继续为你循环。
 
我还添加了一个文件夹变量Dir,您可以更改它,它将成为保存块的路径。
或者,如果希望目录与图形相同,请使用:
怎么样?
回复

使用道具 举报

2

主题

6

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 11:28:50 | 显示全部楼层
你太棒了!也感谢赛斯。
这正是我想要的。我确实在(progn)之后添加了以下内容
你刚刚度过了我的一周!!
回复

使用道具 举报

14

主题

271

帖子

257

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-6 11:32:41 | 显示全部楼层
啊,干得好。顺便说一句,你可以删除progn和相关的括号,while循环不需要它。
很高兴这是你的一周
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 11:25 , Processed in 0.721855 second(s), 72 queries .

© 2020-2025 乐筑天下

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