马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
 - ;|
- 命令:plen
- 功能:根据图层统计选择线长的长度
-
- 要求全局变量bl存在,即出图比例。
-
- 配合XDRX_API使用
- |;
- (defun redraw_le ()
- (foreach e le_drw (redraw e 4))
- (foreach e le_del (entdel e))
- (setq le_drw nil
- le_del nil
- )
- )
- (defun c:plen (/ e ss ss1 leng pt ll)
- (xdrx_begin "tmp" "3" '("cmdecho" "0"))
- (xdrx_ucson)
- (setq e (car (entsel "\n请点取要统计多义线长度图层上的实体<退出>:")))
- (princ "\n再拾取选择范围<全选>: ")
- (setq ed (entget e)
- ll (list '(0 . "Line,*polyline,arc,spline,Ellipse,circle")
- (assoc 8 ed)
- )
- ss (ssget "x" ll)
- )
- (xdrx_setsstodb ss 0)
- (while (setq e (xdrx_getentdata 0))
- (redraw e 3)
- (setq le_drw (cons e le_drw))
- )
- (setq ss1 (ssget ll)
- ss (if ss1
- ss1
- ss
- )
- )
- (redraw_le)
- (setq leng 0.0)
- (xdrx_setsstodb ss 0)
- (while (setq e (xdrx_getentdata 0))
- (setq leng (+ (cadr (xdrx_getarea e)) leng))
- )
- (initget 1)
- (setq pt (getpoint "\n请点取标注位置:"))
- (if (not
- (setq
- hi (getreal
- (strcat "\n请输入字高<" (rtos (* 3 bl) 2 0) ">:")
- )
- )
- )
- (setq hi (* 3 bl))
- )
- (setvar "osmode" 0)
- (command "text"
- pt
- hi
- ""
- (strcat (xdrx_getentdxf 8)
- " 线长: "
- (rtos (/ leng 1000.0) 2 2)
- )
- )
- (xdrx_ucsoff)
- (xdrx_end)
- (princ)
- )
|