乐筑天下

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

[编程交流] 用文字(Er)放置引线

[复制链接]

10

主题

35

帖子

25

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-6 09:22:31 | 显示全部楼层 |阅读模式
任何身体帮助!!!用于放置带有特定层(如“错误”层)的文本的引线。!
回复

使用道具 举报

22

主题

326

帖子

185

银币

后起之秀

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

铜币
243
发表于 2022-7-6 09:43:06 | 显示全部楼层
我想你必须Lisp程序才能做到这一点。。。。
比如:
  1. (defun c:le (/  lst10 str ent)
  2. (setq   oldlay (getvar "clayer"))
  3. (grtext -1 "Free Lisp LE from Cad-viet @ketxu")
  4. ;(setvar "clayer" "KCVN-MANH") : Leader Layer,del ";" and change with your layer
  5. (defun loc (lst vl /) (setq lst (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) vl)) lst))))
  6. (command "_qleader" pause pause pause)
  7. (command \U+001B)
  8. (setq ent (entget (entlast)))
  9. (setq lst10 (loc ent 10))
  10. (setq str (getstring T "\n Input String : "))
  11. ;(setvar "clayer" "KCVN-TEXT") ; Dtext Layer, del ";" and change with your layer
  12. (setq mp (mapcar '+ (nth 1 lst10) (nth 2 lst10))
  13.      mp (mapcar '* mp '(0.5 0.5 0.5)))
  14. (wtxt_l str (mapcar '+ mp '(0.0 0.7 00))) ; 0.7 : space from text to Line Leader along Y axis
  15. (setvar "clayer" oldlay)
  16. )
  17. (defun wtxt_l(txt p / sty d h1 h2 wf h) ;;;Write txt on graphic screen at p, midle bottom
  18. (setq    sty (getvar "textstyle")   
  19. d (tblsearch "style" sty)   
  20. h1 (cdr (assoc 40 d))   
  21. h2 (cdr (assoc 42 d))   
  22. wf (cdr (assoc 41 d)))
  23. (if (> h1 0) (setq h h1) (setq h h2))
  24. (entmake (list (cons 0 "TEXT") (cons 7 sty) (cons 40 h) (cons 41 wf)(cons 72 1)(cons 11 p) (cons 1 txt) (cons 10 p))))
回复

使用道具 举报

10

主题

35

帖子

25

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-6 10:03:37 | 显示全部楼层
我想创建一个层“错误”,它应该(文字和引线)自动放置在该层上。如何纠正?有人帮忙吗?
 
(defun c:测试(/p1 p2 p3)
(setvar“clayer”“Error”)
(if(和(setq p1(getpoint“\n指定引线起点:”))
(setq p2(getpoint p1“\n指定下一点:”)
)
(程序
(grdraw p1 p2 7 1)
(setq p3(getpoint p2“\n指定下一点:”)
(重新绘制)
(初始直径)
(如果p3(程序
(命令“.leader”“\u non”p1“\u non”p2”\u non“p3”\u A“”\u M“”)
(命令“.leader”“\u non”p1“\u non”p2”\u A“”\u M“”)
)
)
)
(普林斯)
)
回复

使用道具 举报

22

主题

326

帖子

185

银币

后起之秀

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

铜币
243
发表于 2022-7-6 10:15:30 | 显示全部楼层
试试这个:
  1. (defun c:Test (/ p1 p2 p3)
  2. (setvar "clayer" "Error")
  3. (if (and (setq p1 (getpoint "\nSpecify leader Starting point: "))
  4. (setq p2 (getpoint p1 "\nSpecify Next point: "))
  5. )
  6. (progn
  7. (grdraw p1 p2 7 1)
  8. (setq p3 (getpoint p2 "\nSpecify Next point <Annotation>: "))
  9. (redraw)
  10. (initdia)
  11. (if p3
  12. (command "_.leader" "_non" p1 "_non" p2 "_non" p3 "_A" "" "_M")
  13. (command "_.leader" "_non" p1 "_non" p2 "_A" "" "_M")
  14. )
  15. )
  16. )
  17. (princ)
  18. )
回复

使用道具 举报

10

主题

35

帖子

25

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-6 10:28:07 | 显示全部楼层
非常感谢ketxu。。这里如何定义文字高度和文字颜色
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 03:06 , Processed in 0.667662 second(s), 62 queries .

© 2020-2025 乐筑天下

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