乐筑天下

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

[编程交流] 选项卡重命名lisp帮助

[复制链接]

2

主题

8

帖子

6

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 13:17:24 | 显示全部楼层 |阅读模式
大家好,我一直潜伏在这个网站周围,以及其他试图吸收尽可能多的知识。在花了相当长的时间试图修改和调整lisp以满足我的需要后,我觉得是时候引入大炮了,所以我来了。
 
我从一个lisp开始,它只需要选取一个选定的文本并将选项卡与之匹配。修改后的lisp使我能够提示我选择工作表编号,然后选择工作表名称,删除选项卡中不允许的任何宪章,并在编号和名称之间添加空格/连字符/空格。这就把我们带到了下一组hurtles,在不破坏文本的情况下,我希望能够在不必使用“StripMtext.lsp”的情况下拉入具有属性的文本和格式良好的多行文字
 
谢谢    
回复

使用道具 举报

0

主题

946

帖子

978

银币

限制会员

铜币
-3
发表于 2022-7-5 13:26:11 | 显示全部楼层
 
通过使用(nentsel)并选择属性,可以直接访问块中的属性。请参阅下面的代码段
 
  1. (setq thestring (cdr (assoc 1 (entget (car (nentsel "\nSelect Attribute : "))))))

 
 
如果没有,则无法访问格式化多行文字的文本字符串
 
a) 剥离格式
 
b) 分解多行文字
 
可以将多行文字复制到适当的位置,然后分解副本,收集文本项并重新构造字符串,然后再将其删除,将原始多行文字保留在适当的位置。
回复

举报

2

主题

8

帖子

6

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 13:27:17 | 显示全部楼层
好的,我认为多行文字是通过简单的lisp无法实现的,我还假设我可以使用属性或简单文字编写多行文字,但不能使用或? 
 
谢谢你的回复
回复

举报

2

主题

8

帖子

6

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 13:33:00 | 显示全部楼层
添加了感谢dlanorh
回复

举报

0

主题

946

帖子

978

银币

限制会员

铜币
-3
发表于 2022-7-5 13:38:01 | 显示全部楼层
 
你可以使用多行文字,它只是更复杂的文本字符串,并可能会更容易使用Visual Lisp(activex)
 
由于对于非复杂实体,nentsel返回的结果与entsel相同,因此可以将所有结果合并为一个。
 
选择“文本”并获取对象类型和实体
  1. (setq ent_type (cdr (assoc 0 (entget (setq ent (car (nentsel "\nSelect Text : ")))))))

对这4种情况使用条件
 
  1. (cond ( (= ent_type "TEXT")
  2.         ;code to get text string for text goes here
  3.       )
  4.       ( (= ent_type "MTEXT")
  5.         ;code to get text string for mtext goes here
  6.       )
  7.       ( (= ent_type "ATTRIBUTE")
  8.         ;code to get text string for attribute goes here     
  9.       )
  10.       (
  11.         ;code for not a text entity goes here     
  12.       )
  13. );end_cond

我目前不在AutoCAD,因此无法确定“ATTRIBUTE”是属性返回的实体类型
 
明智的做法可能是将其全部粘贴到while循环中,以便如果它不是文本实体,则循环以允许另一个选择
 
回复

举报

2

主题

8

帖子

6

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 13:41:07 | 显示全部楼层
谢谢德拉诺思,
 
我发现这并不是一个简单的解决方案,因为我在跳跃,并且很快超越了我的编程技能。与此同时,我将让每个人都使用复制和突发方法,同时我将花时间学习如何使用您发布的代码。
 
再次感谢。  
回复

举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 13:47:03 | 显示全部楼层
选择属性时,nentsel返回(0。“ATTRIB”)。
回复

举报

0

主题

946

帖子

978

银币

限制会员

铜币
-3
发表于 2022-7-5 13:54:12 | 显示全部楼层
 
我可以为您排序更复杂的代码,并将其记录下来,以便于理解。然而,我有一个问题,您想要访问的多行文字实际上是多行文字项还是多行属性?
回复

举报

2

主题

8

帖子

6

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 13:54:52 | 显示全部楼层
很抱歉延迟回复。在大多数情况下,当以属性格式完成时,我发现图纸名称是一行
回复

举报

0

主题

946

帖子

978

银币

限制会员

铜币
-3
发表于 2022-7-5 14:03:21 | 显示全部楼层
 
好吧,我想我明白了。因为我很忙,所以我不能在接下来的几天里做出任何承诺,但我可能会在本周末得到一些东西。
 
回复

举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-15 14:21 , Processed in 1.718056 second(s), 72 queries .

© 2020-2025 乐筑天下

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