VBA & AUTOCAD ?

VBA & AUTOCAD ? - VB/VBA/VBS - Programmation

Marsh Posté le 30-08-2004 à 08:27:55    

Salut à tous!  
 
je découvre le VBA et je trouve ça assez puissant, j'ai vraiment du mal. Si quelqu'un travail sur autocad et utilise le VBA, j'aurais plusieur petite questions sur la programation.  
 
si quelqu'un peu m'aider ça serrait super car la, je suis bloqué et je découvre que la programation ça s'improvise pas très bien.
 
merci

Reply

Marsh Posté le 30-08-2004 à 08:27:55   

Reply

Marsh Posté le 30-08-2004 à 08:28:48    

elle est où ta question? :??:


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 30-08-2004 à 09:19:26    

skeye a écrit :

elle est où ta question? :??:


 
La voila ma question.
 
comment déplacer mon dessin dwg a partir de mon programme VBA ?

Reply

Marsh Posté le 30-08-2004 à 17:21:13    

Est ce qu'elqu'un utilisant le lisp peut me dire si il ne serait pas plus facile de résoudre mon probleme q'avec le VBA ??
 
thank's

Reply

Marsh Posté le 30-08-2004 à 17:27:37    

en ADA il doit y avoir moyen d'arriver à quelque chose. mais en LISP je sais pas

Reply

Marsh Posté le 31-08-2004 à 00:34:37    

Citation :

si quelqu'un peu m'aider ça serrait super car la, je suis bloqué et je découvre que la programation ça s'improvise pas très bien.


 
bin ouai, en même temps si y'a des formations pour ;)
 
pour ton problème de dessin, tout dépends des objets visibles en VBA, dans le sens programmtion: as-tu des objets permettant de contrôller l'interface, générer des opérations/transformations ?

Reply

Marsh Posté le 31-08-2004 à 10:11:47    

salut merci de ton aide
 
en fait je saisi pas très bien ta question. j'arrive à insérer une feuille de calul excel dans autocad. mon soucis c'est quand j'en inserre plusieurs, car elles ce superposent..

Reply

Marsh Posté le 31-08-2004 à 23:04:19    

arf je sais pas trop (moi je pensais que tu voulais déplaçer un dessin vectoriel via le VBA)

Reply

Marsh Posté le 01-09-2004 à 11:10:28    

en fait c'est ça que je veut faire.
 
Je réalide une graphique en nuage de point représentant une hélice. j'ai donc une colonne X & Y. Grace à un module VBA j'obtien mon hélice sur autocad en dwg.
 
mon problème c'est que l'orsque j'inserre plusieurs dessin dans autocad, ils ce superposent et je voudrais avoir une variable de déplacement dans mon module VBA.
 
si tu as une info
d'avance merci

Reply

Marsh Posté le 01-09-2004 à 14:07:11    

ché pas regarde ça:
http://www.mindspring.com/~tflynn/excelvba.html
ou ce qui traine d'autre dans google.
il suffirait juste de faire une addition pour déplacer ton dessin...

Reply

Marsh Posté le 01-09-2004 à 14:07:11   

Reply

Marsh Posté le 01-09-2004 à 15:25:45    

Je te remercie pour ton aide.  
tu peu regarder c'est la partie qui est censé décaler mon dessin et qui en fait ne décale qu'un trait...
 
par contre je suis nul en anglais, mais ça à l'air pas mal ton lien..
 
 
Set Obj = MyXl.Worksheets("VBA-5" )
 
    Dim Point1(0 To 2) As Double
    Dim Point2(0 To 2) As Double
    Point1(0) = 100: Point1(1) = 0: Point1(2) = 0
    Point2(0) = 0: Point2(1) = 0: Point2(2) = 0
     
     
  lineObj.move Point1, Point2
  lineObj.Update
 
manix

Reply

Marsh Posté le 01-09-2004 à 15:29:32    

bah voilà une belle fonction de translation.
 
si ça ne décale qu'un trait, c'est parceque tu travailles sur l'objet "lineObj" qui est je suppose une ligne (trait).
 
soit tu débrouilles pour faire ça sur un ton dessin en entier dans le sens objet du terme: avoir un "xxxxObj" qui permette de manipuler l'ensemble du dessin.
 
soit tu itéres ligne par ligne, ou vertex par vertex. (méthode plus lente)


Message édité par bjone le 01-09-2004 à 15:29:55
Reply

Marsh Posté le 01-09-2004 à 15:34:52    

Ok
mais faut il que reprenne tous mon programme en polylineObjet ou juste la partie que je t'ai envoyé ?

Reply

Marsh Posté le 01-09-2004 à 16:43:27    

je vien de récrire mon mdule en polyline. mais j'ai une ligne qui bug
et mon niveau est plus que limiter.
j'utilise l'aide pour travaillé et je ne voi pas mon erreur.
 
si tu as une idée
 
d'avance merci
 
Sub test()
 
 
'
'Attention le fichier xls doit être ouvert
'
 
Dim MyXl As Object
Dim Polylineobj As AcadLWPolyline
Dim VerticesList(0 To 2) As Double
Dim RetVal(0 To 2) As Double
 
'remplacer "c:\toto.xls" par le nom du fichier
Set MyXl = GetObject("C:\Toto.xls" )
 
'remplacer "Feuil1" par le nom de la feuille
Set Obj = MyXl.Worksheets("VBA-5" )
 
i = 1
While IsEmpty(Obj.Cells(1, i).Value) = False
 j = 2
 While IsEmpty(Obj.Cells(j, i).Value) = False
    VerticesList(0) = Obj.Cells(j, i).Value
    VerticesList(1) = Obj.Cells(j, i + 1).Value
    VerticesList(2) = 0#
  j = j + 1
    RetVal(0) = Obj.Cells(j, i).Value
    RetVal(1) = Obj.Cells(j, i + 1).Value
    RetVal(2) = 0#
    If IsEmpty(Obj.Cells(j, i).Value) = False Then
Set AcadLWPolyline = ModelSpace.AddPolyline(VerticesList, RetVal
    End If
 Wend
i = i + 2
Wend
 
Set Obj = MyXl.Worksheets("VBA-5" )
 
    Dim Point1(0 To 2) As Double
    Dim Point2(0 To 2) As Double
    Point1(0) = 100: Point1(1) = 0: Point1(2) = 0
    Point2(0) = 0: Point2(1) = 0: Point2(2) = 0
     
     
  Polylineobj.move Point1, Point2
  Polylineobj.Update
 
 
   
  ZoomAll
End Sub

Reply

Marsh Posté le 02-09-2004 à 11:59:40    

salut je vien de lir qu'il faut marquer [résolu] pour ne pas laisser trainer de fausse questions, mais je suis en attente de réponse , il faudrait aussi créer un [EN ATTENTE]
 
A+

Reply

Marsh Posté le 02-09-2004 à 14:13:57    

non, il faut upper toutes les 5 minutes jusqu'à ce qu'un modo ferme le topic


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 02-09-2004 à 16:10:03    

bin je sais pas, là il faudrait que je sois devant avec la doc d'autocad.

Reply

Marsh Posté le 02-09-2004 à 17:44:29    

te prend pas la tête, je vais mettre le temps mais je vais y arriver tu m'a deja bien aidé.
 
merci
manix "qui s"en sortira"

Reply

Marsh Posté le 03-09-2004 à 00:48:10    

oki, mais essayes de regarder si tu as pas un objet qui permet de manipuler tout ton dessin.
ou un système de notion de groupe.

Reply

Marsh Posté le 06-09-2004 à 11:13:01    

bonjour
 
j'ai réussi à résoudre mon probleme de déplacement de dessin.
 
PtDecal(0) = 300#  ' Nouvelle coordonnee en X du decalage
 
je voudrais savoir si ma valeur "300" peut etre une variable excel qui ce metrai à jour si ma valeur sous excel changeait.
 
merci

Reply

Marsh Posté le 06-09-2004 à 11:52:33    

en fait je voudrais sélectionner une case excel à partir de mon programme vba

Reply

Marsh Posté le 06-09-2004 à 12:06:14    

bah et Obj.Cells() c'est quoi ?

Reply

Marsh Posté le 06-09-2004 à 14:05:50    

Mais je ne sais pas comment indiquer une case précise sous excel....

Reply

Marsh Posté le 06-09-2004 à 15:31:47    

c'est bon ça fonctionne
a + :sol:

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed