Fraid Posté(e) le 27 septembre 2007 Posté(e) le 27 septembre 2007 Bonjour, J'ai quelque lisp qui ne fonctionne pas quand le scu n'est pas general j'ai donc essayer d'enregistrer le scu au debut du lisp (command "scu" "s" "temp") puis le mettre en general (command "scu" "g") et enfin le restaurer en fin de lisp (command "scu" "r" "temp") et la il me dit qu'il ne connais pas le scu temp :exclam: https://github.com/Fraiddd
sechanbask Posté(e) le 27 septembre 2007 Posté(e) le 27 septembre 2007 est-ce que ton SCU est nommé ? car en VBA, lorsqu'il n'est pas nommé, j'arrive à rien faire, c'est peut-être similaire en lisp... ATEGIE - Bureau d'Études Fluideshttp://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.pngExécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffragewww.ategie.fr
richard-c Posté(e) le 27 septembre 2007 Posté(e) le 27 septembre 2007 voila ce que je fais dans un programme au début ;Se place provisoirement dans le SCU Général (command "_.ucs" "EF" "Nom du programme") (command "_.ucs" "S" "Nom du programme" ) (command "_.ucs" "G") PROGRAMME à la fin ;Revient dans le SCU Particulier ;(command "_.ucs" "R" "Nom du programme" )
Fraid Posté(e) le 27 septembre 2007 Auteur Posté(e) le 27 septembre 2007 est-ce que ton SCU est nommé ? Non mon scu n'est pas nommé (command "_.ucs" "EF" "Nom du programme")(command "_.ucs" "S" "Nom du programme" )(command "_.ucs" "G") Nom du programme??? je ne comprend pas c'est le nom du lisp? j'ai compris je met le nom que veux le truc qui me bloque en lisp c'est la traduction des commandes _.ucs a la place de scu c'est balaise a trouver :o merci [Edité le 27/9/2007 par Fraid] https://github.com/Fraiddd
richard-c Posté(e) le 27 septembre 2007 Posté(e) le 27 septembre 2007 je suis obligé de partir, je te répond demain à la fraiche A+
Fraid Posté(e) le 27 septembre 2007 Auteur Posté(e) le 27 septembre 2007 en tout cas cela ne fonctionne toujours pas j'ai le meme message d'erreur https://github.com/Fraiddd
pascal19 Posté(e) le 27 septembre 2007 Posté(e) le 27 septembre 2007 J'ai eu le même probleme il y a qqe temps Je l'ai résolu en utilisant TRANS pour convertir un point ou déplacementd'un système de coordonnées vers un autre...
lovecraft Posté(e) le 27 septembre 2007 Posté(e) le 27 septembre 2007 bonjour,J'ai essayé ça chez moi: (defun c:test () ;enregistrement du scu au debut (command "scu" "s" "temp") (setq savscu "temp") ;passage en scu generale (command "scu" "g") ;restauration du scu avant le lancement du lisp (command "scu" "r" savscu) );fin du defun ca fonctionne très bien, j'espère que ca sera le cas chez toi @plus http://www.youtube.com/user/CADMINATOR?feature=mhee
Fraid Posté(e) le 27 septembre 2007 Auteur Posté(e) le 27 septembre 2007 merci lovecraft on avance mais il reste un probleme je teste avec le lisp de patrick35 RA et cela fonctionne qu'une seul foisapres il me dit que le scu temp existe deja voulez vous le redefinir :casstet: sa commence a se corser je pense que les pointures lispiennes doivent bien se bidonner :P https://github.com/Fraiddd
lovecraft Posté(e) le 27 septembre 2007 Posté(e) le 27 septembre 2007 voila j'ai peut etre resolu le probleme (defun c:test () [surligneur] (if (= (tblsearch "UCS" "temp") nil) (command "scu" "s" "temp") );fin du if[/surligneur] (setq savscu "temp") (command "scu" "g") (command "scu" "r" savscu) );fin du defun dis si ca fonctionne maintenant PS: on est ici pour apprendre ;)@plus http://www.youtube.com/user/CADMINATOR?feature=mhee
bonuscad Posté(e) le 27 septembre 2007 Posté(e) le 27 septembre 2007 La solution de lovecraft de chercher l'existence dans la table est bonne. Mais si tu préfère écraser systématiquement le SCU "temp", mettre la variable EXPERT au minimum à 4. De cette façon tu es bien sûr de restorer le dernier SCU "temp" sauvegardé. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
lovecraft Posté(e) le 27 septembre 2007 Posté(e) le 27 septembre 2007 Je ne connaissais cette variable Merci Ci-dessous la méthode a bonuscad (defun c:test () (setq savexpert (getvar "expert")) (command "scu" "s" "temp") (setq savscu "temp") (command "scu" "g") (command "scu" "r" savscu) (setvar "expert" savexpert) );fin du defun @plus http://www.youtube.com/user/CADMINATOR?feature=mhee
richard-c Posté(e) le 28 septembre 2007 Posté(e) le 28 septembre 2007 Bonjour, voila tu as la réponce par des pros A+
Fraid Posté(e) le 28 septembre 2007 Auteur Posté(e) le 28 septembre 2007 merci a tous j'ai du metre la condition a l'enverscar si on replace le scu en general sa bugil faut donc effacer le scu temp si il existe sinon on y retourne (setq savexpert (getvar "expert"))(if (= (tblsearch "UCS" "temp") (command "scu" "e" "temp"))nil);fin du if(command "scu" "s" "temp")(setq savscu "temp")(command "_.ucs" "G") (command "scu" "r" savscu)(setvar "expert" savexpert) https://github.com/Fraiddd
bonuscad Posté(e) le 28 septembre 2007 Posté(e) le 28 septembre 2007 Pourquoi faire un getvar Expert si vous ne fixez pas cette variable à 4 ou plus ensuite. (setvar)Car si elle est à zéro ou < à 4 le comportement de la commande SCU sera inchangée. :o L'usage d'EXPERT dispense de l'usage de (tblsearch) et simplifie le code pour les conditions. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Patrick_35 Posté(e) le 28 septembre 2007 Posté(e) le 28 septembre 2007 Salut Le plus simple n'est pas de modifier le lisp avec la fonction trans par exemple ? @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Fraid Posté(e) le 28 septembre 2007 Auteur Posté(e) le 28 septembre 2007 Quand je lis ceci http://aidacad.com/fr/autolisp/trans.htm et que j'essaye de trouvé la syntaxe je suis quelque peut découragé :( ... https://github.com/Fraiddd
Patrick_35 Posté(e) le 28 septembre 2007 Posté(e) le 28 septembre 2007 J'ai simplifié la tâche en modifiant RA @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
lovecraft Posté(e) le 28 septembre 2007 Posté(e) le 28 septembre 2007 pour repondre z bonuscad, comment dire c'etais juste un oubli d'un débutant en lisp ;) (defun c:test () (setq savexpert (getvar "expert")) [surligneur] (setvar "expert" 4)[/surligneur](command "scu" "s" "temp") (setq savscu "temp") (command "scu" "g") (command "scu" "r" savscu) (setvar "expert" savexpert) );fin du defun@plus veuillez m'excusee pour cette erreur ;) http://www.youtube.com/user/CADMINATOR?feature=mhee
(gile) Posté(e) le 28 septembre 2007 Posté(e) le 28 septembre 2007 Salut, J'ai parfois utilisé cette méthode de changement de SCU quand je n'arrivais pas à me débrouiller avec trans. Pour ne pas riquer d'enregitrer à nouveau unSCU avec le même nom, je supprime tout simplement le SCU nommé à la fin de la routine (et dans la routine de gestion des erreurs si nécessaire) (command "_ucs" "_save" "scu_init") (command "_ucs" "_world") ;;..... (command "_ucs" "_restore" "scu_init") (command "_ucs" "_delete" "scu_init") Chose qu'on ne peut pas faire en Visual LISP tant que le SCU est courant (où il faut poutant nécessairement travailler avec des SCU nommés). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
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