乐筑天下

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

[编程交流] Autolisp到转换Pline t

[复制链接]

9

主题

17

帖子

8

银币

初来乍到

Rank: 1

铜币
45
发表于 2022-7-5 18:29:27 | 显示全部楼层 |阅读模式
我有一些用Leader替换的PLINE,不需要附加文本或多行文字。如何将PLINE仅转换为引线?
如果提取每个Pline顶点的xyz值并相应地绘制引线,则会发生这种情况。这里有一件事,引导头将绘制在Pline的较长一侧,较短的将绘制引导尾。这可能吗?
请帮忙:哭:
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 18:41:21 | 显示全部楼层
欢迎来到CADTutor。
 
确保您的Qleader设置的点数等于3
  1. (defun c:Test (/ e o ss i sn l p)
  2. ;;    Tharwat 17.10.2015    ;;
  3. (if (setq e  (entlast)
  4.            ss (ssget "_:L" '((0 . "LWPOLYLINE") (-4 . "=") (90 . 3)))
  5.      )
  6.    (repeat (setq i (sslength ss))
  7.      (setq sn (ssname ss (setq i (1- i)))
  8.            l  (mapcar
  9.                 'cdr
  10.                 (vl-remove-if-not '(lambda (p) (eq (car p) 10)) (entget sn))
  11.               )
  12.      )
  13.      (if (> (distance (car l) (cadr l))
  14.             (distance (caddr l) (cadr l))
  15.          )
  16.        (setq p l)
  17.        (setq p (reverse l))
  18.      )
  19.      (command "_.qleader"
  20.               "_none"
  21.               (car p)
  22.               "_none"
  23.               (cadr p)
  24.               "_none"
  25.               (caddr p)
  26.               ""
  27.               ""
  28.      )
  29.      (if (not (eq e (setq o (entlast))))
  30.        (progn
  31.          (entdel sn)
  32.          (setq e o)
  33.        )
  34.      )
  35.    )
  36. )
  37. (princ)
  38. )
回复

使用道具 举报

9

主题

17

帖子

8

银币

初来乍到

Rank: 1

铜币
45
发表于 2022-7-5 18:47:14 | 显示全部楼层
工作完美,
这正是我所期望的。
 
我真的很感谢你的帮助。
 
你太棒了!
 
谢谢!!:大声笑:
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 18:53:50 | 显示全部楼层
 
非常欢迎你。
回复

使用道具 举报

22

主题

74

帖子

39

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
125
发表于 2022-7-5 18:58:57 | 显示全部楼层
嗨Tharwat!
它工作得很好,但我的问题是-是否可以更改您的程序,以使箭头标志在领导的右侧(我的意思是-以“敬畏”领导)。
谢谢你的努力!
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 19:06:10 | 显示全部楼层
嗨,丹格拉,
 
如果你只是想改变程序的工作方式,只需替换以下内容,否则你需要给出一个示例或更多细节。
 
  1. (setq p (reverse l))
  2. (setq p l)
回复

使用道具 举报

22

主题

74

帖子

39

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
125
发表于 2022-7-5 19:14:01 | 显示全部楼层
嗨Tharwat!
现在它工作得更好了,但是如果你有一堆pline,你需要在转换过程中转换成qleaders,你必须多次按下“回车”键才能禁用多行文字。为了在qleader automaticaly中禁用多行文字,我在您的程序中做了一些改进,但我需要您对这些改进进行修改。您可以在附件中看到代码:
多段线到引线-P2L。lsp
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 19:21:21 | 显示全部楼层
我的程序不是通用程序,它只是在当前qleader上进行您想要的设置,然后使用该程序。
 
但是,如果你想用同一个程序进行设置,这取决于你,我以前确实没有玩过Qleader设置的字典。
回复

使用道具 举报

22

主题

74

帖子

39

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
125
发表于 2022-7-5 19:23:11 | 显示全部楼层
谢谢你的合作塔尔瓦!祝您有个美好的一天!
回复

使用道具 举报

22

主题

74

帖子

39

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
125
发表于 2022-7-5 19:33:26 | 显示全部楼层
对其进行了一些修饰:(dubble命令和echo已禁用)
多段线到引线-P2L。lsp
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 19:36 , Processed in 0.501386 second(s), 72 queries .

© 2020-2025 乐筑天下

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