updating a lisp file from r14 to work on 2011 mechanical

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hello, could someone here help me to update my old lisp file so that they work on acad mechanical 2011? I work for a small modular company and 14 yrs ago we had a start program that generated the basic's for our houses. Ceiling framing, floor framing, elevations, foundations , etc. I'm working on the ceiling framing lisp first.
(DEFUN CL (I W L RP / P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 X)
; DRAW CEILING FRAMING GIVEN WIDTH, LENGTH, REF.
; POINT, JOIST SPACING, AND HOUSE TYPE.
(SETQ CJ1 16.0)
(SETVAR "CMDECHO" 0)
(COND
((= I 0)
(c:sv)
(if (null style)
(progn
(setq style
(menu-operation "House Style"
'("Ranch"
"Raised Ranch"
"Chalet"
"Cape"
"Ranch Ell"
"Split Level"
"Two Story")
"Select number corresponding to desired width : ")
) ; end of setq
) ; end progn
) ; end if
(setq roof
(menu-operation "SELECT ROOF PITCH/CEILING TYPE"
'("5/12"
"9/12"
"12/12"
"1st Floor Two Story")
"Select number corresponding to desired ceiling : ")
) ; end of setq
(setq size
(menu-operation "House Width"
'("24 Wide"
"26 Wide"
"28 Wide"
"OTHER")
"Select number corresponding to desired width : ")
) ; end of setq
(COND
((= size 1)
(SETQ w 284)
) ; END OF 24 WIDE
((= size 2)
(SETQ w 308)
) ; END OF 26 WIDE
((= size 3)
(SETQ w 330)
) ; END OF 28 WIDE
((= SIZE 4)
(SETQ W (GETDIST "\nENTER WIDTH OF HOUSE : "))
) ; END OF OTHER WIDE
) ; END OF COND
(SETQ L (GETDIST "\nENTER LENGTH OF HOUSE : "))
(graphscr)
(setq RP (GETPOINT "\nINDICATE LOWER LEFT POINT OF HOUSE: "))
(COMMAND "DIM1" "DIMTXT" 4)
) ; END OF IO COND
) ; END OF COND
(if (or (= roof 1) (= style 7)) (ftxt 172.8125 74.4375 "l" (* s 4) "2x6 SPF#2 @ 16in. O.C."))
(if (and (= roof 2) (= size 1) (not (= style 7))) (ftxt 172.8125 74.4375 "l" (* s 4) "2x8 SPF#2 @ 16in. O.C.")
(if (and (= roof 2) (not (= style 7))) (ftxt 172.8125 74.4375 "l" (* s 4) "2x10 SPF#2 @ 16in. O.C.")
) ; end else if
) ; end if
(if (and (= roof 3) (= size 1) (not (= style 7))) (ftxt 172.8125 74.4375 "l" (* s 4) "2x8 SPF#2 @ 16in. O.C.")
(if (= roof 3) (ftxt 172.8125 74.4375 "l" (* s 4) "2x10 SPF#2 @ 16in. O.C.")
) ; end else if
) ; end if
(SETQ LR (GETVAR "CLAYER"))
(IF (= ROOF 1) (SETQ CEIL 1) (SETQ CEIL 2))
(IF (AND (OR (= STYLE 7) (= ROOF 4)) (= LR "7")) (SETQ CEIL 4))
(SETQ JN ( / L CJ1 )
JN ( FIX JN )
P1 (POLAR RP( * PI 0.5 ) W )
P2 (POLAR P1 0 L )
P3 (POLAR P2 ( * PI 1.5 ) W )
P4 (LIST ( + (CAR P1) ( / L 2 )) ( + (CADR P1) 24 ))
P5 (LIST ( - (CAR RP) 30 ) ( + (CADR RP) ( / W 2 )))
P6 (POLAR RP( * PI 0.5 ) (/ W 2))
P7 (LIST ( - (CAR RP) 15 ) ( + (CADR RP) ( * W 0.75)))
P8 (POLAR P6 ( * PI 1.5 ) 1.5)
P9 (POLAR P6 ( * PI 0.5 ) 1.5)
P10(POLAR P9 ( * PI 0.0 ) L)
P11(POLAR P8 ( * PI 0.0 ) L)
P14(LIST (+ (CAR P1) (* L 0.8)) (+ (CADR P1) 1.5))
P15(LIST (CAR P14) (+ (CADR P14) 8))
P16(LIST (+ (CAR RP) (* L 0.8)) (- (CADR RP) 1.5))
P17(LIST (CAR P16) (- (CADR P16) 8))
P18(LIST (+ (CAR P7) 10) (CADR P7))
P19(LIST (+ (CAR P18) (+ L 14)) (CADR P18))
P20(LIST (CAR P7) (- (CADR P7) (/ W 2)))
P21(LIST (+ (CAR P20) 10) (CADR P20))
P22(LIST (+ (CAR P21) (+ L 14)) (CADR P21))
) ; END OF SETQ
(IF ( < ( - L ( * CJ1 JN )) 2.25 )
(SETQ JN ( - JN 1 ))
) ; END OF IF
(SETQ JN ( + JN 1 ))
(COND
((= CEIL 1)
(COMMAND "LINETYPE" "SET" "CONTINUOUS" ""
"LINE" RP P3 ""
"LINE" P8 P11 ""
"LINE" P6 (LIST (+(CAR P6) L) (CADR P6)) ""
"LINE" P9 P10 ""
"LINE" P1 P2 ""
"DIM1" "VERTICAL" RP P1 P5 ""
"DIM1" "VERTICAL" P6 P1 P7 ""
"DIM1" "HORIZONTAL" P1 P2 P4 ""
"DIM1" "LEADER" P14 P15 "" "2x4 FLAT"
"DIM1" "LEADER" P16 P17 "" "2x4 FLAT"
"TEXT" "C" P18 4 90 "LEDGER"
"TEXT" "C" P19 4 90 "LEDGER"
"TEXT" "C" P21 4 90 "LEDGER"
"TEXT" "C" P22 4 90 "LEDGER"
) ; END OF COMMAND
(SETQ P4 (LIST (- (CAR P3) 1.5) (+ (CADR P3) 3.5))
P1 (LIST (- (CAR P2) 1.5) (- (CADR P2) 3.5))
P14 (LIST (- (CAR P3) 1.5) (CADR P3))
P15 (LIST (- (CAR P11) 1.5) (CADR P11))
P12(POLAR P4 (* PI 1.0) (- L 3.0))
P13(POLAR P1 (* PI 1.0) (- L 3.0))
P16(LIST(-(CAR P10)1.5) (CADR P10))
P17(LIST(-(CAR P2)1.5) (CADR P2))
) ; END OF SETQ
(COMMAND "LINETYPE" "SET" "DASHED" ""
"LINE" P3 P11 ""
"COPY" "L" "" "0,0" (LIST(- 0 L) 0)
"LINETYPE" "SET" "CONTINUOUS" ""
"LINE" P14 P15 ""
"COPY" "L" "" "0,0" (LIST(- 1.5) 0)
"COPY" "L" "" "0,0" (LIST(- 6.0 L) 0)
"COPY" "L" "" "0,0" (LIST(- 1.5) 0)
"LINE" P11 P10 ""
"COPY" "L" "" "0,0" (LIST(- L) 0)
"LINETYPE" "SET" "DASHED" ""
"LINE" P10 P2 ""
"COPY" "L" "" "0,0" (LIST(- 0 L) 0)
"LINETYPE" "SET" "CONTINUOUS" ""
"LINE" P16 P17 ""
"COPY" "L" "" "0,0" (LIST(- 1.5) 0)
"COPY" "L" "" "0,0" (LIST(- 6.0 L) 0)
"COPY" "L" "" "0,0" (LIST(- 1.5) 0)
"LINE" P4 P12 ""
"LINE" P1 P13 ""
) ; END OF COMMAND
(SETQ JL (- (/ W 2) 1.5)
X 0.0
P11(POLAR P11 PI X)
P10(POLAR P10 PI X)
P4 (POLAR P3 PI X)
P1 (POLAR P2 PI X)
) ; END OF SETQ
(SETQ P7 (POLAR P7 (* PI 1.5) (* W 0.5))
P23(LIST (CAR P4) (CADR P4))
P4 (LIST (- (CAR P4) 16) (CADR P4))
P24(LIST (CAR P11) (CADR P11))
P11(LIST (- (CAR P11) 16) (CADR P11))
P10(LIST (- (CAR P10) 16) (CADR P10))
P1 (LIST (- (CAR P1) 16) (CADR P1))
NJ (- JN 1)
) ; end of setq
(COMMAND "DIM1" "VERTICAL" (POLAR P23 PI (- L X)) (POLAR P24 PI (- L X)) P7 ""
"LINETYPE" "SET" "CENTER" ""
"LINE" P4 P11 ""
"LINE" P10 P1 ""
"ARRAY" "L" "" "R" "2" NJ (-(+ JL 3.0)) (- CJ1)
"LINETYPE" "SET" "CONTINUOUS" ""
) ; END OF COMMAND
) ; END OF 5/12 PITCH CONDITION
((OR (= CEIL 2) (= CEIL 3))
(IF (= SIZE 1) (SETQ LTXT "2x6 CONT.")
(SETQ LTXT "2x8 CONT.")
) ; END IF
(COMMAND "LINETYPE" "SET" "CONTINUOUS" ""
"LINE" RP P3 ""
"LINE" P8 P11 ""
"LINE" P6 (LIST (+(CAR P6) L) (CADR P6)) ""
"LINE" P9 P10 ""
"LINE" P1 P2 ""
"DIM1" "VERTICAL" RP P1 P5 ""
"DIM1" "VERTICAL" P6 P1 P7 ""
"DIM1" "HORIZONTAL" P1 P2 P4 ""
"DIM1" "LEADER" P14 P15 "" LTXT
"DIM1" "LEADER" P16 P17 "" LTXT
) ; END OF COMMAND
(SETQ P4 (LIST (CAR P3) (+ (CADR P3) 1.5))
P1 (LIST (CAR P2) (- (CADR P2) 1.5))
P14 (LIST (- (CAR P3) 1.5) (CADR P3))
P15 (LIST (- (CAR P11) 1.5) (CADR P11))
P12(POLAR P4 (* PI 1.0) L)
P13(POLAR P1 (* PI 1.0) L)
P16(LIST(-(CAR P10)1.5) (CADR P10))
P17(LIST(-(CAR P2)1.5) (CADR P2))
) ; END OF SETQ
(COMMAND "LINETYPE" "SET" "CONTINUOUS" ""
"LINE" P3 P11 ""
"COPY" "L" "" "0,0" (LIST(- 0 L) 0)
"LINE" P14 P15 ""
"COPY" "L" "" "0,0" (LIST(- 3.0 L) 0)
"LINE" P11 P10 ""
"COPY" "L" "" "0,0" (LIST(- L) 0)
"LINE" P10 P2 ""
"COPY" "L" "" "0,0" (LIST(- 0 L) 0)
"LINE" P16 P17 ""
"COPY" "L" "" "0,0" (LIST(- 3.0 L) 0)
"LINE" P4 P12 ""
"LINE" P1 P13 ""
) ; END OF COMMAND
(SETQ JL (- (/ W 2) 3.0)
X 0.0
P11(POLAR P11 PI X)
P10(POLAR P10 PI X)
P4 (POLAR P3 PI X)
P1 (POLAR P2 PI X)
) ; END OF SETQ
(SETQ P7 (POLAR P7 (* PI 1.5) (* W 0.5))
P23(LIST (CAR P4) (+ (CADR P4) 1.5))
P4 (LIST (- (CAR P4) 16) (+ (CADR P4) 1.5))
P24(LIST (CAR P11) (CADR P11))
P11(LIST (- (CAR P11) 16) (CADR P11))
P10(LIST (- (CAR P10) 16) (CADR P10))
P1 (LIST (- (CAR P1) 16) (- (CADR P1) 1.5))
NJ (- JN 1)
) ; end of setq
(COMMAND "DIM1" "VERTICAL" (POLAR P23 PI (- L X)) (POLAR P24 PI (- L X)) P7 ""
"LINETYPE" "SET" "CENTER" ""
"LINE" P4 P11 ""
"LINE" P10 P1 ""
"ARRAY" "L" "" "R" "2" NJ (-(+ JL 3.0)) (- CJ1)
"LINETYPE" "SET" "CONTINUOUS" ""
) ; END OF COMMAND
) ; END OF 9/12 & 12/12 PITCH CONDITION
((= CEIL 4)
(SETQ P12(POLAR P4 (* PI 1.0) (- L 3.0))
P14(LIST (+ (CAR P1) (* L 0.6)) (- (CADR P1) 3.0))
P15(LIST (CAR P14) (- (CADR P14) 10))
P16(LIST (+ (CAR RP) (* L 0.6)) (+ (CADR RP) 3.0))
P17(LIST (CAR P16) (+ (CADR P16) 10))
P18(LIST (- (CAR P3) 1.5) (+ (CADR P3) 3.0))
P19(LIST (+ (CAR RP) 1.5) (+ (CADR RP) 3.0))
P20(LIST (CAR P18) (+ (CADR P18) (- W 6.0)))
P21(LIST (CAR P19) (+ (CADR P19) (- W 6.0)))
P22(LIST (+ (CAR RP) (* L 0.5)) (- (CADR RP) 15.0))
) ; END OF SETQ
(COMMAND "LINETYPE" "SET" "CONTINUOUS" ""
"LINE" RP P3 ""
"LINE" P8 P11 ""
"LINE" P6 (LIST (+(CAR P6) L) (CADR P6)) ""
"LINE" P9 P10 ""
"LINE" P1 P2 ""
"DIM1" "VERTICAL" RP P1 P5 ""
"DIM1" "VERTICAL" P6 P1 P7 ""
"DIM1" "HORIZONTAL" P1 P2 P4 ""
"DIM1" "LEADER" P14 P15 "" "2x6 FLUSH WITH TOP OF 2x12"
"DIM1" "LEADER" P16 P17 "" "2x6 FLUSH WITH TOP OF 2x12"
"TEXT" "C" P22 4 0 "NOTE 2x12 PERIMETER"
) ; END OF COMMAND
(SETQ P4 (LIST (CAR P3) (+ (CADR P3) 1.5))
P1 (LIST (CAR P2) (- (CADR P2) 1.5))
P14 (LIST (- (CAR P3) 1.5) (CADR P3))
P15 (LIST (- (CAR P11) 1.5) (CADR P11))
P12(POLAR P4 (* PI 1.0) L)
P13(POLAR P1 (* PI 1.0) L)
P16(LIST(-(CAR P10)1.5) (CADR P10))
P17(LIST(-(CAR P2)1.5) (CADR P2))
) ; END OF SETQ
(COMMAND "LINETYPE" "SET" "CONTINUOUS" ""
"LINE" P3 P11 ""
"COPY" "L" "" "0,0" (LIST(- 0 L) 0)
"LINE" P14 P15 ""
"COPY" "L" "" "0,0" (LIST(- 3.0 L) 0)
"LINE" P11 P10 ""
"COPY" "L" "" "0,0" (LIST(- L) 0)
"LINE" P10 P2 ""
"COPY" "L" "" "0,0" (LIST(- 0 L) 0)
"LINE" P16 P17 ""
"COPY" "L" "" "0,0" (LIST(- 3.0 L) 0)
"LINE" P4 P12 ""
"LINE" P1 P13 ""
"LINETYPE" "SET" "PHANTOM" ""
"LINE" P18 P19 ""
"LINE" P20 P21 ""
"LINETYPE" "SET" "CONTINUOUS" ""
) ; END OF COMMAND
(SETQ JL (- (/ W 2) 3.0)
X 0.0
P11(POLAR P11 PI X)
P10(POLAR P10 PI X)
P4 (POLAR P3 PI X)
P1 (POLAR P2 PI X)
) ; END OF SETQ
(SETQ P7 (POLAR P7 (* PI 1.5) (* W 0.5))
P23(LIST (CAR P4) (+ (CADR P4) 1.5))
P4 (LIST (- (CAR P4) 16) (+ (CADR P4) 1.5))
P24(LIST (CAR P11) (CADR P11))
P11(LIST (- (CAR P11) 16) (CADR P11))
P10(LIST (- (CAR P10) 16) (CADR P10))
P1 (LIST (- (CAR P1) 16) (- (CADR P1) 1.5))
NJ (- JN 1)
) ; end of setq
(COMMAND "DIM1" "VERTICAL" (POLAR P23 PI (- L X)) (POLAR P24 PI (- L X)) P7 ""
"LINETYPE" "SET" "CENTER" ""
"LINE" P4 P11 ""
"LINE" P10 P1 ""
"ARRAY" "L" "" "R" "2" NJ (-(+ JL 3.0)) (- CJ1)
"LINETYPE" "SET" "CONTINUOUS" ""
) ; END OF COMMAND
) ; END OF 1st FLOOR OF 2 STORY CONDITION
) ; END OF CONDITION
) ; END OF FUNCTION CL
for example here, when running the lsp and selecting the following:
1] 1/4 in. = 1 ft.
1] 5/12
1] 24 Wide
Enter length of the house: 40'
INDICATE LOWER LEFT POINT OF HOUSE: Zero length line created at (51'-9 1/8",
25'-6 1/4", 0'-0")
And this is what I get, a mess.