Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Feature Name von Body mit Parameter füttern?

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:  Feature Name von Body mit Parameter füttern? (3624 mal gelesen)
moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 27. Sep. 2010 14:42    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,

gibt es eine Möglichkeit den Namen eines Body mit einem Wert aus einem Parameter zu füttern?

Gruß Uwe

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

Christian.O
Mitglied
Konstrukteur


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

Beiträge: 1212
Registriert: 17.07.2009

erstellt am: 27. Sep. 2010 19: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 Nur für moppesle 10 Unities + Antwort hilfreich


Rename_Body_mit_Parameter.rar

 
Servus,

anbei ein VBA-Makro, dass nach einen Parameter mit dem Namen "Bodyname" sucht. Wenn dieser vorhanden ist, wählst du als nächstes den Body aus der umbenannt werden soll. Wenn dieser Parameter nicht vorhanden ist wird er erzeugt. Danach wieder Body auswählen. Wichtig: Statusbar beachten.

Anbei ein Link zum Erstellen eines neuen VBA-Projects. Zum Einfügen der Bas Datei im Visual Basic Editor: File -> Import File -> Bas Datei auswählen.

Hast du dir sowas vorgestellt?

PS: falls es noch Verbesserungsvorschläge zu meinem Programmierstil gibt: nur her damit 

------------------
Mit freundlichen Grüßen aus Tirol
Christian Obholzer

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

moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 27. Sep. 2010 22: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

Hallo Christian,

danke für das Makro. Leider kann ich zu deinem Programmierstil nichts sagen da ich keine Programmierkenntnisse habe.

Es ist leider nicht ganz das was ich gesucht habe.
Ich würde gerne zu einem Body der z.B "Fertigteil" heißt den Wert eines Parameters z.B. Benennung="Platte1" automatisch nach der Änderung des Parameter Benennung zuweisen lassen. "Fertigteil Platte1".

Nur mit Parametern hab ich das schon gemacht.Kann mir vorstellen das es nicht so einfach ist oder gar nicht funzt.
Aber trotzdem danke für deine Bemühungen.

Gruß Uwe

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

Christian.O
Mitglied
Konstrukteur


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

Beiträge: 1212
Registriert: 17.07.2009

erstellt am: 28. Sep. 2010 07: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 Nur für moppesle 10 Unities + Antwort hilfreich


Rename_Body_mit_Parameter_1.1.rar

 
Servus,

Zitat:
Ich würde gerne zu einem Body der z.B "Fertigteil" heißt den Wert eines Parameters z.B. Benennung="Platte1" automatisch nach der Änderung des Parameter Benennung zuweisen lassen. "Fertigteil Platte1".

Ob das geht weiß ich nicht. Vielleicht mit einer Regel???

Anbei mein geändertes Makro. Ich gehe davon aus, dass du mit einem Startmodell arbeitetst und der Body "Fertigteil" immer vorhanden ist. Falls dieser fehlen sollte bricht das Makro ab. Es wird jetzt nach einem Body mit dem Namen "Fertigteil*" gesucht. Falls dieser aber schon z.B.: Fertigteil_Platte1 heißt, ist es egal, weil er den Namen mit "Fertigteil_" + Parameterwert umändert. Den Unterstrich kannst immer noch rauslöschen falls du ihn nicht brauchst.

------------------
Mit freundlichen Grüßen aus Tirol
Christian Obholzer

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: 28. Sep. 2010 08: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 moppesle 10 Unities + Antwort hilfreich

Hallo Uwe,

das geht wenn du eine KWA Lizenz hast. Dann kannst du eine Reaction erstellen die dann ein Script auslöst. Der Event wird, je nach Einstellung, bei jeder Änderung deiner Parameters abgefeuert und löst das Umbenennung-Script aus.

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

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

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: 28. Sep. 2010 08:46    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 moppesle 10 Unities + Antwort hilfreich


Rename_Body_mit_Parameter.rar

 
Hallo Christian,

also ich habe mal kurz über das Script geschaut und mir sind folgende Kleinigkeiten aufgefallen:

1. Alle Variablen werden nur lokal in der Hauptroutine verwendet. Trotzdem sind sie als Public deklariert. Das ist nicht notwendig und verwirrt nur
2. Du gibst bei allen Variablen als Suffix deinen Datentyp an (bei zwei aber nicht?)
3. Achte darauf das die Variablennamen wirklich eindeutig sind (d.h. der Name der Variable auch mit dem tatsächlichen Aufgabenbereich der Variable übereinstimmt). Ein Beispiel ist "Set objDokument = CATIA.Windows". Da ist besser "Set objWindows = CATIA.Windows"
4. MsgBoxen welche nur Hinweise darstellen und nicht ausgewertet werden müssen (z.B. vbYesNo) brauchen nicht als Ergebnis an eine Variable übermittelt werden (Das Ergebnis bei einer vbOKOnly MsgBox ist immer vbOK). Das spart dir Ressourcen in Arbeitsspeicher!
5. Jede interaktive Suche (SelectElement) muss nach dem selektiervorgang des Anwenders auch ausgewertet werden. Falls der Anwender während der interaktiven Suche ESC drückt gibt die Funktion "Cancel" zurück. D.h. die Suche war nur gültig wenn der String (strSel) ein "Normal" beinhaltet. Das ist wichtig sonst bekommst du Luafzeitfehler in den nachfolgenden Zeilen
6. Vor einer Suche sollte die Eigenschaft CATIA.HSOSynchronized auf False gestellt werden. CSO und HSO werden dann während der Suche nicht synchronisiert was einer erheblichen Performancevorteil (ab R19) schafft. Im Anschluss muss die Eigenschaft aber wieder auf true gesetzt werden sonst erhält man bei interaktiven Befehlen (selectElement) falsche Ergbnisse

Du siehst es sind wirklich nur Kleinigkeiten  

[EDIT] Sorry das geänderte Script von mir in der Version 1.1  hatte ich vergessen [/EDIT]

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

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

   

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

Christian.O
Mitglied
Konstrukteur


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

Beiträge: 1212
Registriert: 17.07.2009

erstellt am: 28. Sep. 2010 09:16    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 moppesle 10 Unities + Antwort hilfreich

Servus Daniel,

erstmals danke für deine Rückmeldung und das du dir Zeit genommen hast dir mein Script anzusehen und auch gleich zu verbessern.

zu 2. da wußte ich den Suffix nicht. Gibt es hierzu eine Liste?
zu 3. blöder Fehler 

Werd mir deine Verbesserungsvorschläge gleich zu Herzen nehmen und meine Makros etwas umschreiben. 

------------------
Mit freundlichen Grüßen aus Tirol
Christian Obholzer

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

moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 28. Sep. 2010 10:38    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 Christian,

Yepp- Starmodell. Makro kann ich gut gebrauchen. Danke

Hallo Daniel,

Zitat:
Dann kannst du eine Reaction erstellen die dann ein Script auslöst. Der Event wird, je nach Einstellung, bei jeder Änderung deiner Parameters abgefeuert und löst das Umbenennung-Script aus.

Hab leider wenig Erfahrung mit einer Reaction.Kann auch nicht programmieren. (verstehe aber ein wenig um was es beim Prog. geht) Kannst du mir einen Anstoß geben?

Gruß Uwe

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

Christian.O
Mitglied
Konstrukteur


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

Beiträge: 1212
Registriert: 17.07.2009

erstellt am: 05. Okt. 2010 10:30    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 moppesle 10 Unities + Antwort hilfreich

Servus Daniel,

hab jetzt in jedes Makro bei dem eine Suche gestartet wird "CATIA.HSOSynchronized = False" integriert. Nun hab ich das Problem, dass nach dem ersten Aufruf eines Makros, dass eine Suche beinhaltet, die weiteren Makros an dieser Stelle mit einem Automation Error einfach abrechen. Nachdem ich Catia neu gestartet hab kann ich z.B.: 3 Makros ausführen und beim 4 scheitert es wieder. Kennst du dieses Problem?

In diesem Thread wurde nur auf eine stabilere V5 Version hingewiesen bzw. überrall eine Schleife zu erstellen.

Gibt es vielleicht sonst noch irgendeine Einstellung dazu bzw. eine Lösung, damit ich nicht jedesmal Catia neu starte muß?

------------------
Mit freundlichen Grüßen aus Tirol
Christian Obholzer

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 05. Okt. 2010 10: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 moppesle 10 Unities + Antwort hilfreich

Hast Du nach der Suche wieder auf CATIA.HSOSynchronized = TRUE geschaltet?

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

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

Christian.O
Mitglied
Konstrukteur


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

Beiträge: 1212
Registriert: 17.07.2009

erstellt am: 05. Okt. 2010 10: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 moppesle 10 Unities + Antwort hilfreich


Geo_Set_umbenennen.txt

 
Servus Henry,

ja das hab ich.

Edit: Textfile angehängt

------------------
Mit freundlichen Grüßen aus Tirol
Christian Obholzer

[Diese Nachricht wurde von Christian.O am 05. Okt. 2010 editiert.]

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

Hahnedan
Mitglied


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

Beiträge: 5
Registriert: 02.09.2014

CATIA V5

erstellt am: 02. Sep. 2014 10: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 Nur für moppesle 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von moppesle:
Hallo Christian,

danke für das Makro. Leider kann ich zu deinem Programmierstil nichts sagen da ich keine Programmierkenntnisse habe.

Es ist leider nicht ganz das was ich gesucht habe.
Ich würde gerne zu einem Body der z.B "Fertigteil" heißt den Wert eines Parameters z.B. Benennung="Platte1" automatisch nach der Änderung des Parameter Benennung zuweisen lassen. "Fertigteil Platte1".

Nur mit Parametern hab ich das schon gemacht.Kann mir vorstellen das es nicht so einfach ist oder gar nicht funzt.
Aber trotzdem danke für deine Bemühungen.

Gruß Uwe


Kann mir jemand sagen, wie ich das nur mit Parametern anstelle?
Ich möchte einfach den Body Name abhängig von einem Multi String Parameter machen.
Alternativ auch mit einer Regel. Aber mit Makro ist bei mir nicht zielführend.

[Diese Nachricht wurde von Hahnedan am 02. Sep. 2014 editiert.]

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

moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 02. Sep. 2014 10:50    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 Hahnedan,

wilkommen im Forum. Bitte Systeminfo ausfüllen.

Das kannst du mit einer "Reaction" machen.

Gewünschten Parameter als Sources auswählen.
Event auf "ValueChange" stellen

Dann in der "Knowledgeware action" den Body doppelklicken und im Language Browser ".Name anhängen.
Könnte dann in etwa so aussehen.
Body1.Name =Benennung

------------------
Gruß Uwe

Auch Catia ist nur ein Mensch!    

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

moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 02. Sep. 2014 10:55    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


BodyName.CATPart

 
Hier mal ein Beispiel dazu.

------------------
Gruß Uwe

Auch Catia ist nur ein Mensch!    

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

Hahnedan
Mitglied


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

Beiträge: 5
Registriert: 02.09.2014

erstellt am: 02. Sep. 2014 13: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 moppesle 10 Unities + Antwort hilfreich

Sensationell!

Vielen Dank und frohes Schaffen!

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