Aller au contenu

mi1

Membres
  • Compteur de contenus

    8
  • Inscription

  • Dernière visite

mi1's Achievements

Newbie

Newbie (1/14)

0

Réputation sur la communauté

  1. mi1

    sélection par polygone

    Ouf! Ca y est ! Un grand merci! J'aurais jamais compris seul!! Bonne journée et à bientôt peut etre.
  2. mi1

    sélection par polygone

    Merci Gille! J'ai pas encore testé mais l'explication me plait! Effectivement je ne suis pas encore sensible à certaines suptilités des fonctions que j'utilise un peu à tatons! Je m'y met!
  3. mi1

    sélection par polygone

    Non, ca ca me va, mes blocs se tourne dans la direction décrite par les deux points cliqués par l'uilisateur. Et tout ca marchait avec ssget"X".. Je pense vraiment que je rate quelque chose au niveau du polygone. Soit je ne récupère pas ce qui est à l'interieur soit il est mal dessiné (probleme de systeme de coordonnées? ou probleme de fermeture du polygone?) et donc vide.. J'ai peut etre mal renseigné la fonction ssget? ssget[mode][points][liste de point][filtre]?
  4. mi1

    sélection par polygone

    Rhaaaaaaaaaaaaa! Il me renvoie toujours Nil!! Quelqu'un aurait-il une autre idée? Je sèche... Peut etre du coté de la saisie des points? De la "reconnaissance" du polygone? (defun C:RB30 (/ rot n ss ent elst pt1) (if (and (setq n -1) (setq pt1(getpoint "\nSélectionnez le premier point: ")) (setq rot(getangle pt1 "\n \n \nSélectionnez le deuxième point: ")) (setq pnt1 (getpoint "\nSélection des blocs : Sélectionnez le premier coin : ") lp pnt1 pntlst (list pnt1) ) (while (setq pnt2 (getpoint lp "\nSélectionner le point suivant ou taper ENTRER pour valider: ")) (grdraw lp pnt2 8 1) (setq pntlst (cons pnt2 pntlst) lp pnt2) ) (redraw) ) ( (if (setq ss (ssget "_WP" pntlst '((0 . "INSERT")(2 . "ED10")))) (progn(setq n -1) (while (setq ent (ssname ss (setq n (1+ n)))) (setq elst (entget ent)) (entmod (subst (cons 50 rot) (assoc 50 elst) elst)) ) (setq n -1 ) ) ) ) ) )
  5. mi1

    sélection par polygone

    Aîe!! Ca se croise les message!! Merci à tous, j'ai matière à réfléchir et Titifonky viens de m'apprendre ce a quoi "progn" sert!!! Je test de suite!!!
  6. mi1

    sélection par polygone

    Merci pour la précision de présentation. Je poste pour la premiere fois même si ca fait un moment que votre forum m'aide! Pour l'initialisation de n je ne vois pas où je pourrait la faire d'autre, ni ce que ca changerait... Ca fonctionnait très bien quand j'utilisais ssget"X"... Seule le mode de sélection à changé... Enfin je crois.
  7. mi1

    sélection par polygone

    Salut! Merci pour cette réponse rapide! Alors, oui effectivement c'est _WP que j'avais, une petite ereur de transmisssion. Mais mon probleme reste intact! En fait ma routine fonctionnait avec ssget "X" mais maintenant il semblerait que mon code ne "trouve" rien à l'interieur du polygone tracé par l'utilisateur... Ou que le polygone n'en ai pas un? Je suis perdu j'avoue, je tourne en rond! Je remet le bout de code corrigé : (setq pnt1 (getpoint "\nSélection des blocs : Sélectionnez le premier coin : ") lp pnt1 pntlst (list pnt1) ) (while (setq pnt2 (getpoint lp "\nSélectionner le point suivant ou taper ENTRER pour valider: ")) (grdraw lp pnt2 8 1) (setq pntlst (cons pnt2 pntlst) lp pnt2) ) (redraw) (if (setq ss (ssget "_WP" pntlst '((0 . "INSERT")(2 . "ED10")))) (and (while (setq ent (ssname ss (setq n (1+ n)))) (setq elst (entget ent)) (entmod (subst (cons 50 rot) (assoc 50 elst) elst)) ) (setq n -1 ) ) )
  8. Bonjours à tous! Désolé de poster un sujet aussi courant mais je n'arrive pas à trouver une solution. Voila, je veux une routine demandant à l'utilisateur de tracer un polygone puis récuperer les block (avec un filtre) contenu dans ce polygone. Il me semble que j'y suis presque mais le code si dessous me renvoie toujours "nil"... Pourriez vous m'aider s'il vous plait (comme vous avez pu vous en douter je débute en Lisp!!!!) (setq pnt1 (getpoint "\nSélection des blocs : Sélectionnez le premier coin : ") lp pnt1 pntlst (list pnt1) ) (while (setq pnt2 (getpoint lp "\nSélectionner le point suivant ou taper ENTRER pour valider: ")) (grdraw lp pnt2 8 1) (setq pntlst (cons pnt2 pntlst) lp pnt2) ) (redraw) (if (setq ss (ssget "CP" pntlst '((0 . "INSERT")(2 . "ED10")))) (and (while (setq ent (ssname ss (setq n (1+ n)))) (setq elst (entget ent)) (entmod (subst (cons 50 rot) (assoc 50 elst) elst)) ) (setq n -1 ) ) )
×
×
  • 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é