Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Eigenschaft parameters auf die Zeichnung

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
  
Die Gewinne der Zukunft werden mit intelligenten, autonomen Elektrofahrzeugen eingefahren. (3DEXPERIENCE)
Autor Thema:  Eigenschaft parameters auf die Zeichnung (1103 mal gelesen)
panchito
Mitglied



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

Beiträge: 39
Registriert: 31.03.2015

Catia V5

erstellt am: 16. Apr. 2015 11:45    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 quäle mich schon seit etwa zeit. Ich kenne mich leider sehr wenig mit programmierung mit VB. Ich habe ein Textbox auf meine Zeichnung erstellt die heißt "text.1".

Auf die Part Dokumente habe ich unterschiedliche Eigenschaften erstellt z.B. "Drawing No." und Werte zugewiesen. Mit einem Makro, muss ich auf den Textbox das Wert für das Eigenschaft Drawing No. erscheinen. 

Ich habe viel über Atribute link gesucht. Aber als Makro konnte ich es nicht nutzen. Was ich gefunden habe das kann mir helfen ist diese Code:
Sub CATMain()
 
Dim ProductDrawn
  Set ProductDrawn=Nothing
  For i = 1 to 8   
    If TypeName(ViewDocument)="PartDocument" Then
      Set ProductDrawn=ViewDocument.Product
      Exit For
    End If
    If TypeName(ViewDocument)="Product" Then
      Set ProductDrawn=ViewDocument
      Exit For
    End If

  If ProductDrawn <> Nothing Then

Texts.GetItem("Text.1").Text = ProductDrawn.ReferenceProduct.UserRefProperties.Item("DRAWING No.").ValueAsString

End if

End Sub


Auf jeden fall, arbeitet es nicht.. weil das nicht komplet ist aber ich möchte sehr gerne irgendwie diese Zeile nutzen:  Texts.GetItem("Text.1").Text = ProductDrawn.ReferenceProduct.UserRefProperties.Item("DRAWING No.").ValueAsString
weil si werde ich auf die andere Datei von die Part zugreifen. Könnte mir jemand helfen oder eine idee geben?

Ich würde mich sehr freuen für eure Hilfe.

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: 11732
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 16. Apr. 2015 11: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 panchito 10 Unities + Antwort hilfreich

Servus
Ist das der ganze Code oder fehlt da was?
Was funktioniert nicht? Wird das "Textfeld" richtig angesprochen? (ggf einfach mal mit einer MsgBox der String ausgeben lassen)? Oder liegt es daran, dass der Parameter nicht richtig angesprochen wird?

Gruß
Bernd

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

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

panchito
Mitglied



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

Beiträge: 39
Registriert: 31.03.2015

Catia V5

erstellt am: 16. Apr. 2015 12:02    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 Bernd, danke. Sorry es ist nicht der ganze Code.. Ist ein teil von ein ganz lange Code die ein Titleblock erstellt und mehr funktionen. Aber was mir interessiert ist hier:

Sub CATMain()


Function GetContext()

  ' Find execution context

  Select Case TypeName( Sheet )

    Case "DrawingSheet"

      Select Case TypeName( ActiveDoc )

        Case "DrawingDocument": GetContext="DRW"

        Case "ProductDocument": GetContext="SCH"

        Case Else: GetContext="Unexpected"

      End Select       

   

    Case "Layout2DSheet" : GetContext="LAY"

    Case Else : GetContext="Unexpected"

  End Select

End Function

    Dim ViewDocument

  Select Case GetContext():
    Case "LAY": Set ViewDocument = CATIA.ActiveDocument.Product
    Case "DRW":
      If Views.Count>=3 Then
        Set ViewDocument = Views.Item(3).GenerativeBehavior.Document
      Else
        Set ViewDocument = Nothing
      End If   
    Case Else:Set ViewDocument = Nothing
  End Select

Dim ProductDrawn
  Set ProductDrawn=Nothing
  For i = 1 to 8 
    If TypeName(ViewDocument)="PartDocument" Then
      Set ProductDrawn=ViewDocument.Product
      Exit For
    End If
    If TypeName(ViewDocument)="Product" Then
      Set ProductDrawn=ViewDocument
      Exit For
    End If

  If ProductDrawn <> Nothing Then

Texts.GetItem("Zeich-Nr").Text = ProductDrawn.ReferenceProduct.UserRefProperties.Item("DRAWING No.").ValueAsString

End if
End Sub


Ich glaube aber die Funtion ist nicht richtig posisioniert. Das felher ist Syntaxfehler hier: "Function GetContext()"

Sorry für meine Deutsch. Danke

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

panchito
Mitglied



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

Beiträge: 39
Registriert: 31.03.2015

Catia V5

erstellt am: 16. Apr. 2015 12:05    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

also am Ende würde es sein
Texts.GetItem("text.1").Text = ProductDrawn.ReferenceProduct.UserRefProperties.Item("DRAWING No.").ValueAsString
wenn mein text box text.1 heißt.....

ich möchte nur in diese text box die werte von die Eigenschaft "DRAWING No." erscheint.

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: 11732
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 16. Apr. 2015 12: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 panchito 10 Unities + Antwort hilfreich

Servus
Mit Sicherheit ist die Function nicht richtig positioniert. Der Aufbau müsste so sein:
Code:
Sub CATMain()
''ganz viel Code
'' Code ruft auch die Function auf
End Sub

Function Test()
'etas Code
End Function


Wo hast du den Vorlagen-Code her?
So kann das ganze nicht funktionieren, da fehlt sehr viel (welche View wird ausgewertet,  wo liegt das Textfeld (Sheet und View, ...)

Gruß
Bernd

PS: Grundlagenwissen zu VB(A) wären mit Sicherheit sinnvoll.

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

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

panchito
Mitglied



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

Beiträge: 39
Registriert: 31.03.2015

Catia V5

erstellt am: 16. Apr. 2015 12: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

Von hier habe ich es genommen:

http://www.eng-tips.com/viewthread.cfm?qid=300505

Also alles ist in Sheet 1... Soll ich diese information auch programmieren?

Gibt es dafür nicht ein einfaches Code?

Sorry 

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

pusher
Mitglied


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

Beiträge: 3
Registriert: 11.02.2021

Catia V5 R29

erstellt am: 25. Okt. 2022 09:08    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 panchito 10 Unities + Antwort hilfreich

Hallo zusammen,
der Beitrag ist zwar schon etwas älter, aber ich beschäftige mich aktuell mit dem automatischen Befüllen des Schriftfeldes. Ich beziehe mich auf in Catia enthaltene Dassault Script und bin gerade an der Stelle angekommen, wo abgefragt wird welche Art von Dokument vorliegt, bzw. ob Ansichten existieren. Kann mir jemand erklären warum an folgender Stelle eine Schleife 8x durchlaufen wird? Ich erkenne nicht was das bringt. Das funktioniert zwar, aber ich würde es gerne verstehen.

 

Zitat:
Set ProductDrawn=Nothing
  For i = 1 to 8   
    If TypeName(ViewDocument)="PartDocument" Then
      Set ProductDrawn=ViewDocument.Product
      Exit For
    End If
    If TypeName(ViewDocument)="Product" Then
      Set ProductDrawn=ViewDocument
      Exit For
    End If
    Set ViewDocument = ViewDocument.Parent
  Next

Gruß
Michael

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: 11732
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 25. Okt. 2022 09: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 panchito 10 Unities + Antwort hilfreich

Servus Michael

An dieser Stelle macht die Schleife keinen Sinn.

Gruß
Bernd

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

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

pusher
Mitglied


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

Beiträge: 3
Registriert: 11.02.2021

Catia V5 R29

erstellt am: 25. Okt. 2022 11: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 panchito 10 Unities + Antwort hilfreich

Vielen Dank für die schnelle Antwort!
Gruß
Michael

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

tobul
Mitglied
Physiker


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

Beiträge: 191
Registriert: 06.05.2003

Catia-V5 R24-R30
Delmia R19-R30
NX 12,1892
Windoof 7,10

erstellt am: 26. Okt. 2022 09:57    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 panchito 10 Unities + Antwort hilfreich

Hallo!

Ich habe nicht das ganze in Catia enthaltene Dassault Script studiert, sondern nur den gezeigten Schnipsel, deshaln ist es möglich dass ich völlig auf dem Holzweg bin.

Aber in der Schleife geht er doch jedesmal einen Schritt nach oben im Baum bis er als Typ des aktuellen Elements (das sich bei jedem Schleifendurchlauf ändert!) ein "Part" oder "Product" findet:
vorletzte Zeile "Set ViewDocument = ViewDocument.Parent"

Insofern scheint mir die Schleife nicht grundsätzlich sinnlos?

Nur warum es ausgerechtet maximal 8 Durchläufe sind erschließt sich mir nicht; vielleicht ist das eine typische maximale Anzahl von Feature-Stufen im Baum?

Sorry, ich will nicht zur Verwirrung beitragen; Verstehen wäre aber ganz nett :-)

salu'
tobul

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: 11732
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 26. Okt. 2022 10:08    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 panchito 10 Unities + Antwort hilfreich

Servus tobul

Danke für deinen Hinweis.
Ich hab mir nun nochmal den Code angeschaut. Ich vermute dass die Schleife verwendet wird um bei einer Zeichnungsansicht auch den Fall abzufangen, wenn eine Szene oder nur selektierte Körper aus einem Part angezeigt werden.
Die Verwendung von einer For-Schleife finde ich da eher unpassend, eine zB do-Until wäre wohl angebrachter (mit dem Abfangen wenn bis zur Catia-Application hoch iteriert wird)
Vermutlich wäre es auch ohne die Schleife möglich (eine weitere Else-Verzweigung)

Gruß
Bernd

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

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

ptit.tom
Mitglied
CAD-Berater


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

Beiträge: 114
Registriert: 11.02.2005

win10, CATIA R19 bis R30

erstellt am: 26. Okt. 2022 15: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 panchito 10 Unities + Antwort hilfreich

laut Doku kann View.GenerativeBehavior.Document auch ein Body liefern. Deswegen die Schleife mit .parent um im Baum nach Oben zu navigieren.

An der Stelle könnte das Product wahrscheinlich auch mit einer Selektion erfolgen. Element in einer Selektion hinzufügen und dann mit selectedElement.LeafProduct arbeiten.

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

pusher
Mitglied


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

Beiträge: 3
Registriert: 11.02.2021

Catia V5 R29

erstellt am: 26. Okt. 2022 22: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 Nur für panchito 10 Unities + Antwort hilfreich

Ich habe die Schleife nun an einer etwas früheren Stelle gestartet, so dass mehrere Views (view(i)) durchlaufen werden. Das macht aus meiner Sicht mehr Sinn, da es mir darum geht eine Ansicht zu finden, die von einem Part/Product abgeleitet wurde damit das Gewicht ermittelt werden kann.
Wenn ich nichts ändere und View(3) wurde als einfache Ansicht (ohne Verknüpfung zum 3D) erstellt, wird natürlich auch kein Gewicht geliefert. Durchläuft die Schleife mehrere Views, ist die Trefferwahrscheinlichkeit höher.
Gruß
Michael

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)2022 CAD.de | Impressum | Datenschutz