Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  STL-Export mit Regionen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS
  
InnovateNext 26. in Donaueschingen, eine Veranstaltung am 13.11.2025
Autor Thema:  STL-Export mit Regionen (2413 mal gelesen)
wkre
Mitglied
Konstruktuer

Sehen Sie sich das Profil von wkre an!   Senden Sie eine Private Message an wkre  Schreiben Sie einen Gästebucheintrag für wkre

Beiträge: 6
Registriert: 08.12.2009

XP Pro, SW 2003 SP0

erstellt am: 12. Jan. 2010 14:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Servus!

Wenn man mit SolidWorks ein Bauteil als STL exportiert (ASCII-Format), kann man sich nachher die Datei ansehen und "lesen". Dabei fällt auf, dass es sich eigentlich um eine Auflistung von Dreiecken handelt. Ganz obenan steht der Bezeichner des Volumenkörpers. Beispiel:

Code:
solid test
  facet normal -1.000000e+000 0.000000e+000 0.000000e+000
      outer loop
        vertex 0.000000e+000 2.980000e-001 0.000000e+000
        vertex 0.000000e+000 0.000000e+000 0.000000e+000
        vertex 0.000000e+000 2.980000e-001 6.000000e-001
      endloop
  endfacet
...
(viele Dreiecke)
...
  facet normal -1.840703e-016 0.000000e+000 1.000000e+000
      outer loop
        vertex 1.180535e+000 1.800000e-001 6.000000e-001
        vertex 1.871000e+000 0.000000e+000 6.000000e-001
        vertex 1.871000e+000 1.800000e-001 6.000000e-001
      endloop
  endfacet
endsolid

Ich hätte nun gerne einen STL-Export, bei dem ich verschiedene Flächen unterschiedlich benennen kann, also so:

Code:
solid test1
  facet normal -1.000000e+000 0.000000e+000 0.000000e+000
...
(viele Dreiecke)
...
  endfacet
endsolid test1

solid test2
  facet normal -1.000000e+000 0.000000e+000 0.000000e+000
...
(viele Dreiecke)
...
  endfacet
endsolid test2


Beispielsweise kann man 2 STL-Dateien aneinanderkopieren und beim Import ergeben sich dann eben beide Körper.

Hierbei ist zu beachten, dass "solid/endsolid" irreführend ist: man kann damit auch Flächen beschreiben. Und genau das ist es, was ich machen möchte. Ich möchte einen Körper exportieren, in dem ich vorher den Flächen des Körpers definierte Bezeichner zuweisen kann. Geht das irgendwie mit SolidWorks? Wir haben hier 2003 und 2007, ich finde in beiden keine Möglichkeit. Gibt es vielleicht Plugins? Oder gibt es gar andere (vorzugsweise freie) Software, die das kann? (Gehört der Thread dann vielleicht woanders hin?)

Ciao
Wolle

P.S.: Benötigt wird das Ganze, um später mal Randbedingungen für FEM (...) an die Flächen knüpfen zu können.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



Sehen Sie sich das Profil von StefanBerlitz an!   Senden Sie eine Private Message an StefanBerlitz  Schreiben Sie einen Gästebucheintrag für StefanBerlitz

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 12. Jan. 2010 16:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wkre 10 Unities + Antwort hilfreich

Hallo Wolle,

nein, so was gibt es nicht im Standardumfang, ich kenn auch so etwas nicht als Addin und kann mir nicht vorstellen, dass so etwas jemand als Fingerübung für Lau macht. Theoretisch sollte es aber möglich sein so etwas zu programmieren, es gibt z.B. einen API Call namens Face2::GetTessTriangles , mit dem man die Tessalierungsdreieckchen einer Fläche bekommt (so ähnlich funktioniert ja auch der STL Export)

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de
Stefans SolidWorks Blog

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Oberli Mike
Ehrenmitglied V.I.P. h.c.
Dipl. Maschinen Ing. / Supporter



Sehen Sie sich das Profil von Oberli Mike an!   Senden Sie eine Private Message an Oberli Mike  Schreiben Sie einen Gästebucheintrag für Oberli Mike

Beiträge: 3864
Registriert: 29.09.2004

SOLIDWORKS 2024 SP3.1
SOLIDWORKS 2023 SP5.0
SOLIDWORKS 2022 SP5.0
SOLIDWORKS 2021 SP5.1

erstellt am: 12. Jan. 2010 16:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wkre 10 Unities + Antwort hilfreich

Wenn du das STL-File als Klartext so hast, kannst du das z.B. in Excel sehr einfach als Makro hinterlegen.

Öffnen der Datei
Zeilenweise einlesen
    entscheiden was in der Zeile Steht und entsprechend in ein anderes File als Zeile schreiben
    oder halt eine eigene Zeile einschreiben (z.B. endsolid test1)

und so weiter

Allerdings, wie bekommt man ein STL-File als Klartextfile hin? Bei mir ist es für mich unleserlich.

Gruss
Mike

------------------

The Power Of Dreams

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wkre
Mitglied
Konstruktuer

Sehen Sie sich das Profil von wkre an!   Senden Sie eine Private Message an wkre  Schreiben Sie einen Gästebucheintrag für wkre

Beiträge: 6
Registriert: 08.12.2009

XP Pro, SW 2003 SP0

erstellt am: 12. Jan. 2010 16:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Zwischenablage01.jpg

 
Servus!

Also eine "lesbare" Variante bekommt man grundsätzlich mittels Export im ASCII-Format. Diese ist natürlich nachträglich weiterverarbeitbar, sowohl mittels z.B. Excel, als auch mittels kleinen Programmen oder (unter Linux Gang und Gäbe) Shellscripten.

Das Problem ist, dass beim Export ja JEDES Dreieck aufgelistet wird. Ich könnte also auch JEDEM Dreieck einen Bezeichner zuordnen. Inwiefern das Konsequenzen auf den nachfolgenden Prozess hat (Anzahl der Randbedingungen steigt enorm, ich weiß nicht, ob die bei der Lösung "intelligent" (im Sinne von nebeneinander liegenden und eine Fläche bildenden Dreiecken) zusammengefasst werden), kann ich momentan nicht sagen. Wäre für die Flexibilität und den Aufwand des Lösungsprozesses generell keine brauchbare Lösung.

Prinzipiell müsste man WISSEN, welche Gruppe von Dreiecken zusammengehört, um eine solche maschinelle Weiterverarbeitung a la Excel/Shellscript zu realisieren. Da SW die Dreiecke ja aber automatisch (in kaum allgemein-algorithmischer Form nachvollziehbarer Weise) tut, sind mir somit also ebenso die Hände gebunden...

Ich hänge mal ein simples Beispiel an. Was man sieht, ist die Vorschau für den STL-Export in SW2003. Dargestellt ist ein Verteiler mit einem Eingang (links), zwei Ausgängen (rechts) und einer Klappe, die den Durchfluss zwischen den Ausgängen reguliert (die Maus steht auf einem Dreieck dieser Klappe!). Was ich möchte, wäre nun also, alle Flächen, die eine Wand bilden als solche zusammenzufassen (solid1), außerdem die je 2 Dreiecke pro Aus- und Eingang zu jeweils einer Fläche. Im SW würde ich also gerne Flächen auswählen und diese einzeln als STL exportieren, zusammenführen könnte man ja immer noch händisch/per Script. Oder aber man wählt Flächen, gruppiert diese (inkl. Vergabe eines Bezeichners) und exportiert dann (unter der Berücksichtigung der vergebenen Bezeichner).

Prinzipiell habe ich von einer solchen Funktion (in SW!) auch noch nicht gehört und es fällt mir schwer, mir eine solche im Funktionsumfang vorzustellen. Vielleicht gibt's ja aber jemanden mit ner findigen Idee oder ich weiß eben doch nicht alles...  

Ciao
Wolle

EDIT: Naja! Ich hab da gerade eine Idee!
Vorgehen:
Schleife (für alle gewünschten Regionen)
1. Flächen auswählen, die exportiert werden sollen.
2. Makrobutton anklicken
3. Makro fragt nach Dateinamen
4. Makro exportiert nur die ausgewählten Flächen mittels o.g. Funktion
Schleife-Ende
5. Manuelles Zusammenführen der einzelnen Dateien

Wäre das ne Option? Leider kann ich das so auf die Schnelle nicht ausprobieren, da mir explizit VisualBasic-Kenntnisse wie auch die der SW-API fehlen... 

[Diese Nachricht wurde von wkre am 12. Jan. 2010 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz