PatDeLaYaute
Messages postés133Date d'inscriptiondimanche 28 avril 2002StatutMembreDernière intervention15 janvier 2009
-
22 août 2003 à 21:15
sam30sks
Messages postés1Date d'inscriptionmercredi 30 novembre 2011StatutMembreDernière intervention30 novembre 2011
-
30 nov. 2011 à 19:51
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
sam30sks
Messages postés1Date d'inscriptionmercredi 30 novembre 2011StatutMembreDernière intervention30 novembre 2011 30 nov. 2011 à 19:51
Bonjour,
je débute dans la vba, car je pense que ça peut me faire gagner beaucoup de temps mais je ne comprends pas tout!!
Je souhaiterai savoir ou avoir des pistes pour intégrer les fichiers sous extensions .frm, .frx, .bas, .vdp, .vbw dans autocad. Faut-il simplement faire un copier coller et les déposer dans un dossier défini ou est-ce plus compliqué ? comment ensuite se servir de ce module ? le charger à partir d'un onglet sous AUTOCAD ?
Merci
karlmagicben
Messages postés1Date d'inscriptionjeudi 4 novembre 2004StatutMembreDernière intervention 9 décembre 2009 9 déc. 2009 à 22:34
bonjour
as tu finis le prog afin de déterminer les polylignes ?
Merci
cs_ALPS
Messages postés6Date d'inscriptionmardi 19 août 2003StatutMembreDernière intervention 8 mars 2004 4 avril 2008 à 18:58
Il faut visual basic 6
Pour le trouver il faut l'acheter, même si c'est idiot puisqu'il n'est plus supporté par microsoft depuis le mois dernier. à moins qu'il ne soit maintenant disponible gratuitement.
il permet de totaliser séparément le nombre de blocs par calque, les longueurs de lignes par calques, et les longueurs de polyligne par calque (pour les polylignes il ne calcule pas la longueur d'un arc, il le considère comme une droite)
je pense donc qu'il fait ce dont tu as besoin.
il est relativement facile à modifier pour en changer les fonctions, j'ai essayé de bien le commenter pour cela.
Mais comme depuis, Autocad est devenu MDI (il ouvre plusieurs dessins dans la même instance) il y a peut être beaucoup de choses a modifier pour choisir le dessin actif parmi plusieurs
Evilprog
Messages postés3Date d'inscriptionmercredi 31 octobre 2007StatutMembreDernière intervention23 décembre 2008 4 avril 2008 à 11:50
Salut c'est encore moi.
J'aimerai savoir ce qu'il faut pour utiliser ce programe (Visual Basic Editor ?) ou puis-je le trouver, et comment faire fonctionner ce programme.
Pourra-t-il me servir à connaître les longueures totales de mes Polyligne sur chaque calques ? (la longueur d'une polyligne est disponible avec une liste sous autocad : y a-t-il moyen d'adapter ce programme a cette fonction ?)
Merci de vos réponses.
cs_guani
Messages postés2Date d'inscriptionmercredi 13 février 2008StatutMembreDernière intervention21 février 2008 21 févr. 2008 à 08:05
Voilà j'ai compilé avec Microsoft Visual Basic 2008.
J'ai résolu un maximum d'erreurs afin d'adapter ton programme.
Cependant, il reste encore des erreurs que je n'arrive pas à résoudre.
L'erreur récurente se trouve sur les lignes de code contenant l'expression:
"Acad.activedocument".
En fait, il arrive à compiler, mais le compilateur me met un exeption s'est produite de type 0x25d2454...
Aurais-tu une idée d'où cela peut venir?
Merci
A+
cs_ALPS
Messages postés6Date d'inscriptionmardi 19 août 2003StatutMembreDernière intervention 8 mars 2004 20 févr. 2008 à 22:42
il te faut visual basic pour compiler le programme. Je nepense pas que cela fonctionne dans l'état avec le vbe intégré a autocad. Ce doit même être plus simple au niveau de la manipulation des objet.
Malheureusement j'ai changé de travail depuis que j'ai fait ce programme, et je n'ai plus les mêmes moyens. juste un petit autocad light dont je n'ai mpême pas besoin de me servir.
il ne te reste qu'a lire l'aide VB d'autocad et a voir comment modifier le source pour qu'il s'adapte.
Bon courage
cs_guani
Messages postés2Date d'inscriptionmercredi 13 février 2008StatutMembreDernière intervention21 février 2008 14 févr. 2008 à 08:46
Bonjour tout le monde. J'ai le même problème que BLANCHERM. Je dispose d'Autocad 2005.
Apparemment je dirais que ce sont certaines lignes de code de "Form1" qui ne sont pas prises en compte par le VBE (par exemple la 1ère ligne object= "...." et Begin VB.Form Form1).
Est ce que quelqu'un a une solution???
PS: je ne suis qu'un petit débutant dans le monde d'Autocad et de la programmation VB.
sperwer
Messages postés3Date d'inscriptionjeudi 29 septembre 2005StatutMembreDernière intervention21 avril 2006 21 avril 2006 à 10:19
Salut à tous. Ca marche sous Autocad 2005. Il faut juste mettre à jour les références.
cs_LeVoleur
Messages postés15Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention11 juillet 2005 28 juin 2005 à 15:27
Salut, ça fonctionne avec la 2002. C'est interessant
a+
le voleur
blancherm
Messages postés1Date d'inscriptionvendredi 19 décembre 2003StatutMembreDernière intervention 1 septembre 2004 1 sept. 2004 à 02:10
Bonjour, j'ai un petit problème pour charger le projet, impossible de charger les fichiers frm, le message d'erreur dit que la classe de feuille contenue dans le fichier n'est pas géré par VBE. quelqu'un a une solution ? merci
fgansoinat
Messages postés10Date d'inscriptionsamedi 23 août 2003StatutMembreDernière intervention 4 août 2005 25 août 2003 à 20:27
Pour aller plus vite, il te suffit de passer par les selctionset....
avec des filtres sur le datatype :
Option Explicit
Public EntitéCodeDXF As String
Public groupCode As Variant, dataCode As Variant
Public NameSelSet As String
Public appCad As AcadApplication
Public drw As AcadDocument
Sub TrouverBloc()
Dim SelSet As AcadSelectionSet
'Initialisation
NewSelSet ("Test")
Set SelSet = drw.SelectionSets.Item("Test")
SelSet.Clear
GSelset.FiltrerEntité "line"
SelSet.Select acSelectionSetAll, , , groupCode, dataCode
Dim i As Integer
MsgBox "Nombre de lignes : " & SelSet.Count, vbInformation, "Test FG"
For i = 0 To SelSet.Count - 1
Set returnObj = SelSet.Item(i)
returnObj.Color = acRed
returnObj.Update
Next i
End Sub
Function NewSelSet(NameSelSet)
Dim k As Integer
Dim ssetObj As AcadSelectionSet
For k = 0 To drw.SelectionSets.Count - 1
If drw.SelectionSets(k).Name = NameSelSet Then
'le jeu de selection existe deja
Set ssetObj = drw.SelectionSets.Item(NameSelSet)
drw.SelectionSets.Item(NameSelSet).Clear
k = drw.SelectionSets.Count - 1 'sort de la boucle
Exit Function
Else
'le jeu de selection n'existe pas... reste a le créer
Set ssetObj = drw.SelectionSets.Add(NameSelSet)
End If
Next k
End Function
Sub FiltrerEntité(EntitéCodeDXF As String)
Dim gpCode(0) As Integer
Dim dataValue(0) As Variant
gpCode(0) = 0
dataValue(0) = EntitéCodeDXF
groupCode = gpCode
dataCode = dataValue
End Sub
fgansoinat
Messages postés10Date d'inscriptionsamedi 23 août 2003StatutMembreDernière intervention 4 août 2005 23 août 2003 à 14:33
Le code est propre ... reste a le completer en remontant par exemple les valeurs d'attribut des blocs (avec choix etc...)
Ceci dit, pour les blocs, l'extracteur d'attributs inté"gré à AutoCAD te permet de faire ces manip facilement....
PatDeLaYaute
Messages postés133Date d'inscriptiondimanche 28 avril 2002StatutMembreDernière intervention15 janvier 20093 22 août 2003 à 21:15
Salut, je n'ai pas tester ton code car j'en ai pas l'utiliter, mais en ce qui concerne l'ouverture de fichier DWG tu peux aller a cette adresse : http://www.opendwg.org si tu ne connais pas, il y a en telechargement des outils pour developper en C ou C++ et peut etre en VB je crois.
30 nov. 2011 à 19:51
je débute dans la vba, car je pense que ça peut me faire gagner beaucoup de temps mais je ne comprends pas tout!!
Je souhaiterai savoir ou avoir des pistes pour intégrer les fichiers sous extensions .frm, .frx, .bas, .vdp, .vbw dans autocad. Faut-il simplement faire un copier coller et les déposer dans un dossier défini ou est-ce plus compliqué ? comment ensuite se servir de ce module ? le charger à partir d'un onglet sous AUTOCAD ?
Merci
9 déc. 2009 à 22:34
as tu finis le prog afin de déterminer les polylignes ?
Merci
4 avril 2008 à 18:58
Pour le trouver il faut l'acheter, même si c'est idiot puisqu'il n'est plus supporté par microsoft depuis le mois dernier. à moins qu'il ne soit maintenant disponible gratuitement.
il permet de totaliser séparément le nombre de blocs par calque, les longueurs de lignes par calques, et les longueurs de polyligne par calque (pour les polylignes il ne calcule pas la longueur d'un arc, il le considère comme une droite)
je pense donc qu'il fait ce dont tu as besoin.
il est relativement facile à modifier pour en changer les fonctions, j'ai essayé de bien le commenter pour cela.
Mais comme depuis, Autocad est devenu MDI (il ouvre plusieurs dessins dans la même instance) il y a peut être beaucoup de choses a modifier pour choisir le dessin actif parmi plusieurs
4 avril 2008 à 11:50
J'aimerai savoir ce qu'il faut pour utiliser ce programe (Visual Basic Editor ?) ou puis-je le trouver, et comment faire fonctionner ce programme.
Pourra-t-il me servir à connaître les longueures totales de mes Polyligne sur chaque calques ? (la longueur d'une polyligne est disponible avec une liste sous autocad : y a-t-il moyen d'adapter ce programme a cette fonction ?)
Merci de vos réponses.
21 févr. 2008 à 08:05
J'ai résolu un maximum d'erreurs afin d'adapter ton programme.
Cependant, il reste encore des erreurs que je n'arrive pas à résoudre.
L'erreur récurente se trouve sur les lignes de code contenant l'expression:
"Acad.activedocument".
En fait, il arrive à compiler, mais le compilateur me met un exeption s'est produite de type 0x25d2454...
Aurais-tu une idée d'où cela peut venir?
Merci
A+
20 févr. 2008 à 22:42
Malheureusement j'ai changé de travail depuis que j'ai fait ce programme, et je n'ai plus les mêmes moyens. juste un petit autocad light dont je n'ai mpême pas besoin de me servir.
il ne te reste qu'a lire l'aide VB d'autocad et a voir comment modifier le source pour qu'il s'adapte.
Bon courage
14 févr. 2008 à 08:46
Apparemment je dirais que ce sont certaines lignes de code de "Form1" qui ne sont pas prises en compte par le VBE (par exemple la 1ère ligne object= "...." et Begin VB.Form Form1).
Est ce que quelqu'un a une solution???
PS: je ne suis qu'un petit débutant dans le monde d'Autocad et de la programmation VB.
21 avril 2006 à 10:19
28 juin 2005 à 15:27
a+
le voleur
1 sept. 2004 à 02:10
25 août 2003 à 20:27
avec des filtres sur le datatype :
Option Explicit
Public EntitéCodeDXF As String
Public groupCode As Variant, dataCode As Variant
Public NameSelSet As String
Public appCad As AcadApplication
Public drw As AcadDocument
Sub TrouverBloc()
Dim SelSet As AcadSelectionSet
'Initialisation
NewSelSet ("Test")
Set SelSet = drw.SelectionSets.Item("Test")
SelSet.Clear
GSelset.FiltrerEntité "line"
SelSet.Select acSelectionSetAll, , , groupCode, dataCode
Dim i As Integer
MsgBox "Nombre de lignes : " & SelSet.Count, vbInformation, "Test FG"
For i = 0 To SelSet.Count - 1
Set returnObj = SelSet.Item(i)
returnObj.Color = acRed
returnObj.Update
Next i
End Sub
Function NewSelSet(NameSelSet)
Dim k As Integer
Dim ssetObj As AcadSelectionSet
For k = 0 To drw.SelectionSets.Count - 1
If drw.SelectionSets(k).Name = NameSelSet Then
'le jeu de selection existe deja
Set ssetObj = drw.SelectionSets.Item(NameSelSet)
drw.SelectionSets.Item(NameSelSet).Clear
k = drw.SelectionSets.Count - 1 'sort de la boucle
Exit Function
Else
'le jeu de selection n'existe pas... reste a le créer
Set ssetObj = drw.SelectionSets.Add(NameSelSet)
End If
Next k
End Function
Sub FiltrerEntité(EntitéCodeDXF As String)
Dim gpCode(0) As Integer
Dim dataValue(0) As Variant
gpCode(0) = 0
dataValue(0) = EntitéCodeDXF
groupCode = gpCode
dataCode = dataValue
End Sub
23 août 2003 à 14:33
Ceci dit, pour les blocs, l'extracteur d'attributs inté"gré à AutoCAD te permet de faire ces manip facilement....
22 août 2003 à 21:15
@+ et bon courage ;-)