Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

METRAGE DANS AUTOCAD V2


Information sur la source

Catégorie :OLE, DDE, Automation Niveau : Initié Date de création : 22/08/2003 Date de mise à jour : 05/09/2003 13:39:30 Vu / téléchargé: 8 790 / 835

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

Description

Fonctionne avec autoCAD V14 ou 2000, je n'ai pas de retour avec les autres versions, mais ça devrait aussi fonctionner.

Utilitaire permettant de lister les lignes tracées par calques avec la longueur totale, et comptant les Blocs par calques. (trés utile si on dessine de la tuyauterie, gaine, electricité.... )
Permet l'ouverture d'un fichier, ou la récupération de la session AutoCAD déja ouverte.
L'option "ignorer OFF/Gelés" ne comptabilise pas les lignes cachées et est beaucoup plus rapide maintenant.

 

Conclusion

Le code à été commenté, J'ai accéléré une partie du traitement, je réutilise la même fenetre avec plusieurs instances pour afficher les résultats.
L'analyse des polylignes n'a pas encore été faite, mais je dois m'y coller pour un collègue.

Merci à fgansoinat pour son conseil précieux d'utiliser les selectionsets

et comme je suis fier de moi j'ose passer en niveau 2
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de PatDeLaYaute le 22/08/2003 21:15:38

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.

@+ et bon courage ;-)

signaler à un administrateur
Commentaire de fgansoinat le 23/08/2003 14:33:41

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....

signaler à un administrateur
Commentaire de fgansoinat le 25/08/2003 20:27:31

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

signaler à un administrateur
Commentaire de blancherm le 01/09/2004 02:10:15

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

signaler à un administrateur
Commentaire de LeVoleur le 28/06/2005 15:27:07

Salut, ça fonctionne avec la 2002. C'est interessant
a+
le voleur

signaler à un administrateur
Commentaire de sperwer le 21/04/2006 10:19:37

Salut à tous. Ca marche sous Autocad 2005. Il faut juste mettre à jour les références.

signaler à un administrateur
Commentaire de guani le 14/02/2008 08:46:03

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.

signaler à un administrateur
Commentaire de ALPS le 20/02/2008 22:42:37

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

signaler à un administrateur
Commentaire de guani le 21/02/2008 08:05:53

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+

signaler à un administrateur
Commentaire de Evilprog le 04/04/2008 11:50:13

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.

signaler à un administrateur
Commentaire de ALPS le 04/04/2008 18:58:32

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

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.