joris25 Posté(e) le 30 avril 2021 Posté(e) le 30 avril 2021 Bonjour à vous, je réalise des plans de copropriété, et en général les plans des étages 2 3 4 5 sont à peu près les mêmes du coup je colle mes teintes (hachures) d'un étage sur l'autre ; c'est sans compter sur mon patron qui exige que d'un étage sur l'autre deux appartements identiques se superposant n'aient pas la même couleur de hachures..(pour ne pas les confondre avec un même lot en duplex) - j'utilise exclusivement 6 couleurs (bleu vert orange violet saumon et rose) : ; auriez vous la possibilité de créer un lisp qui en sélectionnant les hachures ferait automatiquement : les hachures en 131 passeraient en 221 les hachures en 221 passeraient en 131 les hachures en 31 passeraient en 91 les hachures en 181 passeraient en 11 les hachures en 11 passeraient en 181 les hachures en 91 passeraient en 31 Un grand merci d'avance à vous et encore bravo pour votre travail .. Joris ... Citer
La Lozère Posté(e) le 30 avril 2021 Posté(e) le 30 avril 2021 Un calque "hachure" par couleur, et la couleur Ducalque des objets prend tout son sens 😉.... Sinon pour te sortir de ton problème, tu peux utiliser la commande "FILTER" qui te permettra de sélectionner toutes tes hachures de la couleur 131 et ensuite de modifier la couleur dans la palette des propriétés. 1. tu lances la commande FILTER 2. tu "ajoutes l'objet sélectionné" 3. Tu supprimes les filtres que tu n'as pas besoin pour ne garder que les filtres utiles (objet "hachure", et couleur "131") 4. Tu clics sur "appliquer" 5. En ligne de commande, on te demande de choisir tes objets, tu fais "TOUT" 6. Tu modifies la couleur de ton jeu de sélection via la palette. Et voilà. Avec cette manip, tu peux également faire en sorte d'avoir un calque par couleur. Pour ne plus être embêter par la suite.... Citer www.cad-is.fr Autocad Map 2021 - Covadis/Autopiste V18.0c Pisser sous la douche ne suffira pas
(gile) Posté(e) le 30 avril 2021 Posté(e) le 30 avril 2021 Salut, ((lambda (/ ss i aci) (if (setq ss (ssget "_X" '((0 . "HATCH")))) (repeat (setq i (sslength ss)) (setq h (ssname ss (setq i (1- i))) aci (getpropertyvalue h "Color") ) (cond ((= aci "131") (setpropertyvalue h "Color" "221")) ((= aci "221") (setpropertyvalue h "Color" "131")) ((= aci "31") (setpropertyvalue h "Color" "91")) ((= aci "91") (setpropertyvalue h "Color" "31")) ((= aci "181") (setpropertyvalue h "Color" "11")) ((= aci "11") (setpropertyvalue h "Color" "181")) ) ) ) ) ) 1 Citer Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
joris25 Posté(e) le 30 avril 2021 Auteur Posté(e) le 30 avril 2021 Merci gile, tu as compris que je recherchai une chose automatique .. super grand merci a + et encore bravo Citer
joris25 Posté(e) le 30 avril 2021 Auteur Posté(e) le 30 avril 2021 juste petite précision y a t'il un moyen que ce lisp ne s'applique que aux hachures selectionnées , là il change toute les hachures du fichier ; et aussi petite interrogation d'habitude il y a un defun c pour charger le lisp ou dois je le rajouter sur le ficjier texte pour donner un nom a ce lisp et le lancer avec une commande comme pour les autres ? Merci d'avance Citer
(gile) Posté(e) le 30 avril 2021 Posté(e) le 30 avril 2021 AutoLISP, Leçon N°1 Avec le code ci-dessus : tu supprimes la première parenthèse ouvrante et, bien sûr la dernière parenthèse fermante tu remplaces lambda par : c:LeNomDeComandeQuiTeConviens tu supprimes le "_X" dans l'expression : (ssget "_X" '((0 . "HATCH"))) et ça devrait marcher. Citer Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
joris25 Posté(e) le 30 avril 2021 Auteur Posté(e) le 30 avril 2021 ca a l'air ... de marcher merci à toi je vais devenir la star de mon cabinet avec ça.. Citer
Fraid Posté(e) le 1 mai 2021 Posté(e) le 1 mai 2021 Bonjour, Une alternative pour le sport. (vl-load-com) (defun c:hcoul (/ coul adcol sel) (setq coul '((131 . 221) (221 . 131) (31 . 91) (91 . 31) (181 . 11) (11 . 181) ) ) (if (ssget) (progn (vlax-for obj (setq sel (vla-get-activeselectionset (vla-get-activedocument (vlax-get-acad-object)))) (and (= (vla-get-ObjectName obj) "AcDbHatch") (setq adcol (cdr (assoc (vla-get-color obj) coul))) (vla-put-color obj adcol) ) ) (vla-delete sel) ) ) (princ) ) Citer https://github.com/Fraiddd
Messages recommandés