Danke für den Hinweis Daniel - aber der BodyFeatures_e - Type bringt mich hier leider nicht weiter..
Es geht um folgendes: Ich habe ein Dimension-Property (Code wieder unten..) - wobei ich Dimensionen im Model über deren Namen/Pfad abrufen (get) und ändern (set) kann. Diese Pfade bekomme ich einfach indem ich die Änderung einmal manuell vornehme und mit dem SW Makrorecorder aufzeichne.. - was mich allerdngs stört ist, dass
die Namen/Pfade für Get und Set unterschiedlich sind/sein müssen:
Bsp:
name4get: "D1@Distance1@c2090_01-1@section_lowerarm"
name4set: "D1@Distance1@c2090_01.Assembly"
und ich hätte gerne nur einen anme-input-string für die dimension-property..
das lässt sich ja insofern machen, dass ich mir nur den name4get geben lasse und mir den anderen selber zusammenstückel.. - das einzig verbleibende problem ist, dass er beim name4set hinten soweit ich das interpretiere den Typ des direkten parents der dimension (entweder .part oder .assembly) dazuschreibt und ich habe es bisher nicht geschafft das zu verifizieren..
Weiß jemand wie das geht oder hat einen anderen Lösungsvorschlag..?
Danke und LG,
Clemens Mandl
PS (Code):
Public Property Dimension(ByVal name4Get As String, ByVal name4Set As String, Optional ByVal type As String = "DIMENSION") As Double
Get
Dim swDimension As SldWorks.Dimension
Dim selObject As SldWorks.DisplayDimension
Dim dimValue() As Double
Me.ClearSelections()
Me.SelectComponent(name4Get, type)
selObject = CType(selMgr.GetSelectedObject6(1, -1), SldWorks.DisplayDimension)
swDimension = CType(selObject.GetDimension(), SldWorks.Dimension)
dimValue = CType(swDimension.GetSystemValue3(1, ""), Double())
Return dimValue(0)
End Get
Set(ByVal value As Double)
Dim parameter As Object
parameter = Model.Parameter(name4Set)
parameter.systemvalue = value
End Set
End Property
------------------
"Neid ist die aufrichtigste Form der Anerkennung" (Wilhelm Busch)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP