bart
16. November 2015 um 10:09
1
Hallo ihr alle
Ich komme auf den Vorwurf zurück, der in dieser Frage erwähnt wird.
Zusammenfassend lässt sich sagen, dass ich auf der einen Seite eine Excel-Datei habe, die den Auftrag des Kunden darstellt, und auf der anderen Seite eine parametrisierte Solidworks-Datei.
Ich möchte einfach, dass Sw jede der Konfigurationen meiner Teilefamilie auffaltet und sie in dxf mit dem Namen der Konfiguration exportiert.
Also habe ich das Makro hier heruntergeladen.
Aber ich komme bei einigen Punkten nicht weiter.
- Wenn ich das Makro starte, erstellt es durch das Lesen meiner Teilefamilie ungefaltete Zustände (Flat Pattern) für alle meine Konfigurationen. Kein Problem, aber das Problem ist, dass es auch diese Konfigurationen exportiert, so dass ich am Ende doppelte Teile habe.
- Mein Teil muss 2 Mal neu erstellt werden, damit die Probleme korrekt aufgelöst werden. Also ich möchte, dass Sw vor dem Export jeder Config das Teil 2 mal vor jeder dxf-Aufnahme neu aufbaut.
Ich denke, das war's auch schon...
Damit wäre ich fast am Ende meines "Projekts"
Danke =)
1 „Gefällt mir“
bart
16. November 2015 um 10:13
2
Zusätzliche Informationen für diejenigen, die es nicht wissen, ich habe keine Kenntnisse über Vba ^^
Ich habe den Siebdruck des Basismakros angehängt
macro_de_base.png
remrem
16. November 2015 um 10:21
3
Für die Rekonstruktion der Teile:
Verwendet die Methode: Part.ForceRebuild3
Beispiel hier: http://help.solidworks.com/2015/english/api/sldworksapi/rebuild_example_vb.htm
und hier (für alle Konfigurationen): http://help.solidworks.com/2015/english/api/sldworksapi/Forcibly_Rebuild_All_Configurations_Example_VB.htm
2 „Gefällt mir“
bart
16. November 2015 um 10:26
4
Im aktuellen Makro habe ich:
bRebuild = swModel.ForceRebuild3(Falsch)
Wenn Sie Ihr "falsch" in "wahr" ändern, löst das das Problem nicht?
1 „Gefällt mir“
remrem
16. November 2015 um 10:33
6
Sie müssen sicherstellen, dass Sie das richtige Setup neu erstellen. Hier ist es das "Flat Pattern", das Sie interessiert.
Entweder, wie im zweiten Beispiel, erstellen Sie eine Liste aller Konfigurationen und erstellen sie nacheinander neu.
Oder Sie stellen sicher, dass Sie die richtige Konfiguration mit dieser Methode auswählen: swModel.ShowConfiguration2 (sConfigName)
Anschließend erstellen Sie das Modell neu.
2 „Gefällt mir“
remrem
16. November 2015 um 10:36
7
2 „Gefällt mir“
Auf der anderen Seite verstehe ich das Problem nicht, wenn du sagst :
"- Wenn ich das Makro starte, erstellt es durch das Lesen meiner Teilefamilie ungefaltete Zustände (Flat Pattern) für alle meine Konfigurationen. Keine große Sache, aber das Problem ist, dass es auch diese Konfigurationen exportiert, so dass ich am Ende doppelte Teile habe." ... Ist es nicht das, was Sie fragen, wenn Sie sagen: "Ich möchte nur, dass Sw jede der Konfigurationen in meiner Teilefamilie entfaltet, wenn Sie das Makro starten und es mit dem Namen der Konfiguration nach dxf exportieren"?
(Ich sage nicht, dass du falsch liegst, ich sage, dass ich ;) nicht verstehe)
Bearbeiten: Haaa ok Remrem. Deshalb funktioniert es nicht so, wie ich es mir wünsche, sowohl das Wahre als auch das Falsche. Ich dachte, Sie würden eine Funktion ein- oder ausschalten
1 „Gefällt mir“
bart
16. November 2015 um 10:43
9
Yes@remrem ,
Grundsätzlich sind mir "gefaltete" Konfigurationen egal.
Was mich interessiert, ist, alle Flatpattern-Konfigurationen zu exportieren, aber ohne dass Flat Pattern im Namen erscheint.
Im beigefügten Beispiel habe ich nur eine einzelne Konfiguration erstellt, um einen Test durchzuführen.
Die Konfiguration heißt "1625"
Ich bekomme diese Dateien
resultat.png
bart
16. November 2015 um 10:47
10
@Coincoin, wenn ich grundsätzlich nur eine Konfiguration auf beiden möchte
Ich will nur die Entfaltung des Raumes. Also ja, nur die "Flat Pattern"-Konfiguration, aber Entfernen des Flatpattern-Suffixes
1 „Gefällt mir“
remrem
16. November 2015 um 10:53
11
Angesichts des Codes des Makros ist es normal:
Seit:
Sie öffnen die SW-Datei. Sie listen die Konfigurationen auf. Für jede Konfiguration:Sie wählen die Konfiguration aus Sie bauen neu auf Sie exportieren die Entfaltungsansicht mit dem Namen der config dnas dem Namen der dxf-Datei
Haben Sie eine Möglichkeit, die erkannten Konfigurationen zu unterscheiden?
Sind alle Dateien aufgeklappt?
Können Sie Ihren vollständigen Code in einer txt posten??
2 „Gefällt mir“
bart
16. November 2015 um 10:54
12
Das ist der Teil, den ich nur schwer begreifen kann:
"FilePath als Zeichenfolge dimmen Pfadgröße so lange dimmen Dim PathNoExtension als Zeichenfolge Dim NewFilePath als Zeichenfolge
DateiPfad = swModel.GetPfadName PfadGröße = Zeichenfolgen.Len(Dateipfad)PfadNoExtension = Saiten.Links(DateiPfad, Pfadgröße - 6)
NewFilePath = PfadNoExtension + sConfigName & ". DXF"
Abwicklung exportieren bRet = swModel.ExportFlatPatternView(NewFilePath, 1)
Weiter i
Ende Sub"
Was ich daraus ableite, exportiert Sw jede Konfiguration mit dem Namen des Teils, den Namen der Konfiguration mit .dxf
Und dann alle "Flat Pattern"-Konfigurationen exportieren
Das stimmt?
bart
16. November 2015 um 10:57
13
@remrem
Um meine verschiedenen Teile zu erkennen, gibt es seinen Namen (Typ 1) und seine Längenkonfiguration (z.B. 1625)
Oder T1 1625.dxf, am besten wäre es, T1 LG 1625.dxf zu haben
Ich hänge das Makro an
Dort schaffe ich es, den Teilenamen "LG"config name.dxf zu erhalten
+ Teilename "LG" "Konfigurationsname" flaches Muster.dxf
macro_export_famille_de_piece_dxf.txt
Nein, es wird ein neuer Name erstellt und dann das flatPattern exportiert, indem das neue daran angehängt wird
1 „Gefällt mir“
remrem
16. November 2015 um 12:03
15
1 „Gefällt mir“
remrem
16. November 2015 um 12:05
16
Hier ist ein Bild mit Farben zum besseren Verständnis.
Erstellt mit Notepad++
[Bearbeiten: ]
Für den "Namen" ist es eine Eigenschaft?
Ist die Länge eine Eigenschaft oder nur iclus im Konfigurationsnamen?
Können Sie mir ein Standardteil für Tests zusenden?
capture.png
2 „Gefällt mir“
Um das Problem zu umgehen, würde ich Ihnen raten, die folgende Zeile nach "FilePath=swModel.GetPathName" hinzuzufügen
if String.Left(sConfigName, pathSize-15) = "SM-FLAT-PATTERN" then 'Prüfe, ob die letzten 15 Zeichen des Namens mit SM-FLAT-PATTERN übereinstimmen
Nächstes i' Wenn ja, nächste Konfiguration
oder
Und danach den normalen Verlauf des Makros fortzusetzen, ohne das "Ende wenn" vor dem "Nächsten i" zu vergessen
1 „Gefällt mir“
bart
16. November 2015 um 12:57
18
Du bist ein @remrem Chef, damit verstehe ich besser, wie Makro funktioniert. =)
Der Name ist nur der Name des Teils, später nehme ich einfach den Namen der Konfiguration
(Die T1, T2, T3 usw. werden zu Konfigurationen und nicht mehr zu Teilen)
Der Name der Konfiguration ist nicht allzu wichtig, solange ich das Protokoll des Teils im Namen der Dxf bekomme.
Ich füge das betreffende Dokument bei
corniere.zip
bart
16. November 2015 um 13:05
19
Wir nähern uns der Perfektion.
Um das Problem der Abflachung zu umgehen, habe ich anstelle der klassischen Konfigurationen abgeleitete Konfigurationen erstellt.
Am Ende habe ich also nur meine entfaltete mit dem richtigen Namen, der damit verbunden ist.
Nur @remrem, wenn Sie einen Blick auf meine Zimmerfamilie werfen können, sehen Sie, ob Sie das Gleiche getan hätten.
Danke noch einmal! =)
resultat_2.png
1 „Gefällt mir“
bart
16. November 2015 um 13:21
20
Kleine Verbesserung:
Um alles fehlerfrei zu machen, möchte ich das om des Raumes (PatchNoExtension) durch eine persönliche Eigenschaft ersetzen.
Ich habe in meiner Zimmerfamilie und in meinen Unterkünften eine Zeile "Typ" hinzugefügt
Ich möchte, dass es im Namen des DXF erscheint.
Beispiel: T1(Typ) LG 16455(Konfigurationsname).dxf