Affichage des articles dont le libellé est Développement. Afficher tous les articles
Affichage des articles dont le libellé est Développement. Afficher tous les articles

lundi 11 mars 2013

iLogic - Remplacer la référence d'un composant dérivé

Problème rencontré:
Vous auriez aimé qu'il existe une option dans les pièces créées avec la fonction "Composant dérivé" permettant de remplacer le composant utilisé comme référence.

Solution:
Il est possible de faire cette modification en utilisant une règle iLogic simple permettant de parcourir jusqu'au fichier qui servira de nouvelle référence à la fonction de composant dérivé.




Contenu de la règle:
------------------------------------------------------------------------------

Dim oDoc as Document

oDoc = ThisDoc.Document

Dim oRefFile As FileDescriptor

Dim oOrigRefName As Object     



For Each oRefFile In oDoc.file.ReferencedFileDescriptors

'get the full file path to the original internal references

oOrigRefName = oRefFile.FullFileName

'present a File Selection dialog
Dim oFileDlg As inventor.FileDialog = Nothing
InventorVb.Application.CreateFileDialog(oFileDlg)
oFileDlg.InitialDirectory = oOrigRefName
oFileDlg.CancelError = True
On Error Resume Next
oFileDlg.ShowOpen()
If Err.Number <> 0 Then
Return
ElseIf oFileDlg.FileName <> "" Then
selectedfile = oFileDlg.FileName
End If

'Replace the reference
oRefFile.ReplaceReference (selectedfile)     
InventorVb.DocumentUpdate()
oOrigRefName = ""                                        
Next

iLogicVb.UpdateWhenDone = True
------------------------------------------------------------------------------

Mise en place:


Afin de mettre cette règle en place et de l'utiliser au cas par car dans vos conception, l'idéal serait de définir cette règle comme "Règle externe" dans Inventor.

1- Copiez la zone de code notée ci-dessus et collez-la dans un fichier texte vide
2- Enregistrez ce fichier texte ( de préférence dans un emplacement réseau. Ex: le répertoire contenant votre configuration Inventor)
3- Allez dans l'onglet "Gérer" > "iLogic" > "Navigateur iLogic"
4- Dans le navigateur iLogic, sélectionnez l'onglet "Règles externes"
5- Faites un clic-droit sur la catégorie "Règles externes dans les fichiers" puis choisissez "Ajouter une règle" et parcourez jusqu'à l'emplacement où le fichier texte a été précédemment sauvegardé

Attention:

Cette règle comporte malgré tout quelques limitations:
la référence d'origine du composant dérivé et le fichier de remplacement doivent avoir la même "Ascendance".C'est à dire que le fichier d'enregistrement doit avoir été créé à partir du fichier de référence original, ou bien que les fichiers "original" et "remplacement" aient été créé à partir du même parent.
--> Il n'est donc pas possible de remplacer la référence d'un composant dérivé par une référence complètement différente en utilisant cette règle!


Remplacer la référence d'un composant dérivé - Vidéo

mardi 1 février 2011

Macro - Modification de la couleur des faces des pièces

Voici une macro Inventor permettant d'appliquer à toutes les faces d'une pièce le style de couleur "Comme la pièce", ou "Comme la fonction".

Cette automatisation peut être utile lorsqu'une pièce à de nombreuses faces sur lesquelles les couleurs ont été personnalisées.

Mise en place:

1. Ouverture du fichier à modifier:
Cliquez sur "Ouvrir" et sélectionnez le fichier pour lequel vous souhaitez redéfinir les couleurs de toutes les faces sur "Comme la pièce".

2. Accès à l'éditeur VBA d'Inventor:

Dans le ruban d'inventor, allez dans l'onglet "Outils" > "Editeur VBA" (raccourci clavier: Alt + F11). 

 
3. Ajout de la macro dans le document en cours:
Sous la catégorie "Projet_du_document", affichez la liste des modules et double-cliquez sur "Module1".


Copiez le corps de la macro ci-dessous (copiez le texte entre les pointillés):

...........................................................................................................................

'Disclaimer :
'Tous codes ou extraits de code fournis gracieusement par Hurni Engineering sont fournis "tels quels", sans aucune garantie d'aucune sorte et vous les utilisez à vos propres risques.
'Ils n'ont pas été sérieusement testés et le fait qu'ils proviennent d'Hurni Engineering ou d'Autodesk ne signifie pas qu'ils soient fiables, corrects, complets ou valables.
'Vous êtes libre d'utiliser ces codes ou extraits de code dans votre entreprise, mais il vous incombe de les tester et de vous assurer qu'ils soient adaptés à vos besoins et votre environnement.



' Cette macro permet d'appliquer à toutes les faces d'une pièce le style de couleur "Comme la pièce", ou "Comme la fonction".
' Cela est utile lorsqu'une pièce à de nombreuses faces aux couleurs personnalisées.
' Cette macro est publiée dans un but éducatif, afin de donner un exemple des possibilités de développement.
' Elle peut prendre beaucoup de temps à s'exécuter, selon le nombre de faces de la pièces !
' Pour une application industrielle, nous vous recommandons de prendre contact avec :

' Hurni Enginneering Sàrl
' Combeta 3
' CH-2300 La Chaux-de-Fonds
' +41 32 924 50 90 / info@hurni.ch
' www.hurni.ch
'
' Nous nous ferons un plaisir d'adapter cet utilitaire à vos besoins précis !


Sub FaceColorChange()
    Dim partDoc As PartDocument
    Dim partCompDef As PartComponentDefinition
    Dim myFace As Face
    Set partDoc = ThisApplication.ActiveDocument
    Set partCompDef = partDoc.ComponentDefinition
    Dim style As RenderStyle
    For Each myFace In partCompDef.SurfaceBodies(1).Faces
            myFace.SetRenderStyle (kPartRenderStyle)
                '(kFeatureRenderStyle) pour rétablir : "Comme la fonction"
                '(kPartRenderStyle) pour : "Comme la pièce"
    Next
End Sub

............................................................................................................................

 Collez le texte dans la partie droite de l'éditeur VBA, qui doit normalement être vide, puis fermez l'éditeur VBA ( les modifications sont automatiquement sauvegardées)

4. Lancement de la macro:
Dans le ruban d'Inventor, allez dans l'onglet "Outils" > "Macros" (raccourci clavier: Alt + F8).
Vérifiez que la macro sélectionnée soit "Module1.FaceColorChange", puis cliquez sur "Run".



Toutes les faces possédant des couleurs personnalisées sont alors réinitialisées sur la couleur "Comme la pièce"

 
Remarque:
Si vous souhaitez que cette macro soit disponible pour les fichiers pièces que vous ouvrez, il faut copier le corps de cette macro dans le "Module1" de la catégorie "Projet_de_l_application".