Aller au contenu

DenisHen

Membres
  • Compteur de contenus

    4 029
  • Inscription

  • Dernière visite

  • Jours gagnés

    21

Tout ce qui a été posté par DenisHen

  1. Re. je crois que je me compliquais la vie avec le (sslenth, je l'ai supprimé et ça donne : (if (/= (setq Select (ssget "_A" (list (cons 8 "Test")))) nil) (progn (initget 1 "Oui Non") (if (= (getkword "\nEffacer le contenu du calque courant ? [Oui/Non]: ") "Oui") (command "_erase" Select "") ) ;_ Fin de if ) ;_ Fin de progn ) ;_ Fin de if Et ça fonctionne très bien désormais...
  2. Salut Ô Décapode, et merci pour cette routine. Mais elles ne traitent pas de mon sujet puisqu'il faut qu'une entité soit sélectionnée... :huh: Merci encore... ;)
  3. Bonjour à tous. Aujourd'hui, je cherche à savoir si un calque contient des entités pour proposer à l'utilisateur de "vider" ce calque s'il n'est pas vide avant de continuer mon code. J'ai donc écris ça : (if (/= (sslength (setq Select (ssget "_A" (list (cons 8 "Test"))))) nil);; Sachant que ce calque est vide (progn (initget 1 "Oui Non") (if (= (getkword "\nEffacer le contenu du calque courant ? [Oui/Non]: ") "Oui") (command "_erase" Select "") ) ;_ Fin de if ) ;_ Fin de progn ) ;_ Fin de if Mais ça ne fonctionne pas. Après de multiples recherche dans la Console, j'ai trouvé où était l'erreur : Mais je ne sais pas trop quoi en faire. Je suis allé faire un tour du coté de da-code, et j'ai fait un defun "test" qui donne ça : (defun c:TestSSlenth ( / jeusel) (setq jeusel (ssget "x" '((0 . "*SOLID"))));; Sachant que je n'ai pas ce type d'entité (setq nombre-lignes (sslength jeusel)) ) ;_ Fin de defun Mais là aussi, même erreur : Voici le déroulement en français : Je sais, ça en fait une tartine pour juste un code de quelques lignes... Mais c'est pour montrer mes recherches et mieux faire comprendre mon problème... ;) Quelqu'un aurait une idée ?
  4. Salut Christian. J'ai le même problème, de temps en temps, lors d'un clic-droit sur un ou plusieurs fichiers, la ligne "couper" ou "copier" est grisée... :angry: Mais le [CTRL]+X et [CTRL]+V fonctionnent... Souvent... :huh:
  5. Bonjour à tous, et merci pour vos réponses. Effectivement, j'aurais du faire plus de testes, comme tracer une ligne, je n'y avais pas pensé... Je me suis concentré sur le contenant et ai oublié le contenu... Tellement fière d'avoir créé une liste "propre", je n'ai pas prêté attention à ses valeurs... Voici le code du pt2_ep qu'il fallait que j'écrive : (setq pt2_ep (list (+ (/ (* (distance pt1 pt2) (atof echelle)) 100) (cadr pt1_ep)) 0.1)) J'avais inversé l'X et l'Y... Maintenant la fenêtre se créée comme il faut... Encore merci à vous...
  6. Bonjour à tous... Voilà, je tente ce soir de créer une fenêtre dans l'EP. J'ai des coordonnées qui... tiennent la route : Mais après avoir lancer la commande "-fenetres" en EP, AutoCAD me dit : Voici donc le bout de mon code : ;;Calcul des quatres points de le nouvelles fenêtre************* (setq pt1_ep (list 0.1 0.1)) (setq pt2_ep (list 0.1 (+ (/ (* (distance pt1 pt2) (atof echelle)) 100) (cadr pt1_ep)))) (setq pt3_ep (list (car pt2_ep) (+ (/ (* (distance pt2 pt3) (atof echelle)) 100) 0.1))) (setq pt4_ep (list (car pt1_ep) (cadr pt3_ep))) (princ "\nDrapeau 01") (command "-fenetres" Pt1_ep Pt3_ep) (princ "\nDrapeau 02") ;; (vla-EndUndoMark (vla-get-ActiveDocument (vlax-get-acad-object))) Alors que mes deux points sont bien "positifs"... Mais voici ce que me répond AutoCAD : Alors que mes deux points sont "bons"... J'ai aussi testé en 2D, rien n'y fait... Si quelqu'un a une solution, un conseil... Je suis preneur...
  7. Salut à tous, et merci pour vos réponses, collégiales... Entre jour férié, congé imposé, jour férié, congé imposé.... Je ne sais plus quel jour on est... Donc, après les balades en VTT le long du canal de Bourgogne, les promenades des chiens dans les bois, re VTT, re balades... Recherche des fleures d'accacia (en beignet, c'est un régal), puis re VTT et tout et tout... Je suis donc de "retour"... J'aimerais progresser dans mon projet perso... Et pour ça, il faut que je m'investisse sur mon temps libre... J'ai donc tenté de faire selon vos conseils (celà dit, Aleck, je n'ai pas le niveau que tu penses ;) . Je ne touche pas encore à (entmake par exemple...) J'ai donc fais plusieurs essais dans la console, voici mes tentatives de compréhension, je vous dévoile tout mon "processus" intellectuel (s'il existe) pour que vous compreniez mieux les méandres syntaxiques auxquels peuvent avoir à faire les novices (comment ça se passe dans le cerveau des profanes et autres débutants comme moi) : Je crois que j'ai fini par comprendre... Mais pas sans "mal"... Mais grâce à quelqu'un d'entre vous (pour ne pas dire tous), Maître (gile), didier, Patrick_35...) On progresse parfois sans le savoir, c'est l’apprentissage "fourbe", "sous-jacent", qu'on ne voit pas, mais qui est bien présent...Et je vous en remercie au nom de tous... ;) Je vais encore passer quelques lignes de code dans la console pour bien mettre en place la compréhension de cette particularité essentielle du langage LISP... Je ne manquerais pas à vous souhaiter un excelent week-end à tous... Profitez-en... (didier, si tu me lis, je pense à l'expatrié et à ces environ 24h/24... Même avec un peu de lecture les soirée... ;) ) Bien à vous tous... Denis...
  8. Salut à tous, et un grand merci pour vos réponses. @(gile) : J'ai fais des testes dans la console (ce que je fais de plus en plus souvent), et voici le résultat : J'avoue ne pas savoir trop quoi en faire. @didier : J'ai bien lu et relu jusqu'à croire que j'avais compris, mais construire une liste à l'air beaucoup plus compliqué pour un profane (comme moi) que vous semblez le croire, ce n'est que mon avis bien-sur... Mais je vais tout relire encore une fois pour suivre vos conseils... Encore merci à vous... Denis...
  9. Bonsoir à tous... Voilà, je tente de faire une fenêtre dans l'EP. J'ai quatre points dans l'EO (Pt1=bas gauche ; Pt2=bas droit ; Pt3=haut droit et Pt4=haut gauche) j'aimerais faire une fenêtre dans l'EP, j'ai les bonnes longeurs et hauteur grace à ces quatre points multipliés par le dixième de l'échelle (j'ai pô compris pourquoi). Sachant que echelle="200.0" (oui, une chaine). J'ai donc écris ça (car je n'ai pas trouver à faire une fenêtre en deux points) : ;;Calcul des quatres points de le nouvelles fenêtre************* (setq pt1_ep (list (0.1 0.1))) (setq pt2_ep (list (0.1 (+ (/ (* (distance pt1 pt2) (atof echelle)) 10) (car pt1_ep))))) (setq pt3_ep (list (car pt2_ep) (+ (/ (* (distance pt2 pt3) (atof echelle)) 10) 0.1))) (setq pt4_ep (list (car pt1_ep) (cadr pt3_ep))) Mais je crains que ma construction de points (en fait, la création d'une liste de deux données pour chaque point) ne soit pas appropriée. car je fais : (command "-fenetres" "po" Pt1_ep Pt2_ep Pt3_ep Pt4_ep) Mais ca ne fonctionne pas... J'obtient : En fait, je crois mal créer mes listes de points... J'espère être "claire"...(Maître didier, si tu me lis...Cette ligne est pour toi... ;) ) Je cherche toujours à créer une liste d'après plusieurs données (j'attend avec impatience ma formation LISP chez un Maître ! ! !)
  10. Salut Olivier, et merci pour cette réponse en cette heure tardive dans ce jour férié... Effectivement, je n'avais pas tout testé... Encore merci à toi...
  11. Bonjour à tous, si quelqu'un peut m'expliquer, je suis en EO : -erase fonctionne, mais (command "-erase" ne fonctionne pas, j'ai même tenté avec "_-erase"... Voici une capture... : J'ai essayé aussi avec (command-s "-erase" "_all") Je pense avoir été clair (oui ou non maître didier ;) ) Si quelqu'un a une explication, je suis preneur...
  12. Salut à tous... Patrick_35, après maintes et maintes relecture de ton code, il s'avère bien au dessus de mes compétences... :o Je vais rester sur la méthode d'Olivier, qui elle, reste à ma portée... :huh: Par contre, ton lisp ONG.LSP m'aide beaucoup... Merci encore... ;)
  13. Salut Patrick_35 et merci pour ce code, je regarde ça...
  14. Je n'en sais encore rien, mais un copier/coller de la polyligne me semble inutile dans ce que m'a proposé Olivier. Et elle fera doublon avec la fenêtre. Je pense surtout à créer une fenêtre (viewport) aux mêmes proportion que la polyligne avec un coef selon l'échelle. Une fois activée, je n'aurais plus qu'à rappeler la vue enregistrée. Entièrement d'accord. Mon problème est que je ne sais pas quoi faire de la polyligne une fois collée dans l'EP. Et je pense que ce que j'ai commencé (méthode d'Olivier) correspond plus à mes moyens. Je te remercie encore pour ton aide, ton idée reste bonne, mais est hors de mes compétences. Et bon week-end à tous... ;)
  15. Salut didier, et merci pour ton aide. Je ne vois pas ce que j'ai mal exprimé : Je croyais que c'était claire, mais apparemment je me suis trompé... :huh: Si tu crois que c'est volontaire... :blink: Pour l’instant je progresse dans la méthode que m'a proposée Olivier. Actuellement, je sélectionne la polyligne, je repère ses sommets (j'ai donc les deux longueurs du rectangle grace aux coordonnées des sommets de cette polyligne) et je sauvegarde une vue (avec ces coordonnées), je passe en EP, j'en suis là pour l'instant. La prochaine étape est de créer une fenêtre rectangulaire qui correspond aux longueurs et l'échelle souhaitée. Ensuite, j'activerais la fenêtre créée et je rappellerais la vue sauvegardée... Est-je plus explicite ? Je ne poste pas mon code car il est encore trop "brouillon". Je croyais avoir le temps de le faire aujourd'hui, mais ça va attendre ce soir... Encore merci pour ton aide...
  16. Bonjour Olivier, et merci pour ton aide. Je vais essayer de suivre ta méthode, mais ce n'est pas gagné... Encore merci...
  17. Bonjour à tous, et merci pour votre aide. @lecrabe : la routine de Brice est hyper compliquée pour moi, mais je vais tenter de la comprendre pour l'adapter à mes besoins. @(gile) : oui, c'est exactement ça (en plus, je ne suis jamais allé à Florence), comme je n'ai rien trouvé pour faire ce que je voulais (sélection d'une polyligne en EO -> création d'une fenêtre en EP), j'ai pensé que c'était plus facile en transformant cette polyligne en bloc puis de créer une fenêtre dans l'EP. Sinon, d'autres l'auraient fait avant moi... Mais si tu as mieux, je suis toujours preneur... Merci encore pour vos réponses...
  18. Bonjour à tous. Voilà, aujourd'hui, je cherche à sélectionner une polyligne dans l'EO pour en faire une fenêtre dans l'EP. J'ai trouvé plusieurs postes qui pourraient me convenir (après bidouilles) mais ils fonctionnent tous selon un bloc et non une polyligne. Ma question est donc : Comment faire un bloc depuis une polyligne ? Si quelqu'un a une solution, une idée, un conseil... Je suis preneur...
  19. DenisHen

    Extraction attributs

    Salut. Il ne faut jamais lancer un .EXE si on ne sait pas exactement ce qu'il fait... Surtout s'il s'exécute en mode DOS... C'est très dangereux... T'en servais-tu avant, de ce .EXE ?
  20. Ok, je comprend mieux, effectivement, c'est un comportement curieux, mais vu que la cellule "Échelle du type de ligne" est grisée, c'est peut-être parce qu'elle ne sert à rien... Pour l'instant. C'est peut-être pour une version future... Mais rassure-toi (si c'est "rassurant"), ça fait la même chose chez moi... :mellow:
  21. Salut. Dans ton bloc (exemple2.dwg) les cercles du bloc sont définis en "DuBloc" (couleur, type de ligne et épaisseur de ligne), donc, si tu le décomposes, ces cercles ont ces propriétés en "DuBloc"...
  22. Je pense aussi, mais apparemment, tu n'es pas le seul à ne pas le connaitre... ;)
  23. Salut La Lozère. Trois questions bêtes : Est-ce bien deux cercles concentriques (et non des polylignes) ? Quelle est la valeur de la variable "LTSCALE" ? Une fois le bloc décomposé, les lignes restent les mêmes ? Denis... PS : après vérification, "ECHLTP" = "LTSCALE", ce qui annule ma deuxième question...
  24. Si ça peut être utile à d'autres, voici le bout de code qui permet de dessiner un rectangle à la souris en trois points, pt1 et pt2 pour la base du rectangle et pt3 pour sa hauteur : (initget 1) (setq pt1 (getpoint "\nPoint bas gauche : ")) (setq pt2 (getpoint "\nPoint bas droit : ")) (setq pt12 (getpoint "\nHauteur : ")) (Setvar "OSMODE" 0) (setq DistPerp (DistanceTo pt12 pt1 pt2)) (setq pt3 (polar pt2 (+ (angle Pt1 Pt2) (/ pi 2)) DistPerp)) (setq pt4 (polar pt1 (+ (angle pt1 Pt2) (/ pi 2)) DistPerp)) (Command "_PLINE" pt1 pt2 pt3 pt4 "_C") Attention, selon le sens des angles (trigo ou horaire) il faut soustraire "(- (angle..." ou ajouter "(+ (angle..." la moitié de pi.
  25. Salut (gile), et merci pour cette réponse. Je n'avais pas compris ça... Je cherchais à créer un point sur la droite Pt1/Pt2 perpendiculaire au point PtPerp...
×
×
  • 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é