Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Wert im Parameter mit Makro ä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:  Wert im Parameter mit Makro ändern (5910 mal gelesen)
Andreas Müller 1977
Mitglied
Konstrukteur


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

Beiträge: 43
Registriert: 28.08.2010

erstellt am: 28. Aug. 2010 15:27    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 und vielen Dank im voraus - wer sich die Zeit nimmt mir zu Helfen

Arbeite seit kurzem mit Catia V5 und habe auch das Thema Makro entdeckt.
Ich bräuchte da mal einen Makrovorschlag wie ich einen bestimmten Parameter (z.B.mit dem Namen "Positionsnummer") vom Typ Zeichenfolge mit einen Input-Fenster den Wert (z.B. von 1234 auf 3333) ändern kann.

------------------
Mit freundlichem Gruß
Andreas

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

tberger
Mitglied
Application Manager CATIA V5 / V6


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

Beiträge: 1385
Registriert: 13.01.2007

WIN 7 64bit
V5R21SP3HF49
3DX/V6 R2016x

erstellt am: 28. Aug. 2010 16:06    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 Andreas Müller 1977 10 Unities + Antwort hilfreich

Hallo Andreas und willkommen im Forum.

Bitte fülle noch in deinem Profil deine Systeminfo aus (CATIA-Version und SP, evtl. HArdware/Grafikkarte)

Zu deiner Frage:

Sub CATMain()

Dim partDocument1 As PartDocument
Set partDocument1 = CATIA.ActiveDocument

Dim part1 As Part
Set part1 = partDocument1.Part

Dim parameters1 As Parameters
Set parameters1 = part1.Parameters

Dim strParam1 As StrParam
Set strParam1 = parameters1.Item("Positionsnummer")

strParam1.Value = InputBox("Geben Sie die neue Positionsnummer an")

End Sub


sollte das tun. Es war 1 Minute Makrorekorder und einmal Angabe einer Inputbox angesagt.

------------------
Grüße aus dem Thurgau
Thomas

+++++++++++++++++++++++++++++++++

CATIA - eine Laune der Natur ...

"Phase 2 in CATIA V5"  - www.tobeplus.de

         tberger@tobeplus.de

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: 29. Aug. 2010 10: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 Andreas Müller 1977 10 Unities + Antwort hilfreich


Stueklistenparameter_erstellen.jpg

 
Servus,

ich schätze mal, dass du sicherlich mehrere Parameter in deinem Part drinnen hast. Damit du nicht für jeden Parameter ein eigenes Makro schreibst, kannst du das ganze in eine Userform stecken. Hat dann natürlich zur Folge, dass mit mit VBA arbeiten musst, weil es mit CATScript und CATvbs nicht realisierbar ist. Anbei ein Bild von meiner Userform zum ausfüllen/erstellen der Stücklistenparameter.

Der Codeschnippsel zum Eintragen der Werte:

Code:
Set strParameter = Parameters.Item("Pos_Nr")
strParameter.Value = Me.txt_Pos_Nr.Value

Der Codeschnippsel zum Erstellen der Parameter und eintragen der Werte:

Code:
Set strParameter = Parameters.CreateString("", "")
strParameter.Rename "Pos_Nr"
strParameter.Value = Me.txt_Pos_Nr.Value

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

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

Andreas Müller 1977
Mitglied
Konstrukteur


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

Beiträge: 43
Registriert: 28.08.2010

erstellt am: 19. Sep. 2010 10: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

erst einmal vielen Dank für die Antwort
bin noch nicht dazu gekommen es auszuprobieren - in letzter Zeit
wieder viel zu tun. Beschäftige mich nebenher in meiner Freizeit damit.

Gruß A.Müller

------------------
Mit freundlichem Gruß
Andreas

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

deyhawaii
Mitglied
Konstrukteur


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

Beiträge: 236
Registriert: 17.09.2005

Catia V5 R26
Siemens NX11
Fides 10

erstellt am: 22. Aug. 2018 08: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 Andreas Müller 1977 10 Unities + Antwort hilfreich

Hallo zusammen,

ich habe das Macro so abgeändert, damit es bei mir funktioniert:
Sub CATMain()

Set partDocument1 = CATIA.ActiveDocument


Set part1 = partDocument1.Part


Set parameters1 = part1.Parameters


Set strParam1 = parameters1.Item("Station")

strParam1.Value = InputBox("Geben Sie die neue Station an")

End Sub

Kann man das Macro so ändern, dass bei allen Parts eines Products dieser Parameter geändert wird, ohne jedes einzeln aktivieren zu müssen?

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 22. Aug. 2018 09: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 Nur für Andreas Müller 1977 10 Unities + Antwort hilfreich

Servus

Willst du bei a) allen geöffneten Dokumenten den Parameter ändern oder b) nur diese im aktuellen CATProduct?
Zu b) Schleife über die Products-Collection laufen lassen und auf das entsprechende Dokument zugreifen. Dort dann den Parameter ändern (Vorsicht: Unterscheidung CATPart und CATProduct notwendig)
Was soll passieren wenn ein Teil mehrfach verbaut wird? Was soll passieren wenn es den Parameter in einem Dokument nicht gibt?

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

deyhawaii
Mitglied
Konstrukteur


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

Beiträge: 236
Registriert: 17.09.2005

Catia V5 R26
Siemens NX11
Fides 10

erstellt am: 22. Aug. 2018 09: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 Andreas Müller 1977 10 Unities + Antwort hilfreich

Hallo Bernd,
ich möchte alle Parts in dem geöffneten Product ändern, also Variante b.
Wie kann ich diese Schleife erstellen?
Spielt es eine Rolle ob ein Teil mehrfach verbaut ist? In der Schleife wird der Wert dann doch einfach immer wieder neu reingeschrieben, oder?
Hat ein Teil diesen Parameter nicht, sollte das Macro am Besten das Teil kommentarlos überspringen. Ist das möglich?

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

deyhawaii
Mitglied
Konstrukteur


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

Beiträge: 236
Registriert: 17.09.2005

Catia V5 R26
Siemens NX11
Fides 10

erstellt am: 22. Aug. 2018 10:35    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 Andreas Müller 1977 10 Unities + Antwort hilfreich

Oder noch besser:

Kann ich über eine Excel-Tabelle meine Parameter automatisch befüllen?

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 22. Aug. 2018 10:44    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 Andreas Müller 1977 10 Unities + Antwort hilfreich

Servus

Wahrscheinlich ist das machbar.
Die Frage ist eher wie viel Aufwand du in das Makro reinstecken willst und kannst (Einarbeitung in die Materie).

EDIT:
ggf reicht es dir per "Formeleditor" die Parameter zu ändern. Durch einen passenden Filter sollte da nur die gewünschten Paramter Station erscheinen.
Für den Abgleich mit einer Excel-Tabelle ist mehr Aufwand nötig und ggf auch ein Anpassung der Methodik sinnvoll.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

deyhawaii
Mitglied
Konstrukteur


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

Beiträge: 236
Registriert: 17.09.2005

Catia V5 R26
Siemens NX11
Fides 10

erstellt am: 22. Aug. 2018 11: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 Andreas Müller 1977 10 Unities + Antwort hilfreich

Ja, das ist wie übliche die große Frage. Und mal wieder hab ich dafür leider nicht so Zeit um mich da weiter einzuarbeiten.
Wie aufwendig ist das denn mit einer Schleife? Ich habe das bei Catia irgendwie noch nie selber hinbekommen.
Ist das aufwendig?

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 22. Aug. 2018 18:07    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 Andreas Müller 1977 10 Unities + Antwort hilfreich

Servus

Ich hab dir da mal was zusammengebastelt (CATScript).

Code:
Sub CATMain()

Dim oDocument As Document
Dim oPart as Part
Dim oPartDocument as Part
Dim oProduct as Product
Dim oRootProduct as Product
Dim sParameterName as String

sParameterName = "Station"

Set oDocument = CATIA.ActiveDocument

if TypeName(oDocument) = "PartDocument" then
    Call ChangeStrParamterByInput(oDocument, sParameterName)
end if

if TypeName(oDocument) = "ProductDocument" then
   Set oRootProduct = oDocument.Product
   for each oProduct in oRootProduct.Products
      if TypeName(oProduct.ReferenceProduct.Parent) = "PartDocument" then
         Call ChangeStrParamterByInput(oProduct.ReferenceProduct.Parent, sParameterName)
      end if
   next  
end if

end sub

Sub ChangeStrParamterByInput(oPartDocument as PartDocument, sParameterName as String)

Dim oParameters as Parameters
Dim strParamteter As StrParam
Dim sInput as String

Set oParameters = oPartDocument.Part.Parameters
Set strParamteter = Nothing

On Error resume next
Set strParamteter = oParameters.Item(sParameterName)
On error goto 0

if Not strParamteter is Nothing then
   sInput = InputBox("Bitte Wert für Parameter " & sParameterName & " im Dokument " & oPartDocument.Name & " eingeben.", "Parameterwert eingeben" , strParamteter.ValueAsString)
   if sInput <> "" then
       strParamteter.Value = sInput
   end if
end if

End Sub


Viel Spaß beim analysieren und nachvollziehen

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

deyhawaii
Mitglied
Konstrukteur


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

Beiträge: 236
Registriert: 17.09.2005

Catia V5 R26
Siemens NX11
Fides 10

erstellt am: 23. Aug. 2018 08:33    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 Andreas Müller 1977 10 Unities + Antwort hilfreich

Hallo Bernd,
danke, funktioniert bestens!
Werde mir das mal genauer anschauen, vielleicht bekomm ich ja raus, wo ich immer die Fehler gemacht habe.
Werde auch noch versuchen, dass ich den Wert nur einmal eingeben muss und nicht bei jeden Part wieder neu. Wobei ich glaube, dass das wieder nicht so einfach wird. Mal sehen.
Auf jeden Fall besten Danke!

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

Suchtiii94
Mitglied
Konstrukteur


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

Beiträge: 44
Registriert: 23.10.2017

Catia V5 R28 SP3

erstellt am: 01. Jul. 2019 13:48    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 Andreas Müller 1977 10 Unities + Antwort hilfreich

Servus,

wie kann ich dein Script anpassen, damit ich die Parameter in allen offenen Parts und Products ändern kann?

Gruß

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 01. Jul. 2019 13: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 Andreas Müller 1977 10 Unities + Antwort hilfreich

Servus

Statt der Schleife über alle Products des RootProducts eine Schleife über alle Dokumente der Document-Colletion laufen lassen (Typabfrage einbauen, falls zB noch Drawings offen sind).
Und entsprechend erweitern dass auch die Parameter im CATProduct angepasst werden (siehe Doku, Objektbrowser, Forensuche)

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

Suchtiii94
Mitglied
Konstrukteur


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

Beiträge: 44
Registriert: 23.10.2017

Catia V5 R28 SP3

erstellt am: 01. Jul. 2019 14: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 Andreas Müller 1977 10 Unities + Antwort hilfreich

Danke Dir für die Hilfe!

Hatte tatsächlich noch Zeichnungen im Hintergrund, die ich jetzt abfrage. Nun läuft das Makro.

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