明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: ssdsfg

[经验] CAD开发:重新自动排列所选文字-ret

[复制链接]
发表于 2019-12-28 11:48:09 | 显示全部楼层
兄弟插件呢???
发表于 2019-12-28 12:22:28 | 显示全部楼层
本帖最后由 x_s_s_1 于 2019-12-29 21:01 编辑

插件在这:l
  1. (defun c:test1
  2.        (/ LM:GetXWithDefault getdxf trimstring ss m n i lst str)
  3.   (defun LM:GetXWithDefault (_function   _prompt     _symbol
  4.            _default   _initget    _args
  5.            /     _toString
  6.           )
  7.     (setq _toString
  8.      (lambda (x)
  9.        (cond
  10.          ((eq getangle _function) (angtos x))
  11.          ((eq 'REAL (type x)) (rtos x))
  12.          ((eq 'INT (type x)) (itoa x))
  13.          ((vl-princ-to-string x))
  14.        )
  15.      )
  16.     )
  17.     (if  _initget
  18.       (apply 'initget _initget)
  19.     )
  20.     (set _symbol
  21.    (
  22.     (lambda (input)
  23.       (if  (or (not input) (eq "" input))
  24.         (eval _symbol)
  25.         input
  26.       )
  27.     )
  28.      (apply '_function
  29.       (append _args
  30.         (list
  31.           (strcat _prompt
  32.             "<"
  33.             (_toString
  34.               (set _symbol
  35.              (cond
  36.                ((eval _symbol))
  37.                (_default)
  38.              )
  39.               )
  40.             )
  41.             "> : "
  42.           )
  43.         )
  44.       )
  45.      )
  46.    )
  47.     )
  48.   )
  49.   (defun getdxf (dxf en) (cdr (assoc dxf (entget en))))
  50.   (defun trimstring (str / left right)
  51.     (setq left (vl-string-right-trim "1234567890" str))
  52.     (if  (= left "")
  53.       (setq right str)
  54.       (setq right (vl-string-left-trim left str))
  55.     )
  56.     (list left right)
  57.   )
  58.   (setq ss (ssget '((0 . "text"))))
  59.   (repeat (setq i (sslength ss))
  60.     (setq en  (ssname ss (setq i (1- i)))
  61.     lst (cons en lst)
  62.     )
  63.   )
  64.   (setq  lst
  65.    (vl-sort
  66.      lst
  67.      '(lambda (t1 t2)
  68.         (< (atoi (cadr (trimstring (getdxf 1 t1))))
  69.      (atoi (cadr (trimstring (getdxf 1 t2))))
  70.         )
  71.       )
  72.    )
  73.   )
  74.   (setq n (LM:GetXWithDefault getint "\n输入起始值" '**n** 1 nil nil))
  75.   (setq m (LM:GetXWithDefault getint "\n输入步长" '**m** 1 nil nil))
  76.   (foreach en lst
  77.     (setq ent (entget en)
  78.     str (car (trimstring (cdr (assoc 1 ent))))
  79.     ent (subst (cons 1 (strcat str (itoa n))) (assoc 1 ent) ent)
  80.     n   (+ m n)
  81.     )
  82.     (entmod ent)
  83.     (entupd en)
  84.   )
  85. )





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

点评

非常棒!!  发表于 2019-12-30 18:00
回复 支持 1 反对 0

使用道具 举报

发表于 2019-12-29 00:01:20 | 显示全部楼层

测试提示 输入的字符串有缺陷
发表于 2019-12-29 08:57:52 来自手机 | 显示全部楼层
网站的问题,代码含有特殊符号,被吃掉了,换浏览器或者自己找出哪里缺少了,补上
发表于 2019-12-29 13:55:49 | 显示全部楼层

兄弟插件呢???
发表于 2019-12-29 14:52:40 | 显示全部楼层

谢谢! x_s_s_1 分享程序 AUTOCAD 2012 测试 O.K.
发表于 2019-12-29 15:19:02 | 显示全部楼层
ssdsfg 发表于 2019-12-28 10:59
有点小问题,正在调试...谢谢大家关注!

是已經調試好了才收幣嗎?

收幣的內容是原碼還是?
 楼主| 发表于 2019-12-29 16:05:25 | 显示全部楼层
本帖最后由 ssdsfg 于 2019-12-29 16:07 编辑
baoxiaozhong 发表于 2019-12-29 15:19
是已經調試好了才收幣嗎?

收幣的內容是原碼還是?

调试好了。不是LISP原码,是编译过的.vlx格式,可以正常使用!
 楼主| 发表于 2019-12-29 16:25:31 | 显示全部楼层
本帖最后由 ssdsfg 于 2019-12-29 17:35 编辑
有相同之处,但也有不同。大家各取所需
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-6 09:42 , Processed in 0.180710 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表