Erstellen eines Makros zum Ändern der Größe von Skizzenbildern

Mein Name: KT211.bmp

Wenn ich KT211(.bmp)

Meine Nom_EsquisseAP ist gleich KT211 (vgl. MsgBox)

Aber genau darin liegt das Problem, der Name der Skizze ändert sich nicht

boolstatus = Part.Extension.SelectByID2("Skizze1", "SKIZZE", 0, 0, 0, Falsch, 0, Nichts, 0)
boolstatus = Part.SelectedFeatureProperties(0, 0, 0, 0, 0, 0, 0, 1, 0, Nom_EsquisseAP)

 

Auf der anderen Seite, wenn ich den KT211-Punkt verlasse, dann funktioniert es, der Sketch-Name wird tatsächlich geändert.

 

Bei den Änderungen handelt es sich nur um den Double-Set-Teil und die "Dateien", die Sie direkt durch folder.files (anstelle von folder.files?) ersetzen, um zu vermeiden, dass ein Satz von Dateien erstellt wird, der nur einmal verwendet wird. Ich habe noch keinen gesehen xD

Können Sie mir die Teiledatei sowie den Ordner mit einigen Bildern zusenden?

Damit ich testen kann

Das wird also nicht möglich sein xD. Ich bin Nuklearingenieur.

 

Zu Ihrer Information: In meinem Zimmer ist alles im gelöschten Zustand, wenn es also keine Räume gibt, ist es dasselbe.

Erstellen Sie schnell einen Ordner mit 3 Bildern und es funktioniert auf die gleiche Weise.

1 „Gefällt mir“

In der Tat funktioniert es, indem es einen Plan erstellt.

Bei mir funktioniert das perfekt. Der Name der Skizze ist von der Konfiguration, die nicht den Punkt hat.

 

Der Code:

Dimmen swApp als Objekt
Teil als Objekt dimmen
Dim boolstatus als boolescher Wert
Dim longstatus As Long, longwarnings As Long
SkBild als Objekt dimmen
Dim System As Scripting.FileSystemObject       'Dateisystem
Dim-Ordner als Ordner                           'Verzeichnis'
Dim-Datei als Datei                            ' Datei (Teil der Dateisammlung)
Dim Nom_Dossier As String                      ' Verzeichnisname
Dim Nom_Fichier As String                      ' Dateiname
Dim Nom_EsquisseAV As String                   ' Name der vorderen Skizze
Sun Nom_EsquisseAP As String                   ' Skizzenname nach

Sub main()
    Legen Sie swApp = Application.SldWorks fest
    Set Part = swApp.OpenDoc6("C:\Users\rmorel\Desktop\Part1.SLDPRT", 1, 0, "", longstatus, longwarnings)

    'Lesen des Verzeichnisses
    Nom_Dossier = "C:\Benutzer\rmorel\Desktop\Test"
    Systemsatz = CreateObject("Scripting.FileSystemObject")
    Set Folder = System.GetFolder(Nom_Dossier)

    'Kontrollieren Sie jede Datei im Verzeichnis
    k = 2
    Für jede Datei in Folder.Files
        Erstellen eines Skizzenbilds und Aktualisieren von Bemaßungen
        Nom_Fichier = Nom_Dossier & "\" & Fichier.Name
        Nom_EsquisseAP = Links(Fichier.Name, Len(Fichier.Name) - 4)
        
        boolstatus = Part.Extension.SelectByID2("Plan bis 4mm", "PLANE", 0, 0, 0, Falsch, 0, Nichts, 0)
        
        Part.SketchManager.InsertSketch True
        Set SkPicture = Part.SketchManager.InsertSketchPicture(Nom_Fichier)
        
        SkPicture.SetSize 50 / 1000, 60 / 1000, False
        SkPicture.SetOrigin -25/1000, -20/1000
        
        Part.ClearSelection2 Wahr
        
        boolstatus = Part.Extension.SelectByID2("Skizze1", "SKIZZE", 0, 0, 0, Falsch, 0, Nichts, 0)
        boolstatus = Part.SelectedFeatureProperties(0, 0, 0, 0, 0, 0, 0, 1, 0, Nom_EsquisseAP)
        
        boolstatus = Part.Extension.SelectByID2(Nom_EsquisseAP, "SKIZZE", 0, 0, 0, Falsch, 0, Nichts, 0)
        Teil.BearbeitenUnterdrücken2
        
        boolstatus = Part.Extension.SelectByID2("AM_P01_HO", "KONFIGURATIONEN", 0, 0, 0, Falsch, 0, Nichts, 0)
        boolstatus = Part.AddConfiguration2("AM_" & Nom_EsquisseAP, "", "", Falsch, Falsch, Falsch, Wahr, 256)
        
        Part.ClearSelection2 Wahr
        
    Nächste Datei
Ende Sub

 

Hier habe ich übrigens einen Fehler gefunden.

Es hängt mit meiner Variablen k zusammen, um zu dem anderen Sketch überzugehen, den ich angehoben habe, weil er nicht mehr nützlich war.

Der BUG

- Erstellt eine Skizze

- Umbenannt in

- Erstelle einen neuen Sketch => er wird sketch2 genannt

 

- Erstellt eine Skizze

- Umbenannt in

- Erstellt eine Konfiguration

- Erstelle einen neuen Sketch => er wird sketch1 genannt

 

Einfach ausgedrückt ermöglicht die Konfiguration ein Update, so dass Sie bei einem skizzierten Code berücksichtigen müssen, ob Sie Konfigurationen erstellen oder nicht.

Ich für meinen Teil brauchte ohne ein Inkrement k und um die "Skizzen" & k aufzurufen

Bei der Konfiguration muss ich nur noch den "sketch1" aufrufen

 

Xd

Azrod

Hallo

Das ist eine große Sache. Viel Glück demjenigen, der es schafft:)

Ich kann mir vorstellen, dass nicht alle Fotos die gleichen Abmessungen haben?

 

\o/  \o/  \o/  \o/  \o/  \o/ \o/ \o/   \ o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/  \o/ \o/ \o/ \o/  \o/ \o  /  \o/ \o/ \o/ \o/     \o  

Entschlossen

1 „Gefällt mir“

Wie und mit welchen Mitteln???

1 „Gefällt mir“

Den gesamten Code finden Sie in den Diskussionen...

Wenn es darum geht, ein Detail zu besprechen, zögern Sie nicht, Ihre Frage zu stellen. Versuchen Sie, ein wenig präziser zu sein, als Sie es gemacht haben xD.

 

Zur Erinnerung:

- Fügen Sie ein Skizzenbild ein

- Ändern der Dimension des Skizzenbildes nach dem Einfügen

- Bemaßung entsprechend der Art des Materials

- Sketch Name = Materialname

- Erstellen einer Konfiguration

- Konfigurationsname = Name der Hardware

- Schlaufe auf alle Materialien in einer Datei