Aller au contenu

Changer la couleur des calques d'une XREF


Messages recommandés

Posté(e)

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

Posté(e)

Bonjour,

 

J'ai trouvé la solution avec ces lignes:

 

For Each Layer In AutoCAD.Application.ActiveDocument.Layers

If Layer.name Like "XREF_*" Then

Layer.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 excel

Avez-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.Layers

If Layer.name Like "n|*" Then

Layer.TrueColor = cl

 

Je vous remercie d'avance.

Autopiste & Covadis V14 - Mensura V7 - Autocad Civil3D 2013

Posté(e)

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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

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 AcadLayer

For Each tLayer In ThisDrawing.Layers

If InStr(tLayer.Name, "|") > 0 Then

tLayer.color = acBlue

End If

Next

End Sub

 

On peut toujours faire autrement...Mais l'idée est là.

A+

Autopiste & Covadis V14 - Mensura V7 - Autocad Civil3D 2013

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • 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é