Vérification bullage sur MEP

vos questions concernant les API SolidWorks

Vérification bullage sur MEP

Messagepar lajproSW » Jeu 19 Déc 2013, 10:39

Bonjour,

Je continue de réfléchir sur une macro qui me permettrait de contrôler sur une MEP que toutes les pièces d'un assemblage sont bullées. J'arrive à lister les bulles de toutes les vues sur une MEP. Maintenant je voudrais construire une liste avec les noms des pièces (avec la configuration associée) pour la comparer à une liste des pièces de l'assemblage de la mise en plan.

Ci-dessous un code qui me liste les bulles avec le texte qu'elle contient, je n'arrive pas à remonter au nom de la pièce et aux propriétés associées à la pièce bullée.

Merci pour votre aide. :idea:

Option Explicit

Dim bRet As Boolean
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDraw As SldWorks.DrawingDoc
Dim swView As SldWorks.View
Dim swNote As SldWorks.Note
Dim swAnn As SldWorks.Annotation
Dim vName As Variant
Dim FileName As String
Dim swComp As SldWorks.Component
Dim swCompModel As SldWorks.ModelDoc
Dim Value As Object

Sub main()

Set swApp = CreateObject("SldWorks.Application")
set swModel = swApp.ActiveDoc
If swModel Is Nothing Then
MsgBox "Le modèle est vide"
End If

Set swDraw = swModel

If swDraw Is Nothing Then
MsgBox "Le document de mise en plan est vide"
End If

Set swView = swDraw.GetFirstView

If swView Is Nothing Then
MsgBox "La vue est vide"
End If

swModel.ClearSelection2 (True)

vName = Split(swModel.GetPathName, "\", -1)

FileName = Mid(vName(UBound(vName)), 1, Len(vName(UBound(vName))) - 7)

While Not swView Is Nothing

If swView.Type > 1 Then

Debug.Print swView.Type & "|" & swView.GetName2

Set swNote = swView.GetFirstNote

' Set swAnn = swNote.GetAnnotation

Do While Not swNote Is Nothing

'Debug.Print "Nom de la vue : " & swView.GetName2 & "|Texte de la note :" & swNote.GetText & " " & "Bullage :" & swNote.IsBomBalloon

If swNote.IsBomBalloon Then
Debug.Print " Texte de la note :" & swNote.GetText

Set swAnn = swNote.GetAnnotation
bRet = swAnn.Select2(True, 0)

'Value = swNote.GetAttachedEntities3
'Set swComp = swAnn.GetComponent
'Set swCompModel = swAnn.GetModelDoc
'Debug.Print swComp.GetPathName & " <" & swComp.ReferencedConfiguration & ">" & " --> " & swCompModel.GetPathName
End If

Set swNote = swNote.GetNext

Loop

End If

Set swView = swView.GetNextView

Wend

swModel.ClearSelection2 (True)

End Sub
lajproSW
Ewok SolidWorks
 
Messages: 38
Inscription: Mar 16 Mar 2010, 10:32
Localisation: VALENCE

Re: Vérification bullage sur MEP

Messagepar franck.girard » Ven 07 Fév 2014, 10:31

Bonjour,

J'ai une macro qui vérifie le bullage d'une lise en plan.
Pour les noms des pièces, j'insère une nomenclature dans la mise en plan.
Ensuite, il faut comparer le premier nom de la nomenclature avec toutes les bulles.
Si aucune bulles ne correspond alors la pièce n'a pas été repérée.
Puis, il faut boucler sur tous les noms de la nomenclature.

Si veux des précisions n'hésite pas.
franck.girard
Ewok SolidWorks
 
Messages: 18
Inscription: Mer 05 Fév 2014, 10:34


Retourner vers Questions générales sur les API

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 5 invités

banniere

cron