本人使用了,提取文字的坐标不是桩中心坐标。适当做了修改、 各位注意,这个修改是针对我所在的工程,修改了0.3333;代码如下, 如要使用,请核对坐标;- ;;;;只能用于洋浦油库工程,因为X修正了0.33333
- (defun c:TQWZZB()
- (princ "\n选择所需输出的点(point):")
- (setq ss (ssget ));;选取坐标点
- (setq n (sslength ss ));计算坐标点数量
- (setq ff (open (getfiled "文件保存为" "f:/" "dat" 1) "w"));保存路径
- (setq i 0)
- (repeat n
- (setq spt (ssname ss i ))
- (setq ept (entget spt))
- (if (= (cdr (assoc 0 ept)) "TEXT")
- (progn
- (setq lxyz (cdr (assoc 10 ept)))
- ;(setq sx (rtos (nth 1 lxyz)));将坐标值实数转换成字符
- (setq sx1 (- (cadr lxyz) 0.3333)) (请注意坐标值根据本工程修正了0.3333)如果想别的用途,将上句引号删除,strcat之后 sx11改为sx
- (setq sX11 (rtos sx1 2 3))
- (setq sy (rtos (nth 0 lxyz)2 3))
- (setq sz (rtos (nth 2 lxyz)2 3))
- (setq i1 (+ i 1));计算点序号
- (setq sn (rtos i1 2 0));将序号实数转换成字符
- (setq ent (entget (ssname ss i)))
- (setq typeA (cdr (assoc 1 ent)))
- (setq sxyz (strcat typeA"," sn "," sy "," sx11 "," sz))
- (write-line sxyz ff)
- )
- )
- (setq i (+ i 1))
- );repeat
- )
- (prompt "*只适合TEXT点 << 命令:TQWZZB >> *输出格式(点号,, Y,X,Z)**")
- (prin1)
|