Hallo
Ich habe eine Baugruppe mit mehreren Teilen, einschließlich Teilen, die Kurven und Punkte (in 3D-Skizzen) enthalten.
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.
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
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:
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.
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
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
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.
@ 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
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.
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
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
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