Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Noch ein Versuch -> CATProduct nach CATPart

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:  Noch ein Versuch -> CATProduct nach CATPart (7489 mal gelesen)
mattu82
Mitglied
Systembetreuer / CAD Datenaustausch


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

Beiträge: 66
Registriert: 23.06.2005

erstellt am: 26. Aug. 2005 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

Hi,

ich hatte vor einiger Zeit bereits eine solche Frage hier gestellt, jedoch keine befriedigende Antwort erhalten. Daher versuche ich es noch einmal, vielleicht hatte in der Zwischenzeit ja jemand ein ähnliches Problem.

Ich möchte über ein Macro aus einem CATProduct ein CATPart erzeugen.
Dazu benutze ich zur Zeit den Befehl
CATIA.StartCommand("Generate CATPart from Product")

Das funktioniert auch schon, allerdings muss dafür 1. das Catia im Assembly Mode sein, das würde ich gerne über das Script steuern, und außerdem kommt ein Eingabefenster, in dem man den Dateinamen eingeben muss. Ich möchte allerdings ein Macro haben, das ohne Benutzerinteraktion lauffähig ist und daher dieses Fenster irgendwie unterdrücken oder automatisch ausgefüllt und bestätigt haben.
Ist das machbar oder gibt es da keine Möglichkeit?

mfg
mattu

------------------
A fool with a tool is still a fool

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

mattu82
Mitglied
Systembetreuer / CAD Datenaustausch


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

Beiträge: 66
Registriert: 23.06.2005

erstellt am: 05. Sep. 2005 08: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

Hallo zusammen,

ich habs jetzt endlich geschafft, per Makro aus einem CATProduct ein Part zu machen. Falls jemand an der Lösung interessiert ist, kann ich sie gerne hierhin stellen.

mfg
mattu

------------------
A fool with a tool is still a fool

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

Power
Mitglied



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

Beiträge: 1075
Registriert: 08.11.2004

NX12, CATIA V5

erstellt am: 05. Sep. 2005 09: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 mattu82 10 Unities + Antwort hilfreich

Hi mattu,
ja, gerne, mach's einfach. Bekommst Du wahrscheinlich noch ein paar Unities. Ein gutes Makro ist immer super.

------------------
Gruß
Power

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

mattu82
Mitglied
Systembetreuer / CAD Datenaustausch


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

Beiträge: 66
Registriert: 23.06.2005

erstellt am: 05. Sep. 2005 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

Gut dann hier das Makro.
Ob das gut ist kann ich nicht sagen, aber es funktioniert 
Ich habe eine catvba Datei erstellt mit VB Editor unter Catia.

Public Sub CATMain()

Dim CATProtDoc As ProductDocument
Dim CATProt As Product
Dim wshshell

Set CATProtDoc = CATIA.ActiveDocument
Set CATProt = CATProtDoc.Product


CATIA.ActiveDocument.Selection.Clear
CATIA.ActiveDocument.Selection.Add CATProt

CATIA.StartCommand ("Convert Product to CATPart")

MsgBox "test"

Call Shell("wscript c:\sendkey.vbs")

End Sub


Die SendKey.vbs sieht folgendermaßen aus

Set WshShell = WScript.CreateObject("WScript.Shell")

'WshShell.popup "Los"
Wscript.sleep 2000
WshShell.SendKeys "{ENTER}"
'WshShell.popup "Fertig mit vbs"

Diese externe Datei ist erforderlihc, weil in R12 (da ist dieses Makro entstanden und getestet) das PopUp Fenster, in dem der Name des CATPart eingegeben werden kann aus irgendeinem Grund erst hochkommt, wenn das Sub beendet wurde. So funktioniert es aber zuverlässig bei mir.
Ich bin jetzt gerade noch dabei, das ganze noch abzuspeichern und dann noch auf R14 lauffähig zu bekommen.

------------------
A fool with a tool is still a fool

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

mattu82
Mitglied
Systembetreuer / CAD Datenaustausch


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

Beiträge: 66
Registriert: 23.06.2005

erstellt am: 05. Sep. 2005 09: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

Ups,

die Zeile MsgBox "test" kann oder muss natürlich raus, damit bin ich nur gerade am testen.

------------------
A fool with a tool is still a fool

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

zoltan.bekesi
Mitglied



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

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 02. Apr. 2008 21:51    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 mattu82 10 Unities + Antwort hilfreich

Hallo,

dieses Beispiel funktioniert mit R16 mit der Unterschied, dass

Code:
CATIA.StartCommand ("Generate CATPart from Product...")
verwendet werden muss.
Mein Problem ist, dass ich nach die Generierung des AllCATParts noch den AllCATPart bearbeiten möchte (z.B. Umbenennen), ich kann aber nichts nach den Aufruf von der Script laufen lassen.
Eine Möglichkeit wäre natürlich 2 Tasten für die Generierung und für nachher zu verwenden, schön wäre aber eine Lösung ohne Sendkey.

Hat hier vielleicht jemand schon mehr Erfahrung?

Danke,
Zoltan

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

kaeja
Mitglied



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

Beiträge: 20
Registriert: 28.06.2012

CATIAV5R16, CATIAV5R19, WinXP

erstellt am: 18. Jul. 2012 16:53    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 mattu82 10 Unities + Antwort hilfreich

Hallo,

unter R16 habe ich das Problem, dass nach Aufrufen von

Code:
Call Shell("wscript c:\sendkey.vbs")

das Makro einfach weiter läuft ohne auf das Ende, sprich die Erzeugung des CATParts zu warten.

Ich habe schon versucht mittels

Code:
For i = 1 To 1000
DoEvents
Sleep 1
Next

Zeit zu schinden. Dabei wartet er aber auch mit dem Umwandeln ins CATPart und meine Makro läuft anschließend weiter ohne dass dass Part fertig ist.

Ein anderer Versuch war den Call in einem anderen Sub zu starten und Exit Sub in sendkey.vbs zu schreiben. Das läuft dann aber nicht durch.

Gibt es eine Möglichkeit mein Makro solange zu pausieren, bis das CATPart erzeugt wurde?

Vielen Dank
kaeja

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

kaeja
Mitglied



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

Beiträge: 20
Registriert: 28.06.2012

CATIAV5R16, CATIAV5R19, WinXP

erstellt am: 20. Jul. 2012 13:49    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 mattu82 10 Unities + Antwort hilfreich

Auch wenn es die meisten nicht mehr für R16 interessiert, aber ich habe unter GenerateCATPartFromProduct eine super Lösung gefunden. Dabei wird auf externe Shell verzichtet:
Code:
Sub GenerateCATPartFromProduct()
Dim ActDoc As ProductDocument
Set ActDoc = CATIA.ActiveDocument
Dim MySel As Selection
Set MySel = CATIA.ActiveDocument.Selection
MySel.Add ActDoc.Product        '.Products.Item(1)

CATIA.RefreshDisplay = True
CATIA.StartCommand "Generate CATPart from Product..."
CATIA.RefreshDisplay = True

Dim PauseTime, Start, Finish, TotalTime
PauseTime = 0.5
Start = Timer
Do While Timer < Start + PauseTime
    DoEvents
Loop
Finish = Timer
TotalTime = Finish - Start

CATIA.RefreshDisplay = True
SendKeys "{Enter}", True
End Sub


Gruss
kaeja

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

zoltan.bekesi
Mitglied



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

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 23. Jul. 2012 17: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 mattu82 10 Unities + Antwort hilfreich

Noch einfacher hier.

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

kaeja
Mitglied



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

Beiträge: 20
Registriert: 28.06.2012

CATIAV5R16, CATIAV5R19, WinXP

erstellt am: 23. Jul. 2012 17: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 Nur für mattu82 10 Unities + Antwort hilfreich

Hast Du das unter R16 getestet?

Bei funktioniert

Code:
Set oProd2Part = oBGProd.GetItem("DECProductToPart")
oProd2Part.Run
unter R16 nicht, weshalb ich den Weg über
Code:
CATIA.StartCommand "Generate CATPart from Product..."
nehmen muss.

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