乐筑天下

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

[编程交流] 请求帮助!想要Lisp程序的ro

[复制链接]
pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 09:38:14 | 显示全部楼层
 
很好的观点。。
这就是为什么作为一般规则,块内的实体应在“0”层中创建,以便它将继承其所在的层。
回复

使用道具 举报

5

主题

20

帖子

15

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 09:42:57 | 显示全部楼层
谢谢你的支持,
我曾试图完成一些事情,但得出的结论是,我想完成的事情可以做得更容易。
现在,我想将图形B中的图层导入图形A,然后将对象从某个图层更改为新导入的图层。
由于两个文件的层名称不同,因此与层名称冲突没有问题。然后在对象更改后,我想从绘图A中删除旧层。
我希望这一切在1按钮lisp代码。
如果您能提供一个示例代码,告诉我如何从一个图形中导入图层,然后告诉我如何将对象从一个图层移动到另一个图层。我想我会有足够的信息来构建代码。
如果你能给我一个示例代码,而不仅仅是一个命令,因为我是lisp中的nooby,没有足够的知识来排除一个命令所需的所有额外代码。
这对我有很大帮助。
 
提前感谢,
 
上下快速移动
回复

使用道具 举报

11

主题

968

帖子

919

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2022-7-6 09:45:13 | 显示全部楼层
要从另一个图形中提取层,您可能需要看一看Lee Mac的“从图形中窃取”。
 
至于将实体指定给新图层,“最简单”的方法是逐步完成每个块定义(请注意,模型空间和所有图纸空间也是块)。这可以通过vla方法实现(即ActiveX/COM,类似于在VBA中所做的)。如下所示:
我展示的内容非常简单,它只处理一个新旧层名称对。为了能够有一个新旧名称列表,您可能希望将其保存到一个文件中,以便可以更轻松地编辑它们。最好也是最简单的选择是使用Excel并保存到一个以制表符分隔的文件(具有字符串分隔符=”),其中OldLayerName位于列a中,NewName位于列B中,然后以下操作将此类文件读入列表:
现在,您应该有一个关联列表,可以将其与旧层名称结合使用。然后,这将为您提供一个包含2个元素的列表,以便您可以在其上使用cadr来获取第2个元素(即新名称)。但是请记住,assoc区分大小写。这就是我在代码中放置strcase的原因。您还需要在实体的层名称上使用它,以便在assoc中使用。
回复

使用道具 举报

5

主题

20

帖子

15

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 09:47:37 | 显示全部楼层
非常感谢,我将尝试构建一些代码,看看它是否有效
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 09:51:41 | 显示全部楼层
 
啊,是的。。。前一段时间,我甚至认为不可能做到这一点,这证明我错了。。很好irneb
 
回复

使用道具 举报

5

主题

20

帖子

15

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 09:56:44 | 显示全部楼层
你好
 
到目前为止,我已经想出了这个代码。
我用李的窃取代码来获取所有层,效果很好。
但是将对象更改到不同层的代码不起作用。
Autocad也没有显示错误,只是没有更改对象。
谁能帮我解决我忘记/做错了什么。
 
提前谢谢bob
 
 
  1. 2
;---------------------------------------------------------------------------------
回复

使用道具 举报

5

主题

20

帖子

15

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 10:01:14 | 显示全部楼层
Nvm我的最后一个问题,已经发现了问题,我的defun“)在错误的位置。
回复

使用道具 举报

5

主题

20

帖子

15

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 10:02:19 | 显示全部楼层
我提出了一个不同的问题。我想在同一代码中更改1个特定层中文本的文本高度。
我的代码现在运行得很好。它加载图层并将图层更改为具有新特性的新图层。
但在那之后,我想编码,以改变文本高度和文本字体的文本在1层。我尝试使用Vlax命令进行层更改,但失败了,代码崩溃了。
有谁能帮助我并为我提供正确的命令/代码来做到这一点。
 
提前谢谢。
 
上下快速移动
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 06:10 , Processed in 0.471519 second(s), 66 queries .

© 2020-2025 乐筑天下

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