1 ;;;编程语言:VisualLisp2
3 ;;;name:BF-ss&Index->Obj4 ;;;desc:选择集ss中第index个图元的VLA对象名5 ;;;arg:6 ;;;ss:选择集7 ;;;index:自然数,索引,从0开始8 ;;;return:9 ;;;当index=(sslength ss)或index<0时返回nil11 ;;;example:(BF-ss&Index->Obj (ssget) 0)12 (defun BF-ss&Index->Obj(ss index)13 (cond14 ((/= (type ss) 'PICKSET);非选择集
15 nil16 )17 ((< (sslength ss) 1);空选择集18 nil19 )20 ((/= (type index) 'INT);非整数
21 nil22 )23 ((< index 0);负整数24 nil25 )26 ((>=index (sslength ss));下标越界27 nil28 )29 (T30 (vlax-ename->vla-object(ssname ss index))31 )32 )33 )34
35 ;;;name:BF-numOfSignificantDigitsAfterDecimalPoint36 ;;;desc:小数点后有效(非零)数字的位数37 ;;;arg:rNum:要检查小数点后有效(非零)数字位数的数字38 ;;;return:rNum为数字时返回有效小数位数,否则返回nil39 ;;;example:(BF-numOfSignificantDigitsAfterDecimalPoint 0.123) 返回 3
40 (defun BF-numOfSignificantDigitsAfterDecimalPoint(rNum /str pos nRetVal)41 (cond42 ((numberp rNum)43 (setq str (rtos rNu