Aller au contenu

Jon

Membres
  • Compteur de contenus

    28
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Jon

  1. Ok, je comprend mieux. Une partie que je n'arrive pas comprendre. (repeat (setq i (sslength ss2)) (ssadd (ssname ss2 (setq i (1- i))) ss) Il me semble qu'il y a quelque chose de décrémenté pour être ajouter à une variable (ss il me semble). Mais je n'arrive pas a comprendre comment fonctionne le principe de l'incrémentation et la décrémentation.
  2. Salut. moi qui m'était lancé un objectif simple, c'est au delà de mes attentes. Merci beaucoup j'ai pas compris tout le raisonnement. Déjà dans la 1ere ligne, il n'y a pas (ssget "_i") Comment il prend en compte le fait qu'il y ai ou non une sélection active?
  3. Bonjour à tous. J'ai pu après pas mal de temps de pause par manque de temps me remettre à apprendre le lisp. Apres avoir lu, relu et relu introduction à Autolisp et la commande SSGET sur le site de DA-code, j'ai essayé de créer une sélection prenant la sélection précédente et laissant la main à l'utilisateur pour compléter la sélection avant de pouvoir lancer une commande, mais je n'y arrive pas. J'ai beau tourner la ligne dans tous les sens, une erreur m'est renvoyé. j'ai débuter par ces lignes : (defun c:, ( / ss sss ) ;; (if (or (setq ss (ssget "_I" )) (setq ss (ssget "_P+_W"))) (command-s "-pan" "0,0,0" "0,-100,0")) (princ) ) Le code bloque à (setq ss (ssget "_P+_W")) Pouvez vous m'expliquer la démarche à suivre pour pouvoir procéder L'idée est de sélectionner ce dont j'ai besoin au premier étage d'un bâtiment, puis de lancer la commande sur le 1er étage de bâtiment, puis monter à l'étage supérieur qui se situe 100 unité Y plus haute . Si je répète la commande, sans avoir de sélection d'entités dont le grip est actif, alors on récupère la sélection précédente , et laisse la main à l'utilisateur pour pouvoir la compléter. L'idée est de récupérer la sélection d'objet sur plusieurs étage, pour pouvoir la copier ou déplacer. J'y suis arrivé en passant par : (defun c:, ( / ss sss ) ;; (if (or (setq ss (ssget "_I" )) (setq sss (ssget "_P"))) (if (/= sss NIL ) (command-s "select" "_P" ))) (command-s "-pan" "0,0,0" "0,-100,0") (princ) ) Mais je me demande si ce n'est pas possible de faire plus simple
  4. Merci. Au top ! top ! top
  5. Salut @lecrabe. J'ai tester le lisp. Il fonctionne nickel. par contre, il se lance directement quand je le glisse sur le plans. J'ai essayé de la mettre en lancement au démarrage d'Autocad avec appload, mais quand j'ouvre Autocad, il lance la commande automatiquement au démarrage. Du coup, j'ai du l'enlever de la liste des lisp qui se lancent au démarrage. Si ce n'est pas abusé de ma part, je voudrais bien qu'il me supprime également les cottes dans les blocs, et les 3 éléments (hachures solide, solide et cotte) en dehors des blocs également. Je pensais pouvoir y ajouter le lisp que j'ai écrit , mais je ne sais pas gérer la partie vl... (defun c:SHA () (setq jeusel (ssget "_A" (list '(-4 . "<OR") '(-4 . "<AND") '(0 . "HATCH") '(2 . "SOLID") '(-4 . "AND>") '(-4 . "<AND") '(0 . "SOLID") '(-4 . "AND>") '(-4 . "<AND") '(0 . "DIMENSION") '(-4 . "AND>") '(-4 . "OR>") ) ) ) (command "_.erase" jeusel "") (princ) )
  6. Je test lundi et je te dis ça. Merci
  7. Bonjour a tous. Je déterre ce post, pour savoir s'il est possible de faire une "petite" modification sur le lisp qui me serrait extrêmement utile. Est il possible de faire en sorte que le lisp ne supprime que les hachure solide, et les solide, et non pas toutes les hachures dans les blocs. Lecrabe en a écrit un, mais malheureusement pour moi. il ne les supprimes pas dans les blocs. Je nettoie régulièrement des fonds de plans d'architecte qui ont pleins de hachures qui ne me servent pas, mais les hachures autres que solide sont souvent les faux plafonds qui me sont très utile. Si c'est possible ce serrait vraiment génial. En tout cas un grand merci d'avance
  8. Merci à vous. Vos réponse m'ont bien fait avancer dans la compréhension de plusieurs point. Il va me falloir bosser encore pour aller plus loins. 👍👍👍
  9. Bonjour @didier. Effectivement, ça fonctionne parfaitement, et ça répond tout à fait à mes attentes. je suis vraiment désolé de vous avoir offensé. N'ayant pas trouver sur votre site et sur google( par manque de compréhensions de ma part) ce dont il me fallait (je suis en transition du passage du dessin en temps qu'utilisateur de lisp existant, au début de création en fonction de mes besoins), je découvre à peine le milieux, et ne comprend pas toutes les significations du langage. je tenais à vous remercier pour cette aide et encore désolé.
  10. Bonjour à tous. je cherche à créer un lisp pour récupérer la valeur contenue dans un texte, pour pouvoir l'additionner à une autre que je sélectionne. Même fonction que la fonction AddFields de gille. Mais celle ci ne fonctionne pas avec du texte, mais uniquement avec des champs. pour débuter, j'aimerais pouvoir sélectionner 1 valeur que j'enregistre dans une variable NB1 , puis une seconde que j'enregistre dans une seconde variable NB2 , pour les additionner entre elles ensuite. (setq NB1 (ssget _W)) (setq NB2 (ssget _W)) or, je ne sais pas comment récupérer l'index de la variable NB1 et NB2 pour pouvoir faire une somme des 2 avec un setq somme (+(NB1 NB2) pour pouvoir l'intégrer dans un texte ensuite. si vous avec un tuyau pour récupérer cet index ça serrait top. En vous remerciant par avance pour vos retours.
  11. Bonjour à tous. J'aurais voulu savoir s'il était possible de modifier le paramètre d'étirement d'un bloc lors de lors insertion. j'ai déjà un lisp d'insertion du bloc en question: (defun c:G () ;; Insert GAINE (command "-inserer" "V - Gaine - Circulaire" pause "1" "1" pause) (princ) ) Le bloc à 3 paramètres de distance. Je veux uniquement étirer la paramètre Distance2. afin que , lors de l'insertion du bloc, il me permette de définir le point d'arrivé du paramètre distance2, qui se situe au coordonnée 5.0.0 dans le bloc , afin de donner la longueur du bloc par un simple clic après avoir insérer celui ci. Je ne sais pas si j'ai étai clair. Merci de votre aide. Je pose mon bloc en question en PJ gaine VMC.dwg
  12. @gile Super. Merci beaucoup ça marche à merveille
  13. Bonjour @Eric Justement, je voudrais éviter de remplacer les bloc. Je connais déjà le lisp Rbloc de Patrick35. Ok j'ai tous les blocs de mon dessin, et non pas seulement celui des nourrices de renommé. Donc , j'aimerais que mes lisp d'insertion se charge directement à résoudre mon problème en insérant tel nom de bloc bloc si celui ci est présent dans le dessin, et s'il ne l'est pas, il insert tel nom de bloc, pour ne pas avoir à renommer ou remplacer tous les blocs de tous mes anciens dessins.
  14. Bonjour. Voila mon problème, j'utilise un lisp pour insérer mes blocs, (déjà présent dans mon dessin) quand je travaille. le voici: (defun c:N () ;; Insert une NOURRICE (command "-inserer" "NOURRICE ECS-EFS" pause "1" "1" "'osmode" "0" pause) (command "osmode" "15871") (princ) ) Or, j'ai du renommer mes blocs le nom de bloc "NOURRICE ECS-EFS" est remplacé par le nom "PL - NOURRICE ECS-EFS" sauf que l'ancien nom de bloc est toujours présent dans mes dessins déjà commencé. et je ne peu pas renommer mes blocs de mes anciens dessins, car tous mes blocs sont renommé, et pas seulement celui ci. il faudrait que mon lisp insert le bloc nommé "NOURRICE ECS-EFS", mais s'il n'existe pas , il insert le bloc nommé "PL - NOURRICE ECS-EFS" sais que je ne sais pas du tout comment l'écrire, je suis débutant en lisp. Merci de votre aide
  15. Salut @Steven. Je la connais cette méthode, 😃😉, justement le but de cette routine est de ne pas cliquer sur le point de base du bloc, et aller plus vite dans la sélection , mais merci pour ta réponse en tout cas. Salut @Luna merci. Le lisp correspond exactement à ce que je voulais. Attraper le point se base du bloc vite fais sans clic' juste avec une sélection et en lançant une commande. Et encore merci pour toute la description du code qui va avec. Je vais l'étudier dès que j'ai le temps. salut @didier Merci. Je test ton lisp demain. Comme j'ai eu celui de Luna avant, j'ai tester avant 😉, et comme j'étais au boulot, que le lisp faisais ce que je voulais, je suis rester là dessus. En fonction du comportement de ton lisp, je chercherais à interpréter chaque terme du lisp et ça me servira certainement dans les prochains lisp que je tenterais d'ecrire. Encor un grand merci à tous les 3 😁😁 @bientôt.
  16. Bonjour la communauté. J'ai écris un lisp, mais je n'arrive pas a corrigé l'erreur par manque de connaissance actuellement. A chaque correction de la part d''un de vous, j'apprend à nouveau. J'aimerais que mon lisp, copie le bloc ( sélectionné ou après demande de sélection) depuis sont point de base, puis me laisse la main pour le coller ou je le souhaite. Je vous met mon écriture, si quelqu'un a la générosité de me dire comment réparer ça. Je vous remercie d'avance. CBase.lsp
  17. Merci a tous. Je vais me poser sur l'aide autocad
  18. @Zugzwang, comment accéder à l'aide en ligne avec les commandes lisp ?
  19. Bonjour à tous. Étant autodidacte dans l'apprentissage de la création de lisp, j'aimerais savoir comment et où trouver les commandes d'autocad de cette programmation .exemple , hier soir j'ai découvert l'existance de car et cadr sur un site avec un exercice. Avec vous suivis une formation ou avez vous était vous aussi autodidacte ? Pouvez vous me donner des conseils ?
  20. à la fin de ta commande tu tapes select, puis P pour previous. ça te sélectionnera à nouveau les éléments que tu aura sélectionné auparavant.
  21. Bonjour. C'est un des nombreux lisp de Gilles!!! Le voici BROT.LSP
  22. Jon

    Copier 100+

    Merci luna.Bon elle va rester comme tu me l'as donné avec la possibilité de donner l'espacement . Je voulais (en l'utilisant dans n cas différent) l'adapter encore un peu mais en vain. J'apprend de tes commentaires pour les prochaines et j'y bosse. J'ai voulu ajouter en début de chaque commande un (command "scu" "GE" ) puis en fin de chaque commende un (command "scu" "p") Afin de rester en scu objet pendants ma commande mais je n'ai pas trouver où l'insérer pour que la commande continue de fonctionner .
  23. Jon

    Copier 100+

    Je viens d'avoir une idée. Du coup pour faire ce que je veux , il faut que je sélectionne , que je déplace ma selection de +100 et ensuite que je copie ssget P de -100. Comme ça avec un ssget P je récupère la sélection des objets déplacé à +100.
  24. Jon

    Copier 100+

    Merci. Du coup il n'existe pas de raccourcit pour récupérer tous les derniers objets copié? Car SSGET "D" récupère uniquement le dernier objet. Et non pas tous les objets résultant de la copie et précédent récupérer les objets sélectionné précédemment. Donc si on le copie a +100 on créé un doublon que l'on recopie a nouveau
  25. Bonjour à tous. utilisant une commande d'un AS d'Autocad, il se reconnaitra au long de cette demande, j'aimerais savoir s'il est possible de faire la même avec une autre commande, je m'explique. Pour faire des rotation de plusieurs blocs en même temps, j'utilise le LISP BROT. celui ci demande l'angle de rotation a effectuer, puis de sélectionner les blocs que l'on veux tourner. est il possible de faire le même type de commende avec, a la place d'une rotation, un miroir depuis le point d'insertion du bloc, et parallèlement a l'axe des X. Merci d'avance pour vos réponses.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité