Hallo,
ich stehe da gerade etwas an. Und zwar möchte ich die Grenzen von einer Abwicklung in meinen Benutzerparametern haben. Dazu habe ich auch ein schönes Bsp gefunden das die Grenzen ausließt und dann nur mehr umgeschrieben damit die Werte in die Userparameter geschrieben werden. Jedoch habe ich jetzt noch ein kleines Problem. Sobald der Befehl einmal ausgeführt wurde werden diese Parameter nicht mehr überschrieben. Dazu müsste ich jetzt vorher die erstellten Userparameter löschen, aber irgendwie schaff ich das nicht.
hier der Code:
Option Explicit
Public Sub getBoundingBox()
Dim oDoc As PartDocument
Set oDoc = ThisApplication.ActiveDocument
Dim oCD As SheetMetalComponentDefinition
Set oCD = oDoc.ComponentDefinition
Dim oFP As FlatPattern
Set oFP = oCD.FlatPattern
Dim dimX, dimY, dimZ As Double
Dim sdimXYZ As String
On Error Resume Next
dimX = Round((oFP.Body.RangeBox.MaxPoint.X - oFP.Body.RangeBox.MinPoint.X) * 10, 3)
If Err Then
MsgBox "Abwicklung fehlt!", 16, "Error"
End
End If
dimY = Round((oFP.Body.RangeBox.MaxPoint.Y - oFP.Body.RangeBox.MinPoint.Y) * 10, 3)
dimZ = Round((oFP.Body.RangeBox.MaxPoint.Z - oFP.Body.RangeBox.MinPoint.Z) * 10, 3)
'MsgBox ("X= " & CStr(dimX) & " mm" _
& Chr(10) & "Y= " & CStr(dimY) & " mm" _
& Chr(10) & "Z= " & CStr(dimZ) & " mm")
sdimXYZ = CStr(dimX) & " x " & CStr(dimY) & " x " & CStr(dimZ)
MsgBox ("Grenzen der Abwicklung :" & vbCrLf & vbCrLf & sdimXYZ & " mm x mm x mm")
'Call IPropEintraege.Property_setzen(oDoc, "Groesse_Abwicklung", CStr(sdimXYZ))
Dim oParams As Inventor.Parameters
Set oParams = oDoc.ComponentDefinition.Parameters
'Parameter löschen
'oParams.UserParameters.Item(GrenzeAbwicklungX).Delete
'oParams.UserParameters.Item(GrenzeAbwicklungY).Delete
'oParams.UserParameters.Item(GrenzeAbwicklungZ).Delete
'Parameter für Grenzen erstellen
oParams.UserParameters.AddByValue "GrenzeAbwicklungX", dimX / 10, kMillimeterLengthUnits
oParams.UserParameters.AddByValue "GrenzeAbwicklungY", dimY / 10, kMillimeterLengthUnits
oParams.UserParameters.AddByValue "GrenzeAbwicklungZ", dimZ / 10, kMillimeterLengthUnits
Set oFP = Nothing
Set oCD = Nothing
Set oDoc = Nothing
End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP