home *** CD-ROM | disk | FTP | other *** search
- (vmon)
-
- (defun toperr(s)
- (if (/= s "Function cancelled")
- (princ (strcat "\nError:" s))
- )
- (setvar "CMDECHO" 1)
- (setvar "HIGHLIGHT" 1)
- (setq *error* oer)
- (princ)
- )
-
- (defun C:LTOPL(/ x oer ss ssl n p1 p2 p3 p4 sn en ename entn entn0 entl ss1 snn enn lw area1 area2)
- (setvar "CMDECHO" 0)
- (setvar "HIGHLIGHT" 0)
- (setq oer *error* *error* toperr)
- (princ "╒█╧▀┐φ╢╚ <")
- (princ (setq lw (/ (getvar "TRACEWID") bl)))
- (setq lw (if (null (setq x (getreal ">:"))) lw x))
- (setvar "TRACEWID" (* lw bl))
- (setq ss (ssget))
- (setq ss1 (ssadd))
- (if ss (progn (setq ssl (sslength ss) n 0)
- (setq entl (entlast))
- (repeat ssl
- (setq sn (ssname ss n) en (entget sn))
- (if en (progn
- (if (and (member (substr (cdr (assoc 8 en)) 1 5) '("PWALL" "PWIND")) (member (setq ename (cdr (assoc 0 en))) '("LINE" "ARC")))
- (progn
- (if (= "LINE" ename) (progn
- (command "pedit" sn "y" "")
- (setq entl (entlast))
- (command "pedit" entl "j" ss "" "")
- (if (setq entn (entlast)) (setq entl entn))
- (ltoplsub)
- )
- (progn
- (setq ss1 (ssadd sn ss1))
- ))
- )
- (progn
- (if (and (member (substr (cdr (assoc 8 en)) 1 5) '("PWALL" "PWIND")) (= "POLYLINE" (cdr (assoc 0 en))))
- (progn
- (setq entl sn)
- (ltoplsub)
- ))
- )
- )
- ) ;endprogn en
- );endif
- (setq n (1+ n))
- )
- ))
- (if ss1 (progn
- (setq entl (entlast))
- (setq ssl (sslength ss1) n 0)
- (repeat ssl
- (setq sn (ssname ss1 n) en (entget sn))
- (if en (progn
- (command "pedit" sn "y" "")
- (setq entl (entlast))
- (command "pedit" entl "j" ss1 "" "")
- (if (setq entn (entlast)) (setq entl entn))
- (atoplsub)
- )
- )
- (setq n (1+ n))
- )
- ))
- (setvar "CMDECHO" 1)
- (setvar "HIGHLIGHT" 1)
- (setq *error* oer)
- (princ)
- )
-
- (defun ltoplsub()
- (setq enn (entget (setq snn (entnext entl))) p1 (cdr (assoc 10 enn)))
- (setq p2 (cdr (assoc 10 (entget (entnext snn)))))
- (setq p3 (polar p1 (+ (angle p1 p2) 1.57079) 50))
- (setq p4 (polar p1 (- (angle p1 p2) 1.57079) 50))
- (command "offset" (/ (* lw bl) 2.0) (list entl p1) (list (car p3) (cadr p3)) "")
- (setq entn (entlast))
- (command "area" "e" entn)
- (setq area1 (getvar "area"))
- (command "offset" (/ (* lw bl) 2.0) (list entl p1) (list (car p4) (cadr p4)) "")
- (setq entn0 (entlast))
- (command "area" "e" entn0)
- (setq area2 (getvar "area"))
- (if (not (or (equal area1 0 0.1) (equal area2 0 0.1)))
- (progn
- (if (< area2 area1) (progn (entdel entn) (setq entn entn0)) (entdel entn0))
- (command "pedit" entn "w" (* (- lw 0.1) bl) "")
- (command "change" (entlast) "" "p" "la" "pwallw" "")
- ))
- )
-
- (defun atoplsub()
- (setq enn (entget (setq snn (entnext entl))) p1 (cdr (assoc 10 enn)))
- (redraw snn 3)
- (setq p3 (getpoint p1 "\n╚╖╢¿╗í╧▀╡─╝╙┐φ╖╜╧≥:"))
- (command "offset" (/ (* lw bl) 2.0) (list entl p1) (list (car p3) (cadr p3)) "")
- (setq entn (entlast))
- (command "erase" entl "")
- (command "pedit" entn "w" (* (- lw 0.1) bl) "")
- (command "change" (entlast) "" "p" "la" "pwallw" "")
- )