DenisHen Posté(e) le 7 février 2018 Posté(e) le 7 février 2018 Bonjour à tous. Aujourd'hui, j'ai un petit problème qui se pose. Je fais un ssget pour sélectionner toutes les polylignes d'un calque. Mais j'aimerais trier celles qui sont inférieures à 2m. Voici mon ssget :(setq Select (ssget "_A" (list (cons 0 "LWPOLYLINE") (cons 6 "ST_FDP_HAIED")))) Si quelqu'un as une astuce, un conseil... Je suis preneur... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
(gile) Posté(e) le 7 février 2018 Posté(e) le 7 février 2018 Salut, On ne peut pas filtrer directement avec la longueur d'une polyligne avec un filtre d sélection (il n'y a pas de propriété DXF correspondant à ce critère).Il faut que tu fasse ça dans le traitement de ton jeu de sélection. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
DenisHen Posté(e) le 7 février 2018 Auteur Posté(e) le 7 février 2018 Salut (gile). Merci pour cette réponse... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Fraid Posté(e) le 7 février 2018 Posté(e) le 7 février 2018 Bonjour, j'men sort avec cette pirouette (command "_.area" "_o" (ssname Select n)) (getvar "PERIMETER") bon courage a toi, c'est dur... https://github.com/Fraiddd
DenisHen Posté(e) le 7 février 2018 Auteur Posté(e) le 7 février 2018 A toutes fins utiles, voici mon bout de code... : (if (setq ss (ssget "_X" (list (cons 0 "LWPOLYLINE,LINE") (cons 8 "Routes")))) (progn (setq i 0) (while (setq ssObj (ssname ss i)) (setq i (1+ i)) (if (< (getpropertyvalue ssObj "length") 2) (progn (command "chprop" ssObj "" "ca" "FDP_Talus Barbules" "Co" "ducalque" "")) ) ;_ Fin de if ) ;_ Fin de while ) ;_ Fin de progn ) ;_ Fin de if Il tri les "LWPOLYLINE" et les "LINE" inférieures à 2 mètres et étant dans le calque "Routes" et les place dans le calque "FDP_Talus Barbules" avec la couleur "DuCalque". Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
(gile) Posté(e) le 7 février 2018 Posté(e) le 7 février 2018 Tu pourrais utiliser setpropertyvalue pour modifier le calque et la couleur plutôt que la commande CHPROP. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
DenisHen Posté(e) le 7 février 2018 Auteur Posté(e) le 7 février 2018 Effectivement... Mais ça ne fonctionne pas... :(if (setq ss (ssget "_X" (list (cons 0 "LWPOLYLINE,LINE") (cons 8 "Routes")))) (progn (setq i 0) (while (setq ssObj (ssname ss i)) (setq i (1+ i)) (if (< (getpropertyvalue ssObj "length") 2) (progn ;;(command "chprop" ssObj "" "ca" "FDP_Talus Barbules" "Co" "ducalque" "")) (setpropertyvalue ssObj "Layer" "FDP_Talus Barbules") (setpropertyvalue ssObj "Color" "ducalque") ) ;_ Fin de progn ) ;_ Fin de if ) ;_ Fin de while ) ;_ Fin de progn ) Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
(gile) Posté(e) le 7 février 2018 Posté(e) le 7 février 2018 Pour utiliser ces fonctions, il ne faut pas hésiter à faire un dumpallproperties pour voir (dans la fenêtre de texte) le nom des propriétés et le type de valeur (setpropertyvalue ssObj "LayerId" (tblobjname "layer" "FDP_Talus Barbules")) (setpropertyvalue ssObj "Color" "BYLAYER") Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
DenisHen Posté(e) le 7 février 2018 Auteur Posté(e) le 7 février 2018 Merci pour ton aide. Mais c'est curieux, l'entité garde la couleur fixée et ne passe pas à ByLayer... mais la couleur "DuCalque" n'est pas -1 ou 256 ? PS : je confirme, 256 est la couleur "DuCalque". Encore merci. Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
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