ahbv Posté(e) le 17 mars 2015 Posté(e) le 17 mars 2015 Bonjour,J'utilise souvent des script (pas trop sophistiqués donc de mon niveau) et pour une question de structure et de longueur je souhaiterais savoir comment faire pour de lancer un nouveau script dans le déroulement d'un script (cela marche si on le lance a la fin mais au milieu du programme ou en lançant plusieurs ça ne marche pas)? Connaissez vous une astuce ou faut-il passer par du lisp ? ex. de ce que je souhaiterais:script:zoom ettilemode 0effacer tout ;;;lancer insertion legende AAscript "insert-legAA.scr"regntouttilemode 1;;; script inserer xref typescript "xref-type.scr" Merci d'avance.AHG
bonuscad Posté(e) le 17 mars 2015 Posté(e) le 17 mars 2015 Bonjour, cela marche si on le lance a la fin En effet, cela fonctionne, mais un script qui a été appelé par un autre script NE REND PAS la main au script appelant. Donc tu peux faire des scripts en cascade mais pas itératif: Une fois en bas de la cascade, tu ne peux plus remonter... ;) Pour de l'itératif un autre language est indispensable; lisp ou autre... Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
ahbv Posté(e) le 18 mars 2015 Auteur Posté(e) le 18 mars 2015 Bonjour, En effet, cela fonctionne, mais un script qui a été appelé par un autre script NE REND PAS la main au script appelant. Donc tu peux faire des scripts en cascade mais pas itératif: Une fois en bas de la cascade, tu ne peux plus remonter... ;) Pour de l'itératif un autre language est indispensable; lisp ou autre...Salut et merci pour l'info..je suis nul en lisp donc si quelqu'un peut m'aider ça serait sympa !!
Patrick_35 Posté(e) le 18 mars 2015 Posté(e) le 18 mars 2015 Salut et merci pour l'info..je suis nul en lisp donc si quelqu'un peut m'aider ça serait sympa !!Salut Comme tu te débrouilles en script, le lisp n'est pas très loin (pour commencer) Quand tu lances une commande en script, tu as la même chose avec command. Par exemple :Script --> Traceur N Plan "" PdfCreator N N O (ps le "" = espace ou entrée)Lisp --> (command "traceur" "N" "Plan" "" "PdfCreator" "N" "N" "O") (ps le "" = entrée) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
ahbv Posté(e) le 23 mars 2015 Auteur Posté(e) le 23 mars 2015 Salut Comme tu te débrouilles en script, le lisp n'est pas très loin (pour commencer) Quand tu lances une commande en script, tu as la même chose avec command. Par exemple :Script --> Traceur N Plan "" PdfCreator N N O (ps le "" = espace ou entrée)Lisp --> (command "traceur" "N" "Plan" "" "PdfCreator" "N" "N" "O") (ps le "" = entrée) @+Salut Patrick_35,je te remercie de cette aide succincte et je comprend bien que pour un "dieu" du lisp comme toi c'est facile et le script n'est qu'une succession de commande avec quelques subtilités mais surtout limité par rapport au lisp.. donc pour mon problème si j'ai bien compris je peux faire ceci(command "script" "chemin+fichier script")(command "_qsave")(command "script" "chemin+fichier script2")etc... xxx script bon je viens d'essayer et cela ne marche pas !!je ne connais rien de rien en lisp je suis juste un utilisateur de vos conceptions et là je cale désolé mais encore merci d'avoir répondu..AHG
Patrick_35 Posté(e) le 23 mars 2015 Posté(e) le 23 mars 2015 Tu es sur la bonne voie.Pour tester, tu fais le tout en ligne de commande, histoire de bien valider la syntaxe.Une fois que c'est ok, on le met en forme dans un fichier texte et pour terminer, on recopie la ligne lisp directement sur la ligne de commande et on regarde le résultat.Normalement, c'est bon. (command "script" "chemin+fichier script") --> peut-être besoin de la fonction strcat (strcat chemin fichier), ou besoin de doubler les "\". Regarde la structure avec (findfile "acad.exe")(command "_qsave") --> là, ça devrait fonctionner ;) . Une ligne en lisp de bonne @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
ahbv Posté(e) le 23 mars 2015 Auteur Posté(e) le 23 mars 2015 Tu es sur la bonne voie.Pour tester, tu fais le tout en ligne de commande, histoire de bien valider la syntaxe.Une fois que c'est ok, on le met en forme dans un fichier texte et pour terminer, on recopie la ligne lisp directement sur la ligne de commande et on regarde le résultat.Normalement, c'est bon. (command "script" "chemin+fichier script") --> peut-être besoin de la fonction strcat (strcat chemin fichier), ou besoin de doubler les "\". Regarde la structure avec (findfile "acad.exe")(command "_qsave") --> là, ça devrait fonctionner ;) . Une ligne en lisp de bonne @+ merci de passer du temps même pour un débutant en cette belle journée de printemps (ça rime !!)sinon j'ai essayé tes recommandations mais autocad bloque sur la 2e ligne du 1er script à savoir insérer une xref mais avec un accent dans le chemin (style "Elém" qui devient "Elém" dans ligne de commande d’où le commentaire "introuvable" et arrêt du script). donc le script est bien exécuté mais les commandes sont mal interprétés , zut alors..je ne peux pas changé les noms des répertoires contenant des lettres accentuées alors comment faire stp ??encore merci
bonuscad Posté(e) le 23 mars 2015 Posté(e) le 23 mars 2015 je ne peux pas changé les noms des répertoires contenant des lettres accentuées alors comment faire stp ?? Utiliser peut être le format abrégé.Tu peux obtenir ce format en faisant DIR /X dans le terminal cmdGénéralement pour les noms long il tronque en MAJUSCULE et rajoute un ~+ un entier incrémenté. C'est pour assurer une compatibilité avec l'ancien temps ou les noms de fichiers étaient limités en nombre de caractères. :(rires forts): Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
ahbv Posté(e) le 25 mars 2015 Auteur Posté(e) le 25 mars 2015 Utiliser peut être le format abrégé.Tu peux obtenir ce format en faisant DIR /X dans le terminal cmdGénéralement pour les noms long il tronque en MAJUSCULE et rajoute un ~+ un entier incrémenté. C'est pour assurer une compatibilité avec l'ancien temps ou les noms de fichiers étaient limités en nombre de caractères. <img src='http://cadxp.com/public/style_emoticons/<#EMO_DIR#>/laugh.gif' class='bbc_emoticon' alt=':(rires forts):' /> Salut BONUSCAD,merci aussi pour ta participation, pour mon problème ce n'est pas un soucis de longueur de fichier mais de police de caractère accentuée !! par contre lorsque je lance un script par glisser coller ça coince alors que depuis un menu d'autocad (un bouton avec comme ligne de commande "^^script "nomfichier.scr") ça passe !!! va comprendre ??
bonuscad Posté(e) le 25 mars 2015 Posté(e) le 25 mars 2015 pour mon problème ce n'est pas un soucis de longueur de fichier mais de police de caractère accentuée !! Alors essayer un autre encodage dans ton éditeur: UFT-8, ANSI, ISO Occidental, etc.. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
ahbv Posté(e) le 27 mars 2015 Auteur Posté(e) le 27 mars 2015 Alors essayer un autre encodage dans ton éditeur: UFT-8, ANSI, ISO Occidental, etc..apparemment ce n'est pas une erreur d'encodage car le même fichier script lancé par un raccourci sur un menu fonctionne (c'est a dire execute correctement les commandes du script).C'est quand meme incroyable de ne pas pouvoir lancer plusieurs script à cause de "transcription" de noms DOS défectueuse. je vais quand même faire un essai sur des répertoires ne contenant aucun caractère accentué pour voir si les recommandations de "l'excellent" patrick35 fonctionnent !!merci mille fois à toi Bonuscad
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