明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1224|回复: 2

这个在本站下的自动编号,为何不能用?

[复制链接]
发表于 2009-7-2 10:21:00 | 显示全部楼层 |阅读模式

这个在本站下的自动编号,为何不能用?提示; 错误: no function definition: XD-STRING_ZEROPAD,请高手帮看看,哪出错?

 (defun c:bh (/ oce1 n1 zn h1 sxh1 p1)
(vl-load-com)
(setq oce1 (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq ms (vla-get-modelspace
(vla-get-activedocument (vlax-get-acad-object))
)
)
(if qz
()
(setq qz "")
)
(if hz
()
(setq hz "")
)
(initget "c")
(setq nqz (getstring (strcat "\n请输入前缀相同的部分<" qz ">/c(为空): " )))
(cond
((= nqz "c") (setq qz ""))
(T (if (/= nqz "")(setq qz nqz)))
)
(setq nhz (getstring (strcat "\n请输入后缀相同的部分<" hz ">/c(为空): " )))
(cond
((= nhz "c") (setq hz ""))
(T (if (/= nhz "")(setq hz nhz)))
)
(if (not (setq n1 (getint "\n请输入起始顺序号 <1>: ")))
(setq n1 1)
)
(if (not (setq zn (getint "\n请输入增加或减少的序数 <+1>: ")))
(setq zn 1)
)
(if (not (setq h1 (getreal "\n请指定文字高度 <2.5>: ")))
(setq h1 2.5)
)
(setq sxh1 (strcat qz (xd-string_zeropad n1 3 "0" 0) hz))
(setq p1 (getpoint "\n请指定插入点: "))
(while (/= p1 nil)
(setq p1 (vlax-3d-point p1))
(setq txt (vla-addtext
ms
sxh1
p1
h1
)
)

(setq
n1 (+ n1 zn)
sxh1 (strcat qz (xd-string_zeropad n1 3 "0" 0) hz)
p1 (getpoint "\n请指定下一插入点: ")
)

)
(setvar "cmdecho" oce1)
(vlax-release-object ms)
(princ)
)

发表于 2009-7-2 11:48:00 | 显示全部楼层

到晓东去下一个晓东工具箱吧。

发表于 2009-7-2 12:03:00 | 显示全部楼层
;; Form www.xdcad.net eachy 2005.9.21                           
;|                                                              
;;功 能 用指定字符首位补位格式化数字                            
;;参 数 intVal:要补位的数。;                                   
;ad: 代表添加字符形成的数值的位数                            
;;sp 补位字符;                                                  
;;str 小数位数                                                  
;;示 例 (xd-stringZeroPad 123 4 "0" 0)                          
;;注 意 以上示例将返回“0123”。                                
;;_$ (XD-STRING_ZEROPAD 123 8 " " 2)                            
;;" 123.00"                                                     
;;_$ (XD-STRING_ZEROPAD 123 8 "A" 2)                            
;;"AA123.00"                                                    
;|;                                                             
(defun xd-string_zeropad (intval pad sp str / zeros)            
(setvar "dimzin" 0)                                             
(strcat                                                         
(apply 'strcat                                                  
(repeat (- pad (strlen (rtos intval 2 str)))                    
(setq zeros (cons sp zeros)) ; make list                        
)                                                               
)                                                               
(rtos intval 2 str)                                             
)                                                               
)                                                               
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-2 15:20 , Processed in 0.165840 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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