|
本帖最后由 zhb236623 于 2011-9-24 18:00 编辑
- (defun c:bcg () ;;注记边长关
- (vl-load-com)
- (setvar "pickstyle" 0)
- (if (= (tblobjname "layer" "zhb") nil)
- (progn
- (princ "图层zhb不存在,新建图层zhb完成,导入数据将存放在zhb层")
- (command ".layer" "n" "zhb" "s" "zhb" "")
-
- )
- (progn
- (command "layer" "s" "zhb" "")
- (princ "zhb图层已存在,导入数据将存放在zhb层")
- )
- )
- (setq new_ss (ssadd)) ;;建立空选择集
- (setq appname "south")
- (regapp (setq rname appname))
- (setq ss (ssget '((0 . "text")(8 . "JZD"))))
- (setq i 0)
- (repeat (sslength ss)
- (setq entname (ssname ss i))
- (setq xxdata (entget entname (list rname)))
- (setq south_sx1 (cdr (assoc -3 xxdata)))
- (setq bcbz (cdr (assoc 1000 (cdr (car south_sx1))))) ;;获取图元扩展属性"CASS",bcbz边长标注
- (if (= bcbz (itoa 302010))
- (progn
-
- (ssadd entname new_ss) ;;如果是注记边长则把此图元加入new_ss 选择集
- )
-
- (progn
- (princ) ;;如果不是注记边长则不操作,下一图元继续判断
-
- )
- );end if
- (setq i (1+ i))
- );EDN Repeat
- (command "change" new_ss "" "p" "la" "zhb" "") ;;把选择集"注记边长"换层
- (princ "宗地面积,地类,地号不换层")
- (command "layer" "s" "JZD" "") ;;把JZD置为当前层,否则zhb层为当前层不能关闭
- (command "layer" "off" "zhb" "") ;;关闭zhb层,则边长注记不显示了,达到要求.
- )
复制代码 楼上的说得很对.这个忘记提醒了...........
可以在LISP中加入这句就可以了.
(setvar "pickstyle" 0) |
|