| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| | |
 | SOLIDWORKS Simulation Standard, ein Seminar am 13.01.2026
|
|
Autor
|
Thema: fehlerhafte Biegelinien in DXF´s per API erkennen (1968 / mal gelesen)
|
botlike Mitglied Konstrukteur

 Beiträge: 15 Registriert: 11.12.2018
|
erstellt am: 22. Jan. 2019 09:44 <-- editieren / zitieren --> Unities abgeben:         
Hallo, bei uns existiert seit geraumer Zeit das Problem, dass aus unsern DXF-Vorlagen (SLDDRW) manchmal das davon abgeleitete DXF Fehler aufweist. Es werden dann Biegelinien dargestellt, die es nicht geben sollte. (siehe Screenshot) Das zu beseitigen ist kein Problem --> Zeichnungsansicht löschen und neu erstellen. Für die Funktion die ich derzeit erstelle (Auslesen von ebendiesen DXF-Vorlagen), ist es nun nötig per API festzustellen, ob ein solcher Fehler vorliegt. Ich könnte zwar im Makro die Zeichnungsansicht löschen und neu erstellen, dabei entferne ich allerdings die Informationen, die ich auslesen will. Da wir in diesen DXF-Vorlagen manche Kanten ausblenden um Laserzeit zu sparen, wäre die Konturlänge um die es mir geht verfälscht. Hat jemand von euch eine Idee wie ich den Fehler Per Makro "bemerken" kann?
Danke im Voraus. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau

 Beiträge: 2809 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 23. Jan. 2019 16:16 <-- editieren / zitieren --> Unities abgeben:          Nur für botlike
Hallo, hier wäre doch eher interessant herauszufinden woher die zusätzlichen Linien kommen, ob es irgendwie mit der Vorlage oder dem Modell zu tun hat. Kann man die Linien irgendwie nachvollziehen? Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Maler Mitglied Konstrukteur / CAD-Admin / Mädchen für alles
  
 Beiträge: 729 Registriert: 17.01.2007 SWX 2023 SP5 Draftsight 2023 Win 11 Enterprise Intel i7-13700 2.10 GHz 64GB RAM Nvidia RTX A2000 12GB SWx EPDM AP+ CSWE 2018
|
erstellt am: 24. Jan. 2019 08:08 <-- editieren / zitieren --> Unities abgeben:          Nur für botlike
Wenn du die beim Lasern sowieso nicht brauchst: Die Biegelinien entweder vor dem Export ausblenden oder auf einen separaten Layer verschieben und diesen nicht mit exportieren. Gruß, Jens ------------------ CSWE =) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
botlike Mitglied Konstrukteur

 Beiträge: 15 Registriert: 11.12.2018
|
erstellt am: 24. Jan. 2019 09:54 <-- editieren / zitieren --> Unities abgeben:         
@Bernd: Nein woher das kommt wissen wir wirklich nicht. Und da wir wussten wie wir es beseitigen können, war auch keine Motivation da, die Ursache zu finden. @Jens: Ja das war auch mein erster Ansatz, aber selbst wenn ich die Biegelinien ausblende, werden sie im DXF mit angezeigt. (Könnte vieleicht eine SW Option sein) Naja Ich hab das Problem jetzt anders gelöst. Da ich unter anderem das Zuschnittsmaß der Abwicklung auslese, habe ich einfach alle Skizzenpunkte ausgelesen, und dann die Maximal- und Minimalwerte ermittelt. Mit denen konnte ich dann wieder ein Zuschnittsmaß errechnen. Demnach kann ich über den Vergleich der beiden Zuschnittsmaße feststellen, ob das DXF im Eimer ist. Das ist zwar von "hinten durch die Brust ins Auge" aber funktioniert. 'Skizzenpunkte auslesen If Grund_des_Aufrufes = "DXF_Fehler_Kontrolle" Then SkizzenPunkt_array = swSketch.GetSketchPoints Punkt_Y_min = 999999999 Punkt_Y_max = 0 Punkt_X_min = 999999999 Punkt_X_max = 0 For o = 0 To UBound(SkizzenPunkt_array) Set swSkizzenpunkt = SkizzenPunkt_array(o) Punkt_X = swSkizzenpunkt.X * 1000 Punkt_Y = swSkizzenpunkt.Y * 1000 If Punkt_Y_min > Punkt_Y Then Punkt_Y_min = Punkt_Y ElseIf Punkt_Y_max < Punkt_Y Then Punkt_Y_max = Punkt_Y ElseIf Punkt_X_min > Punkt_X Then Punkt_X_min = Punkt_X ElseIf Punkt_X_max < Punkt_X Then Punkt_X_max = Punkt_X End If A_2 = Punkt_Y_max - Punkt_Y_min B_2 = Punkt_X_max - Punkt_X_min
Next o End If Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
CAD-Maler Mitglied Konstrukteur / CAD-Admin / Mädchen für alles
  
 Beiträge: 729 Registriert: 17.01.2007 SWX 2023 SP5 Draftsight 2023 Win 11 Enterprise Intel i7-13700 2.10 GHz 64GB RAM Nvidia RTX A2000 12GB SWx EPDM AP+ CSWE 2018
|
erstellt am: 24. Jan. 2019 10:11 <-- editieren / zitieren --> Unities abgeben:          Nur für botlike
Zitat: Original erstellt von botlike: @@Jens: Ja das war auch mein erster Ansatz, aber selbst wenn ich die Biegelinien ausblende, werden sie im DXF mit angezeigt. (Könnte vieleicht eine SW Option sein)
Es gibt bei ExportToDWG2 ja die Optionen-Bitmask. Dort kann man einstellen, ob die Biegelinien mit exportiert werden: Zitat:
The bitmask for SheetMetalOptions is {12 11 10 9 8 7 6 5 4 3 2 1}, where each bit is either 0 or 1 as follows: Bit #1: 1 to export flat-pattern geometry; 0 to not Bit #2: 1 to include hidden edges; 0 to not Bit #3: 1 to export bend lines; 0 to not Bit #4: 1 to include sketches; 0 to not Bit #5: 1 to merge coplanar faces; 0 to not Bit #6: 1 to export library features; 0 to not Bit #7: 1 to export forming tools; 0 to not Bit #8: 0 Bit #9: 0 Bit #10: 0 Bit #11: 0 Bit #12: 1 to export bounding box; 0 to not
Gruß, Jens ------------------ CSWE =) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |