Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Problem mit Parametersuche in R19

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:  Problem mit Parametersuche in R19 (1210 mal gelesen)
Helmut Steeg
Mitglied
Programmierer


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

Beiträge: 19
Registriert: 30.05.2007

Catia V5R16

erstellt am: 14. Aug. 2009 11:45    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

 
Hallo und guten Morgen :-)

Ich hab mal wieder ein kleines Problem, bei dem ich ein bisschen Rat suche.
Der Kunde hat sein CATIA auf V5R19 umgestellt und eine Funktion bei mir funktioniert nun komischerweise nicht mehr.

Es geht dabei um die Selection.Search() - Funktion. Wie im angefügten Bild ersichtlich, habe ich eine Gruppe mit Parametern, die der Konstrukteur ausfüllen muss. In der Gruppe sind noch versteckte Parameter vorhanden, die über Reactions andere Parameter befüllen, sichtbar und/oder unsichtbar machen - je nach Eingabe.

Diese ausgefüllten Parameter werden dann von mir abgefragt, in einer Datenbank abgelegt und dann an ein ERP-System für Materialbestellungen und andere Aktionen weitergegeben. Dort werden dann Artikelnummern vergeben, die ich dann wieder in das Dokument einfügen muss.

Das ganze Dingens tut auch wunderbar unter R16, aber in der R19 funktioniert der letzte Punkt nicht mehr.

Der letzte Punkt ist prinzipiell nur eine Suche nach einem Parameternamen, der bei einem Ergebnis dann entsprechend befüllt wird.

Seltsamerweise funktioniert das ganze, wenn ich für die "Attribute Bauteil"-Gruppe einen "Expand Group" durchführe. Das will der Kunde aber nicht dauerhaft sichtbar haben, um Fehleingaben in falschen Parametern zu vermeiden.

Kundensystem: V5R19 SP3
Codebasis: NET 2.0/ c#

Hat jemand dieses Problem auch schon gehabt und wenn ja, wie konnte das gelöst werden?

Gruss,
  Helmut

Code:

  KnowledgewareTypeLib.Parameter oSetParam = SearchParameters(
      oPart,
      "H_#ERP_Artikel-Nr.");
  if (oSetParam == null)
  {
      Debug.WriteLine(
        ">> CATIAUpdateData::Kein Parameter für Artikelnummer " +
        "gefunden, kein Update durchgeführt.");
      return;
  }

  string sParamValue = oSetParam.ValueAsString();


Der Code für die SearchParameter-Funktion ist wie folgt:

Code:

private KnowledgewareTypeLib.Parameter SearchParameters(
        ProductStructureTypeLib.Product oProduct,
        string sParameterName)
{
  try
  {
      string sProductName = oProduct.get_Name();
      string sSearchProduct = "Name='" + sProductName + "';all";

      // Zuerst den Part oder Product suchen
      Debug.WriteLine(">> Suche nach Parametern, Filter = " + sParameterName);
      INFITF.Selection oSelection = oCATIA.ActiveDocument.Selection;
      oSelection.Clear();
      oSelection.Search(ref sSearchProduct);
      if (oSelection.Count2 > 0)
      {       
        // dann den Parameter im Ergebnis holen
        string sFilter = "Name='" + sParameterName + "';sel";
        oSelection.Search(ref sFilter);
        if (oSelection.Count2 > 0)
        {
            KnowledgewareTypeLib.Parameter oParam;

            // nur das Erste Ergebnis ist relevant, da Parameter in PART eindeutig ist
            INFITF.SelectedElement oSelEl = oSelection.Item2(1); 
            oParam = (KnowledgewareTypeLib.Parameter)oSelEl.Value;

            oSelection.Clear();
            return(oParam);
        }
        else
        {
            Debug.WriteLine(
              ">> SearchParameters::Parameter " + sParameterName +
              " nicht gefunden!");
        }
      }
      else
        Debug.WriteLine(
            ">> SearchParameters::Produkt " + sProductName + " nicht gefunden!");

      oSelection.Clear();
      return (null);
  }

  catch (Exception ex)
  {
      Debug.WriteLine(">> SearchParameters::Fehler:" + ex.Message);
      return (null);
  }
}



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