| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY bietet das umfangreichste Ökosystem von B2B als auch B2C-Lösungen für IT-Akteure auf dem Markt, eine Pressemitteilung
|
Autor
|
Thema: Alle Oberflächenkörper un/sichtbar machen (1613 / mal gelesen)
|
Roland Schröder Ehrenmitglied V.I.P. h.c. Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen
Beiträge: 13438 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 / zitieren --> Unities abgeben:
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
Beiträge: 721 Registriert: 19.09.2007 Inventor Professional 2020 WinX
|
erstellt am: 15. Nov. 2018 17:33 <-- editieren / zitieren --> Unities abgeben: Nur für Roland Schröder
|
Roland Schröder Ehrenmitglied V.I.P. h.c. Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen
Beiträge: 13438 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 / zitieren --> Unities abgeben:
|
KraBBy Mitglied Maschinenbau-Ingenieur
Beiträge: 721 Registriert: 19.09.2007 Inventor Professional 2020 WinX
|
erstellt am: 16. Nov. 2018 08:04 <-- editieren / zitieren --> Unities abgeben: Nur für Roland Schröder
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 |