Hallo,
weiß jemand wie man eine projezierte Bauteilkante (oLoop.Edges.Item(i)) in einer Skizze mit einer Linie (oLines(1) in der Skizze in Abhängigkeit "Koinzident" Mitte-Mitte setzt? Habe folgenden Source und probiere schon seit Tagen ohne Erfolg rum. Bin am verzweifeln....
----------------------------------------------
Private Sub ErzeugenVoransicht()
Dim oPartCompDef As PartComponentDefinition
Dim oSketch As PlanarSketch
Dim oProfile As Profile
Dim oRefEdge() As Byte
'Transaktion für Befehl Rückgängig
Dim oTrans As Transaction
Set oTrans = ThisApplication.TransactionManager.StartTransaction(ThisApplication.ActiveDocument, "Trägerausschlapfung")
'Das Bauteil mit dieser gewählten Fläche in Verbindung bringen
Set oPartCompDef = ThisApplication.ActiveDocument.ComponentDefinition
'Auf dieses Objekt eine Referenz setzen
Set oSetFace = oSelectEvents.SelectedEntities(1)
oSetFace.GetReferenceKey oRef(), oPart.ReferenceKeyManager.CreateKeyContext
'Die Skizze mit der Referenz in Verbindung bringen und
Set oSketch = oPartCompDef.Sketches.Add(oSetFace, False)
Dim oLoop As EdgeLoop
Dim oEdge As Edges
'Referenzgeometrie erzeugen
For Each oLoop In oSetFace.EdgeLoops
Dim i As Long
For i = 1 To oLoop.Edges.Count
Dim dMin As Double
Dim dMax As Double
Dim oSingleLength As Double
'Wenn es eine Linie ist
If oLoop.Edges.Item(i).CurveType = kLineCurve Then
'Anfangs und Endpunkte abrufen
Call oLoop.Edges.Item(i).Evaluator.GetParamExtents(dMin, dMax)
Call oLoop.Edges.Item(i).Evaluator.GetLengthAtParam(dMin, dMax, oSingleLength)
oSingleLength = CMtoMM(oSingleLength)
'Nachkommastellen werden vernachlässigt
If Fix(oSingleLength) = BBreite Then
Call oSketch.AddByProjectingEntity(oLoop.Edges.Item(i))
End If
If Fix(oSingleLength) = BHoehe Then
'AUF DIESE KANTE SOLL DIE ANHÄNGIGKEIT VERGEBEN WERDEN
Call oSketch.AddByProjectingEntity(oLoop.Edges.Item(i))
End If
End If
Next
Next
oSketch.Edit
Dim oTransGeom As TransientGeometry
Set oTransGeom = ThisApplication.TransientGeometry
Dim oPoint1 As Point2d
Dim oPoint2 As Point2d
Dim oLines(1 To 4) As SketchLine
Set oPoint1 = oTransGeom.CreatePoint2d(10, 5)
Set oPoint2 = oTransGeom.CreatePoint2d(Laschenhoehe, 10)
Set oLines(1) = oSketch.SketchLines.AddByTwoPoints(oPoint1, oPoint2)
'Abhängigkeiten
'?????
oSketch.ExitEdit
oTrans.End
End Sub
--------------------------------------------
Wäre für Hilfe wirklich sehr dankbar.
Grüße und ein erfolgreiches neues Jahr.
Heijo
Life is a miracle
------------------
LieGrü Heijo
EVERYTHING IS DESIGNED.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP