Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  INV 2015 VBA - Alle Zeichnungs Ansichten Updaten

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  INV 2015 VBA - Alle Zeichnungs Ansichten Updaten (1633 / mal gelesen)
IVDH808
Mitglied



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

Beiträge: 48
Registriert: 07.04.2014

Inventor 2015

erstellt am: 25. Mai. 2016 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

Hallo Ich Schreibe gerade an einem VBA makro das auf einer Zeichnung alle Ansichten Updaten soll mit dem Command "DrawingViewApplyDesignViewCtxCmd"

(Rechtsklick auf die Ansicht: Benutzerdef.Ansicht anwenden)

Das ist mein Code bis jetzt. Also alle Definitionen Machen. aber spätestens beim "For Each" Befehl komme ich nicht weiter. der Auskomentierete befehl unter dem "For each" der mit call Arbeitet hat nur funktionert wenn ich vorher in der Zeichnung eine Ansicht angeklickt habe. Meine Absicht ist es aber das ganze auf jede ansicht Anzuwenden und wenn möglich noch die Meldung die jedesmal kommt gleich mit "OK" zu bestätigen

Wie komme ich mit dem "For Each" weiter?

(VBA neuling)

Gruß Daniel

Code:
Public Sub UpdateViews()

'Dokument definieren
Dim oDrawDoc As Document
Set oDrawDoc = ThisApplication.ActiveDocument

'nur für Zeichnungen möglich, ansonsten Meldung
If ThisApplication.ActiveDocument.DocumentType = kDrawingDocumentObject Then
    Set GetActiveDrawingDocument = ThisApplication.ActiveDocument
    Else
    MsgBox "nur bei Zeichnungen möglich", vbOKOnly + vbInformation
    Exit Sub
End If
' den CommandManager vorbereiten
Dim oCommandMgr As CommandManager
Set oCommandMgr = ThisApplication.CommandManager

    'Befehl definieren
Dim oViewUpdateDef As ControlDefinition
Set oViewUpdateDef = oCommandMgr.ControlDefinitions.Item("DrawingViewApplyDesignViewCtxCmd")

Dim DrwSheet As sheet
Dim DrwView As DrawingView


For Each DrwView In DrwSheet.DrawingViews
ActiveSheet.DrawingViews (DrwView.Name)

Next


' ausführen wenn es eine Zeichnung ist
'If ThisApplication.ActiveDocument.DocumentType = kDrawingDocumentObject Then
  '  Call oSViewUpdateDef.Execute
   ' Else
   ' Exit Sub
'End If


End Sub


[Diese Nachricht wurde von IVDH808 am 25. Mai. 2016 editiert.]

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 25. Mai. 2016 20:22    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 IVDH808 10 Unities + Antwort hilfreich

Hallo

Vermutlich erwartet der Befehl eine Auswahl. Dann erstmal den jeweiligen DrawingView ins SelectSet einfügen und dann mal versuchen.

Code:

Dim oSelSet as SelectSet
Set oSelSet = ThisApplication.ActiveDocument.SelectSet

For Each DrwView In DrwSheet.DrawingViews
    If oSelSet.Count > 0 Then oSelSet.Clear
    Call oSelSet.Add(DrwView)
    Call oSViewUpdateDef.Execute
Next


------------------
MfG
Ralf

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

IVDH808
Mitglied



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

Beiträge: 48
Registriert: 07.04.2014

Inventor 2015

erstellt am: 27. Mai. 2016 08: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

Zitat:
Original erstellt von rkauskh:
Hallo

Vermutlich erwartet der Befehl eine Auswahl. Dann erstmal den jeweiligen DrawingView ins SelectSet einfügen und dann mal versuchen.

Code:

Dim oSelSet as SelectSet
Set oSelSet = ThisApplication.ActiveDocument.SelectSet

For Each DrwView In DrwSheet.DrawingViews
    If oSelSet.Count > 0 Then oSelSet.Clear
    Call oSelSet.Add(DrwView)
    Call oSViewUpdateDef.Execute
Next



Hi Ralf, danke für deine idee! klingt logisch

hab das ganze gleich mal ausprobiert. aber festgestellt das man das "Call" garnicht in dem "For Each" verwenden kann. das hätte mir auch schon früher auffallen müssen. Bekomme den Laufzeitfehler '438'  (Objekt unterstützt diese Eig oder Methode nicht)

aber die Richtung Stimmt denke ich.

Gruß
Daniel

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

IVDH808
Mitglied



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

Beiträge: 48
Registriert: 07.04.2014

Inventor 2015

erstellt am: 27. Jun. 2016 15: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


inventor_konstruktionsansicht.png

 
Hi

ich nochmal zu diesem Thema. ich habe das ganze jetzt hinbekommen bis auf ein problem.

Inventor updated jetzt jeden Ansicht auf der Zeichnung nach der Reihe. Allerdings muss ich jedesmal den Dialog mit Ok bestätigen. gibt es die möglichkeit diesen dialog irgendwie zu unterdrücken/auszublenden oder ein "OK" an inventor zu schicken ?

Gruß
Daniel

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

Chris 31
Mitglied
Konstrukteur und Mädchen für alles


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

Beiträge: 575
Registriert: 23.04.2013

Inventor 2013/2015
Windows 7 64 bit
16GB RAM
nVidia Quadro 600

erstellt am: 28. Jun. 2016 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 IVDH808 10 Unities + Antwort hilfreich

Hi Daniel,

du schickst einfach ein

Code:
ThisApplication.SilentOperation = True

deinem Code vorweg.

Mit

Code:
ThisApplication.SilentOperation = False

wieder aufheben.

------------------
MFG

Chris

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

IVDH808
Mitglied



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

Beiträge: 48
Registriert: 07.04.2014

Inventor 2015

erstellt am: 28. Jun. 2016 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

hi chris,

das hab ich bereits versucht, ohne erfolg :/

hier mal mein makro

Code:
Public Sub ViewUpdate()

ThisApplication.SilentOperation = True

Dim oApp As Inventor.Application
Set oApp = ThisApplication


If oApp.ActiveDocument.DocumentType <> kDrawingDocumentObject Then
    MsgBox "Funktion ist nur in Zeichnungen zulässig"
    Exit Sub
End If

Dim oDoc As Inventor.DrawingDocument
Set oDoc = ThisApplication.ActiveDocument
Dim oView As DrawingView
Dim oViews As DrawingViews
Dim oSheets As Sheets
Set oSheets = oDoc.Sheets
Dim oSheet As sheet
Set oSheet = oDoc.ActiveSheet
Dim oSelect As SelectSet
Set oSelect = oDoc.SelectSet

'für alle Ansichten anwenden
For Each oView In oSheet.DrawingViews

If oSelect.Count > 0 Then oSelect.Clear
Call oSelect.Select(oView)

ThisApplication.CommandManager.ControlDefinitions.Item("DrawingViewApplyDesignViewCtxCmd").Execute

Next

ThisApplication.SilentOperation = False

End Sub




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

Chris 31
Mitglied
Konstrukteur und Mädchen für alles


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

Beiträge: 575
Registriert: 23.04.2013

Inventor 2013/2015
Windows 7 64 bit
16GB RAM
nVidia Quadro 600

erstellt am: 28. Jun. 2016 12:12    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 IVDH808 10 Unities + Antwort hilfreich

Versuchs mal so.
Ansonsten kannst du auch die Meldungen in den Optionen deaktivieren.
Aber dann kommt sie eben nie.

Code:
Public Sub ViewUpdate()


Dim oApp As Inventor.Application
Set oApp = ThisApplication


If oApp.ActiveDocument.DocumentType <> kDrawingDocumentObject Then
    MsgBox "Funktion ist nur in Zeichnungen zulässig"
    Exit Sub
End If

Dim oDoc As Inventor.DrawingDocument
Set oDoc = ThisApplication.ActiveDocument
Dim oView As DrawingView
Dim oViews As DrawingViews
Dim oSheets As Sheets
Set oSheets = oDoc.Sheets
Dim oSheet As sheet
Set oSheet = oDoc.ActiveSheet
Dim oSelect As SelectSet
Set oSelect = oDoc.SelectSet

ThisApplication.SilentOperation = True

'für alle Ansichten anwenden
For Each oView In oSheet.DrawingViews

If oSelect.Count > 0 Then oSelect.Clear
Call oSelect.Select(oView)

ThisApplication.CommandManager.ControlDefinitions.Item("DrawingViewApplyDesignViewCtxCmd").Execute

Next

ThisApplication.SilentOperation = False

End Sub


------------------
MFG

Chris

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

Chris 31
Mitglied
Konstrukteur und Mädchen für alles


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

Beiträge: 575
Registriert: 23.04.2013

Inventor 2013/2015
Windows 7 64 bit
16GB RAM
nVidia Quadro 600

erstellt am: 28. Jun. 2016 12: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 IVDH808 10 Unities + Antwort hilfreich

Ich hätte auch noch einen alternativen Weg für dich:

Code:
Public Sub ViewUpdate()

Dim oApp As Inventor.Application
Set oApp = ThisApplication


If oApp.ActiveDocument.DocumentType <> kDrawingDocumentObject Then
    MsgBox "Funktion ist nur in Zeichnungen zulässig"
    Exit Sub
End If

Dim oDoc As Inventor.DrawingDocument
Set oDoc = ThisApplication.ActiveDocument
Dim oView As DrawingView
Dim oViews As DrawingViews
Dim oSheets As Sheets
Set oSheets = oDoc.Sheets
Dim oSheet As Sheet
Set oSheet = oDoc.ActiveSheet

oSheet.update

End Sub


Das sollte eigentlich auch genauso funktionieren.
Zumindest macht es bei mir das was es soll.


------------------
MFG

Chris

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

IVDH808
Mitglied



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

Beiträge: 48
Registriert: 07.04.2014

Inventor 2015

erstellt am: 28. Jun. 2016 13: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

hi,

also hat leider alles beide nicht geklappt. die position des "silent operation" hab ich schon an allen möglichen stellen getested. und bei osheet.update passiert nichts

danke trozdem für deine hilfe

gruß
daniel

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

Chris 31
Mitglied
Konstrukteur und Mädchen für alles


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

Beiträge: 575
Registriert: 23.04.2013

Inventor 2013/2015
Windows 7 64 bit
16GB RAM
nVidia Quadro 600

erstellt am: 28. Jun. 2016 14: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 Nur für IVDH808 10 Unities + Antwort hilfreich

SilentOperation kann in deinem Fall auch gar nicht funktionieren, weil du das Fenster ja absichtlich aufrufst.

Code:
ThisApplication.CommandManager.ControlDefinitions.Item("DrawingViewApplyDesignViewCtxCmd").Execute

Die einzige Möglichkeit, die ich noch sehe, ist das Fenster abzufangen und ihm dann das OK geben. Ich wüsste aber nicht, wie man an dieses Fenster ran kommt.

------------------
MFG

Chris

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

IVDH808
Mitglied



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

Beiträge: 48
Registriert: 07.04.2014

Inventor 2015

erstellt am: 28. Jun. 2016 14: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

ja das dachte ich mir auch scho, das ich da irgendwie an den dialog rankommen müsste.

aber jetzt mal unabhängig von diesem makro. ich glaube ich habe rausgefunden warum es meine ansichten auf den zeichnungen immer zerstört.

in den Ansichts Eigenschaften ist bei Ansicht das "Assoziativ" häkchen draußen. das kommt daher weil ich in meiner baugruppe verschiedene bauteile ausgeblendet hab. jetzt suche ich schon fieberhaft nach dem befehl die ansicht assoziativ zu machen, aber kann nichts finden


ich glaube das würde meine andere idee mit den updates überflüssig machen

Gruß

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

Chris 31
Mitglied
Konstrukteur und Mädchen für alles


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

Beiträge: 575
Registriert: 23.04.2013

Inventor 2013/2015
Windows 7 64 bit
16GB RAM
nVidia Quadro 600

erstellt am: 28. Jun. 2016 16: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 IVDH808 10 Unities + Antwort hilfreich

Die Aktive Ansicht abfragen:

Code:
DrawingView.ActiveLevelOfDetailRepresentation() As String

dann mit:

Code:
DrawingView.SetDesignViewRepresentation( Representation As String, [Associative] As Boolean )

wieder zuweisen und Assoziativ machen.

------------------
MFG

Chris

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

IVDH808
Mitglied



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

Beiträge: 48
Registriert: 07.04.2014

Inventor 2015

erstellt am: 29. Jun. 2016 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

vielen dank für die tips!

ich hatte es gerade schon zum laufen gebracht. hat alles wunderbar geklappt. dann ist mein IV abgestürzt und ich hatte mein vba projekt nicht gespeichert. hab den code wieder aus der erinnerung neu geschrieben. seitdem klapp es nicht mehr.

das  oRep = ActiveDesignViewRepresentation hat mir davor immer den namen der aktuellen ansicht zurück gegeben. jetzt ist oRep immer leer und deshalb kann er natürlich auch nicht auf Assoziativ stellen, weil er nicht weis welche Ansicht gemeint ist. :/

Code:
Public Sub ViewUpdate()


Dim oApp As Inventor.Application
Set oApp = ThisApplication


If oApp.ActiveDocument.DocumentType <> kDrawingDocumentObject Then
    MsgBox "Funktion ist nur in Zeichnungen zulässig"
    Exit Sub
End If

Dim oDoc As Inventor.DrawingDocument
Set oDoc = ThisApplication.ActiveDocument
Dim oView As DrawingView
Dim oViews As DrawingViews
Dim oSheets As Sheets
Set oSheets = oDoc.Sheets
Dim oSheet As sheet
Set oSheet = oDoc.ActiveSheet
Dim oSelect As SelectSet
Set oSelect = oDoc.SelectSet

Dim oRep As String

'für alle Ansichten anwenden
For Each oView In oSheet.DrawingViews

If oSelect.Count > 0 Then oSelect.Clear
Call oSelect.Select(oView)

oRep = oView.ActiveDesignViewRepresentation

oView.SetDesignViewRepresentation oRep, False

Next


End Sub



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

IVDH808
Mitglied



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

Beiträge: 48
Registriert: 07.04.2014

Inventor 2015

erstellt am: 29. Jun. 2016 11: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

Ok update 

Man kann den "ActiveDesignViewRepresentation" Namen nur auslesen wenn die Ansicht Assoziativ ist.

aber ich will ja genau das damit erreichen, wenn die Ansicht nicht Assoziativ ist: mache sie Assoziativ

warum autodesk warum ???   

hier der Autodesk Forumsbeitrag:
http://forums.autodesk.com/t5/inventor-general-discussion/representation-view /td-p/3112742/page/2


danke trozdem nochmal chris

Gruß
daniel

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

BernoAn
Mitglied



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

Beiträge: 164
Registriert: 16.01.2014

erstellt am: 29. Jun. 2016 14:22    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 IVDH808 10 Unities + Antwort hilfreich

Hallo Daniel

Mit etwas suchen kommt man doch zum Ziel, so funktioniert es! 

Code:

Public Sub ViewUpdate()


Dim oApp As Inventor.Application
Set oApp = ThisApplication


If oApp.ActiveDocument.DocumentType <> kDrawingDocumentObject Then
    MsgBox "Funktion ist nur in Zeichnungen zulässig"
    Exit Sub
End If

Dim oDoc As Inventor.DrawingDocument
Set oDoc = ThisApplication.ActiveDocument
Dim oView As DrawingView
Dim oViews As DrawingViews
Dim oSheets As Sheets
Set oSheets = oDoc.Sheets
Dim oSheet As Sheet
Set oSheet = oDoc.ActiveSheet
Dim oSelect As SelectSet
Set oSelect = oDoc.SelectSet

Dim oRep As String

'für alle Ansichten anwenden
For Each oView In oSheet.DrawingViews

If oSelect.Count > 0 Then oSelect.Clear
Call oSelect.Select(oView)

Set Pfad = oView.ReferencedDocumentDescriptor.ReferencedDocument.ComponentDefinition.RepresentationsManager.DesignViewRepresentations
oRep = Pfad.Item(2).name ' hier die gewünschte Ansicht auswählen


oView.SetDesignViewRepresentation oRep, True

Next

End Sub


Gruß Berno

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

IVDH808
Mitglied



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

Beiträge: 48
Registriert: 07.04.2014

Inventor 2015

erstellt am: 29. Jun. 2016 14: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

Hi Berno,

das hilft mir leider nur bedingt. da die Ansichtsnahmen immer unterschiedlich sind und ich ja der Ansicht die gleiche wieder zuordnen will (ohne zu wissen wie die ansicht heist). Mit deiner Methode muss ich zum schluss den Namen der Ansicht angeben den ich Assoziativ machen will.

Danke trozdem für deine Hilfe

Gruß
Daniel

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