Aller au contenu

Classement

Contenu populaire

Affichage du contenu avec la meilleure réputation le 26/03/2018 dans Messages

  1. J'ai 3 dessin d'ouvert dans autocad un vierge, et 2 autre avec des objects a modifier, le dessin qui est actif est celui qui est vierge. Je tape ma commande dans autocad et j'ai encore un erreur error: Automation Error. Error saving the document Ce que je voudrais comme résultat est que mon dessin vierge reste ouvert et les dessins contenant l'object a modifier soit modifier, sauvegarder et fermer (defun readfile (FilePath / File Info ACTIVE) (setq File (open FilePath "r") ACTIVE T ) (while ACTIVE (setq ACTIVE (read-line File) Info (append (list ACTIVE) Info) ) ) (vl-remove nil Info) ) (defun RoundUp (Real / test) (if (= (max Real (+ (fix Real) 0.5)) Real) (setq test (+ (fix Real) 1)) (setq test (fix Real)) ) ) (defun BatchProcess ( / StringThk Directory PlasmaThk THKString Thickness String->List UpperVal LowerVal) (setq Directory "F:/Echange/Jean-Philippe/ProNest/Batch Process/Thickness.txt" PlasmaThk (readfile Directory) ) (vlax-for doc (vla-get-Documents (vlax-get-acad-object)) (vlax-for obj (vla-get-ModelSpace doc) (if (and (= (vla-get-ObjectName obj) "AcDbText") (wcmatch (vla-get-TextString obj) "*THICKNESS*") ) (progn (setq THKString (vlax-get-property obj 'TextString) Thickness (vl-string-left-trim "THICKNESS=" THKString) String->List (vl-string->list Thickness) String->List (reverse (vl-remove-if '(lambda (Int) (or (= Int 76);|L|;(= Int 212);|Ô|;(= Int 112);|p|; (= Int 80);|P|;(= Int 101);|E|;(= Int 116);|t|; (= Int 70);|F|;(= Int 102);|f|;(= Int 108);|l|; (= Int 84);|T|;(= Int 108);|l|;(= Int 244);|ô|; ) ) String->List ) ) ) (repeat (length (vl-remove-if-not '(lambda (Numb) (= Numb 42)) String->List)) (setq String->List (cdr (member 42 String->List)))) (setq Thickness (vl-list->string (reverse String->List))) ; Modify Thickness of drawing for compatibility with PRONEST (setq StringThk (vl-sort (append (list (atof Thickness)) (mapcar '(lambda (X) (atof X) ) PlasmaThk ) ) '(lambda (e1 e2) (< e1 e2)) ) UpperVal (nth (1+ (vl-position (atof Thickness) StringThk)) StringThk) LowerVal (nth (1- (vl-position (atof Thickness) StringThk)) StringThk) ) (if (> (atof Thickness) 4) (progn (cond ((= (RoundUp UpperVal) (atof Thickness)) (setq Thickness (strcat "THICKNESS=" (rtos UpperVal 2 3))) ) ((= (RoundUp LowerVal) (atof Thickness)) (setq Thickness (strcat "THICKNESS=" (rtos LowerVal 2 3))) ) ) ) (progn (cond ((= (atof (rtos UpperVal 2 1)) (atof Thickness)) (setq Thickness (strcat "THICKNESS=" (rtos UpperVal 2 3))) ) ((= (atof (rtos LowerVal 2 1)) (atof Thickness)) (setq Thickness (strcat "THICKNESS=" (rtos LowerVal 2 3))) ) (T (setq Thickness (strcat "THICKNESS=" (rtos UpperVal 2 3)))) ) ) ) (vlax-put-property obj 'TextString Thickness) (vla-update obj) (vla-save (vlax-get-property obj 'Document)) ; error: Automation Error. Error saving the document (vla-close (vlax-get-property obj 'Document)) ;;; (vlax-release-object (vlax-get-property obj 'Document)) ) ) ) ) ) en utilisant (vla-close (vlax-get-property obj 'Document) T) j'ai la même erreur, j'ai vérifier qu'il ne sont pas en lecture seule Je comprend pas ce que je fais de pas correct (le dessin vierge est .dwg et les autre a modifier .dxf) je suis seulement capable avec vla-saveas et je dois les sauvegarder d'un nom different ou dans un dossier different, sinon la meme erreur se produit. (vla-saveas doc (strcat "F:\\Echange\\Jean-Philippe\\ProNest\\Dxf\\" (vl-string-right-trim ".dxf" (vlax-get-property doc 'Name))) acR15_DXF ) (vla-close doc) mais un autre questionnement arrive y créer 2 fichier tole3.4.dxf et tole3.4.dxf.dwg ?? je comprend pas ??? Merci et bonne journée
    1 point
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité