jms Posté(e) le 31 janvier 2005 Posté(e) le 31 janvier 2005 Je ne suis pas particulièrement formé aux scripts et là, le novice se heurte à un problème qui n'en est sans doute plus aux esprits plus avisés. A titre d'essai gratuit et inutile, j'ai essayé de rédiger un script dont la seule fonction est d'en lancer deux autres successivement. Le premier script consiste à tracer un rectangle, le second un cercle. Quand le script général est lancé, il exécute le premier puis s'arrête sans message d'erreur avant d'exécuter le second ( "nil").C'est bien dommage, car l'imbrication de certains scripts pourrait m'être utile.Quelqu'un voit-il la source du problème et la voie pour le contourner, en conservant un langage de script simplifié ?Merci Jean-Michel Sojic
bonuscad Posté(e) le 31 janvier 2005 Posté(e) le 31 janvier 2005 Salut, Première chose, tu peux appeler un autre script depuis un script MAIS là la fin de l'exécution de celui ci, il ne reviendras PAS au script appelant. Donc le 1er script ne seras pas continué s'il possède des instructionEn illustrant ton exemple cela donnerais (en suppossant que tes fichier .SCR soit enregistrés dans un chemin de recherche d'Autocad) fichier rectangle&cercle.scr_.scriptrectangle.scr fichier rectangle.scr_.rectang0.0,0.050.0,50.0_.scriptcercle.scr fichier cercle.scr_.circle25.0,25.025.0 Est ce que cette forme de script peut te rendre service? Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
jms Posté(e) le 31 janvier 2005 Auteur Posté(e) le 31 janvier 2005 Salut,Si je comprend bien :1/ Deux ou plusieurs scripts ne peuvent co-exister au sein d'un même commande ( ou d'un même script )2/ Dès qu'une commande ou qu'un script est lancé, il s'exécutera tant qu'il ne rencontrera aucun autre script, lequel s'exécutera mais prendra la main et la conservera quand il se sera exécuté.3/ Ton script "rectangle.scr" fonctionne donc uniquement parce qu'il lance un script "cercle.scr" en dernière partie, et non en début, lequel lance lui-même une action unique (qui aurait d'ailleurs pu s'achever par un autre script qui etc...)En clair, lorsqu'on s'engage dans une pareille procédure, on ne peut envisager de scripts "en boucle", puisque dès qu'un script est lancé, il descend hiérarchiquement d'un niveau, sans retour possible.Grand merci. Jean-Michel
bonuscad Posté(e) le 31 janvier 2005 Posté(e) le 31 janvier 2005 Y a rien à rajouter, tu as tout compris ;) Bien que l'on pourrait faire une boucle en relançant le 1er script dans le dernier script.Ex dans cercle.scr tu peux rajouter :_.scriptrectangle&cercle.scr Mais cela vas t'envoyer dans une boucle sans fin que seul 'ESC" pourra interrompre.A moins qu'il y ai une astuce pour éviter cela, mais elle ne me vient pas à l'esprit.Le script est limité car il ne permet pas d'entrée utilisateur ou de controle Avec une version pleine j'avais une astuce avec la fonction Lisp (grread) pour interpreter une entrée.J'ai évoquer cette possibilité dans un post concernant des insertions d'images par script.Mais ça devient de la bidouille (qui peut quand même rendre service) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
rebcao Posté(e) le 2 février 2005 Posté(e) le 2 février 2005 tu peux enchainer tes SCRIPTs grâce à une Macro placer derrière une icône, par exemple : ^C^Cscript;cercle;script;rectangle;script;cercle;script;rectangle; ça marche... Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
jms Posté(e) le 2 février 2005 Auteur Posté(e) le 2 février 2005 Fichtre ! ça marche...J'apporte donc un "errata" à mes précédentes conclusions. Deux ou plusieurs scripts peuvent co-exister au sein d'une même commande, mais non dans un même script.La raison de cette différence reste obscure mais on avance...Merci Jean-Michel un script n'est pas une commande transparente, dommage... [Edité le 2/2/2005 par jms]
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