Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Properties mit Parameter verknüpfen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Properties mit Parameter verknüpfen (1997 mal gelesen)
deyhawaii
Mitglied
Konstrukteur


Sehen Sie sich das Profil von deyhawaii an!   Senden Sie eine Private Message an deyhawaii  Schreiben Sie einen Gästebucheintrag für deyhawaii

Beiträge: 236
Registriert: 17.09.2005

Catia V5 R26
Siemens NX11
Fides 10

erstellt am: 05. Dez. 2012 10:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Vollstift.JPG

 
Morgen zusammen,
stehe gerade irgendwie auf dem Schlauch.
Habe einen Geometriesteuernden Parameter. Der Wert den ich da einstelle soll aber auch in meine selbsterstellte Properties erscheinen.
Und da ist der springende Punkt. Wie muss die Formel dafür aussehen?
Hab ich schon zigmal gemacht. Aber gerade ist bei mir nur vollkommende Leere ...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

roccat
Mitglied
Konstrukteur


Sehen Sie sich das Profil von roccat an!   Senden Sie eine Private Message an roccat  Schreiben Sie einen Gästebucheintrag für roccat

Beiträge: 172
Registriert: 19.02.2010

WinXP/Win7
Office XP/2007
Catia V5 R16-R19, VB6.0, VBA, BASCOM-AVR
VB .Net 2010

erstellt am: 05. Dez. 2012 11:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für deyhawaii 10 Unities + Antwort hilfreich

Hi deyhawaii,

deine Frage bezieht sich nicht auf Programmierung, oder?

Händisch geht das wie folgt.

-Parameter und Property anlegen
-unter Formular den Propertyparameter anwählen (am besten Filtern mit "*Proper*")
-wähle "Add Formula"
-deinen Parameter im Baum anklicken und bestättigen.

mfG
Mario

edit:

-achso Parameter und Property müssen vom gleichen Typ sein. (bei dir ist die BestellNr.: vom typ Length! ist das richtig?)
- und manchmal wird die Verbindung zwischen Parameter und Property erst nach dem Neuladen des Parts aktualisiert.

[Diese Nachricht wurde von roccat am 05. Dez. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

deyhawaii
Mitglied
Konstrukteur


Sehen Sie sich das Profil von deyhawaii an!   Senden Sie eine Private Message an deyhawaii  Schreiben Sie einen Gästebucheintrag für deyhawaii

Beiträge: 236
Registriert: 17.09.2005

Catia V5 R26
Siemens NX11
Fides 10

erstellt am: 05. Dez. 2012 11:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Mario,
danke. Jetzt klappt's, frag mich nicht was ich vorher falsch gemacht habe.
Scheint heute Montag zu sein...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

roccat
Mitglied
Konstrukteur


Sehen Sie sich das Profil von roccat an!   Senden Sie eine Private Message an roccat  Schreiben Sie einen Gästebucheintrag für roccat

Beiträge: 172
Registriert: 19.02.2010

WinXP/Win7
Office XP/2007
Catia V5 R16-R19, VB6.0, VBA, BASCOM-AVR
VB .Net 2010

erstellt am: 05. Dez. 2012 11:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für deyhawaii 10 Unities + Antwort hilfreich

Jo, fühlt sich wirklich wie Montag an 

THX für die Units

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

JDH
Mitglied



Sehen Sie sich das Profil von JDH an!   Senden Sie eine Private Message an JDH  Schreiben Sie einen Gästebucheintrag für JDH

Beiträge: 10
Registriert: 08.09.2022

erstellt am: 08. Sep. 2022 08:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für deyhawaii 10 Unities + Antwort hilfreich

Hallo deyhawaii,

könnte du den Code posten?

ich möchte die vorhandene Parameter in die Properties über ein Macro kopieren, leider bekomme ich es nicht hin, die Parameter 1 zu 1 zu übertragen.

Macro soll alle Bauteile in einer Baugruppe speisen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 08. Sep. 2022 08:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für deyhawaii 10 Unities + Antwort hilfreich

Servus

Hier findest du ein Beispiel zum erstellen einer Userproperty und diese mit einem Parameter per Formel zu verknüpfen.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

JDH
Mitglied



Sehen Sie sich das Profil von JDH an!   Senden Sie eine Private Message an JDH  Schreiben Sie einen Gästebucheintrag für JDH

Beiträge: 10
Registriert: 08.09.2022

erstellt am: 08. Sep. 2022 12:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für deyhawaii 10 Unities + Antwort hilfreich


Bild1.png

 
Danke für die Hilfe.

Ich komme jedoch bei einer Sache nicht weiter. Kann mir jemand da mal auf die Sprünge helfen?

Wie muß das hier aussehen?

da wo jetzt "TEST" sollte die Parameter code sein. Habe bereits einiges ausprobiert, leider komme ich nicht weiter.

'---------
  if (lfound = true) then
'Aktualisierung des Attributwerts, falls erforderlich
if (typAttributes(i) = "String") then
Elseif (typAttributes(i) = "Length") then
Elseif (typAttributes(i) = "Real") then
Elseif (typAttributes(i) = "Integer") then
end if
  else

'Erstellung der Attribute mit Typ "String"
if (typAttributes(i) = "String") then
set param = userParameters.CreateString(tabAttributes(i),"TEST")
          end if
end if
  Next
'------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 08. Sep. 2022 12:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für deyhawaii 10 Unities + Antwort hilfreich

Servus

Du musst noch eine Formel erzeugen (CreateFormula).
Hast du schon zuvor auf den "normalen" Parameter zugegriffen? Was soll der steuernde Parameter sein, der aus den Userproperties oder der "normale"?

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

JDH
Mitglied



Sehen Sie sich das Profil von JDH an!   Senden Sie eine Private Message an JDH  Schreiben Sie einen Gästebucheintrag für JDH

Beiträge: 10
Registriert: 08.09.2022

erstellt am: 08. Sep. 2022 12:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für deyhawaii 10 Unities + Antwort hilfreich

Hallo Bernd,

der Normale soll der streuende sein.

Wie muß die Formel aussehen? und wo?

Gruß
Johannes

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

JDH
Mitglied



Sehen Sie sich das Profil von JDH an!   Senden Sie eine Private Message an JDH  Schreiben Sie einen Gästebucheintrag für JDH

Beiträge: 10
Registriert: 08.09.2022

erstellt am: 08. Sep. 2022 12:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für deyhawaii 10 Unities + Antwort hilfreich

Vielleicht ist es besser meinen Code zu veröffentlichen.

Hier ist mein ganzer Code:

'-------------

'// Language="VBSCRIPT"

'---------------------------------------------------------------------------

dim workbooks as AnyObject
dim workbook as AnyObject
dim strWB as Workbench
dim strServ as AnyObject

'---------------------------------------------------------------------------
dim nbAttributes as integer
nbAttributes = 6
dim tabAttributes(6)
dim typAttributes(1)

tabAttributes(1) = "Nomenclature_DE"
tabAttributes(2) = "SAP_No."
tabAttributes(3) = "Nomenclature_EN"
tabAttributes(4) = "Weight"
tabAttributes(5) = "REV_2D"
tabAttributes(6) = "REV_3D"

typAttributes(1) = "String"
typAttributes(2) = "String"
typAttributes(3) = "String"
typAttributes(4) = "String"
typAttributes(5) = "String"
typAttributes(6) = "String"

'---------------------------------------------------------------------------
'Parameterwert erstellen
'---------------------------------------------------------------------------
Sub CreateParameters(iProduct)

  On Error Resume Next

  dim parameters as Parameters
  dim userParameters as Parameters
  dim param as Parameter
  dim paramName as string

  dim RefProduct as Product
  set RefProduct = iProduct.ReferenceProduct

  set parameters = iProduct.ReferenceProduct.Parameters
  set userParameters = iProduct.ReferenceProduct.UserRefProperties

  dim nbParameters As Integer
  nbParameters = RefParameters.Count

  dim sInstanceName As String
  dim sPartNumber As String
  sInstanceName = iProduct.Name
  sPartNumber = iProduct.ReferenceProduct.Name

  Err.Clear

  dim lfound as Boolean
  dim i As Integer
  if (nbAttributes > 0) then
  for i = 1 to nbAttributes

Err.Clear

paramName = sPartNumber & "\Properties\" & tabAttributes(i)


'finde heraus, ob das Attribut bereits existiert
lfound = false
        for j = 1 To userParameters.Count
if (userParameters.Item(j).Name = paramName) then
set param = userParameters.Item(j)
  lfound = true
            end if
        next

  if (lfound = true) then
'Aktualisierung des Attributwerts, falls erforderlich
if (typAttributes(i) = "String") then
Elseif (typAttributes(i) = "Length") then
Elseif (typAttributes(i) = "Real") then
Elseif (typAttributes(i) = "Integer") then
end if
  else

'Erstellung der Attribute mit Typ "String"
if (typAttributes(i) = "String") then
set param = userParameters.CreateString(tabAttributes(i),"TEST")
          end if
end if
  Next
  end if
End Sub

'---------------------------------------------------------------------------
' Main
'---------------------------------------------------------------------------
Sub CATMain()
    On Error Resume Next

    dim ActiveDoc As Document
    Set ActiveDoc = CATIA.ActiveDocument


    If (InStr(ActiveDoc.Name,".CATProduct")) <> 0 Then

        dim product As Product
        dim selectedElts As Selection

        set selectedElts = ActiveDoc.Selection
        selectedElts.Search("Product,all")

        dim number, i, ind As Integer


'Anzeigen Anzahl der ausgewählten Produkte
        number = SelectedElts.Count

        msgbox "Nb selected elements: " & Cstr(number)

        For i=1 To number
 
            set product = SelectedElts.FindObject("CATIAProduct")

            CreateParameters product

        Next
    End If

    msgbox "The End"

End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 08. Sep. 2022 16:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für deyhawaii 10 Unities + Antwort hilfreich

Servus

Hier ein Beispiel wie ich das aufbauen würde (nur der Bereich zum anlegen der Parameter und Formeln)

Code:

'---------------------------------------------------------------------------

dim tabAttributes(2) as String
dim typAttributes(2) as String

tabAttributes(0) = "Nomenclature_DE"
tabAttributes(1) = "SAP_No."
tabAttributes(2) = "Nomenclature_EN"

typAttributes(0) = "String"
typAttributes(1) = "String"
typAttributes(2) = "String"

'---------------------------------------------------------------------------
'Parameterwert erstellen
'---------------------------------------------------------------------------
Sub CreateParameters(iProduct as Product)

    Dim RefProduct as Product
    Dim oDocument as Document
    Dim oBaseForParameter as Object
    Dim oUserParameter as Parameter
    Dim oParameter as Parameter
    Dim oFormula as Relation
    Dim sFormula as String

    Set RefProduct = iProduct.ReferenceProduct
    Set oDocument = RefProduct.Parent

    'oBaseForParameter bestimmt zu welchem Knoten der Pfad des Parameters bestimmt wird, bzw wo die Formel eingehängt wird
    Select Case TypeName(oDocument)
        Case "ProductDocument"
            Set oBaseForParameter = oDocument.Product
        Case "PartDocument"
            Set oBaseForParameter = oDocument.Part
        Case Else
            Exit Sub
    End Select

    for i = LBound(tabAttributes) to UBound(tabAttributes)
        Set oUserParameter = GetUserRefPropertiesByName(RefProduct, tabAttributes(i))
        if oUserParameter is Nothing then
            if typAttributes(i) = "String" then
                Set oUserParameter = RefProduct.UserRefProperties.CreateString(tabAttributes(i), "")
            end if
        end if
        Set oParameter = oBaseForParameter.Parameters.Item(tabAttributes(i))
        sFormula = "`" & oBaseForParameter.Parameters.GetNameToUseInRelation(oParameter) & "`"
        Set oFormula = oBaseForParameter.Relations.CreateFormula("","",oUserParameter,sFormula)
        Set oUserParameter = Nothing
    next

End Sub

Function GetUserRefPropertiesByName(oProduct As Product, ParameterName As String) As Parameter

    Dim UserProperties As Parameters
    Dim I As Integer

    Set UserProperties = oProduct.UserRefProperties

    For I = 1 To UserProperties.Count
        If Right(UserProperties.Item(I).Name, Len(ParameterName)) = ParameterName Then
            Set GetUserRefPropertiesByName = UserProperties.Item(I)
            Exit Function
        End If
    Next

    Set GetUserRefPropertiesByName = Nothing

End Function


Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

JDH
Mitglied



Sehen Sie sich das Profil von JDH an!   Senden Sie eine Private Message an JDH  Schreiben Sie einen Gästebucheintrag für JDH

Beiträge: 10
Registriert: 08.09.2022

erstellt am: 09. Sep. 2022 06:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für deyhawaii 10 Unities + Antwort hilfreich

Hallo Bernd,

Top! Ich habe deinen Code mal eingesetzt und siehe da, es funktioniert.

Danke für deine Hilfe.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

JDH
Mitglied



Sehen Sie sich das Profil von JDH an!   Senden Sie eine Private Message an JDH  Schreiben Sie einen Gästebucheintrag für JDH

Beiträge: 10
Registriert: 08.09.2022

erstellt am: 09. Sep. 2022 08:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für deyhawaii 10 Unities + Antwort hilfreich


Bild1.png


Bild2.png

 
Hallo Nochmal,

ich habe noch zwei Dinge, die ich nicht ganz verstehe.

Attribute werden alle gesetzt aber die Werte werden nicht alle übernommen. wodran kann es liegen?

Trifft bei Übergeordneter Baugruppe zu und bei Attribut "Weight" generell bei allen Products / Parts

siehe Bild im Anhang

Gruß
Johannes

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 09. Sep. 2022 08:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für deyhawaii 10 Unities + Antwort hilfreich

Servus

Wurde eine Formel entsprechende Formel erzeugt? Wurde auch die Routine auf die Rootbaugruppe bzw Unterbaugruppen angewendet?
Stimmt die Formel? Willst du wirklich einen Parameter des Typs String für die Gewicht nutzen?
Hast du eine Fallunterscheidung zwischen CATProduct und Komponente drinnen? Prüfst du ob es eine Formel schon gibt (falls ein Teil mehrfach verbaut ist)?

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

JDH
Mitglied



Sehen Sie sich das Profil von JDH an!   Senden Sie eine Private Message an JDH  Schreiben Sie einen Gästebucheintrag für JDH

Beiträge: 10
Registriert: 08.09.2022

erstellt am: 09. Sep. 2022 09:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für deyhawaii 10 Unities + Antwort hilfreich


Nun der Parameter "Weight" in Parameters hat eine Formel verpasst bekommen. so dass das Gewicht aus dem Material und Volumen berechnet werden.
Welchen Typ könnte ich für den Parameter Gewicht nutzen? Ich dachte, dass über den Typ String würde der mir alle Werte mitnimmt (auch wenn da eine Formel hinterlegt ist)

Falluntersuchungen habe ich noch nicht drin.

Prüfen ob eine Formel bereits gibt habe ich auch noch nicht drin

Gruß
Johannes

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 09. Sep. 2022 09:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für deyhawaii 10 Unities + Antwort hilfreich

Servus

Wie wäre es mit dem Parametertyp Mass bzw Weight (müsste ich mal testen).
Oder du verwendest eine andere Formel: Mass_String = ToString(Mass / 1kg) + " kg"
Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

JDH
Mitglied



Sehen Sie sich das Profil von JDH an!   Senden Sie eine Private Message an JDH  Schreiben Sie einen Gästebucheintrag für JDH

Beiträge: 10
Registriert: 08.09.2022

erstellt am: 14. Sep. 2022 08:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für deyhawaii 10 Unities + Antwort hilfreich


Bild3.png


Bild4.png

 
Hallo Zusammen (Bernd)

ich bin etwas verwirrt mit meinem Code.

Attribute werden überall gesetzt (alle CatProducts so auch CatParts)

Die Werte werden aber nur Teilweise übernommen.
Bei Parts werden die werte wie gewünscht übernommen.

Bei Products ist der Hacken.


In der Übergeordnete Baugruppe werden die Parameter gar nicht eingesetzt.
bei der Ersten Unter-Baugruppen-Level ist es etwas komisch.
--> Baugruppe 1 in Level1 = wird nur ein von 6 Werte eingesetzt
--> Baugruppe 2 in Level1 = werden alle 6 Werte eingesetzt.

siehe Bilder
Gruß
Johannes

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 14. Sep. 2022 09:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für deyhawaii 10 Unities + Antwort hilfreich

Servus Johannes

Unterscheiden sich die beiden CATProducts?
Hast du schon mal den Code schrittweise (bzw entsprechenden Haltepunkt gesetzt) ausgeführt und geprüft: ob die Formel stimmt, auf den "richtigen" Parameter zugegriffen wurde, sonst irgend ein Object "sonderbar" ist?
Wie sieht die Formel aus wenn die Verknüpfung funktioniert/nicht funktioniert?
Du kannst man folgende Alternative zum Zugriff auf den Parameter probieren:

Code:
Set oParameter = oBaseForParameter.Parameters.RootParameterSet.DirectParameters.Item(tabAttributes(i))
Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Randle
Mitglied
CAD/PLM Consultant


Sehen Sie sich das Profil von Randle an!   Senden Sie eine Private Message an Randle  Schreiben Sie einen Gästebucheintrag für Randle

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 14. Sep. 2022 09:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für deyhawaii 10 Unities + Antwort hilfreich

Hallo,

werden denn die Formeln erzeugt?
Beim Zugriff auf die Parameter Collection von Products muss man ein wenig aufpassen, da diese ALLE Parameter (auch die der Parts!) enthalten. Da erwischt man schnell mal den Falschen.

Aber ohne den Quellcode wird es wohl schwierig sein den "Fehler" zu finden.

Gruß Randle

Nachtrag: Da war der Bernd (mal wieder) schneller! 
------------------
Wer für nichts steht, fällt für alles!

[Diese Nachricht wurde von Randle am 14. Sep. 2022 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

JDH
Mitglied



Sehen Sie sich das Profil von JDH an!   Senden Sie eine Private Message an JDH  Schreiben Sie einen Gästebucheintrag für JDH

Beiträge: 10
Registriert: 08.09.2022

erstellt am: 14. Sep. 2022 09:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für deyhawaii 10 Unities + Antwort hilfreich

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 14. Sep. 2022 09:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für deyhawaii 10 Unities + Antwort hilfreich

Servus

Das ist wohl nicht der richtige Code (es werden keine Formel erstellt)

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

JDH
Mitglied



Sehen Sie sich das Profil von JDH an!   Senden Sie eine Private Message an JDH  Schreiben Sie einen Gästebucheintrag für JDH

Beiträge: 10
Registriert: 08.09.2022

erstellt am: 14. Sep. 2022 09:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für deyhawaii 10 Unities + Antwort hilfreich


meinePropertiesParameterAuslesen.zip

 
Ich habe den falschen Code angehängt.

hier nochmal der Code

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 14. Sep. 2022 10:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für deyhawaii 10 Unities + Antwort hilfreich

Servus

Hast du meine letzte Ergänzung probiert?
Bitte schmeiß On Error Resume Next aus dem Code raus und baue eine richtige Fehlerbehandlung ein. (sonst wirst du bei der Fehlersuche noch verrückt)
Deine Suche nach den Products sieht auch sonderbar aus: nicht eindeutiger Filter? Schleife über i, das nie verwendet wird, ....

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Randle
Mitglied
CAD/PLM Consultant


Sehen Sie sich das Profil von Randle an!   Senden Sie eine Private Message an Randle  Schreiben Sie einen Gästebucheintrag für Randle

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 14. Sep. 2022 10:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für deyhawaii 10 Unities + Antwort hilfreich

Hallo,

ich würde mir die Parts und Products auch nicht über die Selection "holen" (Performance), sondern eine rekursive Schleife über die Produktstruktur laufen lassen und an die Funktion "CreateParameters" dann gleich das Dokument übergeben. Bin mir bei dem Code auch nicht sicher ob Komponenten sicher rausgefiltert werden.

Außerdem fehlt (mir) noch die Überprüfung ob der Parameter und die Formel schon existiert, so wie du es ja auch bei der UserProperty machst. Du läufst so Gefahr Parameter/Formeln mehrfach zu erzeugen.

Aber ansonsten, abgesehen von dem pauschalen setzen von "On Error Resume Next", muss ich sagen ist der Code gut strukturiert und somit auch gut lesbar. Sieht man (leider) auch nicht so oft.

Abgesehen davon bleibe ich bei meiner Aussage von oben: Ich gehe davon aus das du ungewollt die falschen Parameter erwischt und dann mittels Formel verknüpfst.

Gruß Randle

------------------
Wer für nichts steht, fällt für alles!

[Diese Nachricht wurde von Randle am 14. Sep. 2022 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz