乐筑天下

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

[编程交流] Lisp发送*显示*颜色

[复制链接]

18

主题

1529

帖子

973

银币

中流砥柱

Rank: 25

铜币
649
发表于 2022-7-5 17:17:22 | 显示全部楼层
@李:
关于代码的这一部分,我有两个问题:
  1. (cond
  2. ((LM:catchapply 'vla-getobject (list exd "acad_sortents")))
  3. ((LM:catchapply 'vla-addobject (list exd "acad_sortents" "acdbsortentstable")))
  4. )

 
1.
即使acdbsortentstable已经存在,也可以使用vla addobject时,为什么要使用这个cond语句。
2.
为什么将LM:catchapply与vla addobject一起使用?在国际海事组织,这是没有必要的。
回复

使用道具 举报

17

主题

33

帖子

8

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
96
发表于 2022-7-5 17:20:50 | 显示全部楼层
我不确定我是否遗漏了什么,但当我测试时,它不会将块内项目的颜色15发送到后面。jweber,你能用积木吗?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 17:26:39 | 显示全部楼层
 
罗伊,我已经更新了我之前的代码,谢谢。
 
在最初设计程序时,在尝试添加字典对象之前尝试检索字典对象更符合逻辑,当然,在没有意识到ActiveX addobject方法在遇到现有对象时的行为与add方法类似的情况下-然而,尽管更简洁,但根据文档,这可能会导致效率低下:
 
回复

使用道具 举报

4

主题

22

帖子

18

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 17:29:25 | 显示全部楼层
是的,李的代码运行得很好,我刚刚测试了他的更新版本。我的理解是,这是特定于设置为特定颜色的对象的,例如15,而不是逐层颜色等。接下来,我不确定Lisp在哪里或为什么不适用于您,但同样,它确实可以按要求工作。
回复

使用道具 举报

17

主题

33

帖子

8

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
96
发表于 2022-7-5 17:32:54 | 显示全部楼层
废话。不,我的坏了。标准线条、文字等都做得很好。但如果是块,则绘制顺序不变。继续测试。。。。
回复

使用道具 举报

17

主题

33

帖子

8

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
96
发表于 2022-7-5 17:35:20 | 显示全部楼层
这是我正在测试的样本图。
样品图纸
回复

使用道具 举报

4

主题

22

帖子

18

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 17:36:30 | 显示全部楼层
 
我认为你误解了lisp的功能。块是单个实体,所述块内的所有内容都位于其他对象的上方或下方。不能在另一实体下方的块内有一些线,而在同一实体上方的同一块内有一些线。也就是说,lisp的功能是将所有颜色为15的对象发送到后面。
 
在您的示例中,打开“块”并将文本发送到后面,这样它就不会被看到。保存块,关闭块,然后运行lisp。它通过将图案填充(颜色15)发送到后面,有效地将文本带到前面。
 
我认为你需要回顾这篇文章的开头来做你需要做的事情。。。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 17:42:20 | 显示全部楼层
 
感谢您花时间测试该程序,非常感谢。
 
 
为了完整性,程序应在所有显示与指定颜色相同的“显示”颜色的物体上运行;通过“显示颜色”,我指的是颜色属性设置为给定颜色的对象,或者其颜色属性设置为ByLayer,并且相应的层颜色设置为给定颜色的对象。
 
回复

使用道具 举报

17

主题

33

帖子

8

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
96
发表于 2022-7-5 17:44:49 | 显示全部楼层
好吧,我不会一直用不同的方式问这个问题,直到我得到我想要的答案。我诚实地测试,试图理解和解决问题。我对显示顺序中的块是全部还是全部都没有感到满意。
 
见附件pdf。第一页表示我可能在绘图中遇到的内容,这意味着当我进入现有绘图时,不知道任何绘图顺序的状态。我确实有意确保14条垂直线在后面,这样我就可以确保颜色15的表现符合预期。第2页表示手动向后发送所有水平线。正如你所见,它们在垂直线后面绘制。第三页通过将14条垂直线放回并运行lisp来表示“重置”。lisp似乎将不是块的行分组放在了后面,但保留了原来的块分组。李·麦克韦伯我读了你们的话,我只是不明白。你有没有可以上传的样本,我可以测试一下,看我是否得到了和你一样的结果?
测试结果。pdf
回复

使用道具 举报

4

主题

22

帖子

18

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 17:47:34 | 显示全部楼层
 
感谢Lee的更正——这就是lisp应该如何工作,实际上我是如何使用它的,但在尝试解决Pukenzz的问题时,我犯了一个错误。再次感谢您的代码
 
@普肯兹
我想我终于明白你的问题了。Lee的代码只影响图形中每个块中的实体。您正试图使用他的代码将特定的块发送回,这不是它的本意。
 
我打开了你的上一个文件,复制了你的“块”,所以我有3个副本,保留了原始块,将第二个块设置为一个新层,其层颜色设置为15,我将第三个块设置为颜色15,不管层。完成了-Lee的代码用于块,David的代码根据需要将这两个颜色的15个块发送到后面。同样,Lee的代码适用于块中的实体,您希望影响图形中的所有实体,因为它们与颜色15相关-因此您的块需要表示为颜色15。
 
希望这是有意义的,我很高兴能提供帮助,我从这个网站上获得的知识和帮助永远不会得到完全的回报-所以我很高兴我有机会帮助别人。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 14:07 , Processed in 0.615958 second(s), 70 queries .

© 2020-2025 乐筑天下

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