- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Lien permanent
- Imprimer
- Signaler
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
Résolu ! Accéder à la solution.