乐筑天下

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

[编程交流] 将直线更改为引线(&P)

[复制链接]

56

主题

346

帖子

68

银币

中流砥柱

Rank: 25

铜币
512
发表于 2022-7-5 23:24:59 | 显示全部楼层 |阅读模式
此代码可以将线更改为引线,但不支持PLINE,并且无法选择箭头的哪一侧
谁能帮我?
谢谢
 
  1. (defun c:tt ()
  2. (setvar "CMDECHO" 0)
  3. (if (setq ss (ssget '((0 . "LINE")))) (progn
  4. (setq i -1)
  5. (repeat (sslength ss)
  6. (setq ent (entget (ssname ss (setq i (1+ i))))
  7.       p1 (cdr(assoc 10 ent))
  8.       p2 (cdr(assoc 11 ent)))
  9. (command "_.LEADER" p1 p2 "" "" "N")
  10. )
  11. (command "_.ERASE" ss "")
  12. ))
  13. (setvar "CMDECHO" 1)
  14. (princ)
  15. )
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 23:46:26 | 显示全部楼层
选择只有两个坐标的单线或多段线,并告诉我。
 
  1. (defun c:test (/ s ld sn 1p 2p 3p 4p gr l)
  2. ;;    Tharwat 12. Mar. 2014    ;;
  3. (princ
  4.    "\n Select Single line or Polyline to two coordinates only "
  5. )
  6. (if (setq s (ssget "_+.:S:E:L"
  7.                     '((-4 . "<OR")
  8.                       (0 . "LINE")
  9.                       (-4 . "<AND")
  10.                       (0 . "LWPOLYLINE")
  11.                       (90 . 2)
  12.                       (70 . 0)
  13.                       (-4 . "AND>")
  14.                       (-4 . "OR>")
  15.                      )
  16.              )
  17.      )
  18.    (progn
  19.      (defun ld (a b)
  20.        (entmakex (list '(0 . "LEADER")
  21.                        '(100 . "AcDbEntity")
  22.                        '(100 . "AcDbLeader")
  23.                        (cons 10 a)
  24.                        (cons 10 b)
  25.                  )
  26.        )
  27.      )
  28.      (while (eq (car (setq gr (grread t 13 0))) 5)
  29.        (redraw)
  30.        (if
  31.          (< (distance
  32.               (setq
  33.                 1p (vlax-curve-getstartpoint (setq sn (ssname s 0)))
  34.               )
  35.               (cadr gr)
  36.             )
  37.             (distance (setq 2p (vlax-curve-getendpoint sn)) (cadr gr))
  38.          )
  39.           (progn
  40.             (grdraw 1p (cadr gr) 1 1)
  41.             (if l
  42.               (entdel l)
  43.             )
  44.             (setq l (ld 1p 2p))
  45.           )
  46.           (progn
  47.             (grdraw 2p (cadr gr) 1 1)
  48.             (if l
  49.               (entdel l)
  50.             )
  51.             (setq l (ld 2p 1p))
  52.           )
  53.        )
  54.      )
  55.      (if (eq (car gr) 3)
  56.        (entdel sn)
  57.      )
  58.    )
  59. )
  60. (redraw)
  61. (princ)
  62. )
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 00:03:48 | 显示全部楼层
有关更多详细信息
回复

使用道具 举报

56

主题

346

帖子

68

银币

中流砥柱

Rank: 25

铜币
512
发表于 2022-7-6 00:23:19 | 显示全部楼层
 
哦很好,代码很好。Tharwat,非常感谢!
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 00:27:33 | 显示全部楼层
 
太好了,不客气。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 00:04 , Processed in 0.436539 second(s), 73 queries .

© 2020-2025 乐筑天下

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