Aller au contenu

recuperer et additionner les longueurs de cylindre! (VBA)


etienne.leb-appac

Messages recommandés

bonjour,

je souhaiterai savoir s'il est possible, avec une macro en VAB, d'additionner les longueurs de cylindre en fonction de leurs diamètre!

merci d'avance

 

[Edité le 16/1/2009 par etienne.leb-appac]

« J'ai claqué beaucoup d'argent dans l'alcool, les filles et les voitures de sport - le reste, je l'ai gaspillé »

http://www.appac-caen.com

Lien vers le commentaire
Partager sur d’autres sites

tu pourrais envoyer un fichier sur le site de ci-joint par exemple pour que je fasse un test ?

 

Je pense que c'est possible mais en fonction de la taille de ton fichier, ça peut prendre un peu de temps

 

P.S. tu pourrais envoyer le fichier dans le format dwg 2004 et 2007. Car en fonction du poste sur lequel je travaille, je ne pourrais pas le lire.

 

P.S.S. Il y a un forum pour les macro VBA, les routines etc...

 

[Edité le 17/1/2009 par sechanbask]

ATEGIE - Bureau d'Études Fluides

http://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.png

Exécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffrage

www.ategie.fr

Lien vers le commentaire
Partager sur d’autres sites

salut,

en fait je n'ai pas d'exemple concret sous la main mais je peux faire quelque chose rapidement qui ressemblera au dessin ou je souhaite appliquer ce programme.

 

ou dois-je l'envoyer?

on peut mettre des pièces jointes sur les sujet ???

« J'ai claqué beaucoup d'argent dans l'alcool, les filles et les voitures de sport - le reste, je l'ai gaspillé »

http://www.appac-caen.com

Lien vers le commentaire
Partager sur d’autres sites

tu ne peux pas mettre de pièce jointe à un message, mais tu peux mettre dans ton message un lien vers un site de stockage où tu aura déposé ton fichier. Les lecteurs pourront le récupéré via le lien...

ATEGIE - Bureau d'Études Fluides

http://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.png

Exécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffrage

www.ategie.fr

Lien vers le commentaire
Partager sur d’autres sites

salut,

 

voici le lien pour le plan en version 2004 : http://cjoint.com/?bwjWQCU5S2

 

et voici le lien pour le plan en version 2007 : http://cjoint.com/?bwjZbWJMyN

 

dans le plan j'ai mis les calques en fonction de l'utilité de la tuyauterie et du diamètre, mais il m'arrive d'avoir plusieurs diamètres dans le même calque.

 

merci a+

« J'ai claqué beaucoup d'argent dans l'alcool, les filles et les voitures de sport - le reste, je l'ai gaspillé »

http://www.appac-caen.com

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Salut !

aurais-tu rencontré un problème ?

si c'est en LISP ça me va aussi!

 

sinon y'a pas moyen de faire un truck avec les échelles?

du genre faire un cylindre de Ø1 de longueur 1 que l'on insert et à chaque insertion, il y aurait une modification de l'échelle du genre :

x=y et une boite de dialogue (ou autre)qui demande le Ø et qui régit l'échelle en x donc en y aussi (pour garde le cylindre rond), et pour la longueur une boite de dialogue (ou autre) qui fait une mise à l'échelle par référence comme ça la longueur est définit par rapport à la longueur souhaité.

 

voila le fruit de ma réflexion et comme je ne connait ni le LISP ni le VBA je ne peut pousser plus loin...

:casstet:

« J'ai claqué beaucoup d'argent dans l'alcool, les filles et les voitures de sport - le reste, je l'ai gaspillé »

http://www.appac-caen.com

Lien vers le commentaire
Partager sur d’autres sites

ben si tu ne connais pas le lisp ou le VBA, lève les manches, prends de bonnes baskettes et cours charger un bon ouvrage sur la programmation sous autocad et écume les forums developpez.com, augi etc... Rien de compliquer, tout est histoire de temps, de bon sens et de fourberies !

 

j'ai la méthode : elle vaut ce qu'elle vaut. Les programmateur d'autocad n'ont pas jugé utile de faire des sous "object" pour lire les définitions des cylindres de manière simple et toujours vérifié avec VBA. Donc le plus simple comme le DWG est un format non libre et donc illisible, c'est de transformer ton fichier en dxf. puis de lire les lignes une à une pour trouver les réponses à tes questions. Je suis prêt à t'aider mais, comme je n'ai pas le temps et encore moins le besoin de faire cette application (je ne dessine pas en 3D), je n'ai pas de temps à consacrer à cette application. Néanmoins, comme j'aime les défi, je suis prêt à t'épauler lorsque tu auras appris les prémices du VBA ou du lisp (je pense qu'ici tu auras plus d'aide des lispeurs et le brassage des données des drapeaux DXF doit être plus facile sous lisp (sans passer pas la case exportation de ton fichier en dxf))

 

Mon code est libre et le restera ainsi que les dérivés

 

Sub Recuperation_des_longueurstest()

'Debug.Print "on rentre dans lecture"
         'initialisation des variables contenues dans fichiers
         Dim MyString As String
         Dim MyString2 As String
   Dim strfin As String

Dim dblongueur As String
Dim n As Integer
Dim IntN As Integer
Dim strChemFichdxf As String


'le chemin du fichier DXF que l'on doit lire
strChemFichdxf = "D:\Add on\dessin2.dxf"

booBoucle = False
     'rechercher ce qu'il y a dans le fichier...
20            Close #1
40            Open strChemFichdxf For Input As #1
     'initialise le nombre de ligne du fichier
IntN = 1
50            n = 0
60            Do While Not EOF(1) ' Effectue la boucle jusqu'à la fin du fichier.
70            Line Input #1, MyString
     'incrémente le nombre de ligne
80            n = n + 1

If MyString = "AcDbShCylinder" Then
'DP MyString
booBoucle = True
IntN = n
Else

End If

'ici faut faire une boucle avec un tableau à 2 directions redimensionnable à chaque passage pour récupérer les longueur en fonction du diamètre


If IntN <> n And booBoucle = True Then
'DP MyString

Select Case n
Case IntN + 6
'DP MyString
'dblLongueur = MyString
Case IntN + 8
DP MyString
'dblLongueur = MyString

'strfin = strfin + MyString
End Select

End If


Loop
'Debug.Print dblongueur
End Sub

 

ta fourberie de faire des échelles sur tes objets pourrait être une bonne idée, après il faudrait voir si on peut récupérer les échelles simplement sur un objet 3D... affaire à voir

 

[Edité le 3/2/2009 par sechanbask]

 

[Edité le 3/2/2009 par sechanbask]

ATEGIE - Bureau d'Études Fluides

http://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.png

Exécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffrage

www.ategie.fr

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité