Aller au contenu

ToNiSOu

Membres
  • Compteur de contenus

    34
  • Inscription

  • Dernière visite

  • Jours gagnés

    1

Tout ce qui a été posté par ToNiSOu

  1. Salut, j'ai noté le sript : (load"c:/*****/Detachall.lsp") (c:Detachall) j'ai également testé : (load"C:/Program Files/AutoCAD 2010/LISP/Detachall.lsp")(c:Detachall) Elle s'est bien lancé sous SAS mais j'obtiens toujours le meme probléme. Désque la commande detachall a fini de tout detacher, elle continue avec une multitude de CMD à l'infini comme j'en ai expliqué dans mon premier topic. C'est comme si elle ne sait pas comment lui dire de finir et save. d'avance, merci pour l'aide, je veux etudier
  2. Bonjour, j'avais trouvé un, c'est celui de DETACHALL. DETACHALL n'a aucun probléme sous autocad mais SAS a lancé ce script puis se met en continu avec des multitude de CMD sans fin, c'est ce que SAS est peut-être en build. j'aimerais un script lsp (similaire ou identique à DETACHALL) qui permet de tout detacher dwg/img/pdf/doc/excel/ tout les extentions qui se trouvent dans xref, et se lancerait sans probléme sous SAS uniquement
  3. La commande T fonctionne sous autocad alors sous SAS, il faut noter dans le script: -xref DETACHER * le probleme, sous SAS, j'aimerais detacher tout ce qui se trouve dans xref dont DWG + image (JPG/BMP) + PDF + DOC/Excel + divers, comme le fait la commande DETACHALL sous autocad, elle m'a bien plu. DETACHALL ne fonctionne que sous autocad, j'aimerais cela pareil sous SAS (peut etre en cause en build) j'espere bien avoir expliquer mon probléme?
  4. Bonjour, Sous AutoCAD: En utilisant le code détachall, en lancant la commande "detachall", elle scanne et vire tout les fichiers externe qui se trouvait dans xref et les a éffacé, je l'ai bien aimé :) Pratique. Sous SuperAutoscript: sauf que ça ne marche pas si bien sous SuperAutoScript (SAS) , elle se lance mais de là, elle se perd à la fin avec multitude de CMD sans fin et en continu sans réponse. Je pense que le script (SAS)est encore en build, n'est peut etre pas fait. Peut etre, une correction dans ce script ? detachall code source LSP: (defun C:Detachall (/ *error* mip:layer-status-restore mip:layer-status-save delete-xref-img-underlay delete-all-dict ) (defun *error* (msg) (mip:layer-status-restore) (princ msg) (princ) ) ;_ end of defun (defun mip:layer-status-restore () (foreach item *PD_LAYER_LST* (if (not (vlax-erased-p (car item))) (vl-catch-all-apply '(lambda () (vla-put-lock (car item) (cdr (assoc "lock" (cdr item)))) (vla-put-freeze (car item) (cdr (assoc "freeze" (cdr item))) ) ;_ end of vla-put-freeze ) ;_ end of lambda ) ;_ end of vl-catch-all-apply ) ;_ end of if ) ;_ end of foreach (setq *PD_LAYER_LST* nil) ) ;_ end of defun (defun mip:layer-status-save () (setq *PD_LAYER_LST* nil) (vlax-for item (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)) ) ;_ end of vla-get-layers (setq *PD_LAYER_LST* (cons (list item (cons "freeze" (vla-get-freeze item)) (cons "lock" (vla-get-lock item)) ) ;_ end of cons *PD_LAYER_LST* ) ;_ end of cons ) ;_ end of setq (vla-put-lock item :vlax-false) (if (= (vla-get-freeze item) :vlax-true) (vl-catch-all-apply '(lambda () (vla-put-freeze item :vlax-false)) ) ;_ end of vl-catch-all-apply ) ;_ end of if ) ;_ end of vlax-for ) ;_ end of defun (defun delete-xref-img-underlay (/ count txt) (mip:layer-status-save) (vlax-for Blk (vla-get-Blocks (vla-get-activedocument (vlax-get-acad-object)) ) ;_ end of vla-get-Blocks (if (and (= (vla-get-IsXref Blk) :vlax-false) (not (wcmatch (vla-get-name Blk) "*|*")) ) ;_ end of and (progn (setq count 0 txt (strcat " Erase Xref and Underlay in " (vla-get-name Blk) ) ;_ end of strcat ) ;_ end of setq (grtext -1 txt) (vlax-for Obj Blk (setq count (1+ count)) (if (zerop (rem count 10)) (grtext -1 (strcat txt " : " (itoa count))) ) ;_ end of if (if (and (vlax-write-enabled-p Obj) (or (and ;_ XREF (= (vla-get-ObjectName obj) "AcDbBlockReference") (vlax-property-available-p Obj "Path") ) ;_ end of and (and ;_ UNDERLAY (wcmatch (vla-get-ObjectName obj) "*Reference") (vlax-property-available-p Obj "UnderlayName") ) ;_ end of and (= (vla-get-ObjectName obj) "AcDbRasterImage") ;_ IMAGE ) ;_ end of or ) ;_ end of and (VL-CATCH-ALL-APPLY 'vla-Delete (list Obj)) ) ;_ end of if ) ;_ end of vlax-for ) ;_ end of progn ) ;_ end of if ) ;_ end of vlax-for (mip:layer-status-restore) ) ;_ end of defun (defun delete-all-dict (dict) ;;; dict - dict name (like "ACAD_IMAGE_DICT", "ACAD_PDFDEFINITIONS" ... ) (vl-catch-all-apply '(lambda () (vlax-map-Collection (vla-item (vla-get-dictionaries (vla-get-activedocument (vlax-get-acad-object)) ) ;_ end of vla-get-dictionaries dict ;_ "ACAD_IMAGE_DICT" ) ;_ end of vla-Item 'vla-delete ) ;_ end of vlax-map-Collection ) ;_ end of lambda ) ;_ end of vl-catch-all-apply ) ;_ end of defun (vl-load-com) (delete-xref-img-underlay) (command "_-xref" "_d" "*") (while (> (getvar "CMDACTIVE") 0) (command)) (mapcar 'delete-all-dict (list "ACAD_IMAGE_DICT" "ACAD_PDFDEFINITIONS" "ACAD_DWFDEFINITIONS" "ACAD_DGNDEFINITIONS" ) ;_ end of list ) ;_ end of mapcar (princ) ) ;_ end of defun à moins que vous ayez un autre script bien sympa (gratuite) qui permet tout effacer les fichiers externe de xref sous SAS de preference autre que detachall et qui marche trés bien en détachant qui se trouvait dans xref (image, pdf, dwg, doc etc...) une idée? D'avance, merci
  5. j'ai fait le test il y a 2 heures, Il me semble operationnel et se lance le script sans probléme, je l'ai ajouté dans mon grand script. merci à vous tous !! j'ai un autre probléme, je posterai le nouveau sujet :)
  6. Merci de votre aide :) je dois effectuer la commande POLY apres appload oui effectivement, Polyligne > largeur global > passer à supérieur à 0 je charge laquelle l'un des deux:
  7. Bonjour, Comme vous savez, je bosse chez le bureau d'etude, je voudrais créer un script et mon probleme se pose dans ce language lisp et lancer le script sous AutoCAD c'est tout simple, j'explique: sous autocad: je tape la commande _selectrap puis y a un boite de dialogue, je clique Polyligne > largeur global > passer à supérieur à 0 sous script lsp: je crée un fichier lsp, je le nomme "poly.lsp": j'ouvre et j'ai mis comme code d'exemple: (defun c:poly (/ ss ) (setq ss (ssget "X" '((0 . "*Polyline") (-4 . ">") (0)))) (princ) ) pouvez-vous corriger mon script dans le but qu'il fait que je demande D'avance, merci de pouvoir me le resoudre ce script à coder
×
×
  • 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é