Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Get value of parameter from file

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:  Get value of parameter from file (1352 mal gelesen)
sina123
Mitglied



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

Beiträge: 47
Registriert: 26.11.2018

erstellt am: 04. Feb. 2019 10:41    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

Hello I have some files with some parameters;i want to check if a specific parameter exists in the Parameter list of each file. I tried:

public string GetFileNameFromParam(KnowledgewareTypeLib.Parameters Params)
        {
            string fileName = "";

            //foreach (KnowledgewareTypeLib.Parameter p in Params)
            //{
            //    if (p.get_Name().Split('\\').Last() == selectedRule)
            //    {
            //        sfileName = p.ValueAsString();
            //    }
            //}

            KnowledgewareTypeLib.Parameter p = null;
            p = (KnowledgewareTypeLib.Parameter)Params.GetItem(selectedRule);
            sfileName = p.ValueAsString();

            return sfileName;
        }

But i get the name of the parameter wherein i want the value of it. What do i miss? The commented lines gets me the correct answer but i want to be faster than looping. thanks for any help!

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: 04. Feb. 2019 10:52    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 sina123 10 Unities + Antwort hilfreich

Hi

I think you have to use a loop. AFAIK GetItem needs the complete name (PartNumber/Properties/Parametername).
What kind of Parameters are these? If they are UserRefProperties, use a loop over these and not the complete parameter collection.
Maybe you can decrease the number of parameters in the collection with Sublist .

Regards,
Bernd

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

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

sina123
Mitglied



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

Beiträge: 47
Registriert: 26.11.2018

erstellt am: 04. Feb. 2019 10:56    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

The parameter i am checking is created as part of my program itself. So is it possible to know which is created by me?

[Diese Nachricht wurde von sina123 am 04. Feb. 2019 editiert.]

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: 04. Feb. 2019 10:58    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 sina123 10 Unities + Antwort hilfreich

Is it a UserRefProperties of the product?

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

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: 04. Feb. 2019 11:00    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 sina123 10 Unities + Antwort hilfreich

Please post a screenshot of the tree where the parameter is created.

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

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

sina123
Mitglied



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

Beiträge: 47
Registriert: 26.11.2018

erstellt am: 04. Feb. 2019 11:01    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

public void CreateFileNameParameter(KnowledgewareTypeLib.Parameters Params, string sfileName)
        {
            try
            {
                KnowledgewareTypeLib.StrParam Param = null;
             
                Param = Params.CreateString(selectedRule, sfileName);
               
            }
            catch (Exception ex)
            {
                logs.Info(ex.ToString());
            }
        }

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

sina123
Mitglied



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

Beiträge: 47
Registriert: 26.11.2018

erstellt am: 04. Feb. 2019 11:05    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


Parameter.PNG

 
The highlighted parameter is the one i have created.

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: 04. Feb. 2019 11:08    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 sina123 10 Unities + Antwort hilfreich

The property UserAccessMode shows if the parameter was generated by the user.
Decreasing the collection by using the right ParameterSet or Sublist the looping could by much faster (and maybe also GetItem working).
There are several "position" a parameter can be created in the tree. So where have you created it?

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

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

sina123
Mitglied



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

Beiträge: 47
Registriert: 26.11.2018

erstellt am: 04. Feb. 2019 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

Thats a great information! thanks. I just created the parameter without any specific position 

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: 04. Feb. 2019 11:18    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 sina123 10 Unities + Antwort hilfreich

Think about, where the parameter should be located.
According to your picture you should get the parameter like these:
MyproductDocument.Product.Parameters.RootParameterSet.DirectParameters.Item("myParameterName")

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

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

sina123
Mitglied



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

Beiträge: 47
Registriert: 26.11.2018

erstellt am: 04. Feb. 2019 12:32    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

Thank you..that helped!

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

sina123
Mitglied



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

Beiträge: 47
Registriert: 26.11.2018

erstellt am: 04. Feb. 2019 15: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

Hello..i have more question related to parameters shall i just post here or a different post..the question is regarding a list of parameters from parameters in the file that was previously added. I tried with:

public void RemoveParameters(KnowledgewareTypeLib.Parameters Params)
        {
            foreach (string removeParam in removeParams)
            {
                foreach (KnowledgewareTypeLib.Parameter p in Params)
                {
                    if (p.UserAccessMode == 2)
                    {
                        if (p.get_Name().Split('\\').Last() == selectedRuleFileParam)
                        {
                            Params.Remove(p);  //I get exception at this line- "System.Runtime.InteropServices.COMException (0x80004005): Error HRESULT E_FAIL has
                                                //been returned from a call to a COM component."
                        }
                    }
                }
            }
        }


//where KnowledgewareTypeLib.Parameters Params = prodRoot.Parameters.RootParameterSet.DirectParameters;


tried with with GetItem:

if(Params.GetItem(removeParam)!= null)
                {
                    Params.Remove(removeParam);
                }

[Diese Nachricht wurde von sina123 am 04. Feb. 2019 editiert.]

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: 04. Feb. 2019 15: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 sina123 10 Unities + Antwort hilfreich

Hi
According to the V5Automation.chm you should use The index or the name of the parameter to remove from the collection of parameters.

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

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

sina123
Mitglied



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

Beiträge: 47
Registriert: 26.11.2018

erstellt am: 04. Feb. 2019 15: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

Yes, luckily i too got it this way 
public void RemoveParameters(KnowledgewareTypeLib.Parameters Params)
        {
            for(int i=1;i<=Params.Count;i++)
            {
                if (Params.Item(i).UserAccessMode == 2)
                {
                    Params.Remove(i);
                }
            }
        }

Thanks for the quick reply 

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