- 积分
- 7936
- 明经币
- 个
- 注册时间
- 2017-7-27
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
本帖最后由 13648893846 于 2019-1-24 09:51 编辑
- ;;[功能]选择集或者图元名曲线判断
- ;;[用法](LC:checkiscurve (ssget))(LC:checkiscurve (car(entsel)))
- ;;[作者]BY 老仓测绘上班记
- (defun LC:checkiscurve (en / PD) ;检查是否是曲线
- (cond
- ((= (type en) 'ENAME)
- (setq pd (and en (wcmatch (try-get-DXF en 0) "ELLIPSE,CIRCLE,ARC,RAY,*LINE")))
- (if pd en)
- )
- ((= (type en)'PICKSET)
- (setq en (LC:ss-sslist en))
- (setq en (vl-remove-if-not '(lambda(x) (and en (wcmatch (try-get-DXF x 0) "ELLIPSE,CIRCLE,ARC,RAY,*LINE"))) en))
- )
- )
- )
- (defun try-get-dxf (en code / ty)
- (setq ty(type en))
- (cond
- ((= 'list(type code))(mapcar '(lambda(x)(try-get-dxf en x))code));获取多个组码
- ((= ty 'ENAME)
- (cdr (assoc code (entget en '("*")))))
- ((= ty 'list)
- (mapcar '(lambda(x)(try-get-dxf x code)) en))
- ((= ty 'PICKSET)
- (try-get-dxf (try-ss2EnList en)code))
- )
- )
|
|