Aller au contenu

Attacher Xrefs d'un dossier et sous-dossiers


Messages recommandés

Posté(e)

Bonjour à tous,

 

J'ai besoin d'attacher plusieurs Xref qui se trouvent dans un dossier parent et des sous-dossier.

Je me demande s'il y a une routine qui peut le faire.

 

Je vous remercie d'avance.

Autopiste & Covadis V14 - Mensura V7 - Autocad Civil3D 2013

Posté(e)

Bonjour,

 

Que souhaites-tu faire, exactement? Parce que comme ça, c'est un peu vague.

Steven________________________________________

Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.

Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD.

En rêve; AutoCAD sous Linux.

Posté(e)

Bonjour,

 

Que souhaites-tu faire, exactement? Parce que comme ça, c'est un peu vague.

 

Bonjour Steven et merci pour ta réponse si rapide :)

 

En fait, je travaille sur quelques kilomètres de routes avec des buses et bassins toutes en XREF qui doivent être attachées à mes vue en plans.

 

Les XREFs dépassent 300 et les indices changent au fur et à mesure.

 

Le but final est de pouvoir faire appel à toutes les XREFs qui ne sont pas forcément dans le même réperoire càd par exemple :

 

- Pour les buses: D:\XREFS\OH

- Pour les voiries: D:\XREFS\VL

- Pour les TOPO : D:\XREFS\TOPO

 

Je me demande aussi si c'est possibe de faire un test pour savoir si mon XREF passe pas le cadre qui délimite ma VP dans ce cas on l'attache sinon on l'attache pas.

 

Je ne sais pas si c'est clair ou pas.

 

Je remercie d'avance toute personne qui me file au moins une piste pour gagner du temps et minimiser les erreurs.

Merci aussi à tous ceux qui lisent ce post jusqu'à la fin :)

Autopiste & Covadis V14 - Mensura V7 - Autocad Civil3D 2013

Posté(e)

Bonjour,

 

existe-t-il une logique entre le nom du fichier de travail et les noms des fichiers BUSE, VL et TOPO ?

 

J'imagine que dans ton cas vous travaillez par planche qui porte chacune son numéro ? Ce serait gérable si les fichiers de travail s'appelaient Chantier_EXE_A_1.dwg avec A qui serait l'indice et 1 le numéro de planche.

De la même manière, les fichiers xrefs devraient suivre une logique similaire Chantier_XREFOH_B_1.dwg, Chantier_XREFVL_D_1.dwg, Chantier_XREFTOPO_B_1.dwg.

 

A partir du fichier de travail, on trouve le nom du fichier avec dwgname, dont on peut extraire le numéro de planche. Après on peut regarder les xrefs qui sont attachées et qui correspondent à cette planche, puis on compare avec ce qu'on trouve dans les répertoires. Si, dans les répertoires, on trouve un indice plus élevé, on détache l'ancien et on rattache le nouveau, en ayant pris soins de se remettre en SCG. S'il n'y a pas de xref et qu'un fichier existe, on l'attache.

 

Sinon, s'il n'y a pas une telle logique, on peut quand même supposer que l'indice apparait quelque part dans le nom des fichiers ? Le lisp pourrait consister à reprendre la liste des xrefs qui est présente dans le fichier de travail et à vérifier s'il existe une version plus récente.

 

Il faudrait un peu nous en dire plus sur l'organisation des noms de fichiers pour qu'on puisse voir ce qu'il est possible de faire.

 

Je me demande aussi si c'est possibe de faire un test pour savoir si mon XREF passe pas le cadre qui délimite ma VP dans ce cas on l'attache sinon on l'attache pas.

Je ne crois pas que cela soit facile !

 

Amicalement

Vincent

C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme)

C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)

Posté(e)

Bonjour :)

 

En fait mes XREFS n'ont pas une suite logique.

Pour cela j'ai pensé à passer par le VBA excel pour receuillir les noms et les chemins de toutes les XREFs pour faire une boucle qui parcours les XREFs et les attaches une par une après les avoir organisé en ne gardant que le dernier indice.

 

Ce n'est que l'idée...

Autopiste & Covadis V14 - Mensura V7 - Autocad Civil3D 2013

Posté(e)

Re-bonjour,

 

J'ai commencé à tester la macro qui permet d'attacher une XREF que je mets ci-dessous:

 

Sub AttachXRef()

 

Dim PtInsert(0 To 2) As Double

Dim objXref As AcadExternalReference

Dim strChemin As String

Dim AcadApp As AutoCAD.AcadApplication

 

' On demande le nom du fichier à ouvrir

Dim Filename As Variant

Filename = Application.GetOpenFilename("Dessins AutoCAD (*.dwg), *.dwg")

If Filename = False Then

Exit Sub

 

End If

Cells(1, 1).Value = Filename

 

' Connexion avec AutoCAD (on le lance si il n'est pas en cours d'exécution)

On Error Resume Next

Set AcadApp = GetObject(, "AutoCAD.Application")

On Error GoTo 0

If AcadApp Is Nothing Then

Set AcadApp = New AutoCAD.AcadApplication

End If

 

' On ouvre le fichier DWG dans AutoCAD ou on l'active si il est déjà ouvert

Dim Opened As Boolean

Opened = False

 

Dim Dwg As AcadDocument

For Each Dwg In AcadApp.Documents

If StrComp(Dwg.FullName, Cells(1, 1).Text, vbTextCompare) = 0 Then

Dwg.Activate

Opened = True

End If

Next

 

 

If Not Opened Then

AcadApp.Documents.Open (Cells(1, 1).Text)

End If

 

' Point d'insertion de l'Xréf

PtInsert(0) = 0: PtInsert(1) = 0: PtInsert(2) = 0

 

' Nom et chemin de l'Xréf

strChemin = "d:\OH444.dwg"

 

Thisdrawing.ActiveSpace = acModelSpace

 

' Attachement de l'Xréf au dessin en cours

Set objXref = Thisdrawing.ModelSpace.AttachExternalReference _

(strChemin, "XREF", PtInsert, 1, 1, 1, 0, False)

 

 

 

' Zoom tout

Thisdrawing.Application.ZoomAll

 

' Afficher la liste des nouveaux blocs

For Each objBloc In Thisdrawing.Blocks

strMsg = strMsg & objBloc.Name & vbCrLf

Next

MsgBox strMsg, , "Liste des blocs du dessin en cours"

 

End Sub

 

 

Maos ça plante avec la ligne suivante:

Set objXref = Thisdrawing.ModelSpace.AttachExternalReference _

(strChemin, "XREF", PtInsert, 1, 1, 1, 0, False)

 

J'ai l'impression que la commande Thisdrawing est non reconnue sachant que je travaille avec Autocad 2013.

Est-ce que quelqu'un a le remède pour ça?

Il y a certaines pistes sur le net que je ne comprends pas (problème VBA, VB.net).

 

Est-ce que quelqu'un peut m'aider sur ce sujet? :(

 

Merci d'avance.

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é