I'm using AutoCAD 2010, and the code is as follows:
(DEFUN C:FLEX()(M:OFF)(IF R10@ NIL(SETQ R10@ 0))
(PROMPT(STRCAT"\nDiameter: <"(R1O R10@)"> "))(SETQ R1|@(GETREAL)R1|
@(IF R1|@ R1|@ R10@)R10@(FIX R1|@)
R10l (STRCAT #LCET14 "/F"(ITOA R10@)) R1$l(ENTSEL"\nSelect center-
line: "))(SETQ CL (GETVAR "CLAYER"))(SETVAR "CLAYER" "HVAC-EQUIP-FLEX")
(COMMAND".Insert"R10l(COMMAND))(COMMAND".Measure"R1$l"B" (STRCAT
"F"(ITOA R10@))""(* 0.45 R10@))(ENTDEL(CAR R1$l))(INITGET(+ 1 2 4))
(SETQ R1lQ(GETPOINT"\nTag midpoint: "))(SETVAR "CLAYER" "HVAC-EQUIP-
DUCT-TXT")(COMMAND".Text"R1lQ (getvar "textsize")"0"(STRCAT(ITOA
R10@)"%%C"))(SETVAR "CLAYER" CL)(M:ON))
Thank you in advance.
stringp error will come when you use string functions like STRCAT on a
non string variable like numbers.
I am not able to find the exact problem with the code you have posted.
I think you have missed some code. Please post all the code for better
suggession.
or Please let me know your requirement I will provide you the
solution.
regards,
sreekar masani.
Thank you for your quick response and your offer to help, it is MUCH
appreciated. Yes, I did indeed leave off quite a bit of code. I only
posted the "Flex" portion of the routine because that specific
function is what I'm most concerned about at the moment. I didn't
realize that variables in other sections of the code would come into
play. It is a rather large bit of code, but I'll try to paste it here.
Again, the "Flex" portion is of most concern now:
(DEFUN C:SSCALE()
(IF(=(GETVAR"USERR5")0)(SETVAR"USERR5"0.25))
(SETQ DS1 (GETVAR "DIMSCALE"))
(SETQ DS2 (/ DS1 12))
(SETQ R1j (/ 1 DS2))
(IF R1j(SETVAR"USERR5"R1j)NIL)
(SETQ R1@ (getvar "textsize"))
(PRINT))
(SETQ R1Q NIL R1l 1 R1& NIL R11 NIL)
(DEFUN C:MODE()
(SETQ R10(STRCASE(GETSTRING"\nAnnotate and tag drawing? <Y>/N: "))
R1$(IF(OR(= R10"Y")(= R10""))
(STRCASE(GETSTRING"\nRun Square, Round, or Flat-oval duct? <S>/R/F:
"))NIL))(IF(= R10"N")(SETQ R1Q 1 R1l NIL R1& NIL R11 NIL)NIL)
(COND((OR(= R1$"S")
(= R1$""))(SETQ R1Q NIL R1l 1 R1& NIL R11 NIL))
((= R1$"R")(SETQ R1Q NIL R1l NIL R1& 1 R11 NIL))
((= R1$"F")(SETQ R1Q NIL R1l NIL R1& NIL R11 1)))
(PRINT))
(DEFUN M:ON()
;(SETVAR"ORTHOMODE"R10j)
(SETVAR"HIGHLIGHT"1)(SETVAR"OSMODE" 39)
(SETVAR"SNAPANG"R1?@)(SETVAR"SNAPMODE"0)(IF
R1j@(COMMAND".Linetype""S"R1j@ R1@@))
(PRIN1))
(DEFUN C:STATUSA()
(PROMPT(COND(R1Q"\nAnnotation mode is OFF.")
(R1l"\nAnnotation mode is ON. Drawing SQUARE duct.\n")
(R1&"\nAnnotation mode is ON. Drawing ROUND duct.\n")
(R11"\nAnnotation mode is ON. Drawing FLAT-OVAL duct.\n")))
(PRINT))(DEFUN C:FIXIT()M:ON(SETVAR "HIGHLIGHT" 1)
(COMMAND"SNAP""R"(LIST 0 0)0.0)
(SETVAR"Osmode"39)(SETVAR"Snapmode"0)(PRIN1))(DEFUN R1O(R1|)(SETQ R1|
(RTOS R1| 2 0)))
(DEFUN R1%(R1?j R1jj)
(SETQ R1@j(OSNAP R1?j"endp")R1Qj(OSNAP R1jj"endp")
R1lj(POLAR R1?j(+(ANGLE R1?j R1@j)(/ PI 2))100)R1&j
(INTERS R1?j R1lj R1jj R1Qj NIL))(SETQ R11j(DISTANCE R1?j R1&j)))
(DEFUN M:OFF()
(GRAPHSCR)(SETVAR"CMDECHO"0)(SETVAR"HIGHLIGHT"0)
(SETQ
R1#j(GETVAR"OSMODE")R10j(GETVAR"ORTHOMODE")R1$j(GETVAR"LUNITS")R1Oj
(GETVAR"LUPREC")R1|j(GETVAR"AUNITS")R1%j(GETVAR"AUPREC")R1?
@(GETVAR"SNAPANG"))
(IF(=(GETVAR"USERR5")0)(C:SSCALE)NIL)(PRIN1))
(DEFUN R1Q@()
(SETVAR"SNAPBASE"(LIST(CAR R1?j)(CADR R1?j)))
(SETVAR"SNAPANG"(ANGLE R1?j R1jj)))
(DEFUN R1l@()(SETVAR"OSMODE"39)
;(SETVAR"ORTHOMODE"1)
(SETVAR"SNAPMODE"0))
(DEFUN R1&@()
(COND((OR R1l R11 R11@)
(IF R1#@(PROMPT(STRCAT"\nWidth is "(R1O R10@)"\nDepth <"(R1O R1#@)">:
"))
(PROMPT(STRCAT"\nWidth is "(R1O R10@)"\nDepth: ")))
(SETQ R1$@(GETREAL)R1$@(IF R1$@ R1$@ R1#@)R1#@ R1$@))
(R1&(PROMPT(STRCAT"\nCurrent diameter is "(R1O R10@))))))
(DEFUN R1O@()
(M:OFF)
(SETVAR"OSMODE"39)
(IF R10@ NIL(SETQ R10@ 0))
(PROMPT(STRCAT"\nBranch width <"(R1O R10@)">: "))
(SETQ R1|@(GETREAL)
R1|@(IF R1|@ R1|@ R10@)
R10@ R1|@)
;(R1&@)
(SETQ R1?j(GETPOINT"\nBranch center-line: ")
R1jj(OSNAP R1?j"ENDPOINT")
R1%@(ANGLE R1?j R1jj)))
(DEFUN R1?Q()
(M:OFF)
(IF R1jQ(PROMPT(STRCAT"\nDegree of turn <"(R1O R1jQ)">: "))
(PROMPT"\nDegree of turn: "))(SETQ R1@Q(GETREAL)R1@Q
(IF R1@Q R1@Q R1jQ)R1jQ R1@Q)(SETVAR"OSMODE"39)(SETQ R1?j
(GETPOINT"\nSelect heel: ")R1jj(GETPOINT"\nSelect throat: ")R10@
(DISTANCE R1?j R1jj)))
(DEFUN C:ADT()(M:OFF)(SETQ R1QQ
(GETSTRING"\nA/D Tag: <1>/2/3/4 ")R1QQ(IF(= R1QQ"")"ADT1"
(STRCAT"ADT"R1QQ))
R1lQ(GETPOINT"\nTag point: ")
R1&Q(STRCASE(GETSTRING"\nMark: "))
R11Q(GETINT"\nCFM: "))
(COMMAND".Insert"R1QQ R1lQ R1@""0 R1&Q R11Q)(M:ON))
(DEFUN C:BR1()
(R1O@)
(R1Q@)
(R1l@)
(SETQ R1#Q(GETANGLE R1?j"\n\Direction: ")
R1@j(POLAR R1?j R1%@(/ R1|@ 2))
R1Qj(POLAR R1@j(+ R1%@ PI)R1|@)
R1lj(POLAR R1Qj R1#Q 4)
R1&j(POLAR R1@j R1#Q 4)
dpt1(POLAR R1&j R1%@ 2)
dpt2(POLAR dpt1(+ R1#Q pi)2)
dpt3(POLAR dpt2(+ R1%@ pi)(+ r1|@ 4)))
(COMMAND".PLINE"R1@j"w"0 0 R1&j R1lj R1Qj R1@@)
(COMMAND"CHANGE"(ENTLAST)"""p""la""RHVACS-PIPEDUCT""")
(COMMAND".PLINE"dpt1 dpt2 dpt3 nil)
(COMMAND"CHANGE"(ENTLAST)"""p""lt""hidden""c""2""la""RHVACS-
PIPEDUCT""")
(M:ON))
(DEFUN C:BR2()
(R1O@)
(R1Q@)
(R1l@)
(SETQ R1#Q(GETANGLE R1?j"\nDirection: ")
R1%@(GETANGLE R1?j"\nDirection of trunk air flow: ")
R1@j(POLAR R1?j R1%@(/ R1|@ 2))
R1Qj(POLAR R1@j R1#Q 4)R1lj(POLAR R1Qj(+ PI R1%@)R1|@)
R1&j(POLAR R1@j(+ PI R1%@)(+ R1|@ 4)))
(COMMAND".pLINE"R1@j"w"0 0 R1Qj R1lj R1&j R1@@)
(COMMAND"CHANGE"(ENTLAST)"""p""la""RHVACS-PIPEDUCT""")
(M:ON))
(DEFUN C:BR3()
(R1O@)
(SETQ R10Q(/(/ R10@(SIN(/ PI 4)))2))(R1Q@)(R1l@)
(SETQ R1%@(GETANGLE R1?j"\nDirection to diverge: "))
(COMMAND".Snap""R"R1?j
(POLAR R1?j(+ R1%@(/ PI 4))1))(R1l@)(SETQ R1#Q
(GETANGLE R1?j"\nBranch direction: ")R1$Q(STRCASE
(GETSTRING"\nBranch CCW? <Y>/N "))R1OQ(IF(OR(= R1$Q"")
(= R1$Q"Y"))(+ R1#Q(/ PI 2))(- R1#Q(/ PI 2)))R1@j
(POLAR R1?j R1%@ R10Q)R1Qj(POLAR R1@j R1#Q 4)R1lj
(POLAR R1Qj R1OQ R1|@)R1&j(POLAR R1?j(- R1%@ PI)R10Q))
(COMMAND".pLine"R1@j"w"0 0 R1Qj R1lj R1&j R1@@)(M:ON))
(DEFUN C:BR4()
(R1O@)
(R1Q@)
(R1l@)(SETQ R1#Q(GETANGLE R1?j"\nDirection: ")
R1|Q(POLAR R1?j R1%@(/ R10@ 2))R1@j(POLAR R1|Q R1%@ 2)
R1Qj(POLAR R1|Q R1#Q 4)
R1lj(POLAR R1Qj(+ PI R1%@)R1|@)
R1&j(POLAR R1|Q(+ PI R1%@)(+ R1|@ 2)))
(COMMAND".pLINE"R1@j"w"0 0 R1Qj R1lj R1&j R1@@)
(COMMAND"CHANGE"(ENTLAST)"""p""la""RHVACS-PIPEDUCT""")
(M:ON))
(DEFUN C:BR5()
(R1O@)
(R1Q@)
(R1l@)
(SETVAR"OSMODE"39)
(SETQ R1jj(GETPOINT R1?j"\nOther side of trunk: "))
(SETVAR"OSMODE"39)
(R1% R1?j R1jj)
(SETQ R1#Q(ANGLE R1&j R1?j)
R1|Q(POLAR R1?j R1%@(/ R10@ 2))
R1@j(POLAR R1|Q R1%@ 2)
R1Qj(POLAR R1|Q R1#Q 4)
R1lj(POLAR R1Qj(+ PI R1%@)R1|@)
R1&j(POLAR R1|Q(+ PI R1%@)(+ R1|@ 2))
R1%Q(POLAR R1?j(- R1#Q PI)(* 0.25 R10@)))
(COMMAND".Break"R1@j R1&j)
(COMMAND".pLine"R1@j"w"0 0 R1Qj R1lj R1&j"a""s"R1%Q R1@j R1@@)
(COMMAND"CHANGE"(ENTLAST)"""p""la""RHVACS-PIPEDUCT""")
(M:ON))
(DEFUN C:BR6()
(R1O@)
(SETQ R10Q(/(/ R10@(SIN(/ PI 4)))2))
(R1Q@)
(R1l@)
(SETVAR"OSMODE"39)
(SETQ R1jj(GETPOINT R1?j"\nOther side of trunk: "))
(SETVAR"OSMODE"39)
(SETQ R1%@(GETANGLE R1?j"\nDirection of air flow: "))
(R1% R1?j R1jj)
(COMMAND".Snap""R"R1?j(POLAR R1?j(+ R1%@(/ PI 4))1))
(R1l@)
(SETQ R1#Q(GETANGLE R1?j"\nBranch direction: ")
R1$Q(STRCASE(GETSTRING"\nBranch CCW? <Y>/N "))
R1OQ(IF(OR(= R1$Q"")(= R1$Q"Y"))(+ R1#Q(/ PI 2))(- R1#Q(/ PI 2)))
R1@j(POLAR R1?j R1%@ R10Q)
R1Qj(POLAR R1@j R1#Q 4)
R1lj(POLAR R1Qj R1OQ R1|@)
R1&j(POLAR R1?j(- R1%@ PI)R10Q)
R1%Q(POLAR R1?j(- R1#Q PI)(* 0.25 R10@)))
(COMMAND".Break"R1@j R1&j)
(COMMAND".pLine"R1@j"w"0 0 R1Qj R1lj R1&j"a""s"R1%Q R1@j R1@@)
(COMMAND"CHANGE"(ENTLAST)"""p""la""RHVACS-PIPEDUCT""")
(M:ON))
(DEFUN C:CAN()
(M:OFF)
(SETVAR"OSMODE"39)
(SETQ R1?j(GETPOINT"\nCanvas connector insertion point: "))
(SETVAR"OSMODE"39)
(SETQ R1jj(OSNAP R1?j"ENDP"))
(R1Q@)
(R1l@)
(SETVAR"OSMODE"39)
(SETQ R10@(GETDIST R1?j" Other side: "))
(SETVAR"OSMODE"39)
(Setq R1@Q(GETANGLE R1?j"\nInsertion angle: <0> ")
R1@Q(ANGTOS(IF R1@Q R1@Q 0)0 1))
(COMMAND".Insert"(strcat #LCET14 "/CAN")R1?j 1 R10@ R1@Q)
(COMMAND"Change"(entlast)"""p""la""RHVACS-PIPEDUCT""")
(M:ON))
(DEFUN C:CLT()
(M:OFF)
(SETVAR"OSMODE"39)
(SETQ R1?j(GETPOINT"\nStart point #1: ")
R1#@ 1
R1jj(GETPOINT R1?j"\nStart point #2: ")
R10@(DISTANCE R1?j R1jj)
R1@j(POLAR R1?j(ANGLE R1?j R1jj)(/ R10@ 2))
R1?l 1)
;(R1&@)
(WHILE R1?l
(SETQ R1jl(GETDIST"\nNew width: <no change> ")R1@l R1jl R1jl(IF R1jl
R1jl R10@))(IF(NOT R1&)
(PROGN(SETQ R1@l(IF R1@l R1@l )))
(SETQ R1@l R1jl))
(SETQ R1Ql(* 3(MAX(ABS(- R1#@ R1@l))(ABS(- R10@ R1jl)))))
(IF(= R1Ql 0)(PROMPT"*INVALID* Either depth or width must change")
(SETQ R1?l NIL)))
(PROMPT(STRCAT"\nLength: <"(R1O R1Ql)"> "))
(SETQ R1ll(GETDIST R1@j)R1ll(IF R1ll R1ll R1Ql))
(R1Q@)
(R1l@)
(SETQ R1&l(GETANGLE R1@j"\nDirection: ")
R1Qj(POLAR R1@j R1&l R1ll)
R1lj(POLAR R1Qj(ANGLE R1@j R1jj)(/ R1jl 2))
R1&j(POLAR R1lj(ANGLE R1jj R1@j)R1jl)
R10@ R1jl R1#@ R1@l)
(COMMAND".pLINE"R1&j"w"0 0 R1?j R1jj R1lj R1&j R1@@)
(COMMAND"CHANGE"(ENTLAST)"""p""la""RHVACS-PIPEDUCT""")
(M:ON))
(DEFUN C:FD()
(M:OFF)
(setvar"osmode"39)
(SETQ R1?j(GETPOINT"\nStart point on duct: "))
(setvar"osmode"39)
(setq R1&l(getpoint R1?j"Other side of duct: "))
(setvar"osmode"39)
(setq ang2(getangle r1?j"\nDirection of air flow: "))
(setq ang1(angle r1?j r1&l))
(setq dist1(distance r1?j r1&l))
(setq dist1(+ dist1 4))
(setq pt2(polar r1?j (+ pi ang1) 5.4))
(setq pt1(polar pt2 ang2 4.3))
(setq pt3(polar r1?j ang1 dist1)
R11l(STRCASE(GETSTRING"\nFire, Smoke, or Both: <F>/S/B "))
R11l(COND((OR(= R11l"")(= R11l"F"))(strcat #LCET14 "/FD"))((= R11l"S")
(strcat #LCET14 "/SD"))((= R11l"B")(strcat #LCET14 "/FSD"))))
(COMMAND".pline"pt1"w""0""8.8"pt2"w""0""0"pt3 nil)
(COMMAND"Change"(entlast)"""p""c""2""lt""hidden""la""RHVACS-
PIPEDUCT""")
(SETQ R1?j(GETPOINT"Label point: "))
(setq ad (getvar "attdia"))(SETVAR "ATTDIA" 0)
(COMMAND".Insert"R11l R1?j(getvar "dimscale")""0)
(COMMAND"Change"(entlast)"""p""la""RHVACS-PIPEDUCT-TXT""")
(setvar "attdia" ad)
(M:ON))
(DEFUN C:FLEX()(M:OFF)(IF R10@ NIL(SETQ R10@ 0))
(PROMPT(STRCAT"\nDiameter: <"(R1O R10@)"> "))(SETQ R1|@(GETREAL)R1|
@(IF R1|@ R1|@ R10@)R10@(FIX R1|@)
R10l (STRCAT #LCET14 "/F"(ITOA R10@)) R1$l(ENTSEL"\nSelect center-
line: "))(SETQ CL (GETVAR "CLAYER"))(SETVAR "CLAYER" "RHVACS-FLEXDUCT")
(COMMAND".Insert"R10l(COMMAND))(COMMAND".Measure"R1$l"B" (STRCAT
"F"(ITOA R10@))""(* 0.45 R10@))(ENTDEL(CAR R1$l))(INITGET(+ 1 2 4))
(SETQ R1lQ(GETPOINT"\nTag midpoint: "))(SETVAR "CLAYER" "RHVACS-
FLEXDUCT-TXT")(COMMAND".Text"R1lQ (getvar "textsize")"0"(STRCAT(ITOA
R10@)"%%C"))(SETVAR "CLAYER" CL)(M:ON))
(DEFUN C:LABEL()
(M:OFF)
(SETQ LAY (GETVAR "CLAYER"))
(SETVAR "CLAYER" "RHVACS-PIPEDUCT-TXT")
(PROMPT(STRCAT"\nLabeling "(COND((OR R1Q R1l)"SQUARE Duct.")
(R1&"ROUND Duct.")
(R11"FLAT-OVAL Duct."))))
(SETQ R1$l(ENTSEL"\nFace of duct: ")
R1j&(CADR R1$l)
R1?j(OSNAP R1j&"mid"))
(SETVAR"OSMODE"39)
(SETQ R1jj(GETPOINT R1?j"\nOpposite face: ")
R1@&(ENTGET(CAR R1$l))
R10@(DISTANCE R1?j R1jj)
R1&l(+(ANGLE R1?j R1jj)(/ PI 2))
R1&l(IF(AND(> R1&l(/(* 5 PI)8))
(< R1&l(/(* 13 PI)8)))(+ R1&l PI)R1&l)
R1@j(POLAR R1?j(ANGLE R1?j R1jj)(/ R10@ 2)))
(SETVAR"OSMODE"39)
(COND((OR R1Q R1l R11)
(PROMPT(STRCAT"\nWidth is "(R1O R10@)
(IF R1#@(STRCAT"\nDepth: <"(R1O R1#@)"> ")"\nDepth: ")))
(SETQ R1$@(GETREAL)
R1$@(IF R1$@ R1$@ R1#@)
R1#@ R1$@))
(R1&(PROMPT(STRCAT"\nDiameter is "(R1O R10@)))))
(COND((OR R1Q R1l)
(COMMAND".Text""m"R1@j R1@(ANGTOS R1&l 0 1)(STRCAT(R1O R10@)"x"(R1O
R1#@))))(R1&(COMMAND".Text""m"R1@j R1@(ANGTOS R1&l 0 1)(STRCAT(R1O
R10@)(CHR 129))))
(R11(COMMAND".Text""m"R1@j R1@(ANGTOS R1&l 0 1)(STRCAT(R1O
R10@)"x"(R1O R1#@)
" F"))))(SETVAR "CLAYER" LAY)
(M:ON))
(DEFUN C:MPEL()
(R1?Q)
(R1&@)
(SETQ R1Q&(* R1@Q(/ PI 180))
R1l&(POLAR R1jj(ANGLE R1?j R1jj)R10@))
(COND((AND(> R1@Q 0)(<= R1@Q 35))
(SETQ R1&&(/ R1Q& 2)R11& 0))((AND(> R1@Q 35)(<= R1@Q 71))
(SETQ R1&&(/ R1Q& 4)R11& 1))((AND(> R1@Q 71)(<= R1@Q 90))
(SETQ R1&&(/ R1Q& 8)R11& 3)))
(SETVAR"OSMODE"39)
(SETQ R1$Q(STRCASE(GETSTRING"\nElbow CCW? <Y>/N "))
R1&l(IF(OR(= R1$Q"")(= R1$Q"Y"))(-(ANGLE R1?j R1jj)(/ PI 2))(+(ANGLE
R1?j R1jj)
(/ PI 2)))
R1#& R1&l R10&(* R10@(/(SIN R1&&)(COS R1&&)))
R1$&(*(* 2 R10@)(/(SIN R1&&)(COS R1&&)))
R1O&(* 2 R10&)R1|&(* 2 R1$&)
R1%&(IF(OR(= R1$Q"")(= R1$Q"Y"))1 -1)
R1@j(POLAR R1jj R1&l R10&)
R1Qj(POLAR R1?j R1&l R1$&)
R1@Q(ABS R1@Q))
(COMMAND".Pline"R1?j R1jj R1@j R1Qj R1?j R1@@)
(COMMAND"CHANGE"(ENTLAST)"""p""la""RHVACS-PIPEDUCT""")
(SETQ R1?j R1Qj R1jj R1@j)
(REPEAT R11&
(SETQ R1&l(COND((= R11& 1)(+ R1&l(* R1%&(/ R1Q& 2))))((= R11& 3)(+
R1&l(* R1%&(/ R1Q& 4)))))
R1@j(POLAR R1jj R1&l R1O&)
R1Qj(POLAR R1?j R1&l R1|&))
(COMMAND".pLine"R1?j R1Qj R1@j R1jj R1@@)
(COMMAND"CHANGE"(ENTLAST)"""p""la""RHVACS-PIPEDUCT""")
(SETQ R1?j R1Qj R1jj R1@j))
(SETQ R1@j(POLAR R1jj(+ R1#&(* R1%& R1Q&))R10&)
R1Qj(POLAR R1?j(+ R1#&(* R1%& R1Q&))R1$&))
(COMMAND".pLine"R1?j R1Qj R1@j R1jj R1@@)
(COMMAND"CHANGE"(ENTLAST)"""p""la""RHVACS-PIPEDUCT""")
(M:ON))
(DEFUN C:MVD()
(M:OFF)
(SETQ R1j@(GETVAR"CELTYPE")
R1?1(STRCASE(GETSTRING"\nSquare or Round Damper? <S>/R "))
R1?1(IF(= R1?1"")"S"R1?1))
(SETVAR"OSMODE"39)
(SETQ R1?j(GETPOINT"\nSelect either face of duct: ")
R1jj(GETPOINT R1?j"\nSelect opposite face: "))
(SETVAR"OSMODE"39)
(R1% R1?j R1jj)
(SETQ R10@ R11j
R1@j R1&j
R1&l(ANGLE R1?j R1@j)
R1%@(+ R1&l(/ PI 2))
R1Qj(POLAR R1@j R1&l 3)
R1lj(POLAR R1?j(+ R1&l PI)3)
R1&j(POLAR R1lj R1%@ 4))
(IF(= R1?1"S")
(PROGN(SETQ R1ll(* R10@ 0.25)
R1%Q(POLAR R1?j R1&l 1.5)
R1j1(POLAR R1%Q R1%@(/ R1ll 2))
R1@1(POLAR R1j1 R1&l(- R10@ 3))
R1Q1(POLAR R1@1(+ R1%@ PI)R1ll)
R1l1(POLAR R1Q1(- R1&l PI)(- R10@ 3)))
(COMMAND".Linetype""S""HIDDEN"R1@@".pLine"R1j1"w"0 0 R1@1 R1Q1
R1l1"C")
(COMMAND"CHANGE"(ENTLAST)"""p""c""2""la""RHVACS-PIPEDUCT"""))
(PROGN(SETQ R1%Q(POLAR R1?j R1&l(/ R10@ 2)))
(COMMAND".Linetype""S""HIDDEN"R1@@".Insert"(strcat #LCET14 "/
rmvd")R1%Q(* 0.6 R10@)(- R10@ 3)(ANGTOS R1%@ 0 1))
(COMMAND"CHANGE"(ENTLAST)"""p""lt""hidden""c""2""la""RHVACS-
PIPEDUCT""")))
(COMMAND".Linetype""S""HIDDEN"R1@@)
(COMMAND".pLine"R1Qj"w"0 0 R1lj R1&j R1@@)
(COMMAND"CHANGE"(ENTLAST)"""p""c""2""la""RHVACS-PIPEDUCT""")
(COMMAND".Linetype""S"R1j@ R1@@)
(M:ON))
(DEFUN C:OS()
(M:OFF)
(SETVAR"OSMODE"39)
(SETQ R1#1(GETREAL"\nOffset angle: <20> ")
R1#1(IF R1#1 R1#1 20)R1Q&(* R1#1(/ PI 180))
R101(-(/ PI 2)R1Q&)
R1&&(/ R1Q& 2))
(SETQ R1$1(GETDIST"\nOffset distance: ")
R1?j(GETPOINT"\nFrom side: ")
R1jj(GETPOINT R1?j"\nTo side: ")
R10&(GETDIST"\nThroat: <2 in> ")
R10&(IF R10& R10& 2)
R1O1(ANGLE R1?j R1jj)
R10@(DISTANCE R1?j R1jj))
(SETVAR"OSMODE"39)
(SETQ R1$Q(GETSTRING"\nTurn CCW? <Y>/N "))
(IF(OR(= R1$Q"Y")(= R1$Q""))(SETQ R1|1(- R1O1(/ PI 2))
R1%1(- R1O1 R101))
(SETQ R1|1(+ R1O1(/ PI 2))
R1%1(+ R1O1 R101)))
(SETQ R1?#(* R10@(/(SIN R1&&)(COS R1&&)))
R1@j(POLAR R1jj R1|1 R10&)
R1Qj(POLAR R1?j R1|1(+ R10& R1?#))
R1lj(POLAR R1Qj R1%1(/ R1$1(SIN R1Q&)))
R1&j(POLAR R1lj R1|1 R10&)
R1%Q(POLAR R1&j R1O1 R10@)
R1j1(POLAR R1%Q(+ PI R1|1)(+ R10& R1?#)))
(COMMAND".pLINE"R1&j"w"0 0 R1lj R1Qj R1?j R1jj R1@j R1j1 R1%Q R1&j
R1@@)
(COMMAND"CHANGE"(entlast)"""p""la""RHVACS-PIPEDUCT""")
(M:ON))
(DEFUN C:RADL()
(R1?Q)(R1&@)
(SETQ R1$Q(STRCASE(GETSTRING"\nElbow CCW? <Y> "))
R1@Q(IF(OR(= R1$Q"")(= R1$Q"Y"))R1@Q(- R1@Q)))
(SETVAR"OSMODE"39)
(PROMPT(STRCAT"\nC/L radius <"(RTOS(* 1.5 R10@)2 1)">: "))
(SETQ R1j#(GETDIST)
R1j#(IF R1j# R1j#(* 1.5 R10@))
R1l&(POLAR R1jj(ANGLE R1?j R1jj)(- R1j#(/ R10@ 2)))
R1@#(+(ANGLE R1jj R1?j)(* R1@Q(/ PI 180)))
R1@j(POLAR R1l& R1@#(DISTANCE R1l& R1jj))
R1Qj(POLAR R1@j R1@# R10@))
(IF(OR(= R1$Q"")(= R1$Q"Y"))
(COMMAND".PLINE"R1jj"W"0 0 R1?j"a""d"(ANGTOS(-(ANGLE R1?j R1jj)(/ PI
2)))
R1Qj"l"R1@j"a""d"(ANGTOS(- R1@#(/ PI 2)))R1jj R1@@)
(COMMAND".PLINE"R1jj"W"0 0 R1?j"a""d"(ANGTOS(+(ANGLE R1?j R1jj)(/ PI
2)))
R1Qj"l"R1@j"a""d"(ANGTOS(+ R1@#(/ PI 2)))R1jj R1@@))
(COMMAND"CHANGE"(entlast)"""p""la""RHVACS-PIPEDUCT""")
(M:ON))
(DEFUN C:RO2SQ()
(M:OFF)
(SETVAR"OSMODE"39)
(SETQ R1?j(GETPOINT"\nStart Point #1: ")
R1jj(GETPOINT R1?j"\nStart point #2: ")
R1Q#(DISTANCE R1?j R1jj))
(PROMPT(STRCAT"\nCurrent diameter is "(R1O R1Q#)))
(SETQ R1jl(GETDIST"\nNew width: ")
R1Ql(* 4(ABS(- R1Q# R1jl)))
R1Ql(IF(= R1Ql 0)6 R1Ql))
(PROMPT(STRCAT"\nLength <"(R1O R1Ql)">: "))
(SETQ R1ll(GETDIST R1jj)
R1ll(IF R1ll R1ll R1Ql))
(SETQ R1@j(POLAR R1?j(ANGLE R1?j R1jj)(/ R1Q# 2)))
(R1Q@)
(R1l@)
(SETQ R1&l(GETANGLE R1@j"\nDirection: ")
R1Qj(POLAR R1@j R1&l R1ll)
R1lj(POLAR R1Qj(ANGLE R1@j R1jj)(/ R1jl 2))
R1&j(POLAR R1lj(ANGLE R1jj R1@j)R1jl)
R1%Q(POLAR R1@j(ANGLE R1?j R1jj)(/ R1Q# 4))
R1j1(POLAR R1@j(ANGLE R1jj R1?j)(/ R1Q# 4))
R10@ R1jl)
(COMMAND".pLINE"R1j1"w"0 0 R1&j R1@j R1lj
R1%Q"""CHANGE"(ENTLAST)"""p""la""RHVACS-PIPEDUCT""")
(COMMAND".pLINE"R1&j R1?j R1jj
R1lj"C""CHANGE"(ENTLAST)"""p""la""RHVACS-PIPEDUCT""")
(M:ON))
(DEFUN C:RO90()(M:OFF)(SETVAR"OSMODE"39)(SETQ
R1l#(STRCASE(GETSTRING"\nElbow Up or Down: <U>/D "))R1?
j(GETPOINT"\nStart point #1: ")R1jj(GETPOINT R1?j"\nStart point #2:
")R10@(DISTANCE R1?j R1jj))(R1Q@)(R1l@)(SETQ R1#Q(GETANGLE R1?
j"\nDirection: ")R1&#(ANGLE R1?j R1jj))(PROMPT(STRCAT"\nCenter-line
radius: <"(R1O(* 1.5 R10@))"> "))(SETQ R1$Q(GETDIST)R1$Q(IF R1$Q
R1$Q(* 1.5 R10@))R1@j(POLAR R1?j R1#Q R1$Q)R1Qj(POLAR R1jj R1#Q R1$Q))
(COMMAND".pLINE"R1Qj"w"0 0 R1jj R1?j R1@j R1@@)
(COMMAND".Arc"R1Qj"e"R1@j"r"(/ R10@ 2))(COMMAND".Arc"R1@j"e"R1Qj"r"(/
R10@ 2))(IF(OR(= R1l#"D")(= R1l#"d"))(PROGN(SETVAR"HIGHLIGHT"1)
(PROMPT"\nSelect arc to hide: ")(SSGET)
(COMMAND".Change""p""""p""lt""DASHED""")))(M:ON))
(DEFUN C:RR90()
(M:OFF)
(SETVAR"OSMODE"39)
(SETQ R1l#(STRCASE(GETSTRING"\nElbow Up or Down? <U>/D "))
R11#(STRCASE(GETSTRING"Supply or Return? <S>/R "))
R11#(IF(= R11#"")"S")
R1j@(GETVAR"CELTYPE")
R1?j(GETPOINT"\nStart point #1: ")
R1jj(GETPOINT R1?j"\nStart point #2: ")
R10@(DISTANCE R1?j R1jj))
(R1&@)
(PROMPT(STRCAT"\nCenter-line radius: <"(R1O(* 1.5 R1#@))"> "))
(SETQ R1$Q(GETDIST)
R1$Q(IF R1$Q R1$Q(* 1.5 R1#@)))
(R1Q@)
(R1l@)
(SETQ R1&l(GETANGLE R1jj"\nDirection: ")
R1lj(POLAR R1jj R1&l(- R1$Q(/ R1#@ 2)))
R1&j(POLAR R1jj R1&l(+ R1$Q(/ R1#@ 2)))
R1@j(POLAR R1?j R1&l(- R1$Q(/ R1#@ 2)))
R1Qj(POLAR R1?j R1&l(+ R1$Q(/ R1#@ 2))))
(COMMAND".pLINE"R1?j"w"0 0 R1Qj R1&j R1jj"c")
(COMMAND"CHANGE"(ENTLAST)"""p""la""RHVACS-PIPEDUCT""")
(COND((OR(= R1l#"U")(= R1l#""))
(COMMAND".pLine"R1Qj R1lj R1@j(IF(= R11#"S")R1&j)R1@@))((= R1l#"D")
(COMMAND".Linetype""S""DASHED"R1@@)
(COMMAND".pLine"R1Qj R1lj R1@j(IF(= R11#"S")R1&j)R1@@)
(COMMAND".Linetype""S"R1j@ R1@@)))
(COMMAND"CHANGE"(ENTLAST)"""p""la""RHVACS-PIPEDUCT""")
(M:ON))
(DEFUN C:S90()(M:OFF)(SETVAR"OSMODE"39)(SETQ
R1l#(STRCASE(GETSTRING"\nElbow Up or Down? <U>/D
"))R11#(STRCASE(GETSTRING"Supply or Return? <S>/R "))R11#(IF(=
R11#"")"S")R1j@(GETVAR"CELTYPE")R1?j(GETPOINT"\nStart point #1:
")R1jj(GETPOINT R1?j"\nStart point #2: ")R10@(DISTANCE R1?j R1jj)R11@
T)(R1&@)(SETQ R10&(GETDIST"\nThroat <4>: ")R10&(IF R10& R10& 4)R11@
NIL)(R1Q@)(R1l@)(SETQ R1&l(GETANGLE R1jj"\nDirection: ")R1lj(POLAR
R1jj R1&l R10&)R1&j(POLAR R1jj R1&l(+ R10& R1#@))R1@j(POLAR R1?j R1&l
R10&)R1Qj(POLAR R1?j R1&l(+ R10& R1#@)))(COMMAND".pLINE"R1Qj"w"0 0 R1?
j R1jj R1&j"c")(COND((OR(= R1l#"U")(= R1l#""))(COMMAND".pLine"R1Qj
R1lj R1@j(IF(= R11#"S")R1&j)R1@@))((= R1l#"D")
(COMMAND".Linetype""S""DASHED"R1@@)(COMMAND".pLine"R1Qj R1lj R1@j(IF(=
R11#"S")R1&j)R1@@)(COMMAND".Linetype""S"R1j@ R1@@)))(M:ON))
(DEFUN C:SQ2RO()
(M:OFF)
(SETVAR"OSMODE"39)
(SETQ R1?j(GETPOINT"\nStart point #1: ")
R1jj(GETPOINT R1?j"\nStart point #2: ")
R10@(DISTANCE R1?j R1jj))
(SETQ R1Q#(GETDIST"\nDiameter for round: ")
R1Ql(* 3(ABS(- R10@ R1Q#))))
(PROMPT(STRCAT"\nLength <"(R1O R1Ql)">: "))
(SETQ R1ll(GETDIST R1jj)R1ll(IF R1ll R1ll R1Ql))
(R1Q@)
(R1l@)
(SETQ R1&l(GETANGLE R1jj"\nDirection: ")
R1@j(POLAR R1?j(ANGLE R1?j R1jj)(/ R10@ 2))
R1Qj(POLAR R1@j R1&l R1ll)
R1%Q(POLAR R1Qj(ANGLE R1@j R1jj)(/ R1Q# 2))
R1j1(POLAR R1%Q(ANGLE R1jj R1@j)R1Q#)
R10@(DISTANCE R1%Q R1j1)
R1lj(POLAR R1Qj(ANGLE R1?j R1jj)(/ R10@ 4))
R1&j(POLAR R1Qj(ANGLE R1jj R1?j)(/ R10@ 4)))
(COMMAND".pLINE"R1&j"w"0 0 R1?j R1Qj R1jj R1lj "")
(COMMAND"CHANGE"(ENTLAST)"""p""la""RHVACS-PIPEDUCT""")
(COMMAND".pLINE"R1j1 R1?j R1jj R1%Q"C")
(COMMAND"CHANGE"(ENTLAST)"""p""la""RHVACS-PIPEDUCT""")
(M:ON))
(DEFUN C:SQRL()(R1?Q)(SETQ R10&(GETDIST"\nThroat length: <2> ")
R10&(IF R10& R10& 2)R1Q&(* R1@Q(/ PI 180))ds(getvar "dimscale"))
(SETVAR"OSMODE"39)(SETQ R1$Q(STRCASE(GETSTRING"\nElbow CCW? <Y>/N: "))
R1?#(* R10@(/(SIN(/ R1Q& 2))(COS(/ R1Q& 2)))))
(IF(OR(= R1$Q"")(= R1$Q"Y"))
(SETQ R1&l(-(ANGLE R1?j R1jj)
(/ PI 2))R1O1(+ R1&l R1Q&))(SETQ R1&l(+(ANGLE R1?j R1jj)(/ PI 2))
R1O1(- R1&l R1Q&)))
(SETQ R1@j(POLAR R1jj R1&l R10&)
R1Qj(POLAR R1?j R1&l(+ R10& R1?#))
R1lj(POLAR R1Qj R1O1(+ R10& R1?#))
R1&j(POLAR R1@j R1O1 R10&))
(COMMAND".pLINE"R1&j"w"0 0 R1@j R1jj R1?j R1Qj R1lj R1&j R1@@)
(COMMAND "change" (entlast) "" "p" "la" "RHVACS-PIPEDUCT" "")
(IF(= R1@Q 90)(PROGN(COMMAND".Insert"(strcat #LCET14 "/TV")(COMMAND))
(COMMAND".Line"R1@j R1Qj R1@@)
(SETQ R1$l(ENTLAST)R1O#(POLAR R1@j(ANGLE R1@j R1Qj)1))
(COMMAND".Measure"R1O#"B""TV""Y"(* ds 0.0833333))
(ENTDEL R1$l)))
(M:ON))
(DEFUN C:SST()
(M:OFF)
(SETVAR"OSMODE"39)
(SETQ R1?j(GETPOINT"\nChange side: ")
R1#@ 1
R1jj(GETPOINT R1?j"\nStraight side: ")
R10@(DISTANCE R1?j R1jj)R1?l 1)
(WHILE R1?l
(SETQ R1jl(GETDIST"\nNew width: <no change> ")
R1jl(IF R1jl R1jl R10@)
R1@l(IF R1@l R1@l 1)
R1Ql(* 3.0(MAX(ABS(- R1#@ R1@l))(ABS(- R10@ R1jl)))))
(IF(= R1Ql 0)(PROMPT"*INVALID* Either depth or width must change")
(SETQ R1?l NIL)))
(PROMPT(STRCAT"\nLength <"(R1O R1Ql)">: "))
(SETQ R1ll(GETDIST R1jj)
R1ll(IF R1ll R1ll R1Ql))
(R1Q@)
(R1l@)
(SETQ R1&l(GETANGLE R1jj"Show direction: ")
R1@j(POLAR R1jj R1&l R1ll)
R1Qj(POLAR R1@j(ANGLE R1jj R1?j)R1jl)R10@ R1jl R1#@ R1@l)
(COMMAND".pLINE"R1Qj"w"0 0 R1?j R1jj R1@j R1Qj R1@@)
(COMMAND"CHANGE"(ENTLAST)"""p""la""RHVACS-PIPEDUCT""")
(M:ON))
(DEFUN C:TEE()
(M:OFF)
(SETVAR"OSMODE"39)
(SETQ R1%# 0 R1?0(GETINT"\nTee Type <1>/2/3: ")
R1?0(IF R1?0 R1?0 1)
R1?j(COND((= R1?0 1)(GETPOINT"\nElbow side: "))
((OR(= R1?0 2)(= R1?0 3))
(GETPOINT"\nSide for larger elbow: ")))
R1jj(GETPOINT"\nOpposite side: ")
T(GETDIST"\nMinimum throat length <4>: ")
T(IF T T 4)
R1##(ANGLE R1?j R1jj)
R1j0(+ R1## PI)
R1@0(GETDIST"\nWidth of elbow (or larger elbow): ")
R1@j(POLAR R1?j R1## R1@0)
R10@(DISTANCE R1?j R1jj))
(COND((= R1?0 3)
(SETQ R1%#(GETDIST"\nWidth of smaller elbow: ")
R1Q0 R1jj R1jj(POLAR R1jj R1j0 R1%#))))
(R1Q@)
(R1l@)
(R1&@)
(SETQ R1%@(GETANGLE R1?j"\nDirection to go: ")
R1l0(+ R1%@ PI)
R1Qj(POLAR R1@j R1%@(+ T R1@0))
R1lj(POLAR R1Qj R1j0(+ T R1@0))
R1&j(POLAR R1lj R1l0 R1@0)
R1%Q(POLAR R1&j R1## T))
(COND((OR(= R1?0 1)(= R1?0 3))
(SETQ R1j1(POLAR R1Qj R1%@ 3.0)
R1@1(POLAR R1j1 R1##(- R10@ R1@0 R1%#))
R1Q1(POLAR R1@1 R1l0 3.0)
R1l1(POLAR R1Q1 R1##(+ R1%# T))
R1&0(POLAR R1l1 R1l0 R1%#)
R110(POLAR R1&0 R1j0 T)))
((= R1?0 2)
(SETQ R1j1(POLAR R1Qj R1##(+(- R10@ R1@0)T))
R1@1(POLAR R1j1 R1l0(- R10@ R1@0))
R1Q1(POLAR R1@1 R1j0 T))))
(COND((= R1?0 1)
(COMMAND".pLine"R1@j"w"0 0 R1j1 R1@1 R1jj R1?j R1%Q R1&j R1lj R1Qj
R1@@"change"(entlast)"""p""la""RHVACS-PIPEDUCT"""))((= R1?0 2)
(COMMAND".pLine"R1?j"w"0 0 R1jj R1Q1 R1@1 R1j1 R1lj R1&j
R1%Q"c""change"(entlast)"""p""la""RHVACS-PIPEDUCT""""Line"R1Qj R1@j
R1@@"change"(entlast)"""p""la""RHVACS-PIPEDUCT"""))
((= R1?0 3)
(COMMAND".pLine"R1Q1"w"0 0 R1l1 R1&0 R110 R1Q0 R1?j R1%Q R1&j R1lj
R1Qj R1@@"change"(entlast)"""p""la""RHVACS-PIPEDUCT"""".pLine"R1@j
R1j1 R1@1 R1jj R1@@"change"(entlast)"""p""la""RHVACS-PIPEDUCT""")))
(SETQ R1l#(STRCASE(GETSTRING"\nAdd splitter damper? N/<Y>: ")))
(IF(= R1l#"N")NIL(PROGN(COMMAND".Line"R1@j(POLAR R1@j(- R1%@(* 0.95
PI))R1@0)R1@@)
(command"change"(entlast)"""p""la""RHVACS-PIPEDUCT""")
(COMMAND".Circle"R1@j 0.5"change"(entlast)"""p""la""RHVACS-
PIPEDUCT""")
(COND((= R1?0 3)
(COMMAND".Line"R1jj(POLAR R1jj(- R1%@(* 0.95 PI))R1@0)R1@@)
(command"change"(entlast)"""p""la""RHVACS-PIPEDUCT""")
(COMMAND".Circle"R1jj 0.5)))))
(command"change"(entlast)"""p""la""RHVACS-PIPEDUCT""")
(M:ON))
(DEFUN C:TV()(M:OFF)(SETVAR"OSMODE"39)(SETQ R1?j(GETPOINT"\nElbow's
throat: ")R1jj(GETPOINT R1?j"\nElbow's heel: "))(SETVAR"OSMODE"39)
(COMMAND".Insert"(strcat #LCET14 "/TV")(COMMAND))(COMMAND".Line"R1?j
R1jj R1@@)(SETQ R1$l(ENTLAST)R1O#(POLAR R1?j(ANGLE R1?j R1jj)1))
(COMMAND".Measure"R1O#"B""TV""Y"2.125)(ENTDEL R1$l)(M:ON))(c:sscale)
I could able understand your problem.
Routine is trying to insert a block in the drawing. There is a
variable [#LCET14] which is used to build block name. I guess this
varibale should contain a path.
example :
if user enters a diameter 3. Block name will be F3. If thisblock is
available as a drawing in some specified path like c:/temp/ we have to
set the variable #LCET14 with this path. If this is the case do one
thing. At the top of the lisp routine place the following line.
(setq #LCET14 "c:/temp")
I am just placing c:/temp. You can change as per your blocks/drawings
location.
Please let me know if this solves your problem.
Regards,
Sreekar Masani
> (IF R1#@(STRCAT"\nDepth: <"(R1O R1#@)"> ...
>
> read more »
I set the variable as you suggested and it appears to be working fine!
Thank you for your help! I wonder if it was a change in AutoCAD 2010
or Windows 7 that had this effect? I've been using this LISP routine
for many years without this issue.
Whatever the cause, your suggestion has fixed the issue and I thank
you once again for your assistance.
- Jason
> ...
>
> read more »