乐筑天下

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

[程序分享] 按數字繪線

[复制链接]

2

主题

48

帖子

58

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
QQ
发表于 2022-11-22 22:30:01 | 显示全部楼层
  1. (defun CLL (/ CMD1 LST OBJ SHORTC SS);C:后面是命令,你自己可以修改成自己需要的
  2.   ;;错误处理
  3.   (defun *error* (msg)
  4.     (vl-bt)
  5.     (if        *DOC*
  6.       (_EndUndo *DOC*)                                            ;块内图元增减
  7.     )
  8.     (while (not (equal (getvar "cmdnames") "")) (command nil))
  9.     (if        cmd1
  10.       (setvar "cmdecho" cmd1)
  11.     )
  12.     (if        SHORTC
  13.       (setvar "SHORTCUTMENU" SHORTC)
  14.     )
  15.     (setvar "nomutt" 0)
  16.     (princ "\n 出错啦!")
  17.     (princ)
  18.   )
  19.   (if (cadr (ssgetfirst))
  20.     (setq ss (ssget "_P" '((0 . "*TEXT"))))
  21.   )
  22.   (setq cmd1 (getvar "cmdecho"))
  23.   (setvar "cmdecho" 0)
  24.   (or *DOC*
  25.       (setq *DOC* (vla-get-ActiveDocument (vlax-get-acad-object)))
  26.   )
  27.   (_StartUndo *DOC*)
  28.   (cond
  29.     (ss nil)
  30.     (T
  31.      (princ "\n 选择文字连线")
  32.      (setvar "nomutt" 1)
  33.      (setq ss (ssget '((0 . "*TEXT"))))
  34.      (setvar "nomutt" 0)
  35.     )
  36.   )
  37.   (if ss
  38.     (progn
  39.       ;;如果文字对齐方法式不同,可以先预处理
  40.       (command "_.JUSTIFYTEXT" ss "" "BL");如果不处理,则去掉此句
  41.       (setq obj (vlax-ename->vla-object (ssname ss 0)))
  42.       (setq obj(vlax-get obj 'height));字高,用作排序误差
  43.       (setq lst (VL-CATCH-ALL-APPLY 'HH:ss:Sort1 (list ss "Yx" obj)));"Yx",是连线顺序,自己可以修改
  44.       (VL-CATCH-ALL-APPLY 'Make-LWPOLYLINE (list lst))
  45.     )
  46.   )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2024-11-22 01:53 , Processed in 0.246048 second(s), 54 queries .

© 2020-2024 乐筑天下

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