Author Topic: VVC: Internal Error - No command-s change needed  (Read 1150 times)

0 Members and 1 Guest are viewing this topic.

dropurbritches

  • Mosquito
  • Posts: 1
VVC: Internal Error - No command-s change needed
« on: September 20, 2020, 09:23:06 PM »
Attached is a command the one and only Lee Mac created about 10 years ago for me.  (Paid for, even though he insisted on not taking $).  I've recently reinstalled on a 2016 version and am getting an error thaqt I've never received with the same lisp on other machines.  Is there a variable I can change to fix?  Command has always been command-s.  But I continue to get Specify Next Point: VVC: Internal Error

Thank you for any help guys!



;; Example Command creation:

(defun c:dbl nil (dbl "d4cj@12"))

;; Example Macro creation:

;; ^C^C(dbl "d4cj@12")

;;----------------------------------------------------------------------------------------------;;
;; Sub function - call with blockname, blockname.dwg or C:\\My Folder\\blockname.dwg            ;;
;;----------------------------------------------------------------------------------------------;;

(defun dbl ( block / *error* _StartUndo _EndUndo _Mid doc vl ov b p1 p2 )
  (vl-load-com)
  ;; © Lee Mac 2010

  (defun *error* ( msg )
   
    (if ov  (mapcar 'setvar vl ov))
    (if doc (_EndUndo doc))
   
    (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
        (princ (strcat "\n** Error: " msg " **")))
    (princ)
  )

  (defun _StartUndo ( doc ) (_EndUndo doc)
    (vla-StartUndoMark doc)
  )

  (defun _EndUndo ( doc )
    (if (= 8 (logand 8 (getvar 'UNDOCTL)))
      (vla-EndUndoMark doc)
    )
  )

  (defun _Mid ( a b ) (mapcar '(lambda ( a b ) (/ (+ a b) 2.)) a b))

  (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))

  (setq vl '("CMDECHO") ov (mapcar 'getvar vl))

  (cond
    (
      (not (setq b (LM:ForceBlockDefinition block)))

      (princ (strcat "\n** " (vl-filename-base block) " block not Found **"))
    )
    (
      (= 4 (logand 4 (cdr (assoc 70 (tblsearch "LAYER" (getvar 'CLAYER))))))

      (princ "\n** Current Layer Locked **")
    )
    (
      (not
        (and
          (setq p1 (getpoint "\nSpecify First Point: "))
          (setq p2 (getpoint "\nSpecify Next Point: " p1))
        )
      )
    )
    (t
      (_StartUndo doc)
      (mapcar 'setvar vl '(0))

      (mapcar
        (function
          (lambda ( a b ) (vl-cmdf "_.leader" "_non" a "_non" b "" "" "_none"))
        )
        (list p1 p2) (list p2 p1)
      )
      (mapcar 'set '(p1 p2) (mapcar '(lambda ( x ) (trans x 1 0)) (list p1 p2)))

      (if
        (setq bEnt
          (entmakex
            (list
              (cons 0 "INSERT")
              (cons 2 b)
              (cons 10 (_Mid p1 p2))
              (cons 50 (LM:MakeReadable (angle p1 p2)))
            )
          )
        )
        (progn
          (vla-explode (vlax-ename->vla-object bEnt))
          (entdel bEnt)
        )
      )

      (mapcar 'setvar vl ov)
      (_EndUndo doc)
    )
  )

  (princ)
)   

;;---------------=={ Force Block Definition }==---------------;;
;;                                                            ;;
;;  Ensures, if possible, that a block definition is present  ;;
;;  in a drawing.                                             ;;
;;------------------------------------------------------------;;
;;  Author: Lee McDonnell, June 2010                          ;;
;;                                                            ;;
;;  Copyright © 2010 by Lee McDonnell, All Rights Reserved.   ;;
;;  Contact: Lee Mac @ TheSwamp.org, CADTutor.net             ;;
;;------------------------------------------------------------;;
;;  Arguments:                                                ;;
;;  block - block name or filename                            ;;
;;------------------------------------------------------------;;
;;  Returns:  Block name, else nil                            ;;
;;------------------------------------------------------------;;

(defun LM:ForceBlockDefinition ( block / path ext base )
  ;; © Lee Mac 2010
  (setq path  (vl-filename-directory block)
        ext   (vl-filename-extension block)
        base  (vl-filename-base block))

  (or ext (setq ext ".dwg")) 
  (or (eq "" path) (setq path (strcat path "\\")))
 
  (cond
    ( (tblsearch "BLOCK" base) base )

    ( (setq block (findfile (strcat path base ext)))

      (command-s "_.-insert" block) (command-s) base
    )
  )
)

;;-------------------=={ Make Readable }==--------------------;;
;;                                                            ;;
;;  Returns an angle corrected for text readability           ;;
;;------------------------------------------------------------;;
;;  Author: Lee McDonnell, 2010                               ;;
;;                                                            ;;
;;  Copyright © 2010 by Lee McDonnell, All Rights Reserved.   ;;
;;  Contact: Lee Mac @ TheSwamp.org, CADTutor.net             ;;
;;------------------------------------------------------------;;
;;  Arguments:                                                ;;
;;  a - angle to process                                      ;;
;;------------------------------------------------------------;;
;;  Returns:  angle corrected for text readability            ;;
;;------------------------------------------------------------;;

(defun LM:MakeReadable ( a )
  ;; © Lee Mac 2010
  (
    (lambda ( a )
      (cond
        (
          (and (> a (/ pi 2)) (<= a pi))

          (- a pi)
        )
        (
          (and (> a pi) (<= a (/ (* 3 pi) 2)))

          (+ a pi)
        )
        (
          a
        )
      )
    )
    (rem a (* 2 pi))
  )
)

(defun c:dbl nil (dbl "D4CJ@12.dwg"))

(defun c:dbl nil (dbl "D4CJ@16.dwg"))

(defun c:dbl nil (dbl "D6CJ@12.dwg"))

(defun c:dbl nil (dbl "D6CJ@16.dwg"))

(defun c:dbl nil (dbl "D8CJ@12.dwg"))

(defun c:dbl nil (dbl "D8CJ@16.dwg"))

(defun c:dbl nil (dbl "D8FJ@12.dwg"))

(defun c:dbl nil (dbl "D8FJ@16 TRTD.dwg"))

(defun c:dbl nil (dbl "D8FJ@16.dwg"))

(defun c:dbl nil (dbl "D10CJ@12.dwg"))

(defun c:dbl nil (dbl "D10CJ@16.dwg"))

(defun c:dbl nil (dbl "D10FJ@16 TRTD.dwg"))

(defun c:dbl nil (dbl "D10FJ@16 TYP.dwg"))

(defun c:dbl nil (dbl "D10FJ@16.dwg"))