miamar Posté(e) le 25 septembre 2004 Posté(e) le 25 septembre 2004 SalutRegardez le code suivant : command "_.insert" (getstring "\nFichier : ") (getpoint "\nPoint d'insertion : ") (getint "\nFacteur échelle X : ")(getint "\nFacteur échelle Y : ")(getint "\nAngle de rotation : ")) au message Facteur d'echelle X, quand j'appuie sur ENTREE et idem pour le facteur Y et l'angle de rotation ça crée une boucle interminable, il redemande encore Facteur d'echelle et ainsi de suite.Comment faire pour lui préciser une valeur par défaut "1" pour le facteur d'echelle X et pour le facteur Y d'avoir comme valeur par défaut le facteur d'echelle en X. 2ème question avec la commande _.insert, surtout pour insérer un fichier comme bloc, au moment de demander "point d'insertion, le bloc n'apparait pas en mode flottant ç à dire avec le curseur. Est-ce qu'il y a une variable système à controller ou quoi? Merci@+
didier Posté(e) le 25 septembre 2004 Posté(e) le 25 septembre 2004 bonjour Miamar ton code n'est pas clair,je parle de la présentation,je te suggère ceci :(setq fichier "monbloc" pins(getpoint "\nPoint d'insertion : ") echX "1" echY "1" anglerot "0" ) (command "_.insert" fichier pins echX echY anglerot ) remarque que les renseignements de la commande INSERTsont rentrés sous forme de chaînes quant à ta deuxième question,je n'en sais rien, pourquoi veux tu voir le bloc ?l'intérêt me semble moindre ...amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
didier Posté(e) le 25 septembre 2004 Posté(e) le 25 septembre 2004 re bonjour Miamar, il est possible en utilisant la case de dialogue(color=red]Choix du FIchier[/color]d'améliorer ton code,mais c'est une optionil est également possible de demander à l'utilisateurles différentes échelles et rotation,mais il faudra utiliser la transformationde Réel en Chaîneen l'occurence RTOSacronyme de RealToStringpour répondre à la commande INSERTidem si tu as des attributs qui suivent, amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Tramber Posté(e) le 26 septembre 2004 Posté(e) le 26 septembre 2004 Il ne faut surtout pas mettre des fonctions GETXXXX dans un "command".Que des variables et du texte (c'est plus ou moins vrai mais c'est une règle à suivre strictement au début). Dites-moi si je me trompe. et renseigner les variables dans un processus qui a lieu avant ou appliquer le code de Didier pour les créer Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
miamar Posté(e) le 26 septembre 2004 Auteur Posté(e) le 26 septembre 2004 Salut Tamber, je ne vois pas pourquoi ne pas mettre des GetXXX à l'intérieur, question de logique ça revient au même de les mettre dans une variable puis de les fournir en réponse à la commande que de les demander directement au moment de la commande. Tu as raison peut être je ne sais trop. En tout si c'est une règle fondamentale, j'y eillerais à l'avenir, merci. Quant à ta ta réponse didier, elle ne répond pas tout à fait à ma question. Je voudrais que mon code ait la forme suivante ( avec des getxx tamber, ne te faches pas ) command "_.insert" (getstring "\nNom du Fichier à insérer: ") (getpoint "\nEntrez le Point d'insertion : ") (getreal "\nEntrez le Facteur échelle X [Color=red]<1>[/Color]: ")(getreal "\nEntrez le Facteur échelle Y ou [Color=red][/Color]: ")(getint "\nEntrez l'Angle de rotation [Color=red]<0>[/Color]: ")) les valeurs en rouges je voudrais qu'elles soient des valeurs par défaut, dès que j'appuie sur ENTREE il les prend comme des valeurs par défaut. J'espère que la question est claire. est-ce que RTOS est nécessaire?Merci
miamar Posté(e) le 26 septembre 2004 Auteur Posté(e) le 26 septembre 2004 Salut, petite rectif Tamber, je ne vois pas pourquoi ne pas mettre des GetXXX à l'intérieur, question de logique ça revient au même de les mettre dans une variable puis de les fournir en réponse à la commande que de les demander directement au moment de la commande. Tu as raison peut être je ne sais trop. En tout si c'est une règle fondamentale, j'y eillerais à l'avenir, merci. Quant à ta ta réponse didier, elle ne répond pas tout à fait à ma question. Je voudrais que mon code ait la forme suivante ( avec des getxx tamber, ne te faches pas ) command "_.insert" (getstring "\nNom du Fichier à insérer: ") (getpoint "\nEntrez le Point d'insertion : ") (getreal "\nEntrez le Facteur échelle X [color=red]<1>[/color]: ")(getreal "\nEntrez le Facteur échelle Y ou [color=red][/color]: ")(getint "\nEntrez l'Angle de rotation [color=red]<0>[/color]: ")) les valeurs en rouges je voudrais qu'elles soient des valeurs par défaut, dès que j'appuie sur ENTREE il les prend comme des valeurs par défaut. J'espère que la question est claire. est-ce que RTOS est nécessaire?Merci
miamar Posté(e) le 26 septembre 2004 Auteur Posté(e) le 26 septembre 2004 Oh la la, ça n'as pas marcgé encore une fois le code doit être le même sauf :(getreal "\nEntrez le Facteur échelle Y ou : ") Merci
miamar Posté(e) le 26 septembre 2004 Auteur Posté(e) le 26 septembre 2004 Je ne sais pas qu'est-ce qu'il y a il a un mal de chien contre une phrase ou Utilisez le Facteur X, voillà je l'écris sans crochets ni rien du tout, j'espère que c'est clair @+
Tramber Posté(e) le 26 septembre 2004 Posté(e) le 26 septembre 2004 (if (setq factech (= (getreal "\nEntrez le Facteur échelle X : ") nil)) . (setq factech 1.0)) Voilà comment je ferais. Ensuite, je mets factech en réponse à mon 'command'. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
miamar Posté(e) le 26 septembre 2004 Auteur Posté(e) le 26 septembre 2004 Merci TramberJe testerais...@+ ;)
bru Posté(e) le 29 septembre 2004 Posté(e) le 29 septembre 2004 command "_.insert" (getstring "\nFichier : ") (getpoint "\nPoint d'insertion : ") (getint "\nFacteur échelle X : ")(getint "\nFacteur échelle Y : ")(getint "\nAngle de rotation : ")) je comprends pas très bien la démarche,pourquoi ne pas faire :(command "_insert")ou (si autre commande à faire après):(command "_insert" pause pause pause pause pause)ou (plus joli):(command "_insert")(repeat 5 (command pause))ou encore (pour les puristes):(command "_insert")(while (= 1 (getvar "cmdactive")) (command pause)) sinon, je conseille d'utiliser (initget) PS: très pratique la variable cmdactive ;-)
bonuscad Posté(e) le 29 septembre 2004 Posté(e) le 29 septembre 2004 (command "_insert" pause pause pause pause pause)n'est pas aussi bien que ca, car tu ne sais ce que l'utilisateur va choisir comme option pendant ces pauses.pause est interressant à employer quand on est sûr qu'aucune autre option est possible. Donc je déconseille cette méthode sous cette forme dans la pluspart des cas. D'autre part je soustiens Tramber sur le non emploi de (getXXX) dans un (command).Curieusement l'emploi de (getXXX) est supporté dans (command), ce qui n'était pas le cas avant. Toujours est-il que je recommande aussi l'emploi d' (initget bit_de_controle) pour les appels à (getXXX). Dans ce cas l'emploi de getpxxx dans command devient ingérable car l'ordre attendu n'est plus le bon. Donc en règle générale,1-Définir ses variables avec getpxxx en effectuant un contrôle avec initget pour être sur que la variable sera affectée. 2-Faire un appel à command avec ces variables avec les options souhaitées en language international. En respectant ces règles de base vous pourrez construire des lisp qui "tiennent la route". Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
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