;;;Apply word wrap to a text string (makes multiple lines from single line). ;;;Uses ABRKSTR.LSP, UINT.LSP. ;;; ;;;Added L2 L3 L4 macros for quick multiline breaks. ;;; ;;; Author: ;;; Henry C. Francis ;;; 425 N. Ashe Street ;;; Southern Pines, NC 28387 ;;; ;;; http://www.paracadd.com ;;; All rights reserved. ;;; ;;; Created: 10-4-98 ;;; Edited: 1-9-2006 ;;; ;;;******************************************************************** (DEFUN C:ABSTR (/ typ_t1 typ_t2 typ_t3 typ_t4 typ_t5 typ_t6 typ_t7 typ_t8 typ_t9 typ_t10 typ_t11 count ) (COMMAND nil nil nil) (COMMAND ".UNDO" "M") (SETQ text_ent NIL) (SETQ count 1) (IF (EQ (TYPE wrap_it)'INT) NIL (SETQ wrap_it NIL) ) (WHILE (EVAL (READ (STRCAT "typ_t" (ITOA COUNT)))) (SET (READ (STRCAT "typ_t" (ITOA COUNT))) NIL) (SETQ count (1+ count)) ) ;_ end of WHILE (IF uint NIL (LOAD "uint" "File UINT.LSP not found!") ) (IF prewrap_it (SETQ wrap_it prewrap_it count 2 ) (SETQ wrap_it (uint 1 "Match L2 L3 L4 L5 L6 L7 L8 L9 L10" "Emter wrap length, No. of lines or atch existing text length" (IF wrap_it wrap_it 24 ) ;_ end of if ) ;_ end of UINT count 2 ) ;_ end of SETQ ) (COND ((EQ wrap_it "Match") (PROGN (WHILE (OR (NOT(SETQ MATCH_TEXT (ENTSEL "\nSelect text to match. ")))(/=(CDR(ASSOC 0 (ENTGET(CAR MATCH_TEXT))))"TEXT"))) (SETQ wrap_it (STRLEN (CDR(ASSOC 1 (ENTGET(CAR MATCH_TEXT)))))) )) ) (WHILE (AND (NOT (SETQ text_sel (NENTSELP "\nSelect text to break: "))) (IF(EQ(TYPE(CAR text_sel))'ENAME) (NOT (SETQ text_ent (ENTGET (CAR text_sel)))) (IF(EQ(TYPE(CAR text_sel))'ENAME) NIL T ) ) (NOT (EQ "TEXT" (CDR (ASSOC 0 text_ent) ) ;_ end of assoc ) ;_ end of cdr ) ;_ end of eq ) ;_ end of not ) ;_ end of while (IF(AND text_sel(EQ(TYPE(CAR text_sel))'ENAME)) (SETQ text_ent (ENTGET (CAR text_sel))) ) (SETQ tn_newitem (CDR(ASSOC 1 text_ent))) (SETQ word_list (DOS_STRTOKENS tn_newitem " ")) (IF ;If wrap_it is a stacked note line count from L2 to L10 (AND WRAP_IT (EQ (TYPE WRAP_IT) 'STR) (WCMATCH WRAP_IT "L#*")) (PROGN (SETQ wrap_int (ATOI (SUBSTR WRAP_IT 2))) (IF fix_pview_lst NIL (LOAD "tnote" "\nRequired file TNOTE.LSP could not be loaded! Make sure it exists and can be found by AutoCAD. Download for free from www.paracadd.com. ")) (COND ((AND wrap_int (<=(LENGTH word_list)wrap_int)) (SETQ pview_lst word_list)) ((AND wrap_int fix_pview_lst) (fix_pview_lst)) ) (SETQ symb_cnt 0) (WHILE (< symb_cnt (LENGTH pview_lst)) (SET (READ (STRCAT "typ_t" (ITOA (1+ symb_cnt)))) (NTH symb_cnt pview_lst) ) (SETQ symb_cnt (1+ symb_cnt)) ) ) (PROGN ;If wrap_it is an integer column location for wrapping strings (SETQ wrap_int NIL) (IF abrkstr NIL (LOAD "abrkstr" "\nFile ABRKSTR.LSP not loaded! ")) (abrkstr (CDR (ASSOC 1 text_ent)) wrap_it) ) ) (SETQ newt_1 (SUBST (CONS 1 typ_t1) (ASSOC 1 text_ent) text_ent)) (ENTMOD newt_1) (WHILE (EVAL (READ (STRCAT "typ_t" (ITOA COUNT)))) (PROGN (SET (READ (STRCAT "newt_" (ITOA COUNT))) (SUBST (CONS (IF (OR (/= (CDR (ASSOC 72 TEXT_ENT)) 0) (/= (CDR (ASSOC 73 TEXT_ENT)) 0) ) ;_ end of AND 11 10 ) ;_ end of IF (POLAR (CDR (ASSOC (IF (OR (/= (CDR (ASSOC 72 TEXT_ENT)) 0) (/= (CDR (ASSOC 73 TEXT_ENT)) 0) ) ;_ end of AND 11 10 ) ;_ end of IF (EVAL (READ (STRCAT "newt_" (ITOA (1- COUNT))))) ) ;_ end of ASSOC ) ;_ end of CDR (+ (CDR (ASSOC 50 text_ent)) (* PI 1.5)) (* (CDR (ASSOC 40 text_ent)) 1.5) ) ;_ end of polar ) ;_ end of cons (ASSOC (IF (OR (/= (CDR (ASSOC 72 TEXT_ENT)) 0) (/= (CDR (ASSOC 73 TEXT_ENT)) 0) ) ;_ end of AND 11 10 ) ;_ end of IF (EVAL (READ (STRCAT "newt_" (ITOA (1- COUNT))))) ) ;_ end of ASSOC (EVAL (READ (STRCAT "newt_" (ITOA (1- COUNT))))) ) ;_ end of subst ) ;_ end of set (ENTMAKE (CDR (EVAL (READ (STRCAT "newt_" (ITOA COUNT)))))) (SETQ cur_text (SUBST (CONS 1 (EVAL (READ (STRCAT "typ_t" (ITOA count))))) (ASSOC 1 (ENTGET (ENTLAST))) (ENTGET (ENTLAST)) ) ;_ end of SUBST ) ;_ end of SETQ (ENTMOD cur_text) (SETQ COUNT (1+ COUNT)) ) ;_ end of progn ) ;_ end of WHILE (SETQ COUNT 1) (WHILE (EVAL (READ (STRCAT "newt_" (ITOA COUNT)))) (SET (READ (STRCAT "newt_" (ITOA COUNT))) NIL) (SETQ count (1+ count)) ) ;_ end of WHILE (SETQ count 1) (WHILE (EVAL (READ (STRCAT "typ_t" (ITOA COUNT)))) (SET (READ (STRCAT "typ_t" (ITOA COUNT))) NIL) (SETQ count (1+ count)) ) ;_ end of WHILE (PRINC) ) ;_ end of DEFUN ;;;******************************************************************** (defun c:l2 ( / prewrap_it) (setq prewrap_it "L2") (c:abstr) (princ) ) (defun c:l3 ( / prewrap_it) (setq prewrap_it "L3") (c:abstr) (princ) ) (defun c:l4 ( / prewrap_it) (setq prewrap_it "L4") (c:abstr) (princ) ) (defun c:l5 ( / prewrap_it) (setq prewrap_it "L5") (c:abstr) (princ) ) (defun c:l6 ( / prewrap_it) (setq prewrap_it "L6") (c:abstr) (princ) ) (defun c:l7 ( / prewrap_it) (setq prewrap_it "L7") (c:abstr) (princ) ) (defun c:l8 ( / prewrap_it) (setq prewrap_it "L8") (c:abstr) (princ) ) (defun c:l9 ( / prewrap_it) (setq prewrap_it "L9") (c:abstr) (princ) ) (defun c:l10 ( / prewrap_it) (setq prewrap_it "L10") (c:abstr) (princ) ) ;|«Visual LISP© Format Options» (72 2 40 2 T "end of " 60 9 2 0 0 nil T nil T) ;*** DO NOT add text below the comment! ***|;