乐筑天下

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

[编程交流] 增量属性编辑依据

[复制链接]

2

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 14:21:47 | 显示全部楼层 |阅读模式
我一直在搜索论坛,以找到一个Lisp例程,这对我来说是可行的,很多都很接近,但他们都缺少一件事,那就是像属性一样编号。我要做的是,当我的图纸上有一堆零件标记块时,我会有输入信息,如模具、长度、方向等,稍后我会提取这些信息。我想要的是在我的die#(例如1003-01、1003-02)中添加一个增量后缀,该后缀仅在该块中的其他属性或属性更改时才更改。有办法做到这一点吗?如果需要的话,我可以提供一个例子画有块,并显示我在做什么。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 14:35:45 | 显示全部楼层
我认为这是可以实现的,但编号是随机的(取决于程序的编码方式)。
 
样图总是有用的
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 14:44:12 | 显示全部楼层
正如李所建议的那样,块将按照创建顺序从数据库中找到,并且与绘制位置无关。如果你选择块,那么你可以按顺序编号。
 
另一种方法是在创建块时对其进行编号,并检查最后一个编号。ie使用lisp插入块。
回复

使用道具 举报

2

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 14:50:19 | 显示全部楼层
我不担心它是否随机编号。我要找的是,它对相同的部分进行编号。正如你在我的附图中看到的,我的框架中有多个水平面,但两个“1003”部分是相同的部分,但垂直面不同。这只是我可能要处理的一个简单版本,除了数百个不同尺寸的框架。我正在寻找一个例程,将添加“-01”到“1003”以任何顺序递增。
示例1。图纸
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 14:58:06 | 显示全部楼层
六羟甲基三聚氰胺六甲醚。。这可能比最初预期的更困难。标签是具有属性的块,但梁本身只是多段线,因此困难的部分是告诉程序哪个梁与每个标签配对,并记住,所有梁和标签都将随机出现在集合中。。。
回复

使用道具 举报

2

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 15:06:03 | 显示全部楼层
我认为如果你能把“光束”和标签联系起来,那将是非常棒的,但我目前只是通过DLO属性通过插入字段OBJECT将其链接到维度。这更像是一个手动输入,但它很好,因为它允许我更改fame大小并更新,以自动获得新的测量值。我真正需要的是一个命令,允许我在我的part#中添加后缀,以区分各个部分。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:08:06 | 显示全部楼层
嗨,斯科特,
 
我对这个问题考虑了很多,并试图使程序尽可能简洁-因此它可能有点复杂。但它应该完成这项工作。
 
[code]defunc:tagupd[color=BLUE vl load com][color b][color=BLUE setq][color b]i0[color]docvla get ActiveDocumentvlax get acad objectif[color=RED b]如果[color][color=RED b][setq][color]ss[color=RED颜色=蓝色]ssget[/color “_X”0“插入”[/color b]661[/progn蓝色]λ[color]x/[color]y如果[color][color=BLUE assoc color b][color=BLUE b]颜色=红色)lst[color=红色]setq[color]lstsubst[color][color=BLUE cdr]x)[/color b]y lstb]setq[color]lstcons[color]x lst[color=BLUE BLUE mapcar]红色](功能lambdalist[RED]([color=BLUE vla get TextString color][color=BLUE cadr][color]x)[/颜色)carx[color=BLUE mapcar[color=BLUE b]蓝色]λ[color]xvl如果没有[color]函数[color]lambda][color]y[color=RED 4])[/color b][color=RED vl位置[color]strcase[color]vla get标记字符串[color]y“零件#”[color=35;ff00ff]“长度”x([/color b][color=BLUE mapcar]([/color b]=BLUE]函数lambdaxvlax safearray->listvlax variant value[color=REDvla GetAttributesx[lambdaxeqvla get EffectiveNamex“零件标记2”[color=RED b]mapcar'vlax ename->vla objectmapcar'cadr[color=REDssnamexss[color=BLUE b]mapcarcdrlstsetqi1+/color]i[/color b][j如果[color]
回复

使用道具 举报

2

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 15:17:45 | 显示全部楼层
李,
很酷!!但你的权利,这是极难遵循。我一直想弄明白的一件事是为什么它只比较长度?我如何使其与所有其他属性进行比较?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:27:07 | 显示全部楼层
 
我最初认为您只希望它比较长度属性,因为一些块只有这个和一个空的“NOTE”属性。。。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 02:55 , Processed in 0.330173 second(s), 70 queries .

© 2020-2025 乐筑天下

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