Clément.a Posté(e) le 3 juin 2013 Posté(e) le 3 juin 2013 Bonjour à tous, J'utilise la fonction ssget pour retrouver un bloc (la suite de ce poste ici).Mais de façon aléatoire et sans manipulation particulière la fonction ssget ne retouve pas mon bloc alors que celui ci est bien dans le fenetre de selection et qu'il répond bien aux critères du ssget.J'ai fait dessiner la fenetre de selection préalablement grace au point "point_insertion_inf" "point_insertion_sup" comme ceci (setq point_insertion_sup (mapcar '(lambda (x) (+ x 0.1)) point_insertion) point_insertion_inf (mapcar '(lambda (x) (- x 0.1)) point_insertion)) (setq essai (ssget "_C" point_insertion_inf point_insertion_sup (list '(0 . "INSERT") '(2 . "annotation")))) (command "calque" "e" n "") (command "rectang" point_insertion_inf point_insertion_sup "")Le bloc se retrouve bien dans le rectangle mais essai renvoie nil et donc provoque une erreur par la suite avec le "ssname". Ce cas ne se présente pas toujours avec le même bloc c'est assez aléatoire! Quelqu'un à t il une idée de ce qui pourait provoqué ceci? y a t il quelque chose que j'ai mal fait ? Merci de l'aide, je suis à cours d'idée ("Quand les ordinateurs ne suive plus la logique, l'erreur est toujours du même coté de l'écran!")
bonuscad Posté(e) le 3 juin 2013 Posté(e) le 3 juin 2013 Bonjour,Ce cas ne se présente pas toujours avec le même bloc c'est assez aléatoire! Toute les formes de (ssget) qui requiert des points de sélections peuvent avoir des retours de sélections aléatoires.Comme c'est une forme graphique de sélection celle-ci est dépendante de l'affichage du mode d'accrochage, des paramètres de sélections. Si cela est possible il vaut mieux accentuer son filtre de sélection général que de faire des sélections graphiques individuelles. Si ce n'est pas possible (cela peut l'être), il te faut penser (si ce n'est déjà fait) à régler OSMODE APERTURE PICKBOX. Isoler le calque à traiter peu aider aussi a un meilleur comportement. Si le résultat n'est pas convainquant il faudra par exemple par une boucle avec un zoom objet (ceci pour faire la sélection a peu prés avec les mêmes conditions graphiques) avant de lancer ta ligne de sélection.Les système de coordonnés (par exemple les Lambert topographique) peuvent être aussi un handicap pour les sélections par points. En général, les sélections par points se révèlent souvent problématiques... Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Clément.a Posté(e) le 3 juin 2013 Auteur Posté(e) le 3 juin 2013 Pour les variables, OSMODE je l'ai mis à 0 en revanche APERTURE PICKBOX je n'y ai pas toucher qu'elle valeur faut ils leur appliquer pour avoir un résultat sur SSGET. Avec le zoom objet y faut séléctionner l'objet or c'est ce que je cherche à faire alors je vois pas comment je pourrais l'utiliser? Merci
Clément.a Posté(e) le 3 juin 2013 Auteur Posté(e) le 3 juin 2013 y a t il un moyen rapide d'isoler un calque ou faut passer en revue tout les calque pour les désactiver ?
bonuscad Posté(e) le 3 juin 2013 Posté(e) le 3 juin 2013 Pour les variables, OSMODE je l'ai mis à 0 en revanche APERTURE PICKBOX je n'y ai pas toucher Si tu utilise OSMODE à 0 alors APERTURE ne sera d'aucun utilité: c'est la taille de la cible d'accrochage.PICKBOX est la taille de la cible de sélection, si tu la mets à 1 et que tu prends par exemple la commande "effacer", tu verra que ta cible est minuscule (la sélection devient plus difficile à la souris) mais à travers le lisp, cela peut éviter une sélection malencontreuse d'autres objets. Avec le zoom objet y faut séléctionner l'objet or c'est ce que je cherche à faireD'après ce que j'ai compris tu récupère un point_insertion, donc il provient bien d'un objet, c'est sur celui-ci qui faudrait zoomer pas sur celui que tu cherche à sélectionner (qui à l'air à proximité). Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Clément.a Posté(e) le 3 juin 2013 Auteur Posté(e) le 3 juin 2013 Nn enfet mon point d'insertion c'est le point d'insertion du block donc l'objet que je cherche à séléctionner, or je ne pouvais pas le metre dans les critère de séléction car à cause des précisions de dessin il le retrouvais une fois sur 4 donc j'ai fait une fenetre de séléction. avec les points inf. et sup. Mais du coup en rebondisant sur ton zoom objet j'ai fait un zoom fenetre sur le cadre que j'ai avec ces deux points (pt inf. et pt sup.)et pour l'instant ça fonctionne. Merci pour les infos je pensais pas que SSGET était aussi capricieux!! Merci Bonuscad
vincentp010 Posté(e) le 3 juin 2013 Posté(e) le 3 juin 2013 La problème avec ssget et les fenêtres de sélection c'est que tout ce qui n'est pas visible à l'écran n'est pas sélectionné.Et si tu fait un zoom étendu avant, avec des objets très éloigné, tu risques de sélectionner trop d'objets. Pour en revenir à ton sujet initial, la dernière réponse donnée par VDH-Bruno est la bonne car elle ne dépend pas de l'affichage ni de l'accrochage aux objets. Aide au téléchargement du cadastre dgfip-download-helper Insertion de photos géolocalisées exif https://www.dropbox.com/s/gkf6o9ac2hxen97/exifscr.zip?dl=0 Script correction BUG SPDC V2, propriétaire département 21 et 22 : https://greasyfork.org/scripts/442400-spdcv2/code/SPDCV2.user.js
VDH-Bruno Posté(e) le 3 juin 2013 Posté(e) le 3 juin 2013 Bonjour, Nn enfet mon point d'insertion c'est le point d'insertion du block donc l'objet que je cherche à séléctionner, or je ne pouvais pas le metre dans les critère de séléction car à cause des précisions de dessin il le retrouvais une fois sur 4 A ce sujet , je crois que tu n’as pas creusé suffisamment (ou saisie totalement) l’exemple que je t’avais posté pour la construction de ton filtre de sélection sur le point d’insertion d’un bloc et des arrondies dans les coordonnées.http://cadxp.com/index.php?/topic/37447-rechercher-un-bloc/page__view__findpost__p__205935 A+(Edit: Ah, doublon avec vincentp010 désolé...) Apprendre => Prendre => Rendre
Clément.a Posté(e) le 4 juin 2013 Auteur Posté(e) le 4 juin 2013 oui j'avais déja fait avec la fenêtre de selection et je voyais seulement une alternative de ce que je faisait avec ton filtre de selection (mal vu :) ).Mais les prochaine fois ou pour affiner ma routine je passerais par ce chemin car je trouve que ça fait un peu bidouille avec ma fenêtre de selection. Merci à tous
Clément.a Posté(e) le 5 juin 2013 Auteur Posté(e) le 5 juin 2013 Bonjour, Comment fais t on pour reselectionner une séléction que l'on à sauver sous une variable.mais juste une routine qui la séléctionne et qui quitte en laissant les objets séléctionner.command "select" ne marche pas ...merci
VDH-Bruno Posté(e) le 5 juin 2013 Posté(e) le 5 juin 2013 Bonjour, Comment fais t on pour reselectionner une séléction que l'on à sauver sous une variable.mais juste une routine qui la séléctionne et qui quitte en laissant les objets séléctionner.command "select" ne marche pas ...merci Bonjour, Avec sssetfirst si tu cherche à "gripper" une sélection contenue dans une variable ss. _$ (setq ss (ssget)) <Selection set: 136> _$ (sssetfirst nil ss) (nil <Selection set: 136>) A+ Apprendre => Prendre => Rendre
VDH-Bruno Posté(e) le 5 juin 2013 Posté(e) le 5 juin 2013 Re, command "select" ne marche pas ...Avec la commande select il n’y a pas de soucis...Commande: (setq ss (ssget))Choix des objets: Spécifiez le coin opposé: 263 trouvé(s)Choix des objets:<Selection set: 15a>Commande: selectChoix des objets: !ss<Selection set: 15a>263 trouvé(s)Choix des objets: Sauf que pour visualiser la sélection, il faut le faire avec l’option precedent, dans une commande AutoCAD. Commande: dpDEPLACERChoix des objets: p263 trouvé(s) Et dans ce cas il est plus simple d’appeler directement la variable contenant le jeu de sélection sauvegardé à l’invite de la commande AutoCAD.Commande: dpDEPLACERChoix des objets: !ss<Selection set: 15a>263 trouvé(s) A+ Apprendre => Prendre => Rendre
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