Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  c# SettingControllers Units abfragen

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:  c# SettingControllers Units abfragen (482 mal gelesen)
HeinHein
Mitglied
Dipl Ing Maschinenbau


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

Beiträge: 44
Registriert: 16.02.2012

cgr und models Namen ermitteln

erstellt am: 22. Jan. 2018 09: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

Hallo Freunde der CATIA Bits und Bytes,
ich versuche aus dem "Kochbuch Catia V5 automatisieren" von Jens Hansen ein VB Codefragment in C#
nachzubauen. Dazu benutze ich LateBinding mit den von Herrn Hansen im Buch vorgeschlagenen
Standardmethoden, also

lb_get(object ob, string Befehl, object[] param)
lb_set(object ob, string Befehl, object[] param)
lb_Method(object ob, string Befehl, object[] param)

Die ersten Gehversuche klappten damit auch ganz prima.
Nun möchte ich folgenden VB-Code in C# umsetzen.

Set objSettingControllers = objCatia.SettingControllers
Set objUnitsSheetSettingCtrl = objSettingControllers.Item("CATLieUnitsSheetSettingCtrl")
objUnitsSheetSettingCtrl.GetMagnitudeValues strMagnitude, strUnitInCatia, dblGetDecimal, dblGetExpo

Die erste VB-Zeile bereitet kein Problem.
lb_get(objCATIA, "SettingControllers", null);
            object objSettingControllers = lb_result;

Aber bei der zweiten VB-Zeile  wird es in meiner Denke recht dunkel 
Folgendes habe ich probiert:
lb_get(objSettingControllers, "Item", "CATLieUnitsSheetSettingCtrl");//Problem
objUnitsSheetSettingCtrl = lb_result;

Auch das funktioniert nicht;
lb_Method(objSettingControllers, "Item", "CATLieUnitsSheetSettingCtrl");//Problem
objUnitsSheetSettingCtrl = lb_result;

Kann mir jemand zeigen, wie ich die erste und zweite Zeile in C# umsetzen kann?

Gruss Hein_nieH

------------------
HeinHein

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

HeinHein
Mitglied
Dipl Ing Maschinenbau


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

Beiträge: 44
Registriert: 16.02.2012

cgr und models Namen ermitteln

erstellt am: 22. Jan. 2018 12: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

Hallo,

ich hoffe, dass ich etwas weiter gekommen bin
VB-Befehl: Set objUnitsSheetSettingCtrl = objSettingControllers.Item("CATLieUnitsSheetSettingCtrl")

Hierzu mein Umsetzungsversuch in c#:

object[] param = new object[1] { "CATLieUnitsSheetSettingCtrl" };
lb_Method(objSettingControllers,"Item",param);
object objUnitsSheetSettingCtrl = lb_result;

Bis hier gibt es keinen Compilerfehler, jedoch weiss ich immer noch nicht, ob es richtig ist

Jetzt wirds wieder dunkel
Ich will die eingestellte Längeneinheit aus CATIA abfragen

VB-Befehl:
strUnitInCatia=""
objUnitsSheetSettingCtrl.GetMagnitudeValues "LENGHT", strUnitInCatia, 0.0, 0.0
Wenn alles richtig läuft, dann schreibt die Methode  on den zweiten Parameter (hier strUnitInCatia)
das Ergebnis.

Hierzu mein Umsetzungsversuch in c#:

string strResultMagnitude="";
object[] param_x = new object[4] { "LENGTH", strResultMagnitude, 0.0, 0.0 };

lb_Method(objUnitsSheetSettingCtrl, "GetMagnitudeValues", param_x);

leider liefert die Abfrage des 2. Parameters nach dem Methodenaufruf ein Leerstring
string strResult=param_x[1];

lb_Method liefert zwar ein Objekt zurück. Leider weiss ich nicht wie ich das auswerten kann.
Was mache ich falsch?

Hat jemand eine Idee?
Ich bin auch nicht sicher, ob ich das mit LateBinding richtig umgesetzt habe 

Gruss Hein_nieH

------------------
HeinHein

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