乐筑天下

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

[编程交流] 根据更改线图层

[复制链接]

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 23:55:54 | 显示全部楼层 |阅读模式
大家好,
 
我有一个网络,由线条组成,每一行上面都有一个文字,上面写着直径。
我想知道是否有一个lisp例程,可以根据直径更改行层,以便将相同直径的行聚集在同一层下。
 
提前感谢您,
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 00:09:42 | 显示全部楼层
欢迎来到CADTutor
 
我认为需要更多的信息,或者一张样图就好了。
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 00:28:23 | 显示全部楼层
 
 
非常感谢。
 
事实上,我已经关注这个论坛好几个月了,它对我非常有用。
我也搜索了这个话题,但没有找到任何与此相关的内容。
 
如果你可以从附加文件中看到(我无法附加.dwg),在“管道”层下有红线,在“直径”层下有文本。
 
我想知道是否有任何方法(lisp例程)可以将相同直径的线收集到同一层下。我只是附上了图纸的一部分,因为这是一个巨大的。
 
Thanx再次。。。
005600j2bfiqnu2qzzybib.jpg
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 00:32:24 | 显示全部楼层
假设“线”是线对象,请尝试以下操作:
[code](defunc:pipe2lay(/di1 di2 enx idx lay lin lst sel txt)(ifsetqsel(ssget“_X”list'(-4。”“)(if=1(getvar'cvport()(cons410(getvar'ctab))(410。“Model”)(prognREPLACEsetqidx(sslength(setqenx(entgetssnamesel(setqidx(1-idxа))(if=“TEXT”cdrassoc0 enx))(setqTX](conscdrassoc10 enx))(cdrassoc01 enx)))txt))(setqlst(cons[cons[mapcar[lambda[[color](a b)(/+a b)2.0))(cdr[[color](assoc[[color]10 enx))(cdr[assoc[[color]11 enx))(assoc[[color]-1 enx]))(while[和[color]txt(setq[[color]lin(car[color]lst))(setq[color]di1(distance[color](car[color]lin)(caar[color]txt))lay(car[color]txt)lst(cdr[color]lst))(foreach[color]itm([颜色=蓝色]如果[[颜色]([颜色=蓝色]
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 00:52:44 | 显示全部楼层
效果很好。
 
比你节省了很多时间。
 
当做
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 01:07:52 | 显示全部楼层
不客气
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 21:30 , Processed in 0.361368 second(s), 66 queries .

© 2020-2025 乐筑天下

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