Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Hinzugefügte Eigenschaften einen Wert zuweisen

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:  Hinzugefügte Eigenschaften einen Wert zuweisen (3408 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: 10. Okt. 2010 13: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 danke an alle die auf meine anderen Beiträge geantwortet haben.
Habe in einem älteren Beitrag gefunden wie man Eigenschaften in ein Part mit einem Makro hinzufügt (UserRefProperties)
mich interressiet noch wie in der 2.Spalte werte eingetragen werden können (mit Makro)
Bsp. Habe die Zeile "Werkstoff" zugefügt als Zeichenfolge und möchte dort rechts eingetragen haben 1.2738
Makro ist CATVBA
System:Catia V5 R19

Hier noch mal das Makro aus dem ältern Beitrag:

Sub CATMain()
'Dokument geöffnet?
If CATIA.Documents.Count = 0 Then
    Box = MsgBox("Es wurde kein aktives Dokument identifiziert" + Chr(10) + "Bitte oeffnen Sie zuerst ein Dokument und starten Sie dann das Makro erneut", vbInformation, "Hinweis")
    Exit Sub
End If
Dim oDocument As Document
Set oDocument = CATIA.ActiveDocument
'Part geöffnet?
If TypeName(oDocument) <> "PartDocument" Then
    Box = MsgBox("Dokument ist kein Part!" + Chr(10) + "Macro wurde abgebrochen", vbInformation, "Hinweis")
    Exit Sub
End If
'Start
Dim partDocument1 As Document
Set partDocument1 = CATIA.ActiveDocument
Dim product1 As Product
Set product1 = oDocument.Product
on error resume next
Dim parameters1 As Parameters
Set parameters1 = product1.UserRefProperties
'Abfrage ob Parameter bereits vorhanden sind, wenn nicht erstellen
Set strParameter = parameters1.Item("Werkstoff")
    if err.number <> 0 then
      Set strParameter = parameters1.CreateString("Werkstoff", "")
      err.clear
    end if
Box = MsgBox("Makro erfolgreich", vbInformation, "Hinweis")
on error goto 0
End Sub

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

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

Celsius-Mobile H720
i7-3840QM
32 Gb Arbeitsspeicher
256 Gb SSD
Quadro K2000M
Windows 7 Professional (64 Bit)
Catia V5R19 (64 Bit)
SpacePilot Pro

erstellt am: 10. Okt. 2010 13: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

Servus,

mit

Code:
Set strParameter = parameters1.CreateString("Werkstoff", "1.2738")

oder
Code:
strParameter.Value = "1.2738"

wird die 2te Spalte gefüllt.

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

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

Hallo Andreas,

es ist ganz einfach.
Die Ende deines Makros müsste wie folgt aussehen:

Code:
Dim parameters1 As Parameters
Set parameters1 = product1.UserRefProperties
'Abfrage ob Parameter bereits vorhanden sind, wenn nicht erstellen
Dim strParameter as STRPARAM 'Hier den Typ deklarieren
Set strParameter = parameters1.Item("Werkstoff")
    if err.number <> 0 then
      Set strParameter = parameters1.CreateString("Werkstoff", "")
      err.clear
    end if
Box = MsgBox("Makro erfolgreich", vbInformation, "Hinweis")
on error goto 0
strParameter.Value="1.2738" 'Hier den Wert hinzufügen
End Sub
Wenn der Parameter nicht vom Typ "String" ist, dann musst du oben den entsprechenden Typ angeben.

Gruß,
Zoltan

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: 10. Okt. 2010 17:26    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

Vielen Dank für die Schnelle Antwort!
1.Vieleicht kann mir noch jemand sagen wie ich
hinzugefügte Eigenschaften wieder löschen kann (mit Makro)
2.Und noch weiter gedacht: wenn schon Eigenschaften existieren sollen diese gelöscht werden und nur meine neuen stehen beleiben

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

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

Celsius-Mobile H720
i7-3840QM
32 Gb Arbeitsspeicher
256 Gb SSD
Quadro K2000M
Windows 7 Professional (64 Bit)
Catia V5R19 (64 Bit)
SpacePilot Pro

erstellt am: 10. Okt. 2010 18: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 Andreas Müller 1977 10 Unities + Antwort hilfreich

Servus,

zu 1: einfach den Wert leer lassen. z.B: strParameter.Value = ""

zu 2: zum Löschen der UserRef Properties (definierter Parameter):

Code:

Dim objSel As Object
Set objSel = CATIA.ActiveDocument.Selection

objSel.Add (strParameter)
objSel.Delete


------------------
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: 10. Okt. 2010 18:25    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

Danke für die schnelle Antwort

habe mich ein wenig falsch Ausgedrückt
ich möchte nicht nur den Wert gelöscht haben sondern die ganzen Zeile
(Eigenschat und Wert)

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

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

Celsius-Mobile H720
i7-3840QM
32 Gb Arbeitsspeicher
256 Gb SSD
Quadro K2000M
Windows 7 Professional (64 Bit)
Catia V5R19 (64 Bit)
SpacePilot Pro

erstellt am: 10. Okt. 2010 18: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 Nur für Andreas Müller 1977 10 Unities + Antwort hilfreich

Servus,

das kannst du ja mit dem 2ten Code. Wenn du diesen in deinen bisherigen Code integrierst dann wird der "Parameter" gelöscht. Funktioniert das bei dir nicht?

------------------
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: 12. Okt. 2010 20:15    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

der 2. Code geht natürlich dafür auch nochmal vielen dank.
Eine abschließende Frage zu diesem Thema habe ich noch.
Wie kann ich auf den Wert einer bereits existierenden hinzugef.Eigenschaft (nicht von mir geschrieben) zugreifen um sie im
Makro weiter zu verwenden ? Vieleicht kann mir da noch jemand ein Beispielcod geben.

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

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

Celsius-Mobile H720
i7-3840QM
32 Gb Arbeitsspeicher
256 Gb SSD
Quadro K2000M
Windows 7 Professional (64 Bit)
Catia V5R19 (64 Bit)
SpacePilot Pro

erstellt am: 12. Okt. 2010 20: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

Servus,

mit

Code:
Set strParameter = parameters1.Item("xxx")

kannst du auf diesen Zugreifen. Mit MsgBox (strParameter.Value) kannst du z.B.: den Wert dieses Parameters in eine MsgBox ausgeben/anzeigen lassen.

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

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

atngmbh
Mitglied
Konstrukteur


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

Beiträge: 43
Registriert: 24.04.2002

erstellt am: 29. Sep. 2011 11: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 Nur für Andreas Müller 1977 10 Unities + Antwort hilfreich


Auswahl.jpg

 
Hallo
Ich bin zufällig auf diesen Beitrag gestoßen, da ich ein Eigenschaftsfeld definieren wollte,
welches eine Auswahl ermöglicht. Dieses machen wir derzeit über ein Startpart und ich
wollte dieses über den Import von externen Eigenschaften erreichen.

Nun zur Frage.
Ist es auch noch möglich in der Zeile

Set strParameter = parameters1.CreateString("Werkstoff", "1.2738")

mehrere Werte zu definieren um eine Auswahl zu bekommen wie im Bild dargestellt?

VG

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: 29. Sep. 2011 12:01    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

So vielleicht:

...

Dim MyArray(4)

MyArray(0) = "A2"
MyArray(1) = "A4"
MyArray(2) = "8.8"
MyArray(3) = "10.9"
MyArray(4) = "12.9"

Dim strParam1 As Object 'StrParam ist restricted im CATVBA
Set strParam1 = parameters1.CreateString("Material", "")

strParam1.SetEnumerateValues MyArray()

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

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

CATIA - eine Laune der Natur ...

[Diese Nachricht wurde von tberger am 29. Sep. 2011 editiert.]

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