Makroexport aufgeklappt dxf BIS

@Bart: Für das nächste ohne für, liegt es daran, dass ich eine Zeile mit dem Ende umkehren musste, wenn ... aber ich habe gerade nichts, um das Ende des Programms zu testen.

 

Ich werde versuchen, das morgen zu sehen

 

@Damoon: Also, bekommen wir einen kleinen Schuss Apfelwein zu Ihrem brut de pomme?

1 „Gefällt mir“

Beim Zeichnen wird es verwendet, um automatisch Eigenschaften für die Fertigung einfügen zu können...  

Und es entfernt auch die Biegelinien, so dass das DXF direkt für das Laserschneiden "sauber" ist.

Auf diese Weise habe ich nur eine Zeichnung für den Export mit eigenen Einstellungen. 

@coin37coin für Apfelwein gibt es hier in der Vendée keinen, es ist die Trouspinette^^

1 „Gefällt mir“

Das ist es, was ich habe.

 

Was muss ich tun? :p

 

Andernfalls sind wir mit dem anderen Weg fast am Ziel! Sie müssen Sw nur anweisen, nur die flachen Muster zu exportieren und dieses berühmte flache Muster aus dem Namen zu entfernen.

 


sans_titre.png

Sie müssen Ihre Referenzen aktivieren.  

Um dies zu tun, müssen Sie zum Tool gehen, dann referenzieren und die Referenzen wie im angehängten Bild überprüfen


capture.png
1 „Gefällt mir“

Nun, mach dich nicht über dich lustig^^

 

So sieht es meine Logik.

Ich freue mich auf Ihre Kommentare:p


macro.txt
1 „Gefällt mir“

Ich habe deine Art, Dinge zu tun, aufgegriffen (die Zeilen:

  NewFilePath = PfadNoExtension + sConfigName & ". DXF"
 bRet = swModel.ExportFlatPatternView(NewFilePath, 1)     )

eine Option, die ich nicht kannte^^

mit meinen Schleifen auf den Konfigurationen, die die Konfigurationen mit "SM-FLATPATTERN" "überspringen"

siehe angehängte Datei^^.


export-config.txt
2 „Gefällt mir“

Ich kannte den Code "is XXX like then goto" nicht.

Interessante Vorgehensweise, die viele Linien auflockert. Ich werde es behalten

1 „Gefällt mir“

@Bart, ich habe mir das Makro angesehen, das Sie gemacht haben.

 

Nun, offensichtlich funktioniert mein Code von "If Strings.Left(sConfigName, PathSize - 15) <> "SM-FLAT-PATTERN" " nicht großartig (wenn überhaupt).

 

Auf der anderen Seite, fürs Protokoll, seien Sie vorsichtig bei Ihrer Konstruktion. Der VBA hat eine eigene Funktion und wenn man 2 Zeilen vertauscht, kann es funktionieren oder auch nicht;)

 

Wenn Sie dies tun

if Strings.Left(sConfigName, PathSize - 15) = "SM-FLAT-PATTERN" THEN
PathNoExtension = Strings.Left(FilePath, PathSize - 6)
       bRet = swModel.ExportFlatPatternView(NewFilePath, 1)
       NewFilePath = PathNoExtension + sConfigName & ". DXF"

Im Grunde bitten Sie ihn, zu überprüfen, ob SM-FLAT-PATTERN im Namen enthalten ist

Entfernen Sie 6 Zeichen aus der Erweiterung

Erstellen Sie die entfaltete

Du gibst den Weg zum Zugang.

 

Aber wir sollten es so machen

 

PathNoExtension = Strings.Left(FilePath, PathSize - 6)
If Strings.Left(sConfigName, PathSize - 15) <> "SM-FLAT-PATTERN" THEN
       NewFilePath = PathNoExtension + sConfigName & ". DXF"
       bRet = swModel.ExportFlatPatternView(NewFilePath, 1)

Entfernen Sie 6 Zeichen aus dem Namen

Wenn der Konfigurationsname von Flat Patterne abweicht (<>)

Geben Sie den Pfad zum Datensatz an

Erstellen Sie die entfaltete

3 „Gefällt mir“

Ich ging um 1 Uhr nachts ins Bett.

 

Ich habe viel geredet, es fängt an, zu kommen... ^^

 

Ich habe ein Medley aus all deinen Makros gemacht, ich habe genommen, was interessant war.

Alles funktioniert perfekt, bis auf dieses flache Muster.

 

Eigentlich brauche ich den Namen des Teils nicht, ich muss nur den Namen der Konfiguration abrufen, um in diesem Namen "SM-FLAT-PATTERN" zu suchen und diese Zeichen zu löschen.

 

Mit der Formel "is XXX like then goto" exportiert Sw nur die Configs im Flat Pattern, also genau das, was ich will. Alles, was Sie noch tun müssen, ist den Dateinamen zu bereinigen.

1 „Gefällt mir“

Hallo

Poste die neueste Version deines Codes in einer TXT, wenn du Hilfe brauchst:)

 

1 „Gefällt mir“

Um den richtigen Weg zu finden, muss man eine kleine Modifikation vornehmen...

Siehe Anhang.

 


export-config.txt
2 „Gefällt mir“

50 Antworten! Das ist die Frage! =)

 

Hier befinde ich mich im Makro.

 

Dies sind die Zeilen, die ich ändern muss:

PfadNoExtension = Saiten.Links(DateiPfad, Pfadgröße - 6)
       NewFilePath = PfadNoExtension & ". DXF"

Dateipfad ist der Name des Teils, aber ich möchte ihn nicht, ich möchte nur den Namen der Konfiguration (sConfigName) und entferne "SM-FLAT-PATTERN"

Ich weiß, ich schweife ab....^^

 

Nochmals vielen Dank auf jeden Fall! Ohne euch weiß ich nicht, wie ich das gemacht hätte!

Auf der anderen Seite, um die beste Antwort aufzuschreiben, wird es Baumwolle sein....^^


macro.txt
2 „Gefällt mir“

Oh, du willst nur den Namen der Konfiguration?

Ersetzen Sie also die Leitung 

NewFilePath = PfadNoExtension & ". DXF"

bis

NewFilePath = Left(FilePath, InStrRev(FilePath, "\")) & sConfigName & ". DXF"

 

Bearbeiten: mit dem Makro in PJ bereinigt


macro-dxf-bart.txt
3 „Gefällt mir“

Wenn ich sCofigName + dxf eingebe, erhalte ich den Namen der Konfiguration (1548SM-FLAT-PATTERN) + dxf

 

Ich habe es versucht, aber es funktioniert nicht, warum können wir nicht setzen

PfadNoExtension = (sConfigName) , Pfadgröße -15 ? oder so ähnlich

2 „Gefällt mir“

Ja sorry, hier ist das korrigierte Makro!

Die Syntax:

        NewFilePath = Links(DateiPfad, InStrRev(DateiPfad, "\")) & links(sConfigName, len(sConfigName)- 15) & ". DXF"
 

 


macro-dxf-bart.txt
2 „Gefällt mir“

Danke Lucas! =) So ein Nickel!

Zum Schluss noch vielen Dank an alle!!

 

Nun, du wirst mir sagen, dass ich langweilig bin, aber ich möchte noch einen letzten Schritt hinzufügen................ :s

 

Direkt vor dem Namen der Konfiguration möchte ich den Typ des Teils hinzufügen (Typ 1, Typ 2 usw.)

Bei diesem Typ handelt es sich um eine persönliche Eigenschaft, die in der Teilefamilie sichtbar ist.

Also habe ich den Makrocode geändert, um diesen Schritt hinzuzufügen, aber er friert unweigerlich ein! ^^

 

Nachdem ich versprochen habe, schließe ich die Frage! :D


macro_final.png
1 „Gefällt mir“

Starten Sie dies von einer Karte oder von 3D?

Bearbeiten, versuchen Sie dies (fügen Sie die ersten beiden Zeilen hinzu und ändern Sie die 3. von der vorhandenen): 

Dim TYPE als Zeichenfolge

 

TYPE = SWmoddoc.GetCustomInfoValue("", "Typ")

NewFilePath = Links(FilePath, InStrRev(FilePath, "\")) & TYPE & left(sConfigName, len(sConfigName)- 15) & ". DXF"

2 „Gefällt mir“

Aus 3D

 

Wenn ich Dim TYPE eingebe, wird mir mitgeteilt: "Erwarteter Ocmpilationsfehler: Identifikator)

Das Gleiche gilt für die zweite Zeile :/

1 „Gefällt mir“

Oh ja, tut mir leid, dass "type" in VBA reserviert ist! Geben Sie stattdessen TYP ein:

Dim TYP als Zeichenfolge

TYP = SWmoddoc.GetCustomInfoValue("", "Typ")

NewFilePath = Links(FilePath, InStrRev(FilePath, "\")) & TYP & left(sConfigName, len(sConfigName)-15) & ". DXF"

 

Edit: Übrigens, der genaue Name Ihrer Immobilie ist "typisch"?

3 „Gefällt mir“

Der genaue Name der Eigenschaft lautet TYPE

 

Es gibt Werte wie 1 oder 2 oder 3 usw. zurück.

Um am Ende zu kommen: T1 Lg 1250.dxf

 

Kompilierungsfehler: Die Variable swmoddoc ist nicht gesetzt

Was ziehe ich an?

Dim Swmoddoc As ...........