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

VB.NET Discussion :

Commandes simples pour Autocad depuis Vb.net ?


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1
    Points : 3
    Points
    3
    Par défaut Commandes simples pour Autocad depuis Vb.net ?
    Bonjour à tous,


    Je suis nouveau sur le forum et nouveau en programmation...
    ... Pardonnez-moi par avance si mes questions semblent basiques!

    Je cherche à "piloter" Autocad (v.2007) depuis une appli VB.net 2005.

    Après avoir cherché pas mal de temps, j'ai finalement trouvé comment ouvrir un fichier .dwg, créer: du texte, une ligne, un bloc-attribut.
    MAIS je n'ai pas réussi à modifier la justification du texte (alors qu'il est possible de la faire tourner) ou à modifier les valeurs d'un bloc-attribut pré-existant!

    Savez-vous comment faire cela..?

    Merci par avance pour votre aide .

    Ci-dessous: la routine que j'utilise.

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
     
       Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
            Dim A(0 To 2) As Double, B(0 To 2) As Double
            Dim AutoCAD As Object
            Dim textobj As Object
            Dim blnrunning As Boolean    ' Si Autocad était en exécution
            Dim xo, yo As Double 'point origine d'insertion des éléments
     
            'coordonnées du point origine d'insertion des éléments
            xo = 0
            yo = 100
     
            ' Déroutement des erreurs
            On Error Resume Next
            '
            ' Référencer l'application Autocad
            AutoCAD = GetObject(, "Autocad.Application")
            If Err.Number <> 0 Then
                AutoCAD = CreateObject("Autocad.Application")
                blnrunning = False        ' Excel n'était pas en exécution
            Else
                blnrunning = True
            End If
     
     
            AutoCAD.documents.open("C:\Documents and Settings\All Users\Bureau\Dessinbase.dwg")
            '--------------------------------------------------------------------------------------------------
     
            '1 - Insertion d'une ligne
            '-------------------------
            A(0) = 0 : A(1) = 1 : A(2) = 0
            B(0) = 100 : B(1) = 100 : B(2) = 0
            AutoCAD.Application.ActiveDocument.ModelSpace.AddLine(A, B)
     
     
            '2 - Insertion d'un texte
            '------------------------
            textobj = AutoCAD.Application.ActiveDocument.ModelSpace.Addtext("toto", A, 5)
            ' textobj.TextAlignment = "alignmentPoint" ????? Ne fonctionne pas!
            ' textobj.acAttachmentPointMiddle()        ????? Ne fonctionne pas!
            textobj.update()
     
     
            '3 - Insertion d'un bloc
            '-----------------------
            ' Define the block
            Dim blockObj As Object
            Dim insertionPnt(0 To 2) As Double
            insertionPnt(0) = 0
            insertionPnt(1) = 0
            insertionPnt(2) = 0
            blockObj = AutoCAD.Application.ActiveDocument.Blocks.Add(insertionPnt, "BlockWithAttribute")
     
            ' Add an attribute to the block
            Dim attributeObj As Object
            Dim height As Double
            Dim mode As Long
            Dim prompt As String
            Dim insertionPoint(0 To 2) As Double
            Dim tag As String
            Dim value As String
            height = 1
            prompt = "New Prompt"
            insertionPoint(0) = 5
            insertionPoint(1) = 5
            insertionPoint(2) = 0
            tag = "New Tag"
            value = "New Value"
            blockObj.AddAttribute(height, mode, prompt, insertionPoint, tag, value)
     
            ' Insert the block, creating a block reference and an attribute reference
            insertionPnt(0) = 2
            insertionPnt(1) = -10
            insertionPnt(2) = 0
            AutoCAD.Application.ActiveDocument.ModelSpace.InsertBlock(insertionPnt, "BlockWithAttribute", 1.0#, 1.0#, 1.0#, 0)
     
            '--------------------------------------------------------------------------------------------------
     
            'Enregistrer et quitter
            AutoCAD.Visible = True
            AutoCAD.Application.ZoomExtents()
            AutoCAD.ActiveDocument.SaveAs("C:\Documents and Settings\All Users\Bureau\essai.dwg")
            AutoCAD.ActiveDocument.close()
     
            ' Ne pas quitter si Autocad était déjà lancé !
            If Not (blnrunning) Then ' S'il n'était pas lancé...
                AutoCAD.Quit()        ' alors quitter Autocad
            End If
            MsgBox("fini")
            'End If
     
        End Sub

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 30
    Points : 20
    Points
    20
    Par défaut
    Voilà comment faire avec les textes multilignes en espérant quand même que tu avais trouver avant avec l'aide d'autocad spéciale developpeur disponible dans les version pleine bien sûr.

    Public mtextObj As AcadMText

    Set mtextObj = ThisDrawing.ModelSpace.AddMText(pins, largeur_du_Mtext, strTexteins)
    4140 With mtextObj
    4150 .Height = taille
    4160 .Rotation = directiontexte
    4170 .AttachmentPoint = acAttachmentPointMiddleLeft
    'regen du texte uniquement
    4180 .Update
    4190 End With

    merci pour ton code je pense que je vais voir si je peux m'en servir pour .net express

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Quelles sont les références sélectionnées dans VB qui vous permettent de "piloter" AutoCAD ?

    Merci

Discussions similaires

  1. [net-SNMP] commande DOS pour récupérer un trap
    Par Emcy dans le forum Développement
    Réponses: 0
    Dernier message: 16/10/2008, 14h22
  2. commande mount pour simple user
    Par Adomi Razaki dans le forum Sécurité
    Réponses: 6
    Dernier message: 02/10/2008, 14h33
  3. SQL Server 2005 accessible depuis le net pour mon site internet
    Par anthonyBo dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 05/03/2008, 11h22
  4. Réponses: 8
    Dernier message: 27/08/2007, 08h07
  5. Réponses: 3
    Dernier message: 24/02/2007, 23h07

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