CLOTHO Posté(e) le 11 juin 2015 Posté(e) le 11 juin 2015 Bonjour à tous, Est-ce que quelqu'un peut- m'aider à trouver le code VBA permettant de modifier la couleur des calques d'une XREF?En effet, ma macro consiste à chercher un ensemble de fichier sur le serveur, les attacher en tant que XREF en ayant crée un calque pour chacune. Il me manque la fonction pour changer les couleurs des calques de chaque XREF. Merci pour votre aide. Autopiste & Covadis V14 - Mensura V7 - Autocad Civil3D 2013
CLOTHO Posté(e) le 12 juin 2015 Auteur Posté(e) le 12 juin 2015 Bonjour, J'ai trouvé la solution avec ces lignes: For Each Layer In AutoCAD.Application.ActiveDocument.LayersIf Layer.name Like "XREF_*" ThenLayer.TrueColor = cl Mais ceci m'oblige à fixer les noms de toutes les XREFS pour commencer par XREF_ Imaginons que je récupère les noms des XREFs d'une colonne sur excelAvez-vous une idée pourquoi ceci ne fonctionne pas: for i=1 to ....n =ActiveSheet.Cells(i, 1).Text...... For Each Layer In AutoCAD.Application.ActiveDocument.LayersIf Layer.name Like "n|*" ThenLayer.TrueColor = cl Je vous remercie d'avance. Autopiste & Covadis V14 - Mensura V7 - Autocad Civil3D 2013
Patrick_35 Posté(e) le 12 juin 2015 Posté(e) le 12 juin 2015 Salut Si tu ouvres un dessin avec des xrefs, que tu changes la couleurs des calques des xrefs, il est normal que quand tu ouvres directement le xref, les couleurs soient pas changées.Pour cela, il faut ouvrir le xref en ObjectDbx, changer la couleur du calque et ensuite sauvegarder. Ou alors, si cela ne concerne que le dessin qui charge les xrefs, regarde la variable visretain @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
CLOTHO Posté(e) le 14 juin 2015 Auteur Posté(e) le 14 juin 2015 Salut Si tu ouvres un dessin avec des xrefs, que tu changes la couleurs des calques des xrefs, il est normal que quand tu ouvres directement le xref, les couleurs soient pas changées.Pour cela, il faut ouvrir le xref en ObjectDbx, changer la couleur du calque et ensuite sauvegarder. Ou alors, si cela ne concerne que le dessin qui charge les xrefs, regarde la variable visretain @+ Bonjour Patrick et merci beaucoup.Après quelques efforts voilà le code: Public Sub chgXRefLayerColor()Dim tLayer As AcadLayerFor Each tLayer In ThisDrawing.LayersIf InStr(tLayer.Name, "|") > 0 ThentLayer.color = acBlueEnd IfNextEnd Sub On peut toujours faire autrement...Mais l'idée est là.A+ Autopiste & Covadis V14 - Mensura V7 - Autocad Civil3D 2013
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