Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Design Mode mit Fortschrittbalken

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:  Design Mode mit Fortschrittbalken (3125 mal gelesen)
Schmidberger Karl
Mitglied
EDV-Administrator

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

Beiträge: 8
Registriert: 24.06.2008

Catia V5, SmarTeam, VBA, C#.NET, VB.NET

erstellt am: 04. Jun. 2009 16:31    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 habe da ein kleines Problem …

Ziel
-----
+ Bestimmte Axis-Systems aus dem Strukturbaum in ein vordefiniertes Produkt kopieren
+ Erstellen einer Klasse für das Umschalten in den Design Mode mit Fortschrittbalken für die Weiterverwendung in zukünftigen Programmen


Aussage
---------
+ Axis-Systems bekomme ich nur im Design Mode


Problem
---------
+ Nach dem Umschalten in den Design Mode reagiert der Prozess lange Zeit nicht.
+ Ich benötige eine Rückmeldung wenn das Part in den Design Mode geschaltet wurde.


Ablauf meiner Klasse zum Umschalten in den Design Mode
-------------------------------------------------------------------
+ Die Anzahl der Objekte wird ermittelt
+ Die Strukturtiefe von jedem Objekt wird ermittelt
+ Überprüfung: Ob das Objekt im Visualisierungsmodus ist.
+ Wenn Ja! => Dann werden die Objekte der reihe nach, mit der höchsten Strukturtiefe zuerst in den Design Mode geschaltet
+ Der Fortschrittbalken läuft selbstverständlich mit

=> Wenn alle Parts in den Design Mode geschaltet worden sind… reagiert der Prozess (CNEXT.exe)  lange  (ca. 2 Minuten bei nur 44 Parts) Zeit nicht.
=> In der realen Umgebung habe ich eine Vielfaches mehr an Parts.

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

Schmidberger Karl
Mitglied
EDV-Administrator

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

Beiträge: 8
Registriert: 24.06.2008

Catia V5, SmarTeam, VBA, C#.NET, VB.NET

erstellt am: 04. Jun. 2009 19: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

Hallo, hier noch mal kurz die Funktion die die Parts in den Design Mode schalten.

Der Funktion werden Parts (Obj) übergeben.

Gruß :-)

'--------------------------------------------------------------------
' Switch in Design Mode
'--------------------------------------------------------------------
    Private Function pf_DESIGN_MODE(ByVal Obj As Object) As Boolean
       
       
        Dim dummy As String
           
        On Error Resume Next
        dummy = Obj.PartNumber
       
        If Err.Number = 0 Then  ' == DESIGN_MODE
        Else                    ' == VISUALIZATION_MODE (Error: -2147418113 )
           
            Obj.ActivateDefaultShape        ' geht auch ohne
            Obj.ApplyWorkMode DESIGN_MODE  ' schaltet in den Design Mode
            On Error GoTo 0
           
        End If
               
           
    End Function

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

theshadog
Mitglied



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

Beiträge: 61
Registriert: 18.03.2009

erstellt am: 05. Jun. 2009 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 Nur für Schmidberger Karl 10 Unities + Antwort hilfreich

Wie wäre es, wenn du einfach eine MsgBox einbaust? Sowas wie

Code:

Else                    ' == VISUALIZATION_MODE (Error: -2147418113 )
Dim name As CATBaseDispatch
Set name = doc.GetItem(partNumber)
msgbox ("Part " &  name.partNumber & " geändert")
            Obj.ActivateDefaultShape        ' geht auch ohne
            Obj.ApplyWorkMode DESIGN_MODE  ' schaltet in den Design Mode
            On Error GoTo 0
         
        End If

Keine Ahnung ob das funktioniert 

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

Schmidberger Karl
Mitglied
EDV-Administrator

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

Beiträge: 8
Registriert: 24.06.2008

Catia V5, SmarTeam, VBA, C#.NET, VB.NET

erstellt am: 05. Jun. 2009 21: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

Hallo,

erst mal Danke an theshadog für die Antwort.

Sorry, war von mir nicht ausreichend beschrieben.

Eine MsgBox kann ich leider nicht verwenden weil die Funktion von einer anderen Funktion aufgerufen wird. Die Aufrufende Funktion ruft die Unterfunktion durchaus auch mal ca. 1000-mal auf.

Strategie
---------
1. Ermitteln der Strukturtiefe (in einem Array speichere ich die Infos)
2. Eine Funktion ruft die alle Parts mit der tiefsten Strukturtiefe zuerst auf …..
3. übergibt das Part (Objekt) einer Unterfunktion (Klasse) die das Part in den Desing-Mode schalten
4. Wenn die Parts in dem Desing-Modus befinden kann ich alle gewünschten Methoden erledigen.

Ich habe Inzwischen dazugelernt!
-------------------------------
1. Wenn bei einem großem Projekt alle Parts in den Desing Mode geschaltet werden langt unter umständen der Speicher nicht aus. (Info vom Admin)
2. Wenn ich Instanzen mit Set erstelle sollte ich sie mit Nothing wieder freigeben.


Gedachte Schritte: (Noch nicht getestet!)
-------------------
1. Die Funktion (Klasse) mit Hilfe von "Set oObjekt = Nothing" Performant machen
2. Neuen Programmablauf erstellen bei dem nur Teile des Strukturbaums in den Design Mode geschaltet werden, bearbeitet,  ausgelesen werden und anschließen die Fragmente wieder in den Visualisierungsmodus zurückschalten.

noch Tips ... Danke :-)

Gruß Karl

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