Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Alle Oberflächenkörper un/sichtbar machen

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:  Alle Oberflächenkörper un/sichtbar machen (1425 / mal gelesen)
Roland Schröder
Ehrenmitglied V.I.P. h.c.
Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen



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

Beiträge: 13115
Registriert: 02.04.2004

AIP2013SP2.2 XPproSP2 MS-IntelliMouse-Optical SpacePilot
DellM4600 2,13GHz 2GB FxGo1400 1920x1200
am Dock Dell2711

erstellt am: 15. Nov. 2018 15: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

Moin!

Mit freundlicher Hilfe dieses Forums habe ich ein Makro (s.u.), das mir erlaubt, sämtliche Arbeitselemte in einer Datei sichtbar oder unsichtbar zu machen. Da würde ich jetzt gern auch die sog. Flächenkörper mit einschließen. Geht das, und wenn ja, bitte wie?

Code:
Public Sub ToggleWorkElements()
    If ThisApplication.ActiveDocumentType = kPartDocumentObject Then
        Dim oPart As PartDocument
        Set oPart = ThisApplication.ActiveDocument
        Dim oWorkAxis As WorkAxis
        Dim oWorkPlane As WorkPlane
        Dim oWorkPoint As WorkPoint
        Dim V As Boolean
        If oPart.ComponentDefinition.WorkPoints.Item(1).Visible Then
          V = 0
        Else
          V = 1
        End If
        For Each oWorkPlane In oPart.ComponentDefinition.WorkPlanes
            oWorkPlane.Visible = V
        Next
        For Each oWorkPoint In oPart.ComponentDefinition.WorkPoints
            oWorkPoint.Visible = V
        Next
        For Each oWorkAxis In oPart.ComponentDefinition.WorkAxes
            oWorkAxis.Visible = V
        Next
    ElseIf ThisApplication.ActiveDocumentType = kAssemblyDocumentObject Then
        Dim oAsm As AssemblyDocument
        Set oAsm = ThisApplication.ActiveDocument
        If oAsm.ComponentDefinition.WorkPoints.Item(1).Visible Then
          V = 0
        Else
          V = 1
        End If
        For Each oWorkAxis In oAsm.ComponentDefinition.WorkAxes
            oWorkAxis.Visible = V
        Next
        For Each oWorkPlane In oAsm.ComponentDefinition.WorkPlanes
            oWorkPlane.Visible = V
        Next
        For Each oWorkPoint In oAsm.ComponentDefinition.WorkPoints
            oWorkPoint.Visible = V
        Next
    Else
        MsgBox "Geht nur für einzeln geöffnete Einzelteile und Baugruppen."
        Exit Sub
    End If
End Sub

------------------
Roland  
www.Das-Entwicklungsbuero.de

It's not the hammer - it's the way you hit!

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

KraBBy
Mitglied
Maschinenbau-Ingenieur


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

Beiträge: 601
Registriert: 19.09.2007

Inventor Professional 2020
WinX

erstellt am: 15. Nov. 2018 17: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 Roland Schröder 10 Unities + Antwort hilfreich

Hallo Roland,

hab das jetzt nicht ausprobiert, sondern nur kurz in der Hilfe gekuckt. Es gibt einen Container .ComponentDefinition.WorkSurfaces der alle Worksurface-Elemente enthält. Ob das nun die gewünschten "Flächenkörper" sind, weiß ich nicht. Kannst Du ja ggf. selbst probieren.

https://help.autodesk.com/view/INVNTOR/2019/ENU/?guid=GUID-A3EE039E-C184-46D8-A317-B386B78683DF

sollte dann genauso funktionieren...
For Each oWF In oPart.ComponentDefinition.WorkSurfaces
oWF.Visible = V
Next
(natürlich nur im If-Teil für PartDocuments)

------------------
Gruß KraBBy

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

Roland Schröder
Ehrenmitglied V.I.P. h.c.
Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen



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

Beiträge: 13115
Registriert: 02.04.2004

AIP2013SP2.2 XPproSP2 MS-IntelliMouse-Optical SpacePilot
DellM4600 2,13GHz 2GB FxGo1400 1920x1200
am Dock Dell2711

erstellt am: 16. Nov. 2018 01: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

Mir geht es um
- extrudierte oder rotierte Hilfsflächen, die ich immer häufiger für die Modelierung etwas kompliziertere Formen benötige
- per AK importierte Oberflächen anderer Bauteile

------------------
Roland  
www.Das-Entwicklungsbuero.de

It's not the hammer - it's the way you hit!

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

KraBBy
Mitglied
Maschinenbau-Ingenieur


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

Beiträge: 601
Registriert: 19.09.2007

Inventor Professional 2020
WinX

erstellt am: 16. Nov. 2018 08:04    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 Roland Schröder 10 Unities + Antwort hilfreich

jetzt ausprobiert. Die "Worksurfaces" sind genau die Elemente, die im Modellbrowser unter dem Punkt "Flächenkörper" aufgelistet sind. Entsprechend hat folgender Code bei meinem Versuch funktioniert.

(getestet in einer ipt, Rotationsfläche, Versatzfläche und Fläche aus AK)

Code:
Public Sub ToggleWorkElements()
    If ThisApplication.ActiveDocumentType = kPartDocumentObject Then
        Dim oPart As PartDocument
        Set oPart = ThisApplication.ActiveDocument
        Dim oWorkAxis As WorkAxis
        Dim oWorkPlane As WorkPlane
        Dim oWorkPoint As WorkPoint
        Dim V As Boolean
        If oPart.ComponentDefinition.WorkPoints.Item(1).Visible Then
          V = 0
        Else
          V = 1
        End If
        For Each oWorkPlane In oPart.ComponentDefinition.WorkPlanes
            oWorkPlane.Visible = V
        Next
        For Each oWorkPoint In oPart.ComponentDefinition.WorkPoints
            oWorkPoint.Visible = V
        Next
        For Each oWorkAxis In oPart.ComponentDefinition.WorkAxes
            oWorkAxis.Visible = V
        Next
        ' ----- eingefügt ----- KraBBy
        Dim oWF As WorkSurface
        For Each oWF In oPart.ComponentDefinition.WorkSurfaces
            oWF.Visible = V
        Next
        ' -----
    ElseIf ThisApplication.ActiveDocumentType = kAssemblyDocumentObject Then
        Dim oAsm As AssemblyDocument
        Set oAsm = ThisApplication.ActiveDocument
        If oAsm.ComponentDefinition.WorkPoints.Item(1).Visible Then
          V = 0
        Else
          V = 1
        End If
        For Each oWorkAxis In oAsm.ComponentDefinition.WorkAxes
            oWorkAxis.Visible = V
        Next
        For Each oWorkPlane In oAsm.ComponentDefinition.WorkPlanes
            oWorkPlane.Visible = V
        Next
        For Each oWorkPoint In oAsm.ComponentDefinition.WorkPoints
            oWorkPoint.Visible = V
        Next
    Else
        MsgBox "Geht nur für einzeln geöffnete Einzelteile und Baugruppen."
        Exit Sub
    End If
End Sub

------------------
Gruß KraBBy

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