Hallo Zusammen,
ich möchte einen optischen Strahlengang mittels Eigenpunktkurven (Befehl Eigenpunktkurve auf der Symbolleiste Flächenmodellierung) in einem Part per Visual Basic erzeugen. Der folgende Code (VB.NET) soll von einem Startpunkt (X/Y/Z) zu einem Endpunkt (X/Y/Z) eine Eigenpunktkurve generieren. Ab V15 sollte das ja möglich sein. Von Hand geht das auch problemlos. Ich erhalte aber bei dem Befehl zum generieren der KeyPointCurve immer einen Typkonflikt. Wie muss das Array (edgeset) aufgebaut sein, wenn ich nur die Koordinaten von einem Startpunkt und einem Endpunkt setzen will?
Die Dokumentation der API braucht dringend eine Verbesserung, auch im englischen Forum wird dies immer wieder bemängelt!
Dieses Problem wurde von meinem Reseller an UGS weitergeleitet.
Danke für eure Mithilfe!
Matthias
Code (VB.NET):
Dim objApp As SolidEdgeFramework.Application
Dim objDoc As SolidEdgePart.PartDocument
Dim objModels As SolidEdgePart.Models
Dim objModel As SolidEdgePart.Model
Dim objBody As SolidEdgeGeometry.Body
Dim objedges As SolidEdgeGeometry.Edges
Dim objedgeArc As SolidEdgeGeometry.Edge
Dim objedgeCordinate As SolidEdgeGeometry.Edge
Dim objedgeLine As SolidEdgeGeometry.Edge
Dim objconstructions As SolidEdgePart.Constructions
Dim objKeyPointCurves As SolidEdgePart.KeyPointCurves 'Eigenpunktkurven
Dim objKeyPointCurve As SolidEdgePart.KeyPointCurve
Dim arrKeyPointtype(1) As Object
Dim edgeset(1, 2) As Object ' array mit 2 Punkten (x,Y,Z-Koordinate)
'Werte übergeben
edgeset(0, 0) = 5.0 'CDbl(TextBox2.Text) 'Xstart
edgeset(0, 1) = 15.5 'CDbl(TextBox3.Text) 'Ystart
edgeset(0, 2) = 0.0' CDbl(TextBox4.Text) 'Zstart
edgeset(1, 0) = 36.3 'CDbl(TextBox5.Text) 'Xend
edgeset(1, 1) = 69.5 'CDbl(TextBox6.Text) 'Yend
edgeset(1, 2) = 64.3 'CDbl(TextBox7.Text) 'Zend
arrKeyPointtype(0) = SolidEdgeFramework.KeyPointType.igKeyPointStart
arrKeyPointtype(1) = SolidEdgeFramework.KeyPointType.igKeyPointStart
objApp = GetObject(, "SolidEdge.Application")
objApp.Visible = True
objDoc = objApp.ActiveDocument
objconstructions = objDoc.Constructions
objKeyPointCurves = objconstructions.KeyPointCurves
Try
'Object.Add(NumEdges, edgeset, KeypointTypeConstants, StartpointEndType, EndpointEndType) so steht es in der Hilfe!!
objKeyPointCurve = objKeyPointCurves.Add(2, edgeset, arrKeyPointtype, SolidEdgePart.KeypointEndConditionConstants.seKeypointEndConditionTangent, )
'da gibt es immer einen Typkonflikt
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
objApp = Nothing
objDoc = Nothing
objconstructions = Nothing
objKeyPointCurves = Nothing
objKeyPointCurve = Nothing
------------------
SE V15 SP4
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP