Inventor : Désactiver "l'absorption" des fonction

Inventor : Désactiver "l'absorption" des fonction

tristan-haller
Collaborator Collaborator
516 Visites
8 Réponses
Message 1 sur 9

Inventor : Désactiver "l'absorption" des fonction

tristan-haller
Collaborator
Collaborator

Bonjour à tous,

 

Je cherche une fonction d'ergonomie :

L'ors de la création des fonctions de création (extrusion balayage...) ou de construction (plan Axe...), la nouvelle fonction "absorbe" et masque le sketch ou les plans/axes/points qui servent à la définir. Je suis souvent amené à "ressortir" un sketch ou plan en le remontant dans l'arborescence pour l'utiliser à nouveau.

J'aimerais désactiver "l'absorption" et masquage initiale, quelqu'un sait si c'est paramétrable ? 

Ce que je fais actuellement : 

tristanhaller_0-1685713599463.png>>tristanhaller_1-1685713658243.png>>tristanhaller_2-1685713699557.png>>tristanhaller_4-1685713845565.png>>

tristanhaller_5-1685713918692.png

 

 

 

Ce que j'aimerais qu'il se passe à la création d'une fonction : 

tristanhaller_0-1685713599463.png>>tristanhaller_5-1685713918692.png

 

 

 

 

 

 

0 J'aime
Solutions acceptées (1)
517 Visites
8 Réponses
Replies (8)
Message 2 sur 9

MKE_Howard
Collaborator
Collaborator

Perso ça m'a toujours fait ça et c'est que c'est dérangeant, mais quand j'appuie sur le + vert, mon sketch ressort automatiquement. Il suffit que je crée 2 extrusions et tout fonctionne. 

qwiqwi25_1-1685717986820.png

 

 

 

Message 3 sur 9

lah29-bertrand
Advocate
Advocate

AV.pngAP.pngBonjour,

Clic droit sur l'esquisse dans le navigateur

"Partager l'esquisse"

 

Pas d'api pour l'automatiser, enfin je ne la vois pas .

Bon weekend

Bertrand

 

 

0 J'aime
Message 4 sur 9

ThomasB44
Mentor
Mentor

Salut @lah29-bertrand 

Pour partager une esquisse avec l'API : 😉

ThisDoc.Document.ComponentDefinition.Sketches.Item(1).Shared = True
'Last item : ThisDoc.Document.ComponentDefinition.Sketches.Count

 


Thomas
Mechanical Designer / Inventor Professional 2025
Inventor Professional EESignature

Message 5 sur 9

ThomasB44
Mentor
Mentor

Salut @tristan-haller 

Sous certaines conditions, on ne peut pas partager une esquisse.

Par exemple, une esquisse qui n'a pas été utilisée une seule fois ne peut pas être partagée.

Je ne vois pas d'option pour avoir des esquisses partagées par défaut...

Toutefois, cela est possible assez simplement avec iLogic et un évènement déclencheur.


Thomas
Mechanical Designer / Inventor Professional 2025
Inventor Professional EESignature

0 J'aime
Message 6 sur 9

lah29-bertrand
Advocate
Advocate
Ok, merci
je n'avais pas pousser ma recherche assez loin 🙂
bonne journée
Bertrand
Message 7 sur 9

tristan-haller
Collaborator
Collaborator

Bonjour a tous !

 

Que de réponses, alors dans l'ordre :

@MKE_Howard: la solution proposée permet bel et bien d'enchaîner 2 fois la même fonction sur un même sketch, malheureusement la plupart du temps j'utilise 2 fonctions différentes (extrusion plus perçage par exemple). Par ailleurs le sketch partager apparaît toujours effacé à la fin de l'opération.

 

@lah29-bertrand : le "clic droit" + menu déroulant semble plus long que ma solution actuelle de simplement "remonter" le sketch dans l’historique ? Je cherche précisément à éviter de devoir ouvrir ma fonction pour partager mon sketch. 

 

@ThomasB44 : Merci pour cette ligne de code iLogic, associée à sa copine pour rendre à coup sûr Visible le sketch elle fonctionne très bien : 

 

ThisDoc.Document.ComponentDefinition.Sketches.Item(1).Shared = True
ThisDoc.Document.ComponentDefinition.Sketches.Item(1).Visible = True

La règle iLogic est pour l'instant activée à chaque changement de géométrie de la pièce : 

tristanhaller_0-1686058140471.png

 Du coup je creuse un peut cette solution et j'aimerais y ajouter : 

_ détecter le dernier sketch utilisé pour ne faire réapparaitre que lui? (je ne veux pas que le sketch en cour d'usage disparaisse, mais je ne veux pas que tout les précédent masquer réapparaisse non plus :p)

_ un déclencheur plus précis si possible (actuellement les réseaux vont déclencher la règle sans utilité.)

_introduire des exceptions pour les cas de partage impossible (sketch non utiliser / adaptatif...)

_ un bouton rendre visible+partager tous les sketch / masquer tous les sketch (je ne sais pas si on peut créer des boutons déclenchants des règles illogique mais sait-on jamais)

_ et temps que j'y suis la ligne équivalente en iLogic pour afficher/masquer les UCS / les Axes / Plans et Point 😄

 

Des pistes ? 

Message 8 sur 9

ThomasB44
Mentor
Mentor
Solution acceptée

Au lieu de  :

ThisDoc.Document.ComponentDefinition.Sketches.Item(1)

Il suffit de prendre la dernière esquisse :

Dim oApp As Inventor.Application
oApp = ThisApplication
Dim oPartDoc As Inventor.PartDocument = oApp.ActiveDocument
Dim oCompDef As Inventor.PartComponentDefinition = oPartDoc.ComponentDefinition
Dim oSketches As Inventor.PlanarSketches = oCompDef.Sketches
Dim oSketch As Inventor.PlanarSketch

'Look to last sketch
oSketch = oSketches.Item(oSketches.Count)

Puis pour la partager il suffit de vérifier qu'elle a été consommée par une fonction ou qu'elle n'est pas adaptive :

	If oSketch.Consumed = True And oSketch.Adaptive = False Then
		oSketch.Shared = True
		oSketch.Visible = True
	Else
		
	End If

Enfin pour le faire sur toutes les esquisses, il suffit de boucler :

'Loop throught all sketches
For Each oSketch In oSketches

Next

Peut être ajouter une gestion d'erreur en cas d'imprévu.

 

Pour le reste, c'est un autre sujet 😉


Thomas
Mechanical Designer / Inventor Professional 2025
Inventor Professional EESignature

0 J'aime
Message 9 sur 9

tristan-haller
Collaborator
Collaborator

Merci @ThomasB44 ,

 

T'as réponse est parfaitement claire ! je vais implémenter ce bout de code pour ce qui m'est immédiatement utile et je reviendrais plus tard pour la suite 😅

0 J'aime