Communauté
Inventor - Français
Bienvenue sur les forums Inventor d’Autodesk. Partagez vos connaissances, posez des questions, collaborez sur des idées, et explorez les sujets Inventor populaires.
annuler
Affichage des résultats de 
Afficher  uniquement  | Rechercher plutôt 
Vouliez-vous dire : 

Vue de dessin

27 RÉPONSES 27
RÉSOLU
Répondre
Message 1 sur 28
Sébastien_G
1205 Visites, 27 Réponses

Vue de dessin

Bonjour à tous,

Est-il possible d'activer par défaut des options dans la boite de dialogue "Vue de dessin" dans l'onglet "Options d'affichage" ???

Je souhaite activer par défaut les options "Fonction de filetage" et "Arêtes tangentes"

Voir pièce jointe.

Cordialement.

SG

 

27 RÉPONSES 27
Message 21 sur 28
Sébastien_G
en réponse à: ThomasB44

Le programme ne donne aucun résultat. Il ne s’applique plus du tout.

Je pense qu’il faudrait revenir à celui de vendredi et lui dire de ne plus s’appliquer aux vues dont la case « Style – Vue de base » n’est pas cochée

Message 22 sur 28
ThomasB44
en réponse à: Sébastien_G

Ca fonctionne très bien de mon côté. Je pense qu'on se comprend mal.

Je t'ai ajouté des boîtes de messages pour que tu comprennes ce qu'il se passe.

 

Dim oDD As DrawingDocument
Dim oSht As Sheet
Dim oDV As DrawingView
oDD = ThisDrawing.Document

'Pour chaque feuille du dessin
For Each oSht In oDD.Sheets
    'Pour chaque vue de la feuille
    For Each oDV In oSht.DrawingViews
		
		'''Contrôle du code
		If oDV.ViewType = kStandardDrawingViewType Then
			MessageBox.Show(oDV.Name & " est une vue de base" & vbNewLine _
			& "Affichage des filetages et des arêtes tangentes", "iLogic")
		ElseIf oDV.ViewStyle = kFromBaseDrawingViewStyle Then
			MessageBox.Show(oDV.Name & " a la case vue de base cochée" & vbNewLine _
			& "Affichage des filetages et des arêtes tangentes", "iLogic")
		Else
			MessageBox.Show(oDV.Name & "n'est pas une vue de base, " & vbNewLine _
			& "et n'a pas la case vue de base cochée" & vbNewLine _
			& "Le code ne fait rien...", "iLogic")
		End If
		
		'Si le style vue de base est coché, ou si c'est une vue de base
		If oDV.ViewStyle = kFromBaseDrawingViewStyle Or oDV.ViewType = kStandardDrawingViewType Then
			'Active l'option filetage
			oDV.DisplayThreadFeatures = True 
			'Essaie d'activer l'option arêtes tangentes
			Try
				oDV.DisplayTangentEdges = True 
			Catch
				'Erreur, il n'est pas possible de l'activer sur cette vue
			End Try
		Else
			'Le style vue de base n'est pas coché
		End If
    Next
Next

 


Thomas
Mechanical Designer / Inventor Professionnal 2023
Inventor Professional EESignature

Message 23 sur 28
Sébastien_G
en réponse à: ThomasB44

C'est effectivement pas facile de se comprendre mais j'ai bon espoir.

Ci-joint ce que je souhaite obtenir.

Message 24 sur 28
ThomasB44
en réponse à: Sébastien_G

Pour être sûr, si je résume en programmation ça donnerait :

  • Il s'agit de la 1ere activation de la règle :
    • Pour chaque vue de chaque feuille
      • Activer les filetages et les arêtes tangentes
  • Il ne s'agit plus de la 1ère activation de la règle :
    • Pour chaque vue de chaque feuille
      • Si le style vue de base est activé, ou, s'il s'agit d'une vue de base
        • Activer les filetages et les arêtes tangentes

Dont voici le code :

SyntaxEditor Code Snippet

Dim oDD As DrawingDocument
Dim oSht As Sheet
Dim oDV As DrawingView
oDD = ThisDrawing.Document

Try
	'Essaie de lire le paramètre
	Test = Parameter("Premier_enregistrement")
Catch
	'Créé le paramètre puisqu'il n'existe pas, ceci est donc le 1er enregistrement
	oMyParameter = oDD.Parameters.UserParameters
	oParameter = oMyParameter.AddByValue("Premier_enregistrement", True, UnitsTypeEnum.kBooleanUnits)
End Try

'Pour chaque feuille du dessin
For Each oSht In oDD.Sheets
	'Pour chaque vue de la feuille
    For Each oDV In oSht.DrawingViews
		'Si le style vue de base est coché, 
		'ou si c'est une vue de base
		'ou si c'est le 1er enregistrement
		If oDV.ViewStyle = kFromBaseDrawingViewStyle _
			Or oDV.ViewType = kStandardDrawingViewType _
			Or Parameter("Premier_enregistrement") = True Then
			'Active l'option filetage
			oDV.DisplayThreadFeatures = True 
			'Essaie d'activer l'option arêtes tangentes
			Try
				oDV.DisplayTangentEdges = True 
			Catch
				'L'option est grisée
			End Try
		Else
			'Il ne s'agit plus du 1er enregistrement, 
			'ce n'est pas une vue de base, 
			'le style vue de base n'est pas coché
			'Ne fait rien
		End If
    Next
Next
'Fin du 1er enregistrement
If Parameter("Premier_enregistrement") = True Then 
	Parameter("Premier_enregistrement") = False
End If

 


Thomas
Mechanical Designer / Inventor Professionnal 2023
Inventor Professional EESignature

Message 25 sur 28
Sébastien_G
en réponse à: ThomasB44

Ça ne marche pas. Rien ne se produit.

Je pense que nous partons sur quelque de trop compliquer.

Dommage que nous ne puissions pas nous parler de vive voix.

Peut-être as-tu besoin de la démarche que j’utilise pour faire mes mises en plan et pour utiliser ton programme.

1 – Je créé une mise en plan à partir de mon gabarit.

2 – Je place mes vues (de base, projetées, etc…).

3 – Je sauvegarde ma mise en plan, ce qui déclenche ton programme.

4 – Je continue ma mise en plan. Lors de cette étape, je peux être amener à décocher les options "Fonction de filetage" et/ou "Arêtes tangentes" sur une ou plusieurs vues.

5 – Je sauvegarde ma mise en plan, ce qui déclenche ton programme à nouveau puisque c’est l’évènement déclencheur.

 

C’EST SUR L’ETAPE 5, QUE JE NE VEUX PAS QUE LE PROGRAMME CHANGE LES OPTIONS QUE J’AI MODIFIE A L’ETAPE 4.

Je me rend compte que ce n’est pas facile de t’expliquer, désolé.

Message 26 sur 28
ThomasB44
en réponse à: Sébastien_G

Dans ce cas tu veux juste que la règle se lance une seule fois au 1er enregistrement ?

Ce que tu demandes n'est pas compliqué...mais il faut exprimer ton besoin en termes logiques, sinon je ne peux pas programmer.

Pour savoir si c'est le 1er enregistrement, le code créé un paramètre dans le dessin au 1er enregistrement.

Ensuite, tant que ce paramètre sera égal à "False", le code n'effectuera plus de modifications.

Si tu reprends un dessin existant pour tester, il faudra remettre ce paramètre sur "True", ou bien le supprimer.

SyntaxEditor Code Snippet

Dim oDD As DrawingDocument
Dim oSht As Sheet
Dim oDV As DrawingView
oDD = ThisDrawing.Document

Try
	'Essaie de lire le paramètre
	Test = Parameter("Premier_enregistrement")
Catch
	'Créé le paramètre puisqu'il n'existe pas, ceci est donc le 1er enregistrement
	oMyParameter = oDD.Parameters.UserParameters
	oParameter = oMyParameter.AddByValue("Premier_enregistrement", True, UnitsTypeEnum.kBooleanUnits)
End Try

'Si c'est le 1er enregistrement
If Parameter("Premier_enregistrement") = True Then
	'Pour chaque feuille du dessin
	For Each oSht In oDD.Sheets
		'Pour chaque vue de la feuille
    	For Each oDV In oSht.DrawingViews
			'Active l'option filetage
			oDV.DisplayThreadFeatures = True 
			'Essaie d'activer l'option arêtes tangentes
			Try
				oDV.DisplayTangentEdges = True 
			Catch
				'L'option est grisée
			End Try
		
    	Next
	Next
Else
	'Il ne s'agit plus du 1er enregistrement, 
	'Ne fait rien
End If

'Fin du 1er enregistrement
If Parameter("Premier_enregistrement") = True Then 
	Parameter("Premier_enregistrement") = False
End If

Thomas
Mechanical Designer / Inventor Professionnal 2023
Inventor Professional EESignature

Message 27 sur 28
Sébastien_G
en réponse à: ThomasB44

Pas de résultat.

Non je ne souhaite pas que le programme se lance que au 1er enregistrement.

Le fait que l’évènement déclencheur est « Avant l’enregistrement du document », le programme va se lance à chaque fois que je vais enregistrer.

 

Ce que je veux c’est que le programme s’applique à toutes les vues que je créé même si j’ai déjà enregistrer.

Ensuite à chaque enregistrement (le programme va se lancer puisque c’est l’évènement déclencheur) ce que je veux c’est que le programme ne modifie pas les vues qui ont déjà été modifiées par le programme ou moi.

Message 28 sur 28
ThomasB44
en réponse à: Sébastien_G

Le code ne peut pas savoir si il a déjà modifié la vue auparavant, ou si c'est toi qui l'a modifiée...

Il faut que cela soit logique et valable à n'importe quel moment.


Thomas
Mechanical Designer / Inventor Professionnal 2023
Inventor Professional EESignature

Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.

Publier dans les forums  

Autodesk Design & Make Report