- (defun c:px2 ( / cmd ent enx ped pw1 )
- (setvar 'errno 0)
- (while (/= 52 (getvar 'errno))
- (setvar 'errno 0)
- (setq ent (car (entsel "\nSelect polyline <exit>: ")))
- (cond
- ( (= 7 (getvar 'errno))
- (prompt "\nMissed, try again.")
- )
- ( (null ent)
- (prompt "\nExit.")
- )
- ( (/= "LWPOLYLINE" (cdr (assoc 0 (setq enx (entget ent)))))
- (prompt "\nSelected object is not an LWPolyline.")
- )
- ( (= 4 (logand 4 (cdr (assoc 70 (tblsearch "layer" (cdr (assoc 8 enx)))))))
- (prompt "\nSelected polyline is on a locked layer.")
- )
- ( (setq cmd (getvar 'cmdecho)
- ped (getvar 'peditaccept)
- )
- (setvar 'cmdecho 0)
- (setvar 'peditaccept 1)
- [size="2"] [b][color="red"] (if (= (cdr (assoc 43 enx)) nil)
- (if (= (cdr (assoc 41 enx)) (cdr (assoc 40 enx)))
- (setq pw1 (cdr (assoc 40 enx)))
- (initget "Start End (cdr (assoc 40 enx)) (cdr (assoc 41 enx)))
- (setq pw1 (getkword "\nEnter an Option (Start/End): "))
- )
- (setq pw1 (cdr (assoc 43 enx)))
- )
- (command
- "_.explode" ent
- "_.pedit" "_m" "_p" "" "_w" pw1 ""
- )[/color][/b][/size]
- (setvar 'peditaccept ped)
- (setvar 'cmdecho cmd)
- )
- )
- )
- (princ)
- )
我尝试了我的穴居人编码,但不可能在“IF”语句中包含“IF”语句吗?还是我把“(=”语句写错了? |