| | |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS | | | |  | SOLIDWORKS NEXT | Episode 3: Von CAD Zu Code - Nahtlose Konstruktion und virtuelle Roboterprogrammierung, ein Webinar am 15.09.2026
|
|
Autor
|
Thema: Einlesen von Daten (692 mal gelesen)
|
Marcus Mitglied mdDESIGN
 
 Beiträge: 377 Registriert: 10.03.2001 SolidWorks 2010, 2011, 2012, 2013 Catia V5
|
erstellt am: 10. Sep. 2001 13:15 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, ich habe da ein kleines Problem. Ich möchte in ein Bauteil eine Skizze einfügen, Problem die Skizze besteht aus Koordinaten einer .txt Datei. Gibt es eine Möglichkeit diese Daten in eine Skizze einzulesen. In den Daten werden die Eckpunkte sowie Bohrungen des Bauteiles festgelegt. Gruss Marcus
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ralf Blokscha Mitglied Konstrukteur
 
 Beiträge: 175 Registriert: 10.07.2000
|
erstellt am: 10. Sep. 2001 15:54 <-- editieren / zitieren --> Unities abgeben:          Nur für Marcus
Hallo Marcus, Versuchs doch mal mit Tabellengesteuertem Muster, dort kannst Du mit dem Button Durchsuchen auch Textdateien öffnen. Ich selber hab es aber nicht Versucht ob das auch funktioniert. Gruß Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)

 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: 13. Sep. 2001 12:41 <-- editieren / zitieren --> Unities abgeben:          Nur für Marcus
Hallo Marcus, hab mal ein Makro gebastelt, dass deine Listen einliest und die Punkte erzeugt. Schau dir die Kommentare im Makro an, worauf du achten und wo du was ändern mußt (z.B. den Pfad zur Datendatei). Hab's auch noch als SW2001-Makro angehangen, dann brauchst du nicht Copy-Pasten. Code:
Sub main() ' Prozedur öffnet eine Skizze auf der ausgewählten Fläche oder ' Ebene eines Parts, liest aus einer Datei Koordinatenpunkte und erzeugt ' dort jeweils einen Punkt Dim swApp As Object Dim Part As Object Dim point As Object Dim datei As String Dim anzahl As Long Dim einheit As Double Dim zeile As String Dim FehlerInZeile As Boolean Dim xs, ys As String Dim x, y As Double ' hier den Pfad zur Datei mit den Punkten eintragen. Datei muss in ' jeder Zeile getrennt durch ein TAB die Koordinaten ' für X und Y stehen (in mm), Dezimaltrenner ist ein Komma. datei = "I:\stefan\sw-progs\diverse-kleine\ba2.txt" ' Umrechnungsfaktor der benutzten einheiten, da SolidWorks intern ' immer in Meter rechnet. Hier die Umrechnung in Millimeter einheit = 0.001 ' an SolidWorks anklinken Set swApp = CreateObject("SldWorks.Application") Set Part = swApp.ActiveDoc ' und eine Skizze aufmachen Part.InsertSketch ' und das automatische Schnappen am Gitter oder nahen Objekten ' zu umgehen wird direkt in die SW-Datenbasis geschrieben Call Part.SetAddToDB(True) ' dann die Datei öffnen, die Punkte einlesen und jeweils einen ' Punkt an den angegebenen Koordinaten erzeugen. Open datei For Input As #1 While Not (EOF(1)) Line Input #1, zeile anzahl = anzahl + 1 ' Fehlerflag zurücksetzen FehlerInZeile = False ' dann das umwandeln der Zeile in die koordinaten mit einer rudimentären ' Fehlerprüfung, ob Werte okay sein können. Trenner ist ein TAB xs = Left(zeile, InStr(1, zeile, Chr$(9)) - 1) ys = Mid(zeile, Len(xs) + 1, Len(zeile)) If IsNumeric(xs) Then x = CDbl(xs) * einheit Else FehlerInZeile = True End If If IsNumeric(ys) Then y = CDbl(ys) * einheit Else FehlerInZeile = True End If ' und dann entweder den Punkt setzen oder eine Meldung ' wegen fehlerhaften Inputdaten ausgeben. If FehlerInZeile Then MsgBox "Zeile " & anzahl & " enthält nicht zwei korrekte Koordinaten, bitte prüfen" Else Set point = Part.CreatePoint2(x, y, 0#) End If 'Debug.Print "Koord.:" & xs & "#" & x & "#" & ys & "#" & y Wend Close #1 Call Part.SetAddToDB(False) ' fertig, die Skizze offenhalten, falls noch dran gearbeitet werden muss MsgBox (anzahl & " viele Punkte erzeugt. Fertig") End Sub
Ciao, Stefan ------------------ -- Inoffizielle Solidworks Hilfeseite http://solidworks.cad.de EMail: Stefan.Berlitz@solidworks.cad.de
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |