明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 439|回复: 2

[提问] 各位老大帮忙改下这个程序,数字除以1000保留三位小数后面是0的话忽略

[复制链接]
发表于 2019-1-13 10:31 | 显示全部楼层 |阅读模式
(defun c:SZCQ (/ dxf lst lst2 name num ss)
        (setq ss (ssget '((0 . "MTEXT,TEXT"))))
        (if (/= ss nil)
                (repeat (setq num (sslength ss))
                        (setq name (ssname ss (setq num (1- num))))
                        (setq lst (StrType (cdr (assoc 1 (setq dxf (entget name))))))
                        (setq lst2 "")
                        (foreach element lst
                                (if (/= (atof element) 0.0)
                                        (setq lst2 (strcat lst2 (rtos (/ (atof element) 1000.0))))
                                        (setq lst2 (strcat lst2 element))
                                )
                        )
                        (entmod (subst (cons 1 lst2) (assoc 1 dxf) dxf))
                )
        )
        (princ)
)


;;说明:字符串以数字分隔
;;参数:str:字符串
;;返回:分隔后的字符串
(defun str-cut (str / allst fst lst-number lst-str str->list)
  (setq str->list (vl-string->list str))
  (while str->list
    (setq fst (car str->list))
    (if (<= 46 fst 57)
      (progn
        (setq lst-number (cons fst lst-number))
        (if lst-str
          (setq Allst (cons (reverse lst-str) Allst))
        )
        (setq lst-str nil)
      )
      (progn
        (setq lst-str (cons fst lst-str))
        (if lst-number
          (setq Allst (cons (reverse lst-number) Allst))
        )
        (setq lst-number nil)
      )
    )
    (setq str->list (cdr str->list))
  )
  (if (not str->list)
    (if lst-str
      (setq Allst (cons (reverse lst-str) Allst))
      (setq Allst (cons (reverse lst-number) Allst))
    )
  )
  (mapcar'vl-list->string (reverse Allst))
)
;(str-cut "AA1.2bc2.5Cd,+-.25")
;("AA" "1.2" "bc" "2.5" "Cd,+-" ".25")

点评

StrType → str-cut  发表于 2019-1-13 19:27
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2019-1-13 19:26 | 显示全部楼层
(setvar "DIMZIN" 8)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-29 07:01 , Processed in 0.280239 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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