Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Makro soll im Part und im Produkt laufen...

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:  Makro soll im Part und im Produkt laufen... (1678 mal gelesen)
nikibert
Mitglied
entwickler


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

Beiträge: 40
Registriert: 19.05.2008

Windows 7 Pro 64bit
DeLL T5500
NVIDIA Quadro 2000
CATIAV5 V19 SP9

erstellt am: 11. Aug. 2009 13:47    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 würde gerne meine Makros in einem Part im eigenen Fanster laufen lassen und genauso in der Produktstruktur in der ein Part aktiv ist...

Habe mal folgenden Beispielcode aufgezeichnet:

Dim documents1 As Documents
Set documents1 = CATIA.Documents

Dim partDocument1 As PartDocument
Set partDocument1 = documents1.Item("Part1.CATPart")

Dim part1 As Part
Set part1 = partDocument1.Part

Dim hybridShapeFactory1 As HybridShapeFactory
Set hybridShapeFactory1 = part1.HybridShapeFactory

Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies

Dim hybridBody1 As HybridBody
Set hybridBody1 = hybridBodies1.Item("Geometrical Set.1")

Dim hybridShapes1 As HybridShapes
Set hybridShapes1 = hybridBody1.HybridShapes

Dim hybridShapeLinePtDir1 As HybridShapeLinePtDir
Set hybridShapeLinePtDir1 = hybridShapes1.Item("Line.1")

Dim reference1 As Reference
Set reference1 = part1.CreateReferenceFromObject(hybridShapeLinePtDir1)

Dim hybridShapeInverse1 As HybridShapeInverse
Set hybridShapeInverse1 = hybridShapeFactory1.AddNewInverse(reference1, 1)

hybridBody1.AppendHybridShape hybridShapeInverse1

part1.InWorkObject = hybridShapeInverse1

part1.Update

_________

In dieser zeile:
Set partDocument1 = documents1.Item("Part1.CATPart")

will ich kein spezifischen Part namen eingeben sondern es soll erkannt werden welches Part gerade aktiv ist, und dieses soll dann benutzt werden...

Wie gesagt das ist nur ein Beispielhaft aufgezeichneter Code und die Problematik bezieht sich auch nur auf die Erkennung des aktiven Part im Produkt.

kann mir da jemand helfen??

Gruss Niko


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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 11. Aug. 2009 14:11    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 nikibert 10 Unities + Antwort hilfreich

Hallo Nico,

leider verstehe ich nicht wirklich was du machen möchtest. Ich denke was du machen möchtest geht nicht so einfach wie du dir das vorgestellt hast. Wenn du ein Part im Produkt aktiv in Bearbeitung hast, ist das ActiveDocument immer noch dein Produkt. D.h. du musst über die Products.Item dein Part direkt ansprechen.

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

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

nikibert
Mitglied
entwickler


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

Beiträge: 40
Registriert: 19.05.2008

Windows 7 Pro 64bit
DeLL T5500
NVIDIA Quadro 2000
CATIAV5 V19 SP9

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

wie spreche ich das Part über Products.Item direkt an, wenn und ich mehrere Parts im Produkt habe, ohne vorher zu wissen wie es heisst oder des der benutzer das Part nochmal extra anklicken muss. Alles was ich weiss is das in dem moment des Makro aufrufs das PArt aktiv ist und irgendein element innerhalb des Parts angewählt ist. Auf welcher Ebene sich das angewählte Element befindet weiss ich leider auch nicht..

Schönen dank schon mal für die Mühe

Gruss Niko

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

geekv5
Mitglied
Konstrukteur


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

Beiträge: 214
Registriert: 13.07.2011

Notebook<P>MSI GX660R
Intel Core i5 460M
8GB DDR3
1GB Mobility HD5870
80GB Intel X25-M Postville
250GB HDD<P>Desktop<P>AMD Phenom II X4 965
1GB HD4890@ FirePro V8700
8GB DDR3-1600
2,5TB HDD<P>Belinea 2485 S1W 24" MVA

erstellt am: 15. Jan. 2012 15: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 nikibert 10 Unities + Antwort hilfreich

Sorry, dass ich den alten Thread herauskrahme, aber habe das selbe Problem.. Ist es wirklich nicht möglich herauszufinden, welches Part in einer Produktstruktur gerade aktiv (blau) ist? Das CATIA.ActiveDocument nur das Produkt zurückgibt, habe ich schon gecheckt, kann mir allerdings nicht vorstellen, dass hier schon schluss ist..

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

CAMiCADse
Mitglied



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

Beiträge: 177
Registriert: 17.02.2006

V5,R19,SP9

erstellt am: 15. Jan. 2012 18:23    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 nikibert 10 Unities + Antwort hilfreich

Hallo geekv5,

schau mal hier:

Link

Gruß
CAMiCADse

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

geekv5
Mitglied
Konstrukteur


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

Beiträge: 214
Registriert: 13.07.2011

Notebook<P>MSI GX660R
Intel Core i5 460M
8GB DDR3
1GB Mobility HD5870
80GB Intel X25-M Postville
250GB HDD<P>Desktop<P>AMD Phenom II X4 965
1GB HD4890@ FirePro V8700
8GB DDR3-1600
2,5TB HDD<P>Belinea 2485 S1W 24" MVA

erstellt am: 16. Jan. 2012 13:20    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 nikibert 10 Unities + Antwort hilfreich

Hallo CAMiCADse ^^

Dein Code hat leider bei mir nicht funktioniert, aber ein wenig abgewandelt klappt es!

Code:
CATIA.ActiveDocument.Selection.Search "Type='Teil',in"

Was ich allerdings nicht verstanden habe, ist der Code um das ein Produkt oder Part aktiv zu setzen..

Code:

Set WshShell = WScript.CreateObject("WScript.Shell")
wshshell.AppActivate ("CATIA V5")
WshShell.SendKeys "c:" & "FrmActivate" & Chr(13),True

So wie ich das sehe wird mit "FrmActivate" etwas aktiviert, aber was?

MfG
CADCAT

[Diese Nachricht wurde von geekv5 am 16. Jan. 2012 editiert.]

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

CAMiCADse
Mitglied



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

Beiträge: 177
Registriert: 17.02.2006

V5,R19,SP9

erstellt am: 16. Jan. 2012 21:40    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 nikibert 10 Unities + Antwort hilfreich

Hallo,
es wird das selektierte Element angesprochen.
Also vor Aufruf des Scripts das entsprechende Part selektieren.
Gruß
CAMiCADse

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