Frage zu FreeCAD und ESTLCam

#1
Ich habe ein "relativ" kompliziertes Teil in FreeCad konstruiert, welches sich durch "Union" aus mehreren Teilen zusammensetzt.
Dies habe ich als dxf exportiert und in EstlCam importiert. Wenn ich dort nun die Umrisse fräsen will, muss ich vorher um das gesamte Teil drumherumklicken, da auch die "inneren" Punkte des Teils sichtbar sind.

Ich habe das hier mal mit einem einfachen Teil dargestellt. Zwei Cubes sind nach der Fusion noch als zwei Cubes in EstlCam sichtbar.


Gibt es eine Möglichkeit Teile in Freecad so zu fusionieren, dass hinterher in ESTLCam nur noch die Kontur sichtbar und einfach auszuwählen ist?

Ich bin dankbar für jeden Tip

Boris
 

Anhänge

#2
Hab gerade mal Deine Würfel ausprobiert.
Nach Fusion mit "Würfel" und "Würfel001" verschwinden bei mir die inneren Linien.
Fusion angeklickt, nach dxf exportiert und in einem uralt 2D System importiert.
So wie es sein soll, nur Aussenkanten.
Check nochmal deine Fusion Funktion.

Gruß Holger...
 
C

Charly_Brown

Gast
#3
Ich kenne FreeCAD nicht, aber so wie du es beschreibst hat die "Verschmelzen" (Union?)-Funktion nicht richtig gearbeitet, denn eigentlich sollten dann ja aus den zwei Skizzen/Körpern einer werden.
 
#4
Hi!

Holger, könntest Du mal gucken ob das bei Dir die gleichen Schritte sind:
(ich verwende 0.15 4671)

>>> App.newDocument("Unnamed")
>>> App.setActiveDocument("Unnamed")
>>> App.ActiveDocument=App.getDocument("Unnamed")
>>> Gui.ActiveDocument=Gui.getDocument("Unnamed")
>>> Gui.activateWorkbench("PartWorkbench")
>>> App.ActiveDocument.addObject("Part::Box","Box")
>>> App.ActiveDocument.ActiveObject.Label = "Cube"
>>> App.ActiveDocument.recompute()
>>> Gui.SendMsgToActiveView("ViewFit")
>>> App.ActiveDocument.addObject("Part::Box","Box")
>>> App.ActiveDocument.ActiveObject.Label = "Cube"
>>> App.ActiveDocument.recompute()
>>> Gui.SendMsgToActiveView("ViewFit")
>>> FreeCAD.getDocument("Unnamed").getObject("Box001").Placement = App.Placement(App.Vector(5,0,0),App.Rotation(App.Vector(0,0,1),0))
>>> FreeCAD.getDocument("Unnamed").getObject("Box001").Placement = App.Placement(App.Vector(5,5,0),App.Rotation(App.Vector(0,0,1),0))
>>> App.activeDocument().addObject("Part::MultiFuse","Fusion")
>>> App.activeDocument().Fusion.Shapes = [App.activeDocument().Box,App.activeDocument().Box001,]
>>> Gui.activeDocument().Box.Visibility=False
>>> Gui.activeDocument().Box001.Visibility=False
>>> Gui.ActiveDocument.Fusion.ShapeColor=Gui.ActiveDocument.Box.ShapeColor
>>> Gui.ActiveDocument.Fusion.DisplayMode=Gui.ActiveDocument.Box.DisplayMode
>>> App.ActiveDocument.recompute()
>>> __objs__=[]
>>> __objs__.append(FreeCAD.getDocument("Unnamed").getObject("Fusion"))
>>> import importDXF
>>> importDXF.export(__objs__,u"//192.168.178.21/Public/Boris/FreeCad/Flieger1/Spant1.dxf")
 
#5
das sind die schritte, wenn ich:
- "Part" Workbench
- zwei boxen erzeugen
- eine box verschiebe x und y um 5 mm
- Fusion drücke.
 
#6
Hallo Boris,

neue Erkenntnis :confused: :
heute Mittag: Win7 64bit mit FreeCad 0.16.5484 x64, Funktion ok.

heute Abend: XP 32bit mit FreeCad 0.16.5484 x86 entsteht eine Fusion mit eigentlich drei Teilen,

Cube - ohne Schnittmenge,
Schnittmenge Cube mit Cube001,
Cube001 - ohne Schnittmenge.
Also Kanten noch vorhanden.

Ich prüfe mal die Einstellungen in den beiden Versionen; da ich aber erst in der Einarbeitungephase mit
FreeCad bin, habe ich auch noch nicht allzuviel bei den Einstellungen verdreht.

nachfolgend der Verlauf ohne dxf Generierung

>>> App.newDocument("Unbenannt")
>>> App.setActiveDocument("Unbenannt")
>>> App.ActiveDocument=App.getDocument("Unbenannt")
>>> Gui.ActiveDocument=Gui.getDocument("Unbenannt")
>>> Gui.activateWorkbench("PartWorkbench")
>>> App.ActiveDocument.addObject("Part::Box","Box")
>>> App.ActiveDocument.ActiveObject.Label = "Würfel"
>>> App.ActiveDocument.recompute()
>>> Gui.SendMsgToActiveView("ViewFit")
>>> App.ActiveDocument.addObject("Part::Box","Box")
>>> App.ActiveDocument.ActiveObject.Label = "Würfel"
>>> App.ActiveDocument.recompute()
>>> Gui.SendMsgToActiveView("ViewFit")
>>> FreeCAD.getDocument("Unbenannt").getObject("Box001").Placement = App.Placement(App.Vector(5,0,0),App.Rotation(App.Vector(0,0,1),0))
>>> FreeCAD.getDocument("Unbenannt").getObject("Box001").Placement = App.Placement(App.Vector(5,5,0),App.Rotation(App.Vector(0,0,1),0))
>>> App.activeDocument().addObject("Part::Fuse","Fusion")
>>> App.activeDocument().Fusion.Base = App.activeDocument().Box
>>> App.activeDocument().Fusion.Tool = App.activeDocument().Box001
>>> Gui.activeDocument().hide("Box")
>>> Gui.activeDocument().hide("Box001")
>>> Gui.ActiveDocument.Fusion.ShapeColor=Gui.ActiveDocument.Box.ShapeColor
>>> Gui.ActiveDocument.Fusion.DisplayMode=Gui.ActiveDocument.Box.DisplayMode
>>>
(dieses Fenster hab ich heute das erste mal geöffnet :rolleyes: )

Gruß Holger...

edit: mit welchem System arbeitest Du ?
 
Zuletzt bearbeitet:
#7
Ich nochmal,
ich benutze die deutsche Sprachführung.
beim Aufruf von Fusion (boolsche Operation) bekommst Du die Auswahl:

1. Form..................2.Form

Würfel...................Würfel
Würfel001..............Würfel001

hier kannst Du die Objekte auswählen.
Sofort untendrunter steht:
Hülle
Flächenverbünde
Flächen

hier musst Du eine weitere Auswahl treffen (z.B.:Hülle), dann funktionierts.

Gruß Holger...

edit: mit Lehrzeichen kann man nicht formatieren, deshalb Punkte.
 
Zuletzt bearbeitet:
#8
Hi,
die "Hülle" ist ein guter Tip.
Nur kann ich den bei mir nicht auswählen "Shells".
Könntest Du mir mal die Ausgabe von der Python console schicken?

Danke

Boris
 

Anhänge

#9
Hi Boris,

bin den Vorgang nochmals durchgegangen:

beim 64bit System kann ich auch keine "Vorauswahl" treffen;
es wird so ausgeführt wie gedacht (erhofft).

Beim 32bit System kann ich "Hülle" anklicken und wird folgend
gestrichelt umrandet. Nach ausführen von Fusion siehts dann so aus:

Fusion.png

Das Script dazu:
>>> App.newDocument("Unbenannt")
>>> App.setActiveDocument("Unbenannt")
>>> App.ActiveDocument=App.getDocument("Unbenannt")
>>> Gui.ActiveDocument=Gui.getDocument("Unbenannt")
>>> Gui.activateWorkbench("PartWorkbench")
>>> App.ActiveDocument.addObject("Part::Box","Box")
>>> App.ActiveDocument.ActiveObject.Label = "Würfel"
>>> App.ActiveDocument.recompute()
>>> Gui.SendMsgToActiveView("ViewFit")
>>> App.ActiveDocument.addObject("Part::Box","Box")
>>> App.ActiveDocument.ActiveObject.Label = "Würfel"
>>> App.ActiveDocument.recompute()
>>> Gui.SendMsgToActiveView("ViewFit")
>>> FreeCAD.getDocument("Unbenannt").getObject("Box001").Placement = App.Placement(App.Vector(5,0,0),App.Rotation(App.Vector(0,0,1),0))
>>> FreeCAD.getDocument("Unbenannt").getObject("Box001").Placement = App.Placement(App.Vector(5,5,0),App.Rotation(App.Vector(0,0,1),0))
>>> App.activeDocument().addObject("Part::Fuse","Fusion")
>>> App.activeDocument().Fusion.Base = App.activeDocument().Box
>>> App.activeDocument().Fusion.Tool = App.activeDocument().Box001
>>> Gui.activeDocument().hide("Box")
>>> Gui.activeDocument().hide("Box001")
>>> Gui.ActiveDocument.Fusion.ShapeColor=Gui.ActiveDocument.Box.ShapeColor
>>> Gui.ActiveDocument.Fusion.DisplayMode=Gui.ActiveDocument.Box.DisplayMode

Gruß Holger...

edit: lad Dir mal eine aktuellere Version von FreeCad runter.
Offiziell ist zwar 0.15, aber die Jungs sind tausend Schritte weiter ;-) .

noch mal edit:
zum Ausführen von Fusion drückst aber auch den Button "apply"?
 
Zuletzt bearbeitet:
#10
Hi,

apply habe ich gedrückt, aber auch mit 0.16 sieht es so aus.
Wenn ich allerdings im View tab den Displaymode ändere, sieht es auch aus wie bei dir.
FreeCADGui.getDocument("Unnamed1").getObject("Box001").DisplayMode = "Shaded"
was ist denn dein DisplayMode ?

Das hat aber kein einfluss auf den dxf export, und die linien von den boxen tauchen im est wieder auf...

auch die beiden methoden der Fusion scheinen keinen unterschied zu machen:

>>> App.activeDocument().addObject("Part::Fuse","Fusion")
>>> App.activeDocument().Fusion.Base = App.activeDocument().Box001
>>> App.activeDocument().Fusion.Tool = App.activeDocument().Box

oder

>>> App.activeDocument().addObject("Part::MultiFuse"," Fusion")
>>> App.activeDocument().Fusion.Shapes = [App.activeDocument().Box,App.activeDocument().Box0 01,]
 
#11
Hi Boris,
DisplayMode: "As is", bei "Shaded" verschwinden alle Konturlinien.
Sieht das Fenster "Boolean Operation" nach apply so aus wie bei mir?
Wird die Fusion hier angezeigt?
Was wählst Du vor dem dxf-export aus?

Gruß Holger...
 
FPV1

Banggood

Oben Unten