Export von Punkten im STEP-Format


Hallo

Ich habe eine Baugruppe mit mehreren Teilen, einschließlich Teilen, die Kurven und Punkte (in 3D-Skizzen) enthalten.
Ich muss einen Export im STEP-Format durchführen.
Die Volumina und Kurven sind gut, ich schaffe es, sie mehrmals zu exportieren, indem ich mit den Exportparametern spiele, aber es ist unmöglich, die Punktwolke zu haben.
Ich habe alle Optionen ausprobiert, aber nichts hat geholfen.
Ich habe den Test mit dem IGES-Format ausprobiert und alles ist in Ordnung, ich habe alles andere als unmöglich mit dem Stufenformat.
Ich sollte darauf hinweisen, dass ich gezwungen bin, in STEP zu exportieren, und diese Punktwolke ist extrem wichtig. Tatsächlich werden diese Punkte für die Sondierung in Messsoftware verwendet.
Ich glaube nicht, dass dies eine Einschränkung des Schrittformats an sich ist, da CREO es schafft, Kurven und Punkte ohne Probleme zu exportieren.
 
Kann mir jemand helfen? Vielleicht ein Makro?
 
Vielen Dank
Herzliche Grüße

Niemand hat eine Spur? Ich gebe an, dass ich Solidworks 2019 SP5 verwende.

 

Vielen Dank

Niemand hat eine Lösung für dieses Problem? Ich gebe an, dass ich Solidworks 2019 SP5 verwende.

Vielleicht wäre es zum Beispiel mit einer Solidworks-Datei einfacher, Fehler zu beheben?

Dann müssen Sie nur noch sehen, ob es auf einer anderen Version von SW funktioniert. Oder wenn es daran liegt, dass die Datei zu groß ist oder aus einem anderen Grund.

Und wenn es nicht an der Datei oder Option, sondern an der Softwarebeschränkung liegt, schauen Sie bei der Hotline nach.

 

1 „Gefällt mir“

Hallo 

Ich hänge daher die betreffende SW-Datei an. Also brauche ich, im STEP-Export, sowohl die Punktwolke als auch die Kurven.

Wenn jemand ankommt, erklären Sie mir bitte das Verfahren

 

Vielen Dank im Voraus


nuage_de_points_export_step.sldprt

Hallo

Lassen Sie mich mir die Freiheit nehmen, dieses Thema wieder aufzugreifen. Die fragliche Datei ist an meine vorherige Antwort angehängt

Vielen Dank im Voraus an diejenigen, die mir helfen konnten

Hallo Aurélien,

 

Ich habe mir Ihr Problem heute Morgen ein wenig angeschaut. Auf die Frage, ob SolidWorks es Ihnen ermöglicht, 3D-Skizzenpunkte nativ in eine STEP-Datei zu exportieren, scheint die einzige gültige Antwort zu sein, dass dies nicht möglich ist.

Da es sich bei der STEP-Datei um eine (nicht-binäre) Textdatei handelt, ist es möglich, sie mit einem beliebigen Texteditor zu öffnen. Und wenn ich einen STEP öffne, der von SolidWorks aus Ihrer Teiledatei erstellt wurde, kann ich die Koordinaten der Punkte darin nicht finden.

 

Nun ist es möglich, die Koordinaten der Punkte mit einem Makro zu extrahieren, wie es unter diesem Link vorgeschlagen wird: https://forum.solidworks.com/thread/21628#comment-135766

Ich hatte dann Spaß daran, es zu tun und einen STEP durch ein Python-Skript zu generieren (ich bin kein Fan von VBA-Makros). Da die Definition des STEP-Formats in einem kostenpflichtigen Standard erfolgt, habe ich dies durch Interpolation von Beispielen von STEP-Dateien gemacht. Das Problem ist, dass SolidWorks Punkte aus STEP-Dateien nicht als physische Punkte importiert. Dies hängt wahrscheinlich damit zusammen, dass er nicht zwischen einem einzelnen Punkt, der als solcher betrachtet werden sollte, und Punkten, die Kurvenendpunkte definieren und die nicht einzeln berücksichtigt werden sollten, unterscheiden kann.

Das Importieren meiner generierten STEP-Datei führt daher zu einem leeren Teil. Das Gleiche gilt für FreeCAD. Dann stelle ich mir zwei Fragen:

  • Haben Sie ein Beispiel für eine STEP-Datei, in der nur Punkte von Creo exportiert wurden, um sie als Vorlage zu verwenden und sicherzustellen, dass meine generierte Datei ähnlich ist?
  • Können Sie versuchen, die beiden angehängten STEP-Dateien in Ihre Messsoftware zu importieren (falls ich mich blind geirrt habe)?

Wenn es auf diese Weise funktioniert, wird es einfach sein, mein Python-Skript in VBA zu konvertieren, so dass ich es direkt aus der SW verwenden kann.


fichiers_step_generes_v1.zip
2 „Gefällt mir“

Hallo

Nur eine Frage: Warum Maschen im Gleichschritt exportieren?

Sie können sie in Form einer Excel-Tabelle mit diesem Makro angeben.

Möge die Macht mit dir sein


pointtoexcel.swp
1 „Gefällt mir“

Hallo mgauroy,

Zunächst einmal danke ich Ihnen für die aufgewendete Zeit und die durchgeführten Tests .

Also habe ich versucht, die Dateien in meine Messsoftware zu importieren, aber ich hatte nichts, sie ist leer, wie wenn ich versuche, auf SW zu öffnen. Auf der anderen Seite, was Ihre Anfrage betrifft, die Punkte mit creo exportieren zu lassen,  wird es schwierig sein. Ich habe diese Software nicht und es handelt sich um eine Datei, die von einem Client gesendet wurde, die ich durch Entfernen der Volumes überarbeitet habe.

Auf der anderen Seite ist SW durchaus in der Lage, die Punkte anderer STEP-Dateien zu lesen, den Beweis mit der Datei, die ich Ihnen geschickt habe. 

Ich kann versuchen zu schauen, ob ich diese Punktwolke direkt in STEP bekomme und hierher schicke, ohne sie auf SW zu überarbeiten. 

Übrigens, wenn ich mich nicht irre, funktioniert der Punktexport auch beim 2D-Skizzieren nicht.

Glauben Sie, dass es eine Lösung gibt?

Meine Grüße

Hallo

Ganz einfach, weil ich diese Punkte brauche, um zu wissen, wo ich mit meiner 3D-Kontrollmaschine sondieren soll. Das Problem ist jedoch, dass diese Punkte mit dem 3D-Modell des Teils verknüpft werden müssen. Leider sind die Dateien, die ich in meine Messsoftware importieren kann, nur im STEP-Format.

Also zeichne ich mein Modell, meine Kurven und meine Punkte und exportiere es in STEP. Ich muss die verschiedenen Exportoptionen verwenden, um die Kurven und das Modell (2 STEP-Dateien) zu erhalten, aber es ist unmöglich, die Punkte zu bekommen. 

Die Lizenz der Messsoftware unterstützt mehrere Formate, einschließlich des IGES, aber leider ist die Option kostenpflichtig, also habe ich die Hotline der Software gebeten , einen Test durchzuführen, ob es mit dem IGES funktioniert und alles in Ordnung ist, es gibt alles, Modell, Kurven und Punkte noch dazu mit einer einzigen Datei.

Wir haben uns für die Option STEP entschieden, weil einer unserer Kunden mit diesem Format arbeitet und uns die Volumes (die mit Creo erstellt wurden) zur Verfügung gestellt hat, aber wir haben nicht damit gerechnet, dass es nicht mit Solidworks funktionieren würde. Wenn ich also eine bohrende Änderung vornehmen muss, ärgere ich mich

Daher meine Frage, eine Problemumgehung zu finden, da es derzeit nicht möglich ist, die IGES-Option zu kaufen .

Das war's, jetzt habe ich meinen Kunden gebeten, mir, wenn möglich, nur die Kurven zu schicken, um zu sehen, wie es formatiert ist und um zu sehen, ob wir dies mit einem Makro reproduzieren können.

Vielen Dank für das Interesse

@ aurelien.buathier

ok ich verstehe

Ich kenne das Thema nicht gut, ich kann etwas Dummes sagen, aber ich sage es trotzdem , ist es möglich, an jedem Punkt eine Mikrokugel zu platzieren?

Möge die Macht mit euch sein.

 

1 „Gefällt mir“

@ OBI WAN

Das ist keine Dummheit, ganz im Gegenteil.

Das Problem ist, dass ich meine Messsoftware brauche, um sie als Punkt und nicht als Kugel interpretieren zu können

Um meine Worte zu veranschaulichen, hänge ich 1 Screenshot in meiner Messsoftware an, der zeigt, dass ich 2 Dinge brauche. Die Oberfläche des Modells und der Punkt, den ich als Exat-Koordinaten zum Aufnehmen von Punkten verwende. In dem Wissen, dass dieses Programm geteilt wird, soll es die Messung zuverlässiger machen, im Falle einer Änderung können wir uns gegenseitig die Korrekturen senden. Mein Problem ist, dass ich seine Punkte auf SW ändern, aber nicht in STEP speichern kann.

Ich weiß, dass dies eine sehr spezifische Anfrage ist, aber es ist ziemlich überraschend, dass der Export in die Kläranlage so viele Probleme aufwirft.  Zumal es auch für andere Software funktioniert. 

Aber ich denke, dass die von @mgauroy vorgeschlagene Lösung eine Lösung ist, die verfeinert werden muss

Danke für die Hinweise

Herzliche Grüße


logiciel_metrologie.jpg
1 „Gefällt mir“

Hallo, wenn ich Ihren Kunden bei CREO richtig verstanden habe.

Warum senden Sie Ihre Datei nicht an IGES, damit sie in eine STEP-Datei umgewandelt werden kann?

Wenn ich Ihre SW-Datei unter SW öffne und in IGES speichere und dann in CATIA öffne, kann ich sie problemlos in STEP speichern.

 

1 „Gefällt mir“

Hallo Franck

Es ist in der Tat eine Möglichkeit, aber Sie können verstehen, dass es für 1 oder 2 Dateien möglich ist, aber wir sprechen über mehrere Programme. Als Subunternehmer muss ich Zwischenprogramme erstellen, die nicht direkt mit dem Endprodukt zu tun haben, ganz zu schweigen davon, dass ich, wenn ich ein Programm von A bis Z erstellen möchte, nicht selbstständig arbeiten kann. Wenn es nur ein paar Programme wären, hätte ich nicht nach einer anderen Lösung gesucht als der, die Sie auflisten. Von Projekten für andere Kunden ganz zu schweigen. 

Ich brauche eine praktikable Lösung mit den mir zur Verfügung stehenden Mitteln

Vielen Dank für die Antwort

Franck

Wäre es möglich, die STEP-Datei von CATIA generieren zu lassen? Ich möchte testen, ob die Punkte in meiner Messsoftware angezeigt werden?

Vielen Dank im Voraus

Ich wünsche euch allen ein schönes Wochenende

Hallo

Können Sie eine von Creo generierte STEP-Datei anhängen (mit Punkten, die so aussehen, wie sie sollten)?

Hallo

Ich habe die von CREO generierte Datei erhalten, ich habe festgestellt, dass die 2. STEP-Datei, die von mgauroy (vor 6 Tagen) generiert wurde, tatsächlich dem CREO-Format ähnelt. Also untersuchte ich, warum die Punkte in meiner Messsoftware nicht angezeigt wurden, und stellte fest, dass es sich tatsächlich um eine Option der Software handelte, deren Aktivierung ich vergessen hatte.

Die Datei, die die Zeilen nicht enthält, VERTEX_POINT ('', #1); ist lesbar und nutzbar.

Jetzt muss ich in der Lage sein, ein Makro zu erstellen, das es mir ermöglicht, seine Punkte in zu extrahieren. STEP für jede Montage, die ich auf SW mache. 

Wenn mgauroy mir oder einer anderen Person helfen kann, freut es sich sehr

Vielen Dank 

Hallo Versuchen Sie das:

Option Explicit
Dim FilePath As String
Dim myPoints As Collection

Sub main()
    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    If swModel Is Nothing Then
        MsgBox "Ouvrir une pièce"
        Exit Sub
    End If
    If swModel.GetType <> swDocumentTypes_e.swDocPART Then
        MsgBox "Ouvrir une pièce"
        Exit Sub
    End If
    swApp.SetUserPreferenceIntegerValue swUserPreferenceIntegerValue_e.swStepAP, 214
    swApp.SetUserPreferenceIntegerValue swUserPreferenceIntegerValue_e.swStepExportPreference, swAcisOutputGeometryPreference_e.swAcisOutputAs3DCurves_IncludeSketchEnts
    
    FilePath = Left(swModel.GetPathName, InStrRev(swModel.GetPathName, ".") - 1) & ".STEP"
    swModel.Extension.SaveAs2 FilePath, 0, swSaveAsOptions_e.swSaveAsOptions_Silent, Nothing, Empty, False, Empty, Empty
    
    Set myPoints = New Collection

    Dim swFeat As SldWorks.Feature
    Dim swSubFeat As SldWorks.Feature
    Set swFeat = swModel.FirstFeature
    While Not swFeat Is Nothing
        ProcessFeat swFeat
        Set swSubFeat = swFeat.GetFirstSubFeature
        While Not swSubFeat Is Nothing
            ProcessFeat swSubFeat
            Set swSubFeat = swSubFeat.GetNextSubFeature
        Wend
        Set swFeat = swFeat.GetNextFeature
    Wend

    UpdateStep Empty
    
    swApp.SetUserPreferenceIntegerValue swUserPreferenceIntegerValue_e.swStepExportPreference, swAcisOutputGeometryPreference_e.swAcisOutputAsSolidAndSurface
End Sub

Sub ProcessFeat(ByVal swFeat As SldWorks.Feature)
    Dim swSketch As SldWorks.Sketch
    Dim swPt As SldWorks.SketchPoint
    Dim vPts As Variant
    Dim vPt As Variant
    'Debug.Print swfeat.Name & " " & swfeat.GetTypeName2
    If swFeat.GetTypeName2 = "ProfileFeature" Or swFeat.GetTypeName2 = "3DProfileFeature" Then
        Set swSketch = swFeat.GetSpecificFeature2
        vPts = swSketch.GetSketchPoints
        For Each vPt In vPts
            Set swPt = vPt
            If Not swPt Is Nothing Then
                If swPt.Type = swSketchPointType_e.swSketchPointType_User Then
                    myPoints.Add " = CARTESIAN_POINT ( 'NONE',  ( " & swPt.X * 1000 & ", " & swPt.Y * 1000 & ", " & swPt.Z * 1000 & " ) ) ;"
                End If
            End If
        Next
    End If
End Sub

Sub UpdateStep(void)
    Dim myData As String
    Dim filenum As Integer
    filenum = FreeFile
    Debug.Print FilePath
    Open FilePath For Binary As #filenum
    myData = Space$(LOF(1))
    Get #filenum, , myData
    Close #filenum
    
    Dim Lines() As String
    Lines = Split(myData, vbCrLf)
    Dim line As Variant
    Dim MaxNum As Integer
    For Each line In Lines
        If Left(line, 1) = "#" Then
            MaxNum = CInt(Mid(line, 2, InStr(line, "=") - 3))
        End If
    Next
    
    Dim i As Integer
    Dim myLines As String
    For i = 1 To myPoints.Count
        myLines = myLines & "#" & MaxNum + i & myPoints(i) & vbCrLf
    Next i
       
    Dim EndString As String
    EndString = "ENDSEC;" & vbCrLf & "END-ISO"
    myData = Replace(myData, EndString, myLines & EndString)
    
    Open FilePath For Output As #filenum
    Print #filenum, myData
    Close #filenum
End Sub

 

2 „Gefällt mir“

Hallo Jerome

Vielen Dank für das Skript, ich habe einen Test gemacht, es funktioniert perfekt, Auf der anderen Seite kann ich nicht direkt aus einer Baugruppe mit mehreren Teiledateien arbeiten, die Punkte haben, ist das richtig? Ich muss jedes Stück einzeln öffnen und das Skript ausführen. Es ist an sich kein Problem, aber ich hätte gerne den Rest der Datei (Volumen und Kurve) so machen können, nämlich die Teile, die die Punkte enthalten, auf dem Bildschirm anzuzeigen und dann eine einzige STEP-Datei mit allen Punkten zu erhalten. 

Auch eine Sache, die Nummerierung der Punkte wird als NONE angezeigt, ich wünschte, ich könnte die Punkte so benennen, wie ich wollte, aber ich habe auf SW geschaut und konnte diese Option nicht finden. SW gibt eine Zahl Punkt1, Punkt2 usw. an. automatisch, aber ich hätte gerne den Namen jedes Punktes angeben können und dann während des Exports in STEP, dass der Name beibehalten wird. Ist das möglich?

Um meinen Standpunkt zu veranschaulichen, werde ich die CREO-Datei einfügen, die ich von meinem Kunden erhalten habe. Wenn ich versuche, es im SW zu öffnen, sagt es mir, dass es sich um eine Baugruppe handelt, und im Inneren entsteht ein Raum mit den Punkten. So kann ich die Datei nur mit den Punkten gut lesen. Sie werden sehen, dass die Punkte alle nummeriert sind. 

Nun bin ich mir sehr wohl bewusst, dass die Anfrage nicht einfach ist und selbst wenn es möglich ist, aber das ist es, was ich erreichen möchte

In der Zwischenzeit danke ich Ihnen allen für die Arbeit und vor allem für die Bereitstellung einer Lösung. 

Sag mir, was du denkst

Vielen Dank


nuages_de_points_creo.stp
2 „Gefällt mir“

Hallo

Tatsächlich ist mir klar, dass ich dieses Makro wirklich brauche, um direkt aus einer Baugruppe heraus zu arbeiten, da sie sich sonst beim erneuten Importieren der Dateien nicht im richtigen Koordinatensystem befinden und nicht in das Teil passen, da ich mich im lokalen Koordinatensystem und nicht im Baugruppenkoordinatensystem befinde.

Ist das möglich oder nicht?

Vielen Dank