Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Blöcke

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
  
Bechtle stärkt PLM-Geschäft mit Neugründung
Autor Thema:  Blöcke (1407 mal gelesen)
e.pepe
Mitglied
Technischer Fachwirt/Projektmanager/Qualitätsmanager/Konstrukteur/CAD-Admin


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

Beiträge: 109
Registriert: 18.02.2012

erstellt am: 19. Apr. 2013 12:56    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


bild2.JPG


Bild1.JPG

 
Hallo CAD Freunde :-)

Ich habe eine Frage und zwar hat jemand von Euch ein Makro der im Feature Manager (Zeichnung) die gelöschten Blöcke endgültig löscht?

Siehe Bild

Danke
Mfg
Pepe

[Diese Nachricht wurde von e.pepe am 19. Apr. 2013 editiert.]

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 19. Apr. 2013 14:41    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 e.pepe 10 Unities + Antwort hilfreich

Hallo Pepe,

hab mal in der Mittagspause wass gebastelt, ist aber noch nicht wirklich gut, da es mit dem Selektieren (und daraufhin löschen) z.B. bei umbenannten Blockdefinitionen nicht klappt oder auch "InDrawingBlöcke" (also welche, die direkt in der Zeichnung erstellt wurden ohne Datei) ein Fehler geschmissen wird. Aber ist hoffentlich ein Anfang, mit dem du weiter spielen kannst.

Code:
Sub main()
    Dim swApp                       As SldWorks.SldWorks
    Dim swDraw                      As SldWorks.DrawingDoc
    Dim SwSketchMgr                 As SldWorks.SketchManager
    Dim vBlockDef                   As Variant
    Dim vBlockInst                  As Variant
    Dim swBlockDef                  As SldWorks.SketchBlockDefinition
    Dim swBlockInst                 As SldWorks.SketchBlockInstance
    Dim NameBlock                   As String

    Dim i                           As Long
    Dim bRet                        As Boolean
    Dim NameAnf                     As Long
    Dim NameEnd                     As Long
       
    ' im laufenden SolidWorks an das aktive Dokument anklinken
    Set swApp = Application.SldWorks
    Set swDraw = swApp.ActiveDoc
   
    ' die Blockdefinitionen bekommen wir über den SketchManager
    Set SwSketchMgr = swDraw.SketchManager
    vBlockDef = SwSketchMgr.GetSketchBlockDefinitions
    
    ' wenn überhaupt irgendwelche Blöcke da sind
    If Not IsEmpty(vBlockDef) Then
       
        ' ... nacheinander alle Blockdefinitionen abklappern
        For i = 0 To UBound(vBlockDef)
           
            ' die nächste Blockdefinition holen
            Set swBlockDef = vBlockDef(i)
            'Debug.Print swBlockDef.FileName
   
            ' und alle Blockinstancen dafür holen
            vBlockInst = swBlockDef.GetInstances
           
            ' wenn es keine Blockinstanzen gibt kann gelöscht werden
            If IsEmpty(vBlockInst) Then
               
                ' für das simulierte Selektieren brauchen wir den Namen des Blockes,
                ' dazu aus dem FileNamen den Teil ohne Pfad und Endung rausschneiden
                NameAnf = InStrRev(swBlockDef.FileName, "\")
                NameEnd = InStrRev(swBlockDef.FileName, ".")
                NameBlock = Mid(swBlockDef.FileName, NameAnf + 1, NameEnd - NameAnf - 1)
               
                ' mit dem Namen dann virtuelle selektieren
                bRet = swDraw.Extension.SelectByID2(NameBlock, "SUBSKETCHDEF", 0, 0, 0, False, 0, Nothing, 0)
               
                'Debug.Print bRet, NameBlock
                ' und die selektierten Blockdefintion löschen
                swDraw.EditDelete

            End If
       
        Next i
    End If
End Sub



Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

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

e.pepe
Mitglied
Technischer Fachwirt/Projektmanager/Qualitätsmanager/Konstrukteur/CAD-Admin


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

Beiträge: 109
Registriert: 18.02.2012

erstellt am: 23. Apr. 2013 13:56    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 Stefan,

Dankeschön für das Makro werde es gleich Testen und mich bei Ihnen dann melden.

Mfg
Pepe

danke nochmal

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

BuseHase
Mitglied
Konstrukteur


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

Beiträge: 206
Registriert: 27.08.2008

Prozessor: Intel XEON QX5460 @3,16Ghz
Arbeitsspeicher: 8GB
Grafikkarte: nVidia Quadro FX 4600 768 MB
OS: Windows 7 64BIT Professional SP1
SWX 2019 SP5.0

erstellt am: 23. Apr. 2013 14:10    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 e.pepe 10 Unities + Antwort hilfreich

Also ich klicke die einzeln an und lösch ich die mit der ENTF-Taste, wozu das Makro sind es denn so viele Blöcke?

------------------
Ich bin so hungrig, das ich vor lauter Durst nicht weiss wo ich die Nacht schlafen soll, so kalt ist mir.

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

e.pepe
Mitglied
Technischer Fachwirt/Projektmanager/Qualitätsmanager/Konstrukteur/CAD-Admin


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

Beiträge: 109
Registriert: 18.02.2012

erstellt am: 23. Apr. 2013 16:23    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 Stefan,

Makro läuft super das wollte ich haben.
Bis jetzt hab ich kein Fehler gehabt. Wenn einer Fehler auftauchen sollte werde ich versuchen den zu beheben und meld mich dann nochmal.


Danke

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

e.pepe
Mitglied
Technischer Fachwirt/Projektmanager/Qualitätsmanager/Konstrukteur/CAD-Admin


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

Beiträge: 109
Registriert: 18.02.2012

Win 10 Prof.; 64Bit
SolidWorks 2018 Sp5.0
Nvidia Quadro P2000

erstellt am: 23. Apr. 2013 16: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

Hallo BuseHase,

Einzelen lösche ich ja selber aber manchmal sind es 3-4 Stück und jedes einzeln löschen hab ich keine lust also daher diese Coole Makro von Stefan mit einem Klick alle weg.. ;-)


pepe

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