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 détails avec ilogic

22 RÉPONSES 22
RÉSOLU
Répondre
Message 1 sur 23
louisphilippe.dujardin
1295 Visites, 22 Réponses

Vue de détails avec ilogic

Bonjour à toutes et à tous,

 

Je suis occupé à configurer une plan 2d avec ilogic. Je souhaiterais faire une vue de détails avec une règle ilogic. Ma règle fonctionne mais la vue de détail pointe sur une curve aléatoirement. Je souhaiterais que la vue de détails pointe sur une courbe que j'ai appelé "Mur_PP" dans mon 3D.

La vue de détails doit pointer sur un Point2d. Mais je n'arrive pas à convertir ma curve "Mur_PP" en Point2d.

Est-ce que quelqu'un pourrais me dire comment avancé sur mon problème.

Dans ma règle ci-dessous, la curve "Item(6)  devrait être remplacée par la courbe "Mur_PP".

 

Je joins des fichier exemples. La règle s'appelle vue de détails dans le plan 2d.

 

Merci d'avance.

 

Louis-Philippe

 

Sub Main()
Dim oDrawing As DrawingDocument = ThisApplication.ActiveDocument	
Dim oSheet As Sheet = oDrawing.ActiveSheet
Dim oView As DrawingView = oSheet.DrawingViews.Item(1)
Dim oReferDoc As AssemblyDocument = oView.ReferencedDocumentDescriptor.ReferencedDocument
Dim oAssyDef As AssemblyComponentDefinition = oReferDoc.ComponentDefinition
Dim Occ As ComponentOccurrence
Dim oCurve As DrawingCurve
Dim oLine As DrawingCurve



Dim oTG As TransientGeometry = ThisApplication.TransientGeometry

		If oView.DrawingCurves(Occ).Count > 0 Then
			Dim oCollection As ObjectCollection = ThisApplication.TransientObjects.CreateObjectCollection
			Dim oCurves As DrawingCurvesEnumerator = oView.DrawingCurves(Occ)
				For Each oCurve In oCurves
					If oCurve.CurveType = kLineSegmentCurve Then
						Call oCollection.Add(oCurve)
					End If
				Next
				
				oLine = oCurves.Item(6)
			
		 End If

Dim Test_1 = ThisDrawing.Sheets.ItemByName("Test:1")
Dim VUE1 = Test_1.DrawingViews.ItemByName("VUE1")
Dim Mur_PP = VUE1.GetIntent("Maconnerie test:1", "Mur PP")



				Dim oMidpoint As Point2d
				Dim oStartpoint As Point2d
				Dim oEndpoint As Point2d
				Dim oMurPPPoint As Point2d

				Dim oGeometryIntent As GeometryIntent 
'				oMurPPPoint =oSheet.CreateGeometryIntent(Mur_PP, PointIntentEnum.kEndPointIntent) 
				oMidpoint = oLine.MidPoint
				oStartpoint = oLine.StartPoint
				oEndpoint = oLine.EndPoint
'				oGeometryIntent = oSheet.CreateGeometryIntent(oLine, PointIntentEnum.kEndPointIntent)
				
'		
			    ' Set a reference to the TransientGeometry object.

								
				Dim PmX As Double = oMidpoint.X
				Dim PmY As Double = oMidpoint.Y
				Dim PsX As Double = oStartpoint.X
				Dim PsY As Double = oStartpoint.Y
				Dim PeX As Double = oEndpoint.X
				Dim PeY As Double = oEndpoint.Y

				
			    ' Set a reference to the parent drawing view of the selected curve
			    Dim oDrawingView As DrawingView = oCurve.Parent

		


	oTG = ThisApplication.TransientGeometry

	'Dimension de la box de la DetailViewometry


	EscGPosA = oTG.CreatePoint2d(PeX-1, PeY+1)
	EscGPosB = oTG.CreatePoint2d(PeX+3, PeY-3)


	'Position de la vue de détail
	oPoint = oTG.CreatePoint2d(0, 0)  
	oPoint.X = oPoint.X + 5
	oPoint.Y = oPoint.Y + 5
    
    
    Dim oDetailView As DetailDrawingView
		

	oDetailView = oSheet.DrawingViews.AddDetailView(oDrawingView, oPoint,kFromBaseDrawingViewStyle, False, EscGPosA, EscGPosB, , oDrawingView.Scale * 2)


End Sub	

 

Étiquettes (3)
22 RÉPONSES 22
Message 21 sur 23

Normal, une face, ce n'est pas des arêtes, il ne sait pas l’interpréter.

Dim oFace As Inventor.Face
oFace = oObjColl.Item(1)
Dim oFaceProxy As Inventor.FaceProxy
oOcc.CreateGeometryProxy(oFace, oFaceProxy)
Dim oDrawCurves As DrawingCurvesEnumerator
oDrawCurves = oView.DrawingCurves(oFaceProxy.Edges.Item(1))
Dim oDwgCurve As DrawingCurve
oDwgCurve = oDrawCurves.Item(1)

En prenant la 1ère arête de la face, cela fonctionne 😉

D'une pièce à l'autre, je ne sais pas dans quel ordre sont rangées ces arêtes par contre...


Thomas
Mechanical Designer / Inventor Professionnal 2025
Inventor Professional EESignature

Message 22 sur 23

Ok c'est parfait.

 

J'ai refait une nouvelle feuille dans mon plan et c'est ok.

 

Je tiens vraiment à te remercier pour ton aide.

Ilogic est vraiment extraordinaire mais il n'est pas si évident de trouver l’info sur des choses pointues.

J'aurai encore quelque questions très ciblées dont je n'ai pas encore trouvé l'info.( et ce n'est pas faute d'avoir passée des jours à chercher.

Si je peu un moment te les poser, ce serait top. Je vais d'abord passer un peu de temps pour rédiger les questions correctement.

 

Merci Beaucoup.

 

Louis-Philippe

 

 

Message 23 sur 23

Hésite pas à créer un nouveau sujet 😉

Avec iLogic, il faut utiliser l'aide de programmation/API à disposition ici :

Capture.PNG

Et connaître les bons mots clés pour bien rechercher.

Les exemples sont très souvent en VBA, mais c'est relativement simple de passer à VB.NET.

En général il suffit de supprimer les "Let", "Set", et "Call"


Thomas
Mechanical Designer / Inventor Professionnal 2025
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