本帖最后由 luowy 于 2014-8-8 11:49 编辑
好像是,ssgetfirst,是将当前选择的实体加入选择集。注意返回值,第一个是肯定返回nil,第二个才是选择集 - ;---------- 将所选对象设置为def层 线型不变
- (defun c:def()
- (PRINC "\n---将所选对象设置为defpoints层,属性随层")(PRINC)
- (command "layer" "m" "defpoints" "c" "magenta" "" "set" "0" "c" "7" "" "")
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;这里增加
- (SETQ SS (cadr SSGETFIRST ));;好像是cadr取得列表第二个元素
- ;;这里ss就是当前选择的部分,之后就好办咯,略去了
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- (while(setq a (ssget":s"))
- (setvar "cmdecho" 0)
- (command "change" a "" "p" "c" "bylayer" "la" "defpoints" "lw" "bylayer" "")
- )
- (command "clayer" "0")
- (princ "\n所选地方-->设置所选对象设置为defpoints层,属性随层!")
- (princ)
- )
|