Freiform-Oberfläche scannen/gravieren - Fusion 360

Steuerungssoftware, CAM, 2D/3D CAD, G-Code Editoren
Antworten
Anton
Beiträge: 86
Registriert: 13.08.2020, 12:34

Freiform-Oberfläche scannen/gravieren - Fusion 360

Beitrag von Anton » 13.03.2023, 20:06

Moin,
in EstlCAM ist es sehr einfach eine Freiform-Oberfläche zu scannen (Zeilen und Spalten) und anschließend zu gravieren.
https://www.youtube.com/watch?v=ApBfHW7AhsM
Mit simCNC geht das nicht, hier muss man den Umweg über eine CAD/CAM-Software gehen.
Das Scannen der Oberfläche bekomme ich mit einem kleinen Python-Skript in simCNC hin.
Die Punkte (x,y,z) der gescannten Oberfläche könnte ich dann auch in einer csv-Datei speichern.

Weiß jemand wie man in Fusion 360 so eine Datei importiert und in ein Fläche (oder Körper) umwandelt?
Oder kennt jemand eine freie Software die so was kann?


Bisher habe ich nur ein Python-Skript in Fusion entdeckt (Dienstprogramme->Zusatzmodule->Beispielskripte->ImportSplineCSV) mit der Punkte einer Zeile als Spline importiert werden könnten.
Dieses Skript lässt sich bestimmt so ändern, dass man auch mehrere Zeilen aus dem Scan importieren kann. Diese müssten dann aber noch über "Erhebung" verbunden werden. Das ist aber insgesamt alles etwas umständlich.
VG
DIY Fräse Mineralguss-ALU / simCNC-CS-Lab / CSMIO-IP-M / JMC-Servos / GDK80-12Z-2.2 - Spindel

Benutzeravatar
carbonkid
Beiträge: 181
Registriert: 28.09.2016, 16:08

Re: Freiform-Oberfläche scannen/gravieren - Fusion 360

Beitrag von carbonkid » 13.03.2023, 21:06

Hi Anton,
also bei Inventor kann man in einer Skizze Punkte mit einer Excel Tabelle einfügen. Vielleicht geht das bei Fusion360 auch.
Dann kann man ja aus diesen Punkte eine Fläche erzeugen.
Dateianhänge
BildX.jpg
Gruß Daniel

DiY Fräse : CSMIO-IP-M / JMC-iHSS57 / simCNC-CS-Lab / mini-iTX Asus Celeron 847
3D Drucker: Anycubic Delta Linear

Anton
Beiträge: 86
Registriert: 13.08.2020, 12:34

Re: Freiform-Oberfläche scannen/gravieren - Fusion 360

Beitrag von Anton » 13.03.2023, 22:00

Hallo Daniel,

bisher habe ich zu Fusion nur das gefunden:
https://knowledge.autodesk.com/de/suppo ... lines.html

Erzeugt Dir Inventor aus den Punkten automatische eine Fläche - wahrscheinlich nicht oder!?
In Fusion brauche ich einen Körper oder oder eine Fläche um eine Gravur draufzulegen.

Vielleicht versuche ich mal den Weg über eine per Skript erzeugte STL-Datei - wenn ich mal viel Zeit habe:).

VG
Anton
Zuletzt geändert von Anton am 13.03.2023, 22:08, insgesamt 1-mal geändert.
DIY Fräse Mineralguss-ALU / simCNC-CS-Lab / CSMIO-IP-M / JMC-Servos / GDK80-12Z-2.2 - Spindel

Benutzeravatar
carbonkid
Beiträge: 181
Registriert: 28.09.2016, 16:08

Re: Freiform-Oberfläche scannen/gravieren - Fusion 360

Beitrag von carbonkid » 13.03.2023, 22:05

Ah das scheint die gleiche Funktion zu sein. Hatte das bisher nur einmal in Verbindung mit Splines gebraucht.
Gruß Daniel

DiY Fräse : CSMIO-IP-M / JMC-iHSS57 / simCNC-CS-Lab / mini-iTX Asus Celeron 847
3D Drucker: Anycubic Delta Linear

Anton
Beiträge: 86
Registriert: 13.08.2020, 12:34

Re: Freiform-Oberfläche scannen/gravieren - Fusion 360

Beitrag von Anton » 20.03.2023, 18:25

Moin,

ich habe Python-Skript für Fusion 360 erstellt, welches Punkte aus eines CSV-Datei liest, daraus Splines erzeugt und diese durch eine Erhebung (Loft) zu einer Fläche verbindet. Die CSV-Datei soll bei mir über einen Oberflächen-Scan auf der Fräse mit einem 3D-Taster befüllt werden.

Durch Projektion der Eckpunkte auf eine Skizze unterhalb der Freiformfläche erhält man ein Rechteck, mit dem man durch Extrusion bis auf die Freiformfläche (Objekt) einen Körper erstellt.
Nachdem der 3-D-Körper nun vorliegt kann eine Schrift durch Extrusion Teile des Körpers ausschneiden wie z.B. hie gezeigt:
https://www.youtube.com/watch?v=dNWUQ0gUV7s
Im Cam von Fusion können dann die 3D-Routinen genutzt werden.

Leider kann ich hier keine Textdateien wie z.B. .csv oder .py hochladen, deshalb hier der Quellcode der Datei ImportSplineCSV_Boes.py:

Code: Alles auswählen

#Author- Bös
#Description- Generate Splines, the Splines lofted to a surface


import adsk.core, adsk.fusion, traceback
import io

def run(context):
    ui = None
    try:
        app = adsk.core.Application.get()
        ui  = app.userInterface
        # Get all components in the active design.
        product = app.activeProduct
        design = adsk.fusion.Design.cast(product)
        rootComp = design.rootComponent
        sketch = rootComp.sketches.add(rootComp.xYConstructionPlane)
        title = 'Import Spline csv'
        if not design:
            ui.messageBox('No active Fusion design', title)
            return
        
        dlg = ui.createFileDialog()
        dlg.title = 'Open CSV File'
        dlg.filter = 'Comma Separated Values (*.csv);;All Files (*.*)'
        if dlg.showOpen() != adsk.core.DialogResults.DialogOK :
            return
        
        filename = dlg.filename
        with io.open(filename, 'r', encoding='utf-8-sig') as f:
            points = adsk.core.ObjectCollection.create()
            splines = adsk.core.ObjectCollection.create()
            line = f.readline()
            data = []
            while line:
                pntStrArr = line.split(',')
                for pntStr in pntStrArr:
                    try:
                        data.append(float(pntStr))
                    except:
                        break
            
                if len(data) >= 3 :
                    point = adsk.core.Point3D.create(data[0], data[1], data[2])
                    points.add(point)
                data.clear() 
                line = f.readline()
               # ui.messageBox(line)
                if line.startswith('createSpline'):
                    #ui.messageBox("Create Spline")
                    #root = design.rootComponent     
                    splines.add(sketch.sketchCurves.sketchFittedSplines.add(points))
                    points.clear()
                    line = f.readline()        
        # Create loft feature input
        loftFeats = rootComp.features.loftFeatures
        loftInput = loftFeats.createInput(adsk.fusion.FeatureOperations.NewBodyFeatureOperation)
        loftSectionsObj = loftInput.loftSections
        for spline in splines:
            loftSectionsObj.add(spline)
        loftInput.isSolid = False
        loftInput.isClosed = False
        loftInput.isTangentEdgesMerged = True

        # Create loft feature
        loftFeats.add(loftInput)

    except:
        if ui:
            ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))
Dateianhänge
_0CSV_DateiBeispiel.JPG
_0CSV_DateiBeispiel.JPG (29.63 KiB) 107 mal betrachtet
_1Splines.JPG
_2Loft.JPG
_3SkizzeFuerExtrusion.JPG
_4Volumenkoerper.JPG
_5Gravur.JPG
_6Scriptauswahl.JPG
_6Scriptauswahl.JPG (30.11 KiB) 107 mal betrachtet
DIY Fräse Mineralguss-ALU / simCNC-CS-Lab / CSMIO-IP-M / JMC-Servos / GDK80-12Z-2.2 - Spindel

Benutzeravatar
carbonkid
Beiträge: 181
Registriert: 28.09.2016, 16:08

Re: Freiform-Oberfläche scannen/gravieren - Fusion 360

Beitrag von carbonkid » 20.03.2023, 21:34

Krass...einfach mal schnell ein script programmiert.
Ich wünschte ich könnte auch bissl Python programmieren.
Aber sehr gut wer weiß für was man das mal gebrauchen kann.
Gruß Daniel

DiY Fräse : CSMIO-IP-M / JMC-iHSS57 / simCNC-CS-Lab / mini-iTX Asus Celeron 847
3D Drucker: Anycubic Delta Linear

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast