偏移命令的改进

分类:lisp函数 | 标签: cad   lisp   偏移   改进  
2007-08-28 14:56 阅读(?)评论(0)

偏移命令的改进.LSP


;;;======================================================
;;;功能:批量偏移                                        
;;;日期:zml84 于 2007-08-24                             
;;;全局变量:PP-LST-DIST 偏移距离列表                    
(defun C:FF (/ S1 STR PT D)
    ;;对全局变量的处理
    (if	(and (= PP-LST-DIST NIL)
	     (> (getvar "OFFSETDIST") 0)
	)
	(setq PP-LST-DIST (list (getvar "OFFSETDIST")))
    )
    (if	PP-LST-DIST
	(progn
	    (princ PP-LST-DIST)
	    (setq STR "或 [上一次(L)] <L>")
	    (initget "L")
	)
	(setq STR "")
    )
    ;;对偏移距离列表的编辑
    (if	(setq D	(getdist (strcat "\n指定偏移距离"
				 STR
				 ": "
			 )
		)
	)
	(cond
	    ((= D "L")
	     ()
	    )
	    (t
	     (setq PP-LST-DIST '())
	     (while (progn
			(setq PP-LST-DIST (cons D PP-LST-DIST))
			(princ PP-LST-DIST)
			(setq D (getdist "\n指定偏移距离: "))
		    )
	     )
	    )
	)
    )
    ;;偏移操作
    (if	PP-LST-DIST
	(while (setq S1 (entsel "\n点取要偏移的对象或 <退出>: "))
	    (if	(setq PT (getpoint "\n指定点以确定偏移所在一侧: "))
		(foreach D PP-LST-DIST
		    (command "_.OFFSET" D S1 PT "")
		)
	    )
	)
    )
    (princ)
);_结束 defun
;;;======================================================
   阅读(?)评论(0)
 
表  情:
加载中...
 

请各位遵纪守法并注意语言文明