; CKEXT.LSP [Article Figure 4] (c)1990, Barry Bowen ; ------------------------ CKEXT --------------------------- ; VARIABLES: ; C = Line start point ; D = Line End point ; E = Intersection of the four points ; ELIST = Line entity database ; ---------------------------------------------------------- (defun CKEXT (X1 X2 X3 / C D E) (setq ELIST (entget (entlast)) C (E4 10 ELIST) D (E4 11 ELIST)) E (inters C D X1 X2 X3)) (if (/= E nil) (progn (command "erase" (entlast) "" "line" C E "") ) ) ;End If & Progn ) ; ----------------------- JSEC ----------------------------- ; VARIABLES: ; DIST = Joist depth minus the chord thickness ; PT1 = Top of joist location ; PT2 = Bottom chord location ; PT3 = Insertion point for Web block ; SL1 = Selection-set for creating joist block ; ---------------------------------------------------------- (defun JSEC (/ DIST PT1 PT2 PT3) (setq PT1 (getpoint "\nTop of Joist: ") PT2 (polar PT1 (D270) DEPTH)) (if (/= (tblsearch "block" BNAME) nil) (command "insert" BNAME PT1 1 1 0) (progn (command "insert" "joistsec" PT1 "" "" "") (setq SL1 (ssadd (entlast))) (command "insert" "" PT2 "1" "-1" "") (SSET) ;Add to the selection-set (setq PT3 (polar (polar PT1 0 0.125) (D270) 1.25) DIST (- DEPTH 2.5)) (command "insert" "WEB" PT3 "1" DIST "") (SSET) ;Add to the selection-set (BLOCKIT) ;Make it a block ) ) ;End If & Progn )