Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  KWA: Texte nach Synchronize ändern

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:  KWA: Texte nach Synchronize ändern (2099 mal gelesen)
owinter
Mitglied
Dipl.-Inf.-Ing.


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

Beiträge: 25
Registriert: 21.04.2008

CV5R19/24/26, VS2015, Win7Ent 64, Xeon 3.6, 16GB, Quadro 4000

erstellt am: 07. Jan. 2015 09: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 zusammen,

folgende Sachlage: Es geht um eine Zeichnung (Drafting). Ich habe mehrere Externe Parameter auf das abzubildene Part. Das Problem, dass sich externe Parameter nicht automatisch synchronisieren, habe ich mit einem "Synchronize"-Command innerhalb einer Reaction auf ein UpdateView gelöst. Soweit alles gut.
Wenn also alle Parameter sauber (synchronisiert) sind, möchte ich diverse Texte auf der Zeichnung anpassen.
Ein VB-Script krieg ich nicht ans Laufen. Hab auf Anhieb nicht raus gekriegt, wie der Befehl dazu lautet...
Und die Änderungen nach dem Sync direkt in die Reaction schreiben klappt auch nicht.
Anscheinend läuft der Sync parallel, so dass die Texte geändert werden, bevor die Parameter synchronisert wurden.

Jetzt würde ich gerne verhindern, für jeden Parameter eine Reaction zu schreiben. Das sind bisher über 20 Parameter.

------------------
mfG

    Oli

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 07. Jan. 2015 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 Nur für owinter 10 Unities + Antwort hilfreich

Hallo Oli,

was hast denn bisher an Code?

Tschau,
Joe

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

owinter
Mitglied
Dipl.-Inf.-Ing.


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

Beiträge: 25
Registriert: 21.04.2008

CV5R19/24/26, VS2015, Win7Ent 64, Xeon 3.6, 16GB, Quadro 4000

erstellt am: 07. Jan. 2015 11: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

Hallo,
ich habe eine Reaction ("SynchronizeParameters") auf das ViewUpdate:

Code:
Set objDrawing = CATIA.ActiveDocument
Set objSel = objDrawing.Selection
Set objParams = objDrawing.Parameters

objSel.Clear
objSel.Search "CATKnowledgeSearch.InternalParameter,all"

CATIA.StartCommand "Synchronize"

objParams.Item("Sync").Value = Now

End sub


und eine Reaction ("SetText") auf den "Sync"-Parameter aus der obigen Reaction:

Code:
Set DrwDoc = CATIA.ActiveDocument
Set Params = DrwDoc.Parameters
Set ViewMain = DrwDoc.Sheets.Item("Main").Views.Item("Main")
Set Txts = ViewMain.Texts

Txts.getItem("Text_De").Text = "De = " & Params.Item("De0").Value


Aber wie gesagt, er stößt den Synchronize an und macht direkt weiter, ohne auf das Ende der Synchronisation zu warten. Und das sorgt dafür, dass die "SetText"-Reaction den "De0"-Parameter ausliest, bevor er synchron ist...

------------------
mfG

    Oli

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 07. Jan. 2015 12: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 owinter 10 Unities + Antwort hilfreich

Hallo Oli,

... und wenn Du eine Sleep-Anweisung zwischen schaltest?

etwa:

in den (globalen) Deklarationen:

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

im Code:

Sleep 500    '0,5 sec warten

Nicht unbedingt elegant, aber oft wirksam.

Eine andere Möglichkeit wäre, in einer Schleife auf die vorgegebene Änderung einer Dummy-Variablen zu warten.
Nachteil: Eine (vermutlich) unnütze Variable im Modell; ausserdem weisst nicht in welcher Reihefolge der Sync erfolgt.

Hope it helps,
Joe

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

owinter
Mitglied
Dipl.-Inf.-Ing.


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

Beiträge: 25
Registriert: 21.04.2008

CV5R19/24/26, VS2015, Win7Ent 64, Xeon 3.6, 16GB, Quadro 4000

erstellt am: 07. Jan. 2015 12: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

Hallo,

wo schreibe ich denn die Declare-Anweisung genau hin?

------------------
mfG

    Oli

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 07. Jan. 2015 12:54    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 owinter 10 Unities + Antwort hilfreich

In welcher Umgebung programmierst Du denn?

Tschau,
Joe

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

owinter
Mitglied
Dipl.-Inf.-Ing.


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

Beiträge: 25
Registriert: 21.04.2008

CV5R19/24/26, VS2015, Win7Ent 64, Xeon 3.6, 16GB, Quadro 4000

erstellt am: 07. Jan. 2015 13:28    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

An der Stelle in gar keiner. Also CATIA selber. Eigentlich programmiere ich in Visual Studio und .NET. Ich will mich "von außen" nur nicht zwischen das Part und seine Zeichnung drängen. Vor allem damit die beiden auch eigenständig funktionieren.
Daher bin ich im Moment etwas überfordert und genervt.

Ich finds total unübersichtlich und verwirrend hier.

Vor allem, weil unsere IT nicht in der Lage ist VBA richtig zu installieren. Wenn ich versuche ein VBA-Projekt zu öffnen/erstellen, bekomme ich immer eine Fehlermeldung.

------------------
mfG

    Oli

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 07. Jan. 2015 13: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 owinter 10 Unities + Antwort hilfreich

Das war auch ein freundlicher Hinweis Dein Profil zu ergänzen ;-)

Also ...

ZB unter VBA in einem Modul:

Code:

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub CATMain()
  Debug.Print Time
  Sleep 1000
  Debug.Print Time
End Sub


- unter VB6 zB in einer Form:
Code:

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Form_Load()
  Debug.Print Time
  Sleep 1000
  Debug.Print Time
End Sub


Innerhalb des Catia-eigenen Makro-Editors scheint's nicht machbar. Da musst Dir mit Time o.ä. selbst eine Warteschleife bauen (aber bitte keine Zählschleife!).

Wenn die Deklaration sich im Modul und der Aufruf sich in einer Form befinden, muss die Deklaration 'Public' definiert werden.

Zitat:

Wenn ich versuche ein VBA-Projekt zu öffnen/erstellen, bekomme ich immer eine Fehlermeldung.

Wie lautet die?

Tschau,
Joe

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

owinter
Mitglied
Dipl.-Inf.-Ing.


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

Beiträge: 25
Registriert: 21.04.2008

CV5R19/24/26, VS2015, Win7Ent 64, Xeon 3.6, 16GB, Quadro 4000

erstellt am: 07. Jan. 2015 14: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

Na dann wundert's mich nicht, dass ich das nicht hinkriege...
Die Fehlermeldung lautet:

"ScriptingERR_1153 [...] The project creation has failed. VBA is not correctly installed. Make sure your VBA Installation is complete and correct."

------------------
mfG

    Oli

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

owinter
Mitglied
Dipl.-Inf.-Ing.


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

Beiträge: 25
Registriert: 21.04.2008

CV5R19/24/26, VS2015, Win7Ent 64, Xeon 3.6, 16GB, Quadro 4000

erstellt am: 07. Jan. 2015 14:03    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

... oder auch:

"ScriptingERR_1190 [...] An error has occured while showing the VBA IDE. VBA is not correctly installed.[...]"

------------------
mfG

    Oli

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 07. Jan. 2015 14:17    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 owinter 10 Unities + Antwort hilfreich

Hallo Oli,

frag doch mal im Infrastruktur-Forum nach der Fehlermeldung.

Vielleicht kannst wenigstens das Problem lösen.

Tschau,
Joe

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

owinter
Mitglied
Dipl.-Inf.-Ing.


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

Beiträge: 25
Registriert: 21.04.2008

CV5R19/24/26, VS2015, Win7Ent 64, Xeon 3.6, 16GB, Quadro 4000

erstellt am: 07. Jan. 2015 16: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

Hast Recht, vielleicht fangen wir mal mit den Grundlagen an 

Danke!

------------------
mfG

    Oli

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