Jump to content

; error: Exception occurred: 0xC0000005 (Access Violation)


CadFrank

Recommended Posts

Hello I would like to know if anyone ever saw this error .

 

; error: Exception occurred: 0xC0000005 (Access Violation)

; warning: unwind skipped on unknown exception

 

and If they know how to fix it.. because when I run my code it does that.

 

Thank for the help !

 

Cheers & Beers

Link to comment
Share on other sites

It must be a secret code.

 

How about you provide us with a wee bit more information OK there Frank? Thanks.

 

Do you know the line of code that forced the error?

Link to comment
Share on other sites

Yes I do, Thing is when i run this part of code alone in another file.lsp it runs perfect. so ill post both codes and this goes with the tread Visual Lisp & Look up. but since it was a seperate question from the code i didnt put it in it.

 

Now here's the full code :

 

;¦¦¦ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¦¦¦;
;¦¦¦               CE PROGRAM EST CONÇU POUR DESSINNER UN PLAN               ¦¦¦;
;¦¦¦                     DE GRUE À TOUR LINDEN COMANSA                       ¦¦¦;
;¦¦¦ _______________________________________________________________________ ¦¦¦;

;¦¦¦ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¦¦¦;
;¦¦¦                   AUTEUR : CadFrank, Copyright ® 2012                   ¦¦¦;
;¦¦¦ _______________________________________________________________________ ¦¦¦;


;¦¦¦              Ce sous-program défini le rayon de la fleche               ¦¦¦;
;¦¦¦                               Vue en plan                               ¦¦¦;


(defun Fleche (/ pt1 p-itm P-fleche p-dbp p-bp p-ListeAdmis)

 (setq pt1 (getpoint "\n Selection le point d'implantation de la grue : "))

      (setq P-fleche  
             (vla-insertblock
               (vla-get-modelspace
                 (vla-get-activedocument
                   (vlax-get-acad-object)))
                     (vlax-3d-point pt1) "LC FLECHE" 1 1 1 0)
        
          );setq fleche
         
     (setq p-dbp (vla-getdynamicblockproperties P-fleche))
     (setq p-dbp (vlax-variant-value p-dbp))
     (setq p-dbp (vlax-safearray->list p-dbp))
     (setq p-bp (car p-dbp))
     (setq p-ListeAdmis (vlax-safearray->list (vlax-variant-value (vla-get-AllowedValues p-bp))))
     (setq p-ListeAdmis (mapcar 'vlax-variant-value p-ListeAdmis))
     (vla-put-value p-bp (strcat R-Fleche " m"))

   

);defun "fin du sous-program FLECHE"
 

;¦¦¦              Ce sous-program défini le rayon de la fleche               ¦¦¦;
;¦¦¦                                21 LC 170                                ¦¦¦;


(defun Fleche170 (/ f-itm B-fleche f-dbp f-bp f-ListeAdmis)

 
 
   (foreach
      f-itm '(("LC CHARGE 170" . (0 70000 0))
              ("LC C-P 170" . (8000 70000 0))
              ("LC B-T 170" . (20000 70000 0))
          ("LC FLECHE 170" . (0 0 0))
             )
   
      (setq B-fleche  
             (vla-insertblock
               (vla-get-modelspace
                 (vla-get-activedocument
                   (vlax-get-acad-object)))
                     (vlax-3d-point (cdr f-itm)) (car f-itm) 1 1 1 0)

          );setq fleche

     (setq f-dbp (vla-getdynamicblockproperties B-fleche))
     (setq f-dbp (vlax-variant-value f-dbp))
     (setq f-dbp (vlax-safearray->list f-dbp))
     (setq f-bp (car f-dbp))
     (setq f-ListeAdmis (vlax-safearray->list (vlax-variant-value (vla-get-AllowedValues f-bp))))
     (setq f-ListeAdmis (mapcar 'vlax-variant-value f-ListeAdmis))
     (vla-put-value f-bp (strcat R-Fleche " m"))

   );foreach

); defun "fin du sous-program Fleche"


;¦¦¦              Ce sous-program défini le rayon de la fleche               ¦¦¦;
;¦¦¦                                21 LC 210                                ¦¦¦;


(defun Fleche210 (/ f-itm B-fleche f-dbp f-bp f-ListeAdmis)



   (foreach
      f-itm '(("LC CHARGE 210" . (0 70000 0))
              ("LC C-P 210" . (8000 70000 0))
              ("LC B-T 210" . (20000 70000 0))
          ("LC FLECHE 210" . (0 0 0))
             )
   
      (setq B-fleche  
             (vla-insertblock
               (vla-get-modelspace
                 (vla-get-activedocument
                   (vlax-get-acad-object)))
                     (vlax-3d-point (cdr f-itm)) (car f-itm) 1 1 1 0)

          );setq fleche
         
     (setq f-dbp (vla-getdynamicblockproperties B-fleche))
     (setq f-dbp (vlax-variant-value f-dbp))
     (setq f-dbp (vlax-safearray->list f-dbp))
     (setq f-bp (car f-dbp))
     (setq f-ListeAdmis (vlax-safearray->list (vlax-variant-value (vla-get-AllowedValues f-bp))))
     (setq f-ListeAdmis (mapcar 'vlax-variant-value f-ListeAdmis))
     (vla-put-value f-bp (strcat R-Fleche " m"))

   );foreach

); defun "fin du sous-program Fleche"

;¦¦¦              Ce sous-program défini le rayon de la fleche               ¦¦¦;
;¦¦¦                                21 LC 290                                ¦¦¦;


(defun Fleche290 (/ f-itm B-fleche f-dbp f-bp f-ListeAdmis)



   (foreach
      f-itm '(("LC CHARGE 290" . (0 70000 0))
              ("LC C-P 290" . (8000 70000 0))
              ("LC B-T 290" . (20000 70000 0))
          ("LC FLECHE 290" . (0 0 0))
             )
   
      (setq B-fleche  
             (vla-insertblock
               (vla-get-modelspace
                 (vla-get-activedocument
                   (vlax-get-acad-object)))
                     (vlax-3d-point (cdr f-itm)) (car f-itm) 1 1 1 0)
        
          );setq fleche
         
     (setq f-dbp (vla-getdynamicblockproperties B-fleche))
     (setq f-dbp (vlax-variant-value f-dbp))
     (setq f-dbp (vlax-safearray->list f-dbp))
     (setq f-bp (car f-dbp))
     (setq f-ListeAdmis (vlax-safearray->list (vlax-variant-value (vla-get-AllowedValues f-bp))))
     (setq f-ListeAdmis (mapcar 'vlax-variant-value f-ListeAdmis))
     (vla-put-value f-bp (strcat R-Fleche " m"))

   );foreach

); defun "fin du sous-program Fleche"


;¦¦¦              Ce sous-program défini le rayon de la fleche               ¦¦¦;
;¦¦¦                                21 LC 550                                ¦¦¦;


(defun Fleche550 (/ f-itm B-fleche f-dbp f-bp f-ListeAdmis)


 
   (foreach
      f-itm '(("LC CHARGE 550" . (0 70000 0))
              ("LC C-P 550" . (8000 70000 0))
              ("LC B-T 550" . (20000 70000 0))
          ("LC FLECHE 550" . (0 0 0))
             )
   
      (setq B-fleche  
             (vla-insertblock
               (vla-get-modelspace
                 (vla-get-activedocument
                   (vlax-get-acad-object)))
                     (vlax-3d-point (cdr f-itm)) (car f-itm) 1 1 1 0)
        
          );setq fleche
         
     (setq f-dbp (vla-getdynamicblockproperties B-fleche))
     (setq f-dbp (vlax-variant-value f-dbp))
     (setq f-dbp (vlax-safearray->list f-dbp))
     (setq f-bp (car f-dbp))
     (setq f-ListeAdmis (vlax-safearray->list (vlax-variant-value (vla-get-AllowedValues f-bp))))
     (setq f-ListeAdmis (mapcar 'vlax-variant-value f-ListeAdmis))
     (vla-put-value f-bp (strcat R-Fleche " m"))

   );foreach

); defun "fin du sous-program Fleche"


;¦¦¦                      Se sous-programme sélectionne la                   ¦¦¦;
;¦¦¦                             Séquence de Montage                         ¦¦¦;


(defun Sequence_Montage (/ pt1 blk)

 (if (= typ-grue "170")(setq pt1 '((40000 70000 0) . "LC S-M 170")))
 (if (= typ-grue "210")(setq pt1 '((40000 70000 0) . "LC S-M 210")))
 (if (= typ-grue "290")(setq pt1 '((40000 70000 0) . "LC S-M 290")))
 (if (= typ-grue "550")(setq pt1 '((40000 70000 0) . "LC S-M 550")))
 
 (if (setq blk   (vla-insertblock
               (vla-get-modelspace
                 (vla-get-activedocument
                   (vlax-get-acad-object)))
                     (vlax-3d-point (car pt1)) (cdr pt1) 1 1 1 0)

 )
 (progn (setq  f-dbp (car (vlax-invoke blk 'GetDynamicBlockProperties)))
        (vla-put-value  f-dbp (strcat R-fleche " m"))
         (vla-put-textstring (car (vlax-invoke blk 'GetAttributes)) N-tour)
         )
     )
  
 (princ)

);fin


;¦¦¦               Ce sous-programme défini le nombre de tour                ¦¦¦;


(defun TourS25 (/ B-tour t-dbp t-bp)
 
 (foreach
    t-itm '(("LC TOUR S25" . (0 0 0))
       )
   
           (setq B-tour  
            (vla-insertblock
               (vla-get-modelspace
                 (vla-get-activedocument
                   (vlax-get-acad-object)))
                     (vlax-3d-point (cdr t-itm)) (car t-itm) 1 1 1 0)
    
           );setq tour
 
 (setq t-dbp (vla-getdynamicblockproperties B-tour))
 (setq t-dbp (vlax-variant-value t-dbp))
 (setq t-dbp (vlax-safearray->list t-dbp))
 (setq t-bp (caddr t-dbp))
 (setq t-ListeAdmis (vlax-safearray->list (vlax-variant-value (vla-get-AllowedValues t-bp))))
 (setq t-ListeAdmis (mapcar 'vlax-variant-value t-ListeAdmis))
 (vla-put-value t-bp N-tour)

 );foreach

);defun "fin du sous-programme Tour"


;¦¦¦               Ce sous-programme défini le nombre de tour                ¦¦¦;

(defun TourD33 (/ B-tour t-dbp t-bp)
 
 (foreach
    t-itm '(("LC TOUR D33" . (0 0 0))
       )
   
           (setq B-tour  
            (vla-insertblock
               (vla-get-modelspace
                 (vla-get-activedocument
                   (vlax-get-acad-object)))
                     (vlax-3d-point (cdr t-itm)) (car t-itm) 1 1 1 0)
    
           );setq tour
 
 (setq t-dbp (vla-getdynamicblockproperties B-tour))
 (setq t-dbp (vlax-variant-value t-dbp))
 (setq t-dbp (vlax-safearray->list t-dbp))
 (setq t-bp (car t-dbp))
 (setq t-ListeAdmis (vlax-safearray->list (vlax-variant-value (vla-get-AllowedValues t-bp))))
 (setq t-ListeAdmis (mapcar 'vlax-variant-value t-ListeAdmis))
 (vla-put-value t-bp N-tour)

 );foreach

);defun "fin du sous-programme Tour"

;¦¦¦                       Se sous-programme sélectionne                     ¦¦¦;
;¦¦¦                              le tableau des                             ¦¦¦;
;¦¦¦                          Dispositifs de Sécurité                        ¦¦¦;

(Defun Dispositif (/ pt2 D-S-blk D-S-dbp V-AGS)

 (setq pt2 '((40000 55000 0) . "LC D-S TEXTE"))
 (if (= S-AGS "Oui")(setq V-AGS "AVEC AGS"))
 (if (= S-AGS "Non")(setq V-AGS "SANS AGS"))
 
 (if (setq D-S-blk (vla-insertblock
               (vla-get-modelspace
                 (vla-get-activedocument
                   (vlax-get-acad-object)))
                     (vlax-3d-point (car pt2)) (cdr pt2) 1 1 1 0)

     )
   (progn (setq  D-S-dbp (car (vlax-invoke D-S-blk 'GetDynamicBlockProperties)))
          (vla-put-value  D-S-dbp V-AGS )
         
   )
 )
 
 (princ)

); fin

;¦¦¦                            Se sous-programme                            ¦¦¦;
;¦¦¦                       Applique les Notes du courant                     ¦¦¦;
;¦¦¦                               Éléctrique                                ¦¦¦;


(defun CourantElect (/ pt4 N-E-dbp C-E N-E-blk)
 
 (setq pt4 '((40000 80000 0) . "LC TEXTE ELECT"))

 
  (vla-insertblock
               (vla-get-modelspace
                 (vla-get-activedocument
                   (vlax-get-acad-object)))
                     (vlax-3d-point (car pt4)) (cdr pt4) 1 1 1 0)
  
  (progn (setq  N-E-dbp (car (vlax-invoke N-E-blk 'GetDynamicBlockProperties)))
         (vla-put-value  N-E-dbp C-E )
  )

 (princ)
  

);fin du sous-programme CourantElect


;¦¦¦                           Début du Programme                            ¦¦¦;


(defun c:grue (/ typ-Grue R-fleche N-tour)

 (vl-load-com)
 (initget 1 "170 210 290 550")
 (setq typ-Grue (getkword "\n Donner le type de grue [170/210/290/550] : ")) 
   
   (cond ((= typ-Grue "170")
             (initget 1 "60 54 50 44 40 34 30")
             (setq R-Fleche (getkword "\n Donner le rayon de la flèche [60/54/50/44/40/34/30] : ")))
   )      
   (cond ((= typ-Grue "210")
             (initget 1 "64 60 54 50 44 40 34 30")
         (setq R-Fleche (getkword "\n Donner le rayon de la flèche [64m/60m/54m/50m/44/40/34/30] : ")))
   )
   (cond ((= typ-Grue "290")
             (initget 1 "74 70 64 60 54 50 44 40")
         (setq R-Fleche (getkword "\n Donner le rayon de la flèche [74/70/64/60/54/50/44/40] : ")))
   )
   (cond ((= typ-Grue "550")
             (initget 1 "80 74 70 64 60 50 40")
             (setq R-Fleche (getkword "\n Donner le rayon de la flèche [80/74/70/64/60/50/40] : ")))
   )
 
 (initget 1 "4 5 6 7 8 9 10 11")
 (setq N-tour (getkword "\n Donner le nombre de tour [4/5/6/7/8/9/10/11] : "))
 
 (initget 1 "Oui,O Non,N")
 (Setq S-AGS (getkword "\n La grue a-t-elle besoin d'un système Anticolision? [O/N]"))

 (initget 1 "5.0 5.5 6.0 6.5 7.0 7.5 8.0 8.5 9.0 9.5 10.0")
 (setq D-Base (getkword "\n Donner la Dimension de la base : [5.0/5.5/6.0/6.5/7.0/7.5/8.0/8.5/9.0/9.5/10.0] : "))
 
 (initget 1 "1.50 1.55 1.60 1.65 1.70 1.75 1.80 1.85 1.90 1.95 2.00")
 (setq H-Base (getkword "\n Donner le hauteur de la base : [1.50/1.55/1.60/1.65/1.70/1.75/1.80/1.85/1.90/1.95/2.00] : "))

 (Fleche)
 (if (= typ-Grue "170")(Fleche210))
 (if (= typ-Grue "210")(Fleche210))
 (if (= typ-Grue "290")(Fleche290))
 (if (= typ-Grue "550")(Fleche550))
 (Sequence_Montage)
 (if (= typ-Grue "170")(TourS25))
 (if (= typ-Grue "210")(TourS25))
 (if (= typ-Grue "290")(TourS25))
 (if (= typ-Grue "550")(TourD33))
 (Dispositif)
 (CourantElect)
 (BaseBeton)
 
 (princ)
 
);defun c


;¦¦¦                            Se sous-programme                            ¦¦¦;
;¦¦¦                        Détermine les dimension de                       ¦¦¦;
;¦¦¦                            la base de béton                             ¦¦¦;


(defun BaseBeton (/ pt5 B-B-blk B-B-dbp B-B-bp B-B-ListeAdmis)

 (foreach
    pt5 '(("LC BASES" . (60000 60000 0))
       )
 
 (setq B-B-blk (vla-insertblock
               (vla-get-modelspace
                 (vla-get-activedocument
                   (vlax-get-acad-object)))
                     (vlax-3d-point (cdr pt5)) (car pt5) 1 1 1 0)
 )
   
 (setq B-B-dbp (vla-getdynamicblockproperties B-B-blk)) 
 (setq B-B-dbp (vlax-variant-value B-B-dbp))
 (setq B-B-dbp (vlax-safearray->list B-B-dbp))
 (setq B-B-bp (car (cdr (cdr (cdr (cdr (cdr (cdr (cdr (cdr (cdr B-B-dbp)))))))))))
 (setq B-B-ListeAdmis (vlax-safearray->list (vlax-variant-value (vla-get-AllowedValues B-B-bp))))
 (setq B-B-ListeAdmis (mapcar 'vlax-variant-value B-B-ListeAdmis))
 (vla-put-value B-B-bp (strcat D-Base " m"))       


 (setq B-B-dbp (vla-getdynamicblockproperties B-B-blk)) 
 (setq B-B-dbp (vlax-variant-value B-B-dbp))
 (setq B-B-dbp (vlax-safearray->list B-B-dbp))
 (setq B-B-bp (car (cdr (cdr (cdr (cdr (cdr (cdr (cdr (cdr B-B-dbp))))))))))
 (setq B-B-ListeAdmis (vlax-safearray->list (vlax-variant-value (vla-get-AllowedValues B-B-bp))))
 (setq B-B-ListeAdmis (mapcar 'vlax-variant-value B-B-ListeAdmis))
 (vla-put-value B-B-bp (strcat H-Base " m"))
   
 );foreach
  
 (princ)

); fin

 

Ok so now like it only doesnt work in the full code. Also the part not working happens

 

here :

 (setq B-B-dbp (vla-getdynamicblockproperties B-B-blk)) 

Link to comment
Share on other sites

Part of Code working

 

(defun c:BB (/ pt5 B-B-blk B-B-dbp)
 
 (initget 1 "5.0 5.5 6.0 6.5 7.0 7.5 8.0 8.5 9.0 9.5 10.0")
 (setq D-Base (getkword "\n Donner la Dimension de la base : [5.0/5.5/6.0/6.5/7.0/7.5/8.0/8.5/9.0/9.5/10.0] : "))
 
 (initget 1 "1.50 1.55 1.60 1.65 1.70, 1.75 1.80 1.85 1.90 1.95 2.00")
 (setq H-Base (getkword "\n Donner le hauteur de la base : [1.50/1.55/1.60/1.65/1.70/1.75/1.80/1.85/1.90/1.95/2.00] : "))
 
 (foreach
    pt5 '(("LC BASES" . (60000 60000 0))
       )
 
 (setq B-B-blk (vla-insertblock
               (vla-get-modelspace
                 (vla-get-activedocument
                   (vlax-get-acad-object)))
                     (vlax-3d-point (cdr pt5)) (car pt5) 1 1 1 0)
 )

 (setq B-B-dbp (vla-getdynamicblockproperties B-B-blk)) 
 (setq B-B-dbp (vlax-variant-value B-B-dbp))
 (setq B-B-dbp (vlax-safearray->list B-B-dbp))
 (setq B-B-bp (car (cdr (cdr (cdr (cdr (cdr (cdr (cdr (cdr (cdr B-B-dbp)))))))))))
 (setq B-B-ListeAdmis (vlax-safearray->list (vlax-variant-value (vla-get-AllowedValues B-B-bp))))
 (setq B-B-ListeAdmis (mapcar 'vlax-variant-value B-B-ListeAdmis))
 (vla-put-value B-B-bp (strcat D-Base " m"))       


 (setq B-B-dbp (vla-getdynamicblockproperties B-B-blk)) 
 (setq B-B-dbp (vlax-variant-value B-B-dbp))
 (setq B-B-dbp (vlax-safearray->list B-B-dbp))
 (setq B-B-bp (car (cdr (cdr (cdr (cdr (cdr (cdr (cdr (cdr B-B-dbp))))))))))
 (setq B-B-ListeAdmis (vlax-safearray->list (vlax-variant-value (vla-get-AllowedValues B-B-bp))))
 (setq B-B-ListeAdmis (mapcar 'vlax-variant-value B-B-ListeAdmis))
 (vla-put-value B-B-bp (strcat H-Base " m"))

 );foreach

 (princ)

); fin

Link to comment
Share on other sites

Well I kepted looking into it and I have more information. I ran the code and it won't work but if i go back in the Vlide and do Load Selection it works.. This is weird...

 

And now I tried something else and the code works but I'd like to understand why it does that.

 

I took (BaseBeton) in the main code and moved it up top and it works.

 

WHAT THE HELL.....

Link to comment
Share on other sites

Well i'd be glade to send you everything. Do you have an e-mail that I could send it to ?

 

No worries, not a big deal CadFrank.

Your code working for you anyways. :)

 

Cheers

Link to comment
Share on other sites

  • 2 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...