Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  save 2D like 3D

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:  save 2D like 3D (2039 mal gelesen)
cmb
Mitglied
Systembetreuer


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

Beiträge: 500
Registriert: 12.07.2002

CATIA V5-6R2016 64bit
Smarteam R22.6
Moldflow Adviser 2014
Lenovo Think Pad P90

erstellt am: 31. Jan. 2011 11: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

Hallo,

ich habe mir mit Hilfe des Forums ein Script angepasst, welches bei einer DateiNeuAus Funktion die Zeichnung unter dem Gleichen Namen wie das Mutterelement speichert.
Ich lese mit diesem Strings mein Part/Product aus und extrahiere die benötigten Daten :

Dateipfad = drawingView1.GenerativeBehavior.Document.ReferenceProduct.Parent.Path
Name = drawingView1.GenerativeBehavior.Document.ReferenceProduct.Parent.Name

Bei ca 2 von 10 mal in denen das Macro läuft erhalte ich eine Fehlermeldung : <Die Methode 'Document' für das Objekt 'DrawingViewGenerativeBehavior' ist fehlgeschlagen>

Kann es sein, das Dassault in der Struktur da etwas verändert hat?

Gruß

Norbert

Code:
Sub catmain()

Dim oDocument As Document
Set oDocument = CATIA.ActiveDocument

If TypeName(oDocument) = "PartDocument" Then
    CATIA.ActiveDocument.Save
    'CATIA.ActiveDocument.Close
End If

If TypeName(oDocument) = "ProductDocument" Then
    CATIA.ActiveDocument.Save
    'CATIA.ActiveDocument.Close
End If

If TypeName(oDocument) = "DrawingDocument" Then

Dim drawingDocument1 As Document
Set drawingDocument1 = CATIA.ActiveDocument
Dim drawingSheets1 As DrawingSheets
Set drawingSheets1 = drawingDocument1.Sheets
Dim drawingSheet1 As DrawingSheet
Set drawingSheet1 = drawingSheets1.ActiveSheet
Dim drawingViews1 As DrawingViews
Set drawingViews1 = drawingSheet1.Views
Dim drawingView1 As DrawingView
Set drawingView1 = drawingViews1.ActiveView
drawingView1.Activate


Dim parameters1 As parameters
Set parameters1 = drawingDocument1.parameters
Dim strParam1 As StrParam


Set strParam1 = parameters1.Item("Drawing\Zeichnungsnummer")

'#########  Dateipad
Dateipfad = drawingView1.GenerativeBehavior.Document.ReferenceProduct.Parent.Path
'FullName =  drawingView1.GenerativeBehavior.document.ReferenceProduct.Parent.Fullname
Name = drawingView1.GenerativeBehavior.Document.ReferenceProduct.Parent.Name
'
LoeschEndung = Left(Name, InStrRev(Name, ".") - 1)
'LoeschEndung = Left( Name, Len( Name) -7 ) 'Right

CATIA.DisplayFileAlerts = False
Datei = Dateipfad & "\" & LoeschEndung & ".CATDrawing"
            CATIA.ActiveDocument.SaveAs (Datei)
            'CATIA.ActiveDocument.Close

strParam1.Value = LoeschEndung


End If

End Sub


------------------
V5R20
Catia + Smarteam

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: 31. Jan. 2011 11: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 cmb 10 Unities + Antwort hilfreich

Servus
Ist auch eine View aktiviert, wie aus dem 3D generiert wurde?
Wurden Ansicht auch von Szenen erzeugt?

Gruß
Bernd

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

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

cmb
Mitglied
Systembetreuer


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

Beiträge: 500
Registriert: 12.07.2002

CATIA V5-6R2016 64bit
Smarteam R22.6
Moldflow Adviser 2014
Lenovo Think Pad P90

erstellt am: 31. Jan. 2011 11: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

Hallo Bernd,

boah bist du schnell, das mit den Szenen könnte es sein ich such mal in dieser Richtung.

G

Norbert

------------------
V5R20
Catia + Smarteam

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

K.Siebert
Mitglied
Tech Zeichner


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

Beiträge: 415
Registriert: 19.05.2007

Win XP
Catia V5 R19
Catia V5 R24

erstellt am: 31. Jan. 2011 14: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 cmb 10 Unities + Antwort hilfreich

Was sagt den der Speicherpfad?

Code:
'__________________________________ Endung Loschen____________________________
LoeschEndung = Left(Name, InStrRev(Name, ".CAT") - 1)
'LoeschEndung = Left(Name, InStrRev(Name, ".") - 1)
'LoeschEndung = Left( Name, Len( Name) -7 ) 'Right
'__________________________________________________________________________________________


'__________________________Test________________________________________________________________
'Dim Box, Speicher As Long
MsgBox "Dateipfad:" & Chr (13) & Chr (10)  & Dateipfad  &  "\" & LoeschEndung & ".CATDrawing"  ,64, "GESPEICHERT"
'_________________________________________________________________________________________________________________

CATIA.DisplayFileAlerts = False
Datei = Dateipfad  &  "\" & LoeschEndung & ".CATDrawing"
CATIA.ActiveDocument.SaveAS Datei
CATIA.ActiveDocument.Close



Der Code um Ansichten Aktiv zu schalten, hier sollte die ERSTE Ansicht eine Ableitung vom 3D sein.

Code:
'__________________Ansicht bestimmen_________________________________
Dim drawingDocument1 As Document
Set drawingDocument1 = CATIA.ActiveDocument
Dim drawingSheets1 As DrawingSheets
Set drawingSheets1 = drawingDocument1.Sheets
Dim drawingSheet1 As DrawingSheet
Set drawingSheet1 = drawingSheets1.ActiveSheet
Dim drawingViews1 As DrawingViews
Set drawingViews1 = drawingSheet1.Views
Dim drawingView1 As DrawingView
Set drawingView1 = drawingViews1.ActiveView
drawingView1.Activate

Set drawingViews1 = drawingSheet1.Views
Set drawingView1 = drawingViews1.Item(1)'("Vorderansicht")Item(1)
drawingView1.Activate


Ansonsten wie Bernd schon gefragt hatte wie sind die Ableitungen erstellt worden (Szenen) ?
Da gab es eine Ähnliche Diskussion vor kurzen über Szenen. Einfach mal suchen

------------------
Sei Schlau bleib Dumm !!?!! 

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

cmb
Mitglied
Systembetreuer


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

Beiträge: 500
Registriert: 12.07.2002

CATIA V5-6R2016 64bit
Smarteam R22.6
Moldflow Adviser 2014
Lenovo Think Pad P90

erstellt am: 01. Feb. 2011 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

Hallo Forum,

Vielen Dank für die Tipps.
Habe mein Script dahingehend geändert, dass wenn er eine View mit dem String "Vor" findet er diese aktiv macht.
Wenn es keine solche View gibt, darf man eine auswählen.
Scheint zu funktionieren.

Gruß

Norbert


Code:
Dim oSel
Dim oDocument As Document
Dim drawingSheets1 As DrawingSheets
Dim drawingSheet1 As DrawingSheet
Dim drawingViews1 As DrawingViews
Dim drawingView1 As DrawingView

Sub CATMain()

Set oDocument = CATIA.ActiveDocument
    If TypeName(oDocument) = "PartDocument" Then
        CATIA.ActiveDocument.Save
    End If
    If TypeName(oDocument) = "ProductDocument" Then
        CATIA.ActiveDocument.Save
    End If
    If TypeName(oDocument) = "DrawingDocument" Then

    Set drawingSheets1 = oDocument.Sheets
    Set drawingSheet1 = drawingSheets1.ActiveSheet
    Set drawingViews1 = drawingSheet1.Views
    Set drawingView1 = drawingViews1.ActiveView
       
            If drawingView1.Name Like "Vor*" Then
            drawingView1.Activate
            Call SaveDat
            Else
                    Set oSel = CATIA.ActiveDocument.Selection
                    Dim InputObjectType(0)
                    InputObjectType(0) = "AnyObject"
                   
                    Status = oSel.SelectElement2(InputObjectType, "Wählen Sie eine View, generiert aus 3D aus", False)
                    If (Status <> "Normal") Then
                        MsgBox "Abbruch"
                        Exit Sub
                    Else
                   
                    Set selView = oSel.Item(1).Value
                    Dim selViewName As String
                    selViewName = selView.Name
                   
                    Set drawingView1 = drawingViews1.Item(selViewName)
                    drawingView1.Activate
                    Call SaveDat
                   
                    End If
            oSel.Clear
            End If
        End If


End Sub

Private Sub SaveDat()

    Dim parameters1 As parameters
    Set parameters1 = oDocument.parameters
    Dim StrParam1 As StrParam
   
    Set StrParam1 = parameters1.Item("Drawing\Zeichnungsnummer")
    '__________________________Dateipad LESEN___________________________________________
    Dateipfad = drawingView1.GenerativeBehavior.Document.ReferenceProduct.Parent.Path
    'FullName =  drawingView1.GenerativeBehavior.document.ReferenceProduct.Parent.Fullname
    Name = drawingView1.GenerativeBehavior.Document.ReferenceProduct.Parent.Name
    '__________________________________Datei endung Part Loeschen____________________________
    LoeschEndung = Left(Name, InStrRev(Name, ".") - 1)
    'LoeschEndung = Left( Name, Len( Name) -7 ) 'Right
    '__________________________________________________________________________________________
   
    CATIA.DisplayFileAlerts = False
    Datei = Dateipfad & "\" & LoeschEndung & ".CATDrawing"
                CATIA.ActiveDocument.SaveAs (Datei)
                'CATIA.ActiveDocument.Close
      StrParam1.Value = LoeschEndung
End Sub


------------------
V5R20
Catia + Smarteam

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. Feb. 2011 22:37    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 cmb 10 Unities + Antwort hilfreich

Servus
Kleiner Anmerkung:
Warum verwendest du LoeschEndung = Left(Name, InStrRev(Name, ".") - 1)?
Ist in drawingView1.GenerativeBehavior.Document.ReferenceProduct.Parent.Name die Dateiendung enthalten?
Was passiert wenn m Dateinamen ein "." vorkommt (nicht nur bei der Dateiendung)?

Gruß
Bernd

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

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

cmb
Mitglied
Systembetreuer


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

Beiträge: 500
Registriert: 12.07.2002

CATIA V5-6R2016 64bit
Smarteam R22.6
Moldflow Adviser 2014
Lenovo Think Pad P90

erstellt am: 02. Feb. 2011 13: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

Hallo Bernd ,

du hast recht ich kann mir das extraieren der Dateiendung sparen.
Danke für den Tip.

G Norbert


------------------
V5R20
Catia + Smarteam

[Diese Nachricht wurde von cmb am 02. Feb. 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