Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD ObjectARX und .NET
  Name des VISUELLESTIL des VPORT = 5

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:  Name des VISUELLESTIL des VPORT = 5 (1130 mal gelesen)
Dirk.B
Mitglied
Tischler / Leiter Arbeitsvorbereitung


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

Beiträge: 534
Registriert: 25.11.2003

AutoCAD 2019/2020
CAD+T 2020
HP ZBook 15 G4, 64-bit,
WIN 10 Pro

erstellt am: 20. Dez. 2018 16: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

Hallo Zusammen!

Kann mir jemand auf die Sprünge helfen, wie ich unter .net den aktuellen VISUELLESTIL ermitteln und als String Variable speichern kann?

Code:

'//;; so ähnlich
Dim XXXX As String = ViewPort.Visual.StyleName

Setzen ist nicht das Problem:

Code:

  Private Sub set_old_visstyle(ByVal oldvis As String)

        Dim VSKa As String = Nothing

        Dim app As AcadApplication = Application.AcadApplication

        Application.SetSystemVariable("CVPORT", 5)

        Select Case oldvis
            Case "2dWireframe"
                VSKa = "2DD"
            Case "3dWireframe"
                VSKa = "DR"
            Case "3D Hidden"
                VSKa = "V"
            Case "Realistic"
                VSKa = "R"
            Case "Conceptual"
                VSKa = "K"
            Case "Shaded"
                VSKa = "S"
            Case "Shaded with edges"
                VSKa = "C"
            Case "Shades of Gray"
                VSKa = "G"
            Case "Sketchy"
                VSKa = "I"
            Case "X-Ray"
                VSKa = "Ö"
        End Select


        With app.ActiveDocument
            .SendCommand("vsa" & vbCr & VSKa & vbCr)
        End With
    End Sub


Ich möchte den aktuellen Namen (oldvis) speichern, an eine Variable übergeben,
dann zwischendurch den Stil ändern und anschließend mit dem vorher gespeichertem Namen wieder setzen.

------------------
Gruß

Dirk

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

Dirk.B
Mitglied
Tischler / Leiter Arbeitsvorbereitung


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

Beiträge: 534
Registriert: 25.11.2003

AutoCAD 2019/2020
CAD+T 2020
HP ZBook 15 G4, 64-bit,
WIN 10 Pro

erstellt am: 21. Dez. 2018 08: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


Abb_01_Visual_Styles.JPG

 
Guten Morgen Zusammen!

Wie ich die vorhandenen Visual Styles auslese habe ich.

Code:

        <CommandMethod("VisualStyleIterator")>
        Public Shared Sub VisualStyleIterator_Method()
            Dim database As Database = HostApplicationServices.WorkingDatabase

            Using transaction As Transaction = database.TransactionManager.StartTransaction()
                Dim dbDictionary As DBDictionary = CType(transaction.GetObject(database.VisualStyleDictionaryId, OpenMode.ForRead), DBDictionary)

                For Each dictEntry As DBDictionaryEntry In dbDictionary
                    Dim entry As DBVisualStyle = CType(transaction.GetObject(dictEntry.Value, OpenMode.ForRead), DBVisualStyle)
                    Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage(String.Format(vbLf & "Visual style name: {0}", entry.Name))

                Next

                transaction.Commit()
            End Using
        End Sub


Aber wie komme ich nun an den activen und kann den an eine Variable übergeben?

------------------
Gruß

Dirk

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

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



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

Beiträge: 2624
Registriert: 02.05.2006

AutoCAD LandDesktop R2 bis 2004
Civil 3D 2005 - 2014
Plateia, Canalis
Visual Basic

erstellt am: 23. Dez. 2018 15:13    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 Dirk.B 10 Unities + Antwort hilfreich

Hallo Dirk,

Interessante Geschichte, leider muß ich dazu schreiben dass ich bisher gar nichts mit den Visuellen Stilen programmiert hane aber das Thema hat mich doch etwas interessiert.
Bei der Internetsuche kam ich auf diesen Beitrag, der Dir vielleicht weiterhelfen könnte.

Dort wird für ein Ansichtsfenster ein neuer Visueller Stil ohne Sendcommand festgelegt ( obj.VisualStyleID ). Theoretisch sollte man also dort auch die Nummer des Aktiven herauslesen können. Die zugehörigen Namen hast Du ja schon aus dem Dictionary.

Vielleicht hilft's Dir ja weiter ...

Grüße
Klaus 

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

Dirk.B
Mitglied
Tischler / Leiter Arbeitsvorbereitung


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

Beiträge: 534
Registriert: 25.11.2003

AutoCAD 2019/2020
CAD+T 2020
HP ZBook 15 G4, 64-bit,
WIN 10 Pro

erstellt am: 22. Jan. 2019 09:47    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 Klaus!

Sorry, dass ich mich erst jetzt bei dir melde.
Danke für deinen Beitrag.

Ich habe es für mich nun so gelöst und das funktioniert recht gut.

Speichern des aktuellen Wert / VISUELLESTIL in einer Variablen in einem Module (Module1):

Code:

Public Shared Sub get_old_visid()
    Dim MyApp As Autodesk.AutoCAD.Interop.AcadApplication = Autodesk.AutoCAD.ApplicationServices.Application.AcadApplication
    Module1.OldVisID = System.Convert.ToInt32(MyApp.ActiveDocument.ActivePViewport.VisualStyle)
End Sub

Und anschließend setze ich den alten Wert wieder:

Code:

Public Shared Sub set_old_visid(ByVal VisID As Integer)
Dim NEWVSK As String = Nothing
Dim MyApp As Autodesk.AutoCAD.Interop.AcadApplication = _
Autodesk.AutoCAD.ApplicationServices.Application.AcadApplication
Select Case VisID
Case 1                  '//;; = "2D Drahtkörper"
NEWVSK = "2DD"
Case 11                '//;; = "Drahtkörper"
NEWVSK = "DR"
Case 5                  '//;; = "Verdeckt"
NEWVSK = "V"
Case 6                  '//;; = "Realistisch"
NEWVSK = "R"
Case 4                  '//;; = "Konzeptuell"
NEWVSK = "K"
Case 7                  '//;; = "Schattiert"
NEWVSK = "S"
Case 8                  '//;; = "Schattierung mit Kante"
NEWVSK = "C"
Case 9                  '//;; = "Grautöne"
NEWVSK = "G"
Case 10                '//;; = "Skizzenhaft"
NEWVSK = "I"
Case 12                '//;; = "Röntgen"
NEWVSK = "Ö"
End Select
MyApp.ActiveDocument.SendCommand("vsa" & vbCr & NEWVSK & vbCr)
End Sub

------------------
Gruß

Dirk

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