IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-E] export d'un fichier dxf


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 23
    Points : 15
    Points
    15
    Par défaut [VBA-E] export d'un fichier dxf
    Bonjour à tous.

    Voilà, je travail sur une application sous VBA excel, avec un formulaire.
    J'ai sur ce formulaire des frames qui sont censé représenté des blocs de composants. Je déplace et change la taille de mes blocs (les frames en faite) pour réaliser la forme désiré. Ce système est juste là pour que l'utilisateur puisse visualiser une ébauche de ce qu'il est en train de concevoir.

    Maintenant que cette partie est terminé, je souhaiterais réaliser un dessin plus "propre" sur un logiciel de dessin pro, genre AutoCad. J'ai donc penser à deux solutions:
    1) soit réaliser un script AutoCad qui va charger des blocs prédéfini et les mettre en place en fonction des paramètres que je lui fourni
    2) ou réaliser un fichier dxf qui contient la géométrie de mon dessin. (version meilleur car indépendante du logiciel)

    Mes questions:
    1) connaissez-vous une documentation en français sur le format dxf ou une librairie bien documentée ?
    2) Quelle est la meilleur solution ? (ou existe-t-il une autre meilleur? )

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    qu'elle version d'autocad utilise tu ... une version compléte (avec le VBA.).. si oui tu peu "attaquer" autocad direcement de puis ton code VBA excel (objet OLE) ou créer une macro VBA Autocad qui ouvre ton fichier excel pour récupérer ces paramétres..

    par contre générer du dxf...

    aprés il faut voir ce que sont tes dessin c'est peu-être plus simple de générer un script autocad.. .scr ... la c'est vraiment une macro basique, en gros une suite de commande sans aucun tests... mais cela est adaptable à toutes les verisions d'autocad (même LT)

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    C'est tout a fait cela.

    C'est une version LT sur les postes client, donc pas de VBA direct dans AutoCad. par contre depuis EXCEL, j'ai accès avec une ligne du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim ObjAcad As New AutoCAD.AcadDocument
    Par contre j'ai peur des bug en cas de changement de version d'Autocad.

    Pour ce qui est du script scr, je connais, mais la syntaxe me parait un peu: cfou:

    Ce que je dois afficher, c'est simplement des rectangles et des ronds, rien de bien compliqué quoi (pricipalement des rectangles)

    C'est vrai que le scr est plus simple, car les blocs que je veux dessiner contiennent des sous modules de taille fixe (0.6*0.6*1.2 m) . Ce qui peut changer, c'est l'orientation.

    Je préfererais créer une fichier dxf, car il est modifable plus facilement une fois charger, et c'est lisible depuis n'importe quelle application graphique pro.

    J'ai vu libdxf mais je vois pas trop comment adapté.

    PS :merci pour ta réponse rapide

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    sur les versions LT aussi on as accés à l'objet ole Autocad ..? je ne pensai pas..! ..

    pour les .scr ... en fait c'est juste les commandes envoyées sur la ligne de commande Autocad.. mais c'est vrai qu'il peu y avoir des changement suivant versions et langues..le mieux c'est de les créer en anglais.. cela donne un code du genre

    bon sinon j'ai pas compris l'argument :
    Citation Envoyé par padre03
    ....
    Je préfererais créer une fichier dxf, car il est modifable plus facilement une fois charger, et c'est lisible depuis n'importe quelle application graphique ...
    car une fois ton dessin généré tu peu le sauver depuis autocad en dxf ou dwg ... quelque soit la méthode utilisée...

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    Comme quoi on en apprend tout les jours

    quand j'écrit ça,
    Je préfererais créer une fichier dxf, car il est modifable plus facilement une fois charger, et c'est lisible depuis n'importe quelle application graphique ...
    je veux dire que le fichier dxf et indépendant du logiciel, alors que le scr ne marche qu'avec Autocad, mais en théorie, ce logiciel ne devrait pas etre changé dans la boite ou je travail.
    Je pense donc que je vais m'orienter vers un fichier .scr.
    Version -> 2005 LT ou 2006 LT

    Est-ce que tu as une doc sur ce format, j'ai essayé la ligne que tu m'a donné, et ça marche pas. De plus, je sais pas trop comment l'implémenter dans autocad, c'est à dire que je voudrais que l'utilisateur clique sur un bouton(depuis la macro Excel) genre "Génère Dessin AutoCad" et hop ça ouvre autocad et le script. De plus, je pense que je vais charger des blocs pré-dessiner avec le scr et faire du placement de bloc, et en fait pas de dessin réellement

    Merci

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    pour la doc .. l'aide en ligne d'autocad va te permettre de trouver ton bonheur... sachant que script .scr n'est autre qu'une suite de commande autocad tel que tu les saisirai.. manuellement dans la ligne de commande.. tu peu d'ailleur essayer ces commande dans cette ligne de commande... ensuite pour exécuter ton script tu as la commande script nom_de_fichier.scr.. où (dans ma version 2004..) Menu Outils Script..
    sinon on doit pouvoir lancer autocad de puis VBA par une commande "shell" en utilisant les bonnes options pour qu'il ouvre le bon dessin et exécute le script généré par le code VBA... (j'ai en plus tête les options de ligne de commande autocad... elles sont peu-être dans aide en ligne autocad..)



    Si lorsque tu dis :
    Citation Envoyé par padre03
    Comme quoi on en apprend tout les jours
    tu parle de l'utilisation d'autocad en tant qu'OLE objet .. (avec seulement une licence LT) ... c'est peu-être mieux comme solution..tiens tu peu essayer le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    '
    ' Rajout de référence Autocad dans menu Outils
    ' Moi j'ai 'bibliothéque de type autocad 2004'
    Sub test()
     Dim aPPAcad As New AutoCAD.AcadApplication 'Creation Objet Application autocad
     Dim MonDessin As AutoCAD.AcadDocument
     Dim Point(0 To 2) As Double 'Utilisé pour coordonnée X,Y,Z...
     aPPAcad.Visible = True 'Affiche l'application autocad
     Set MonDessin = aPPAcad.Documents.Add 'Creation d'un nouveau dessin (template par défaut)
     'Position X,Y...
     Point(0) = 100
     Point(1) = 100
     MonDessin.ModelSpace.AddCircle Point, 10 'Dessin d'un cercle sur espace objet
     MonDessin.SaveAs ThisWorkbook.Path & "\MonDessin.dwg" 'sauve document autocad
     MonDessin.Close False
     aPPAcad.Quit
     Set MonDessin = Nothing 'Libération des objets..
     Set AppaAcad = Nothing
    End Sub

  7. #7
    Membre à l'essai
    Inscrit en
    Octobre 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    Bon je viens de tester ta solution et ça ne marche pas chez moi.

    je compile bien (référence bien ajouté, mais dès que je veux lancer la macro que tu m'as filé, tout ce bloque et j'ai un message excel qui me dit qu'il attend la fin d'une action OLE

    Je pense que je vais rester simple, et je vais faire un fichier scr
    Je vais quand meme regarder du coté du dxf

    Merci

  8. #8
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    dans l'aide en ligne autocad il y as le descriptif du dxf...!

  9. #9
    Membre à l'essai
    Inscrit en
    Octobre 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    Merci bbil pour ton aide

    je vais regardé dans l'aide en ligne

    Et +1 pour les sujets résolu de dvp.com

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA-E] Export de Excel vers fichier texte
    Par lipaika dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/01/2007, 09h57
  2. [VB/VBA]import de fichier dxf / shp dans access
    Par porki dans le forum Access
    Réponses: 7
    Dernier message: 22/11/2006, 10h46
  3. [VBA-E] Exporter une page Excel vers un Fichier Txt
    Par mamantins dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/06/2006, 11h09
  4. Réponses: 10
    Dernier message: 08/06/2006, 08h57
  5. [VBA-E] Exporter un fichier Web avec une macro
    Par Wilgard dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/05/2006, 12h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo