乐筑天下

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

[程序分享] 同名圖塊連線

[复制链接]

0

主题

35

帖子

74

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-8-22 09:22:57 | 显示全部楼层
终于找到这个资源了,激动人心
回复

使用道具 举报

2

主题

48

帖子

58

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
QQ
发表于 2022-11-22 21:30:57 | 显示全部楼层
感谢分享,好人一生平安
回复

使用道具 举报

2

主题

48

帖子

58

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
QQ
发表于 2022-11-22 21:48:52 | 显示全部楼层
  1. (setq *ent2obj*     vlax-Ename->Vla-Object)
  2. (defun c:fbb()
  3.   (if (setq ss (ssget ":e:s" '((0 . "INSERT")))) ;选择类型,创建选择集
  4.                 (progn
  5.                         (setq ttent (ssname ss 0))
  6.                         (command "layer" "m" "f_temp_文字连线" "c" "6" "" "")
  7.                         (setq str (cdr (assoc 2 (entget ttent))))
  8.                         (setq po (getmidpo (entbox ttent)))
  9.                         (setq ss (ssget "x" (list '(0 . "insert")(cons 2 str))))
  10.                         (if (< 1 (sslength ss))
  11.                                 (progn
  12.                                         (setq oldliness (ssget "x" '((0 . "line")(8 . "f_temp_文字连线"))))
  13.                                         (if oldliness (command "erase" oldliness ""))
  14.                                        
  15.                                         (setq ss (vl-remove ttent (ss2list ss)))
  16.                                         (foreach x ss
  17.                                                 (setq px (getmidpo (entbox x)))
  18.                                                 (command "line" "non" po "non" px "")
  19.                                         )
  20.                                 )
  21.                                 (command "change" ttent "" "p" "co" "2" "")
  22.                         )
  23.                 )
  24.         )
  25.         (princ)
  26. )
  27. ;;单个物体的最小(正交)包围框
  28. (defun entbox ( ent / ll ur )
  29.         (vla-getboundingbox (*ent2obj* ent) 'll 'ur)
  30.         (mapcar 'vlax-safearray->list (list ll ur))
  31. )
  32. ;;求两点中点
  33. (defun getmidpo( pts / P1 P2 X Y )
  34.         (setq p1 (car pts) p2 (cadr pts))
  35.         (if (= (length p1) (length p2))
  36.                 nil
  37.                 (setq p1 (list (car p1) (cadr p1))
  38.                         p2 (list (car p2) (cadr p2))
  39.                 )
  40.         )
  41.         (mapcar '(lambda (X Y) (/ (+ X Y) 2.0)) P1 P2)
  42. )
  43. ;;选择集转为图元列表
  44. (defun ss2list( ss )
  45.         (if (= 'PICKSET (type ss))
  46.                 (reverse (vl-remove-if-not '(lambda (x) (= (type x) 'ENAME)) (mapcar 'cadr (ssnamex ss))))
  47.         )
  48. )
回复

使用道具 举报

0

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
4
发表于 2024-5-12 21:37:05 | 显示全部楼层
我们支持楼主,希望楼主继续分享
回复

使用道具 举报

1

主题

9

帖子

4

银币

初来乍到

Rank: 1

铜币
13
发表于 2024-6-3 11:45:01 | 显示全部楼层
非常感谢啊,正好用得到。
A.webp



回复

使用道具 举报

0

主题

3

帖子

3

银币

初来乍到

Rank: 1

铜币
3
发表于 2024-7-19 09:13:17 | 显示全部楼层
我们支持楼主,希望楼主继续分享
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2024-11-21 21:33 , Processed in 0.235655 second(s), 66 queries .

© 2020-2024 乐筑天下

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