Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API - Elemente auf Layer -kein- einstellen

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 SOLIDWORKS
  
Dassault Systèmes auf der Hannover Messe 2024 (kostenlose Tickets verfügbar)
Autor Thema:  API - Elemente auf Layer -kein- einstellen (308 mal gelesen)
Ralf Blokscha
Mitglied
Konstrukteur


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

Beiträge: 175
Registriert: 10.07.2000

erstellt am: 17. Mrz. 2005 12:59    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,

wie können bei selektierten Elementen per API der Layer auf -kein- umgestellt werden.

Gruß Ralf

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

Kalle
Mitglied
Student


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

Beiträge: 706
Registriert: 14.04.2002

erstellt am: 17. Mrz. 2005 13:21    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 Ralf Blokscha 10 Unities + Antwort hilfreich

Aheu Ralf,

also bei mir hat's eben mit

DrawingDoc.ChangeComponentLayer "-Kein-", True

bei Teilen funktioniert. Wenn Du andere Sachen (Skizzen, Beschriftungen, etc.) auch ausgewählst hast, so musst Du vermutlich die einzelnen Befehle dafür benutzen.

Bis dann,
Kalle

------------------
-----------------------------------------
Es gibt immer mehr Lösungen als Probleme.

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

Ralf Blokscha
Mitglied
Konstrukteur


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

Beiträge: 175
Registriert: 10.07.2000

XEON 2x3.33GHz, 8.0GB Ram, nVidia Quadro FX 570 256 MB, WIN XP64 SP 2, SWX 2007_x64 SP 5.0

erstellt am: 18. Mrz. 2005 07: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 Kalle, hallo SWXSolidWorks-User

habe als Vorlage (How_to_move_all_dimensions_to_a_different_layer.bas) von der SWXSolidWorks-API Downloadseite genommen und etwas angepasst.

Option Explicit

Const ToLayer              As String = "-Kein-"

Sub main()
    Dim swApp                  As Object
    Dim swModel                As Object
    Dim swDraw                  As Object
    Dim swView                  As Object
    Dim swAnn                  As Object
    Dim swDispDim              As Variant
    Dim NumShts                As Long
    Dim i                      As Long
    Dim n                      As Variant
   
    Set swApp = CreateObject("SldWorks.Application")
    Set swModel = swApp.ActiveDoc
    Set swDraw = swModel
   
    NumShts = swDraw.GetSheetCount
    For i = 1 To NumShts
        ' blindly go to the first sheet
        swDraw.SheetPrevious
    Next i
   
    For i = 1 To NumShts
        Set swView = swDraw.GetFirstView
        While Not swView Is Nothing
            Set swDispDim = swView.GetFirstDisplayDimension
            While Not swDispDim Is Nothing
                Set swAnn = swDispDim.GetAnnotation
               
                swAnn.Layer = ToLayer
               
                Set swDispDim = swDispDim.GetNext3
            Wend
           
            Set swView = swView.GetNextView
        Wend
       
        swDraw.SheetNext
    Next i
End Sub

Warum funktioniert das mit jedem definierten Layer aber nicht mit Layer -Kein- ?

Gruß Ralf

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

Kalle
Mitglied
Student


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

Beiträge: 706
Registriert: 14.04.2002

erstellt am: 18. Mrz. 2005 08: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 Nur für Ralf Blokscha 10 Unities + Antwort hilfreich

Aheu Ralf,

ich hab noch ein bisschen rumprobiert und festgestellt, dass swAnn.Layer einen leeren String zurückgibt wenn man es benutzt um den Layer von Beschriftungen abzufragen, die auf keinem Layer liegen. Leider kann man den leeren String nicht auch zuweisen, von daher ist es nicht möglich.
Du kannst aber einfach einen neuen Layer mit dem Namen "-Kein-" erstellen und die Einstellungen nicht anrühren. Dann hast Du das Zeugs zwar trotzdem auf einem Layer, aber die visuellen Eigenschaften sind original. Falls Du verschiedene Eigenschaften der Elemente hast (man kann die ja auch einzeln zuweisen) gibt's da noch swAnn.LayerOverride.
Schau Dir das doch auch mal an.

Bis dann,
Kalle

------------------
-----------------------------------------
Es gibt immer mehr Lösungen als Probleme.

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

Ralf Blokscha
Mitglied
Konstrukteur


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

Beiträge: 175
Registriert: 10.07.2000

XEON 2x3.33GHz, 8.0GB Ram, nVidia Quadro FX 570 256 MB, WIN XP64 SP 2, SWX 2007_x64 SP 5.0

erstellt am: 18. Mrz. 2005 10: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

Hallo Kalle,

Danke für deine Mühe und schade das es so nicht funktioniert.

Gruß Ralf

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)2024 CAD.de | Impressum | Datenschutz