• Industries
  • Products
  • Buy
  • Services & Support
  • Communities
  • Visual LISP, AutoLISP and General Customization

    Reply
    Active Member
    iramos.israel
    Posts: 6
    Registered: ‎02-24-2011

    Mleader lisp - Help please!!!

    340 Views, 4 Replies
    05-03-2012 10:09 AM

    if anyone can or want to help, I need help removing the "Invalid Input" message. The routine works its just that message.

     

    Thanks

    Israel Ramos

     

    (defun c:KeyLeader ()
    ;;=======================
    (setvar "CMDECHO" 0)

    ;(setvar "ATTDIA" 0)
    ;(setvar "ATTREQ" 0)
    ;;=======================

    (setq |get:CLAYER| (getvar "CLAYER"))
    (setq *error* *KeyNote_error*)

    (command "_.LAYER" "M" "E-TEXT" "C" "7" "" "")
    ;-LAYER;M;E-TEXT;C;7;;;
        (setq |TagNo| (getstring "\nSpecify Tag No. :"))
      ;;;;;;;;;(setq |pt1| (getpoint "\nSpecify point: "))    
        (setvar "NOMUTT" 1)
      ;;;;;;;;;(command "_.MLEADER" pause pause |TagNo|)

      (command "_.MLEADER" |pt1|)
      ;;;;;;;;;(command "_.MLEADER")
      ;;;;;;(while (= (getvar "CMDACTIVE") 1) (command pause |TagNo|))
        (while (eq (logand 1 (getvar 'CMDACTIVE)) 1) (command pause |TagNo|))
      (setvar "NOMUTT" 0)
    (princ)

                
    (setvar "CLAYER" |get:CLAYER|)
    (setvar "CMDECHO" 1)
    (princ)
    )
    ;;========================================================================
    (defun c:TableSearch->Block ()
    (setq |BlockName| "SL_DimText")
        (if    (=(null(tblsearch "BLOCK" "HexKey"))T)
            (progn
                (command "_.INSERT" (strcat "C:\\Dropbox\\SL_Acad2012\\Templates\\" |BlockName| ".dwg") "0,0" ".01" ".01" "0")
                (setq |Erase:Blk| (entlast))
                (command "ERASE" |Erase:Blk| "")
                ;(command "_.PURGE" "B" |BlockName| "N")
            )
        )
    (princ)
    )
    ;;========================================================================
    (defun c:HexArrow ()

    (c:TableSearch->Block)
    (setvar "CMLEADERSTYLE" "HexArrow")
    (c:KeyLeader)
    (princ)
    )
    ;;========================================================================
    (defun *KeyNote_error* (msg)
    (setvar "CLAYER" |get:CLAYER|)
    (setvar "CMDECHO" 1)
    (princ)
    )
    (princ)

    Please use plain text.
    *Expert Elite*
    Posts: 2,066
    Registered: ‎11-24-2009

    Re: Mleader lisp - Help please!!!

    05-03-2012 08:46 PM in reply to: iramos.israel

    (setvar "ATTREQ" 1)

    (setvar "ATTDIA" 0)

     

    Variable |pt1| not defined, you can use

    (command "_.MLEADER" (getpoint) |TagNo|)

     

    or prompt for |pt1|

    (setq |TagNo| (getstring "\nSpecify Tag No. :")
               |pt1| (getpoint "\nPick point"))

    (command "_.MLEADER" |pt1| |TagNo|)

     

    no need for this

    (while (eq (logand 1 (getvar 'CMDACTIVE)) 1) (command pause |TagNo|))

     

    Unless you are planning  to loop the command

    (setq |TagNo| (getstring "\nSpecify Tag No. :")

    (while (setq |pt1| (getpoint "\nSpecify point: "))
     (command "_.MLEADER" |pt1| |TagNo| pause)
            (setq |TagNo| (itoa
                                        (1+ (atoi |TagNo|)))))

     

    HTH

    Please use plain text.
    Active Member
    iramos.israel
    Posts: 6
    Registered: ‎02-24-2011

    Re: Mleader lisp - Help please!!!

    05-05-2012 09:15 PM in reply to: pbejse

    Thank you very much!

    I really appreciate the help, please let me know if I can do anything to return the favor.

     

    Israel Ramos

     

     

    Please use plain text.
    *Expert Elite*
    Posts: 2,066
    Registered: ‎11-24-2009

    Re: Mleader lisp - Help please!!!

    05-06-2012 12:11 AM in reply to: iramos.israel

    iramos.israel wrote:

    Thank you very much!

    I really appreciate the help, please let me know if I can do anything to return the favor.

     

    Israel Ramos


    Glad i could help Israel  If there's anything else you need  dont hesitate to ask.

     

    Cheers.

     


     

    Please use plain text.
    Active Member
    iramos.israel
    Posts: 6
    Registered: ‎02-24-2011

    Re: Mleader lisp - Help please!!!

    12-11-2012 10:07 AM in reply to: pbejse

     

    This is the final code for the Mleader lisp. Thanks to those who helped me get it together.

     

    Israel Ramos

    CAD/BIM Operator

    ;;========================================================================
    ;
    ;;========================================================================
    (defun c:HexArrow ()

    (c:TableSearch->Block)
    (setvar 'CMLEADERSTYLE "HexArrow")

    (c:Arrow_MLeader)

    (princ)
    )
    ;;========================================================================
    (defun c:MchArrow ()

    (c:TableSearch->Block)

    (setvar'CMLEADERSTYLE "MchArrow")

    (c:Arrow_MLeader)

    (princ)
    )
    ;;========================================================================
    (defun c:EqpArrow ()

    (c:TableSearch->Block)

    (setvar 'CMLEADERSTYLE "EqpArrow")

    (c:Arrow_MLeader)

    (princ)
    )
    ;;========================================================================
    (defun c:TextArrow ()

    (c:TableSearch->Block)

    (setvar 'CMLEADERSTYLE "TxtArrow")

    (c:Arrow_MLeader)

    (princ)
    )
    ;;========================================================================
    ;;
    ;;========================================================================
    (defun c:HexTag ()

    (c:TableSearch->Block)

    (setvar 'CMLEADERSTYLE "HexTag")

    (c:Tag_MLeader)

    (princ)
    )
    ;;========================================================================
    (defun c:MchTag ()

    (c:TableSearch->Block)
    (setvar 'CMLEADERSTYLE "MchTag")

    (c:Tag_MLeader)

    (princ)
    )
    ;;========================================================================
    (defun c:EqpTag ()

    (c:TableSearch->Block)

    (setvar 'CMLEADERSTYLE "EqpTag")

    (c:Tag_MLeader)

    (princ)
    )
    ;;========================================================================
    ;;
    ;;========================================================================
    (defun c:HexLoop ()

    (c:TableSearch->Block)

    (setq |PFX| "Hex")

    (c:Loop_MLeader)

    (princ)
    )
    ;;========================================================================
    (defun c:MchLoop ()

    (c:TableSearch->Block)

    (setq |PFX| "Mch")

    (c:Loop_MLeader)

    (princ)
    )
    ;;========================================================================
    (defun c:EqpLoop ()

    (c:TableSearch->Block)

    (setq |PFX| "Eqp")

    (c:Loop_MLeader)

    (princ)
    )
    ;;========================================================================
    (defun c:TextLoop ()

    (c:TableSearch->Block)

    (setq |PFX| "Txt")

    (c:Loop_MLeader)

    (princ)
    )
    ;;========================================================================
    ;;
    ;;========================================================================

    ;;========================================================================
    ;;
    ;;========================================================================
    (defun c:Tag_MLeader ()

    (setvar 'CMDECHO 0)
    (setvar 'ATTREQ 1)
    (setvar 'ATTDIA 0)

    (setq |clayer| (getvar 'CLAYER))
    (setq |orthomode| (getvar 'ORTHOMODE))
    (setvar 'ORTHOMODE 1)

    (setq *error* *KeyNote_error*)

    (command "_.LAYER" "M" "E-KEYNOTE" "C" "7" "" "LW" "0.35" "" "")

    (setq |TagNo| (getstring "\nSpecify Tag No. :"))

    (while |TagNo|
    (command "_.MLEADER" "H" pause |TagNo|)
    )

    (princ)
    )
    ;;========================================================================
    ;;
    ;;========================================================================
    (defun c:Arrow_MLeader ()

    (setvar 'CMDECHO 0)
    (setvar 'ATTREQ 1)
    (setvar 'ATTDIA 0)

    (setq |clayer| (getvar 'CLAYER))
    (setq |orthomode| (getvar 'ORTHOMODE))
    (setvar 'ORTHOMODE 1)

    (setq *error* *KeyNote_error*)

    (command "_.LAYER" "M" "E-KEYNOTE" "C" "7" "" "LW" "0.35" "" "")

    (setq |TagNo| (getstring "\nSpecify Tag No. :"))

    (while
    (setq |pt1| (getpoint "\nSpecify point: "))
    (command "_.MLEADER" "H" |pt1| (progn (initget 32)(getpoint |pt1|)) pause |TagNo|)

    )

    (princ)
    )
    ;;========================================================================
    ;;
    ;;========================================================================
    (defun c:Loop_MLeader ()

    (setvar 'CMDECHO 0)
    (setvar 'ATTREQ 1)
    (setvar 'ATTDIA 0)

    (setq |clayer| (getvar 'CLAYER))
    (setq |orthomode| (getvar 'ORTHOMODE))
    (setvar 'ORTHOMODE 1)

    (setq *error* *KeyNote_error*)

    (command "_.LAYER" "M" "E-KEYNOTE" "C" "7" "" "LW" "0.35" "" "")

    (setq |TagNo| (getstring "\nSpecify Text. :"))

    ;;========================================================================

    (while
    (setq |pt1| (getpoint "\nSpecify Start Point: "))
    (initget 32)
    (setq |pt2| (getpoint |pt1| "\nSpecify Next Point: "))
    (command "_.LINE" |pt1| |pt2| "")
    (setq |Line| (entlast))
    (initget 32)
    (setq |pt3| (getpoint |pt2| "\nSpecify Loop Direction: "))
    (command "_.ERASE" |Line| "")
    (setq |Angle| (*(angle |pt1| |pt3|) (/ 180 pi)))

    (progn
    (setq |X1| (car |pt1|))
    (setq |Y1| (cadr |pt1|))

    (setq |X2| (car |pt2|))
    (setq |Y2| (cadr |pt2|))

    (setq |pt3| (list |X1| |Y2|))
    )
    ;;========================================================================

    (cond
    ((and(> |Angle| 0)(<= |Angle| 90)) (setq |SFX| "Loop2"))
    ((and(> |Angle| 90)(<= |Angle| 180)) (setq |SFX| "Loop1"))
    ((and(> |Angle| 180)(<= |Angle| 270)) (setq |SFX| "Loop2"))
    ((and(>= |Angle| 270)(< |Angle| 360)) (setq |SFX| "Loop1"))
    )
    (setvar 'CMLEADERSTYLE (strcat |PFX| |SFX|))

    ;;========================================================================

    (command "_.MLEADER" "H" |pt1| |pt2| pause |TagNo|)
    )

    ;;========================================================================

    (princ)
    )
    ;;========================================================================
    ;;
    ;;========================================================================
    (defun c:TableSearch->Block ()
    (setvar 'CMDECHO 0)
    (setq |BlockName| "SL_DimText")
    (if (=(null(tblsearch "BLOCK" "HexKey"))T)
    (progn
    (command "_.INSERT" (strcat "X:\\SL_Acad2013\\cuix\\05-Symbols\\" |BlockName| ".dwg") "0,0" ".01" ".01" "0")
    (setq |Erase:Blk| (entlast))
    (command "ERASE" |Erase:Blk| "")
    (command "_.PURGE" "B" |BlockName| "N")
    )
    )
    (if (=(null(tblsearch "BLOCK" "EqpKey"))T)
    (progn
    (command "_.INSERT" (strcat "X:\\SL_Acad2013\\cuix\\05-Symbols\\" |BlockName| ".dwg") "0,0" ".01" ".01" "0")
    (setq |Erase:Blk| (entlast))
    (command "ERASE" |Erase:Blk| "")
    (command "_.PURGE" "B" |BlockName| "N")
    )
    )
    (if (=(null(tblsearch "BLOCK" "MchKey1"))T)
    (progn
    (command "_.INSERT" (strcat "X:\\SL_Acad2013\\cuix\\05-Symbols\\" |BlockName| ".dwg") "0,0" ".01" ".01" "0")
    (setq |Erase:Blk| (entlast))
    (command "ERASE" |Erase:Blk| "")
    (command "_.PURGE" "B" |BlockName| "N")
    )
    )
    (princ)
    )
    ;;========================================================================
    ;;
    ;;========================================================================
    (defun *KeyNote_error* (msg)

    (setq |TagType| nil)
    (setq |TagNo| nil)
    (setvar 'CLAYER |clayer|)
    (setvar 'ORTHOMODE |orthomode|)
    (setvar 'NOMUTT 0)

    (setvar 'ATTREQ 1)
    (setvar 'ATTDIA 1)
    (setvar 'CMDECHO 1)
    (princ)
    )
    ;;========================================================================
    ;;
    ;;========================================================================
    (princ)

    Please use plain text.