Makroentfernung von MEP-Achsenlinien

Hallo

Ich möchte ein Makro erstellen, um die Achsenlinien aus allen abgewickelten Ansichten in einem MEP und aus allen Registerkarten zu entfernen

Blechbauer finden, dass es ohne Achslinien besser lesbar ist

Ich habe einen Anfang mit diesen 2 Elementen gefunden, die gelöscht werden sollen

swSelCENTERMARKSYMS = 100  '  "CENTERMARKSYMS"
swSelCENTERLINES = 103     '  "MITTELLINIE"

 

und

https://www.lynkoa.com//forum/solidworks/macro-selectionner-toute-les-ligne-existante-sur-une-vue

aber ich weiß nicht, wie ich alles wieder in die richtige Reihenfolge bringen soll

 

Wenn jemand eine Idee hat

Vielen Dank

HILFE

wenn jemand weiß, wie man zumindest ein Stück Code programmiert

Oder wenn kein vollautomatisches Makro vorhanden ist, kann ich auch eine MEP-Ansicht auswählen und das Makro entfernt die Mittellinien aus den Löchern

Ein Beispiel für eine Zeichnung?

Was ist die Berechtigung, um eine DXF-Datei ohne Achsenlinie zu exportieren?

Dies ist nicht möglich, indem der Hintergrundplan oder der Kleidungsstandard des Abgeordneten geändert wird? Wenn ja, können Sie es vielleicht ohne viel Programmierung mit dem Integration (Visiativ-Tool (mycadtools)) tun, auf das Sie als Mycadservice-Abonnent Zugriff haben. Und dafür kann Ihnen die Hotline sogar weiterhelfen.

 

Andernfalls, wenn Sie programmieren müssen, müssen Sie dies für Ihr Makro tun:

Eine Schleife, die jedes Blatt 1 x 1 aktiviert

dass Sie auf jedem Blatt die 1. aktive Ansicht erhalten, dass Sie prüfen, ob der Konfigurationsname des referenzierten Teils tatsächlich Flat-Pattern ist.

Wenn ja, nehmen Sie die Änderung vor.

Grundsätzlich nicht einfach, wenn man keine Ahnung vom Programmieren hat und nicht ein paar Dinge, die man in wenigen Sekunden erkennen sieht.

Es sei denn, Sie haben einen Code, der nah genug ist.

 

1 „Gefällt mir“

Es geht darum, die Mittellinien der Bohrungen nur für abgewickelte Ansichten oder die der anderen Arten von Bohrungen zu entfernen, für die Solidworks standardmäßig die Mittellinien anzeigt, ich spreche nicht von den Biegemittellinien, ich möchte die Mittellinien der Bohrungen für die anderen Ansichtstypen automatisch beibehalten

Diese Linien müssen entfernt werden, bevor mit der Herstellung auf einer Laserschneidmaschine oder einer anderen Fertigung begonnen wird

Für die Schlaufe auf den Blättern:

https://help.solidworks.com/2021/English/api/sldworksapi/Get_Loaded_Sheets_Example_VB.htm

 

Hallo

Versuchen Sie Folgendes:

Option Explicit

Sub main()

    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swDrawing As SldWorks.DrawingDoc
    Dim vSheetName As Variant
    Dim swView As SldWorks.View
    Dim swCtrMark As SldWorks.CenterMark
    Dim swCtrLine As SldWorks.Centerline
    Dim swAnn As SldWorks.Annotation
    Dim swSelMgr As SldWorks.SelectionMgr
    Dim swSelData As SldWorks.SelectData
    Dim status As Boolean
    Dim bRet As Boolean
    Dim i As Long
    Dim SearchString As String
    Dim SearchChar As String
    Dim MyPos As Integer

    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swSelMgr = swModel.SelectionManager
    Set swSelData = swSelMgr.CreateSelectData
    Set swDrawing = swModel
    
    SearchChar = "SM-FLAT-PATTERN"
    
    vSheetName = swDrawing.GetSheetNames
    
    For i = 0 To UBound(vSheetName)
        bRet = swDrawing.ActivateSheet(vSheetName(i))
        
        Set swView = swDrawing.GetFirstView
        swModel.ClearSelection2 True
        Do While Not swView Is Nothing
            SearchString = swView.ReferencedConfiguration
            MyPos = InStr(1, SearchString, SearchChar)
            If MyPos <> 0 Then
                Set swCtrMark = swView.GetFirstCenterMark
                Do While Not swCtrMark Is Nothing
                    Set swAnn = swCtrMark.GetAnnotation
                    status = swAnn.Select3(True, swSelData)
                    Set swCtrMark = swCtrMark.GetNext
                Loop
            End If
            Set swView = swView.GetNextView
        Loop
        swModel.EditDelete
        
        Set swView = swDrawing.GetFirstView
        swModel.ClearSelection2 True
        Do While Not swView Is Nothing
            SearchString = swView.ReferencedConfiguration
            MyPos = InStr(1, SearchString, SearchChar)
            If MyPos <> 0 Then
                Set swCtrLine = swView.GetFirstCenterLine
                Do While Not swCtrLine Is Nothing
                    Set swAnn = swCtrLine.GetAnnotation
                    status = swAnn.Select3(True, swSelData)
                    Set swCtrLine = swCtrLine.GetNext
                Loop
            End If
            Set swView = swView.GetNextView
        Loop
        swModel.EditDelete
        
    Next i
    
End Sub

Herzliche Grüße

1 „Gefällt mir“

Ein großes Dankeschön an d.roger, der die Herausforderung erneut annimmt, angesichts der Häufigkeit, mit der eine meiner Fragen dank Ihnen in diesem Forum beantwortet wurde, ziehe ich meinen Hut vor Ihnen für Ihre gut geschriebenen und prägnanten Makros

1 „Gefällt mir“