bbteddy Posté(e) le 12 janvier 2010 Posté(e) le 12 janvier 2010 Bonjour et bonne année ! Je désire commencer en douceur dans le lisp et je voulais simplifier une commande que j'utilise souvent :j'utilise la commande PEDIT et ensuite je tape "m" je selectionne plusieur ligne je valide je tape "o" , "j" , ensuite entrée 2fois .....tous ca pour créer une polyligne ...... :casstet: Donc j'ai voulu faire ceci : (defun c:PM () (command "pedit" "m" "o" "j" "" "")) et ca ne marche pas :mad: quelqu'un peut il m'aider SVP @bientôt
Tramber Posté(e) le 12 janvier 2010 Posté(e) le 12 janvier 2010 Coucou, Je ne comprends pas le "o" ! Mais séparons selection et action : (setq selec(ssget)) (command "pedit" "m" selec "" "j" "" "") Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
bonuscad Posté(e) le 12 janvier 2010 Posté(e) le 12 janvier 2010 Bonjour, En gardant l'usage de (command) propice au débutant voici ce que je suggère. Essayes de comprendre ces quelques lignes: (defun c:PM ( / ) (command "_.select" (while (not (zerop (getvar "CMDACTIVE"))) (command pause))) (if (zerop (getvar "PEDITACCEPT")) (command "_.pedit" "_multiple" "_previous" "" "_yes" "_join" pause "") (command "_.pedit" "_multiple" "_previous" "" "_join" pause "") ) ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Tramber Posté(e) le 12 janvier 2010 Posté(e) le 12 janvier 2010 Bah oui "o" pour oui ! Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
bbteddy Posté(e) le 12 janvier 2010 Auteur Posté(e) le 12 janvier 2010 Coucou, Je ne comprends pas le "o" ! Mais séparons selection et action : (setq selec(ssget)) (command "pedit" "m" selec "" "j" "" "") Si je comprend bien tu crées une variable de selection que va utiliser l'action ??? mais je comprend pas pourquoi dans le cas suivant cela fonctionne bien, alors que sélection et action sont mélangées : (defun c:CADV10 () (command "RESEAU" pause "" "R" "1" "10" "10" )) Pour celui ci je ne comprend paspeux tu m'aider ? (defun c:PM ( / ) (command "_.select" (while (not (zerop (getvar "CMDACTIVE"))) (command pause))) (if (zerop (getvar "PEDITACCEPT")) (command "_.pedit" "_multiple" "_previous" "" "_yes" "_join" pause "") (command "_.pedit" "_multiple" "_previous" "" "_join" pause "") ) )
Tramber Posté(e) le 12 janvier 2010 Posté(e) le 12 janvier 2010 Si je comprend bien tu crées une variable de selection que va utiliser l'action ??? Oui mais je comprend pas pourquoi dans le cas suivant cela fonctionne bien, alors que sélection et action sont mélangées : Je pense que PEDIT est mal adapté à "pause", sans appronfondir, il est l'heure de manger. Pour celui ci je ne comprend paspeux tu m'aider ? BonusCAD n'est pas un rigolo :cool: Avec lui tu débutes à niveau +1 ! (command "_.select" (while (not (zerop (getvar "CMDACTIVE"))) (command pause))) est subtil. Il aurait pu faire un (ssget) évolué (moi j'en ai fait un simple).Mais l'avantage de son code c'est qu'il ne fera rien d'autre tant qu'une selection ne sera pas faite.CMDACTIVE est une variable astucieuse qui dit qu'une commande est active (select en l'occurrence). Pour la suite, c'est l'histoire du "o" qui est gérée. Une variable de la commande PEDIT te faire dire "oui" (c'est objet n'est pas une poly, voulez-vous le transformer). PEDITACCEPT à 1 permet d'outrepasser cette question. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Carboleum Posté(e) le 12 janvier 2010 Posté(e) le 12 janvier 2010 J'ai pas pigé l'intérêt de (while (not (zerop (getvar "CMDACTIVE"))) (command pause))) par rapport à (ssget); quel en est l'avantage ? Carboléüm, qui dessine aussi à la main -> Carboleum's sketchblog
Tramber Posté(e) le 12 janvier 2010 Posté(e) le 12 janvier 2010 Aucun mais je ne veux pas me fâcher avec Bonus ! :cool: Les gars, si votre selection avec SSGET est nulle, il faut protéger le code : (if selec (command "pedit" "m" selec "" "j" "" "") Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
bbteddy Posté(e) le 13 janvier 2010 Auteur Posté(e) le 13 janvier 2010 Mais pourquoi la protégé ?je comprend pas moi ca marche très bien !!!
Carboleum Posté(e) le 13 janvier 2010 Posté(e) le 13 janvier 2010 parce que si la selection est vide, la commande va buger. On mets alors une condition: si la sélection n'est pas vide, alors la commande est exécutée. Carboléüm, qui dessine aussi à la main -> Carboleum's sketchblog
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