乐筑天下

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

[编程交流] 图层名称到文字

[复制链接]

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 18:52:07 | 显示全部楼层
好的,换成这个:
 
  1. (setq tObj (mk_txt
  2.                 (setq p (polar iPt (+ lAng (/ pi 2.)) (* oFac tSze)))
  3.                 (vla-get-Layer (vlax-ename->vla-object ent))
  4.               )
  5.        )

最后,添加要本地化的变量,如下所示:
 
  1. (defun c:LBLL (/ *error* mk_txt DOC ENT I IPT LANG OFAC P SPC SS TOBJ TSZE UFLAG [color=red][b]lay[/b][/color])
回复

使用道具 举报

15

主题

64

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-5 18:55:19 | 显示全部楼层
像做梦一样工作!!非常感谢!不是为了给我带来好运,而是。。。
 
有没有两行或多行文字?
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 18:59:48 | 显示全部楼层
真为你高兴。
 
 
当然,只需在字符之前添加\\P,您就可以在新行中获取字符。
回复

使用道具 举报

15

主题

64

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-5 19:02:36 | 显示全部楼层
好的,太好了。太谢谢你了Tharwat!
 
这可能再次给我带来好运。如果我问的问题太多,请告诉我。
 
这应该是最后一个了。我希望LISP在选择文字高度后从该点循环。因此,他们先选择对象,然后选择标签位置,命令继续询问下一个对象,然后选择标签位置。while语句在哪里开始和结束?
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 19:06:26 | 显示全部楼层
我不太清楚你最后的要求。
回复

使用道具 举报

15

主题

64

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-5 19:09:26 | 显示全部楼层
 
我很抱歉。。。
 
当前,该例程在标记一条多段线后停止,用户必须再次初始化命令,再次选择文本高度,然后选择另一条多段线。
 
我希望该命令继续执行,直到用户退出。放置第一个标签后,它返回并要求下一条多段线进行标记,并指向放置标签,依此类推。这样他们可以一个接一个地走。选择“拾取标签位置”,然后选择“拾取标签位置”。
 
我希望这有意义。
 
191757b7ay1rpuohkzfbhz.jpg
回复

使用道具 举报

15

主题

64

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-5 19:11:50 | 显示全部楼层
 
嘿,这似乎不起作用。
 
(strcat“Lot”(substr lay 9)\\ PBlock(substr lay 5 3))
 
结果:标段1-298
 
我也尝试过:
 
(strcat“Lot”(substr lay 9)“\\P”“Block”(substr lay 5 3)
 
结果:相同。
 
我尝试了所有组合。似乎无法让它工作。我知道这很简单,但是。。。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 19:16:23 | 显示全部楼层
为了重复,请考虑将While更改为在过程中更高的位置,您可能会更好地将While与entsel一起使用,而不是ssget,因为您一次只看一个对象。搜索这里有一个质心lisp的GP,它做什么你想要的。
 
  1. <p>; something like this pick nothing to exit.</p><p>(while (setq obj (entsel "pick line arc pline etc or nothing <exit>"))</exit></p><p>(setq layname (vla-get-layer (vlax-ename->vla-object (car obj)))</p><p>....check valid object</p><p>.....</p><p>) ;endwhile</p>
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 19:21:07 | 显示全部楼层
试试这个:
 
  1. 7
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 20:06 , Processed in 0.372814 second(s), 70 queries .

© 2020-2025 乐筑天下

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