
- (defun ustr (bit msg def spflag / inp nval)
- (if (and def (/= def ""))
- (setq msg (strcat "\n" msg " <" def ">: ")
- inp (getstring msg spflag)
- inp (if (= inp "")
- def
- inp
- )
- )
- (progn
- (if (= " " (substr msg (strlen msg) 1))
- (setq msg (strcat "\n" (substr msg 1 (1- (strlen msg))) ": "))
- (setq msg (strcat "\n" msg ": "))
- )
- (if (= bit 1)
- (while (= "" (setq inp (getstring msg spflag)))
- (prompt "\nInvalid string.")
- )
- (setq inp (getstring msg spflag))
- )
- )
- )
- )
- (Defun Off_Aux (ddL pnt)
- (setq Hdd 0)
- (while (setq dd (car ddL))
- (setq Hdd (+ Hdd dd))
- (command "_.offset" Hdd ee Pnt "")
- (setq ddL (cdr ddL))
- )
- )
- (defun C:OFFSETS ()
- (setq a (uStr 0 "\nSpecify offset distance" *HddLst* T))
- (setq *HddLst* a)
- (setq ddLst (read (strcat "(" a ")")))
- (cond
- ;|
- ((setq ss (cadr (ssgetfirst)))
- (setq ee (ssname ss 0))
- )
- |;
- (T
- (prompt "\nSelect object to offset: ")
- (while (not (setq ee (entsel))))
- )
- )
- (setq Pt1 (getpoint "\nSpecify point on side to offset: "))
- (cond
- ((null pt1)
- (setq p5 (osnap (cadr ee) "Mid")
- pa (osnap (cadr ee) "end")
- vv (angle pa p5)
- pt1 (polar p5 (+ vv 1.5) 8)
- pt2 (polar p5 (- vv 1.5) 8)
- )
- )
- (T (setq pt2 nil))
- )
- (Off_Aux ddLst pt1)
- (if pt2
- (Off_Aux ddLst pt2)
- )
- (princ)
- )
|