gepetto Posté(e) le 8 novembre 2018 Posté(e) le 8 novembre 2018 Hello a tous. Je me suis lancer dans un projet un peu fou qui est la réalisation d'une table de découpe plasma en CNC.je suis satisfait de ma réalisations. Je vous ferai parvenir une vidéo. Ma question est en relation indirect aà ma réalisations. Pour pouvoir générer mon G-Code (fichier de paramètre de la CNC) et optimiser l'utilisation de la tôle a découper j'utilise un programme de "nesting" optimisations à plat. Le truc est qu'il faut pouvoir y donner un fichier par pièces a découper. Actuellement j'utilise la commande enregistrer sous, avec l'option sélectionner par capture, et je renomme le ficher manuellement. Ca marche bien, mais je pense que l'on peu faire mieux et plus rapide. Il serai extra de pouvoir utiliser le texte que je met au dessus de la pièces comme nom de fichier.Il ne s'agit pas de bloc.La pièces à découper est constituer de 2 calquesIl me faut enregistrer le fichier de sortie en dxf 2013 Je vous remercie de vous propositions Amicalement Gepetto PS je voulais joindre un fichier mais j'ai une erreur du coups https://we.tl/t-8sSjQbEHZ9
x_all Posté(e) le 9 novembre 2018 Posté(e) le 9 novembre 2018 essaye WBLOC quelques trucs sur autocad
gepetto Posté(e) le 9 novembre 2018 Auteur Posté(e) le 9 novembre 2018 Hello, je te remercie pour ta proposition, mais c’est plus lents que enregistrer sous. Qui n’est déjà pas très rapide. Et super rébarbatif.., Y aurait-il t’il une autre solution.Je vous remercie.
zebulon_ Posté(e) le 10 novembre 2018 Posté(e) le 10 novembre 2018 Bonjour, la commande "enregistrer sous" avec l'option "sélectionner" et le type de fichier au format dxf, comme tu le fais, mais dans un lisp qui te demandes au préalable de cliquer sur un texte qui te donnera le nom du fichier et c'est le lisp qui choisit les options de la commande saveas Un truc comme ça ? AmicalementVincent C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
gepetto Posté(e) le 10 novembre 2018 Auteur Posté(e) le 10 novembre 2018 Hello, Oui ça me paraît être la bonne idée. Si y faut que le texte soit sur multi ligne c’est top. Sinon sur une ligne çà peut aussi le faire. Je te remercie de ton aide Amicalement Didier
zebulon_ Posté(e) le 12 novembre 2018 Posté(e) le 12 novembre 2018 Bonjour, la variable qui gère le format d'enregistrement s'appelle DefaultFormatForSave. L'idée c'est de faire un lisp qui récupère le format courant en faisant(setq oldSaveFormat (getenv "DefaultFormatForSave")) puis on définit qu'on veut sauvegarder en dxf 2013, ce qui correspond au code 61(setenv "DefaultFormatForSave" "61") Puis on enregistre en faisant le (command "_saveas" ...) après avoir pioché le nom de fichier dans le texte et après avoir vérifié que le fichier n'existe pas déjà. Puis on remet la variable d'environnement à sa valeur initiale(setenv "DefautFormatForSave" oldSaveFormat) Faut encore trouver le nom de la variable qui gère la possibilité d'enregistrer une partie du dessin AmicalementVincent C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
zebulon_ Posté(e) le 13 novembre 2018 Posté(e) le 13 novembre 2018 j'ai oublié de préciser qu'il faut absolument respecter la casse dans "DefaultFormatForSave", sinon le getenv ne trouve rien ! AmicalementVincent C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
zebulon_ Posté(e) le 13 novembre 2018 Posté(e) le 13 novembre 2018 (defun MsgBox (Titre Bouttons Message / Reponse WshShell) ; Valeur de Bouttons ; 0 = vbOKOnly Affiche le bouton OK uniquement. ; 1 = vbOKCancel Affiche les boutons OK et Annuler. ; 2 = vbAbortRetryIgnore Affiche le bouton Abandonner, Réessayer et Ignorer. ; 3 = vbYesNoCancel Affiche les boutons Oui, Non et Annuler. ; 4 = vbYesNo Affiche les boutons Oui et Non. ; 5 = vbRetryCancel Affiche les boutons Réessayer et Annuler. ; 16 = vbCritical Affiche l'icône Message critique. ; 32 = vbQuestion Affiche l'icône Requête d'avertissement. ; 48 = vbExclamation Affiche l'icône Message d'avertissement. ; 64 = vbInformation Affiche l'icône Message d'information. ; 0 = vbDefaultButton1 Le premier bouton est le bouton par défaut. ; 256 = vbDefaultButton2 Le deuxième bouton est le bouton par défaut. ; 512 = vbDefaultButton3 Le troisième bouton est le bouton par défaut. ; 768 = vbDefaultButton4 Le quatrième bouton est le bouton par défaut. ; 0 = vbApplicationModal Boîte de dialogue modale. L'utilisateur doit répondre au message affiché dans la zone de message avant de pouvoir continuer de travailler dans l'application en cours. ; 4096 = vbSystemModal Modal système. Toutes les applications sont interrompues jusqu'à ce que l'utilisateur réponde au message affiché dans la zone de message. ; Valeur renvoyée ; 1 = vbOK OK ; 2 = vbCancel Annuler ; 3 = vbAbort Abandonner ; 4 = vbRetry Réessayer ; 5 = vbIgnore Ignorer ; 6 = vbYes Oui ; 7 = vbNo Non (setq WshShell (vlax-create-object "WScript.Shell")) (setq Reponse (vlax-invoke WshShell 'Popup Message 0 Titre (itoa Bouttons))) (vlax-release-object WshShell) Reponse ) (defun c:savedxf (/ txt) (vl-load-com) (setq txt (car (entsel "\nSélectionner le titre : "))) (setq txt (cdr (assoc 1 (entget txt)))) (setq txt (substr txt 1 (vl-string-position 92 txt))) (setq txt (strcat (getvar "DWGPREFIX") txt ".dxf")) (if (findfile txt) (if (= (msgbox "Fichier existant" (+ 4 48 256) (strcat "Ecraser " txt " ?")) 6) ;; 4 affiche boutons oui non + 48 icone message d'avertissement + 256 non par défaut (command "_SaveAs" "_DXF" "_v" "2013" "_o" (ssget) "" "" txt "_y") ;; si oui j'écrase, sinon rien ) (command "_SaveAs" "_DXF" "_v" "2013" "_o" (ssget) "" "" txt) ;; le fichier n'existe pas, je le crée ) (princ) ) finalement, je n'utilise que les options de la commande saveas, qu'on peut aussi voir sur la ligne de commande en basculant la variable filedia à 0. Ne pas oublier de la remettre à 1 quand on a fini d'explorer les différentes options disponibles en ligne de commande. AmicalementVincent C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
gepetto Posté(e) le 20 novembre 2018 Auteur Posté(e) le 20 novembre 2018 Hello, Merci beaucoup.Désolé de ma réponses tardive, et Encore Merci de m'avoir envoyer le lisp par mail.Ca fonctionne du tonnerre. C'est classe que le nouveau fichier crée s'enregistre a la même place que le fichier sources, cequi évite de devoir a chaque fois choisir l'emplacement du nouveau fichier. J'ai 1 questions. Si je comprend bien, le nom du fichier prend en compte la 1er ligne du texte.C'est bien juste? Je te remercie encore
zebulon_ Posté(e) le 21 novembre 2018 Posté(e) le 21 novembre 2018 J'ai 1 question. Si je comprend bien, le nom du fichier prend en compte la 1ère ligne du texte.C'est bien juste? C'est bien ça, cela prend le texte jusqu'à rencontrer le code ascii 92, en supposant que le texte aura toujours cette forme. S'il n'y a qu'une seule ligne, cela ne marchera pas en l'état actuel du code. C'est classe que le nouveau fichier créé s'enregistre à la même place que le fichier source, ce qui évite de devoir à chaque fois choisir l'emplacement du nouveau fichier.c'est le (getvar "DWGPREFIX") qui nous permet de disposer de cette information. Merci de m'avoir envoyer le lisp par mail.Compte tenu que CadXP était plus ou moins en panne ces derniers jours et que nous avons déjà communiqué par mail par le passé, j'ai estimé que c'est ce qu'il fallait faire ! AmicalementVincent C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant