0.17/18 PartDesign boolsche Differenz mit Rohrkörper funktioniert bei mir nicht mehr.

In diesem Forum Fragen und Diskussionen in Deutsch
Forum rules
Foren-Regeln und hilfreiche Informationen

WICHTIG: Bitte zuerst lesen, bevor Sie posten
HBC0
Posts: 96
Joined: Wed Sep 23, 2015 5:44 pm
Location: MRN(Germany)

0.17/18 PartDesign boolsche Differenz mit Rohrkörper funktioniert bei mir nicht mehr.

Postby HBC0 » Wed Oct 10, 2018 12:57 pm

Angehängte Beispieldatei habe ich mit FC- 017.13522 in der PartDesign-WB ohne Probleme erstellen können.

bool_dif_shape_test000 0.png
bool_dif_shape_test000 0.png (62.02 KiB) Viewed 198 times


Erstelle ich dieses Modell neu mit einer Version ab 017.1341 bis 0.18.14956 schlägt die boolsche Differenz ohne offensichtliche Fehlermeldung fehl. Lediglich wenn ich mit der Maus über Boolean verweile bekomme ich folgenden Hinweis/ToolTip
„Boolean: Result has multiple Solids.This is not supported at this time. :o

Speichere ich jetzt diese Datei und öffne sie mit der 017.13522 und führe eine Änderung oder Neuberechnung durch erhalte ich wieder das erwartete Ergebnis.

Im Umgekehrten Fall, öffne ich die angehängte Beispieldatei in einer Version ab 17.13541 zerbricht das Modell bei einer Änderung in Body, oder einer Neuberechnung, mit Error Boolean.

Vereinigung und Schnitt scheinen auch in den neueren Versionen zu funktionieren ebenso die Differenz mit VOLLKÖRPER

Spekulation:
Könnte Fix #3401 vom 13.Juli 2018 https://github.com/FreeCAD/FreeCAD/comp ... eeCAD-0-17
etwas damit zu tun haben?

Leider sind meine Programmierkenntnisse gleich null und mein Englisch is not the yellow from the egg.

Mein OS ist Win7, 64bit

Bruno
Attachments
bool_dif_shape_test000.FCStd
(33.75 KiB) Downloaded 5 times
chrisb
Posts: 10803
Joined: Tue Mar 17, 2015 9:14 am

Re: 0.17/18 PartDesign boolsche Differenz mit Rohrkörper funktioniert bei mir nicht mehr.

Postby chrisb » Wed Oct 10, 2018 2:03 pm

Es wundert mich, dass das in dr alten Version ging. Der ShapeBinder ist ja kein Solid, mit dem man irgendetwas verschneiden kann. In diesem Fall musst Du tatsächlich den Body nehmen.
Ich vermute, dass dieses Problem jetzt auftritt, weil ein Fehler behoben wurde.
HBC0
Posts: 96
Joined: Wed Sep 23, 2015 5:44 pm
Location: MRN(Germany)

Re: 0.17/18 PartDesign boolsche Differenz mit Rohrkörper funktioniert bei mir nicht mehr.

Postby HBC0 » Wed Oct 10, 2018 3:13 pm

Hallo Chrib

Hmm, Vereinigung und Schnitt funktionieren ja aber auch in den neueren Versionen mit einem Shapebinder.
Und Ersetze ich das Rohr durch einen Vollkörper funktioniert die boolsche differenz ebenfals mit Shapebinder, alles gut.
Bitte lösche dazu doch einmal in der Datei Bool_dif_shape_test000
in Body im Sketch und im Sketch001 jeweils den inneren Kreis.
Jetzt ist der Boolean OK.



Ich hätte es doch noch in meinem ersten Beitrag hinzufügen sollen.
Auch wenn ich die Body´s nehme funktioniert es nicht mehr.
Ich häng noch ein Beispiel an.
Ändere den Durchmesser von Pad oder führe eine Neuberechnung durch.Error
Außerdem steht mir dann der Body/das Rohr nicht mehr zur Verfügung.

Für mich sieht es so aus als ob das Rohr ab vers. 017.13541 (irrtümlich) als multiple Solid erkannt wird.

Bruno
Attachments
bool_dif_body_test000.FCStd
(28.14 KiB) Downloaded 1 time
wmayer
Site Admin
Posts: 13170
Joined: Thu Feb 19, 2009 10:32 am

Re: 0.17/18 PartDesign boolsche Differenz mit Rohrkörper funktioniert bei mir nicht mehr.

Postby wmayer » Wed Oct 10, 2018 5:37 pm

Ich vermute, dass dieses Problem jetzt auftritt, weil ein Fehler behoben wurde.
Naja, es wurde nicht gerade ein Fehler behoben, sondern eine Fehlermeldung angezeigt, falls eine PD-Funktion kein einzelnes Solid, sondern mehrere davon ausspuckt.
In PD gilt bisher die Ein-Solid-Regel, die besagt, dass jede Funktion als Ausgabe ein einzelnes Solid zurückliefern muss. In der 0.17-Version wurde das nicht explizit in allen Fällen geprüft bzw. eben das erste gefundene Solid zurückgeliefert. Das kann dann dazu führen, dass bei einem späteren Arbeitsschritt plötzlich Teile des Modells fehlen.

In der 0.18-Version (und offenbar einer späteren 0.17-Ausgabe) wurde eine Überprüfung auf diese Regel eingebaut und bringt sofort eine Fehlermeldung und bricht ab. Ich bin jedenfalls kein Freund dieser aggressiven Vorgehensweise (und habe sie auch nicht eingepflegt). Meiner Meinung hätte es zumindest in 0.17 gereicht, nur einen Hinweis (eine Warnung oder Fehlermeldung im Ausgabefenster) zu bringen.
freecad-heini-1
Posts: 4635
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: 0.17/18 PartDesign boolsche Differenz mit Rohrkörper funktioniert bei mir nicht mehr.

Postby freecad-heini-1 » Wed Oct 10, 2018 6:01 pm

wmayer wrote:
Wed Oct 10, 2018 5:37 pm
Ich vermute, dass dieses Problem jetzt auftritt, weil ein Fehler behoben wurde.
Naja, es wurde nicht gerade ein Fehler behoben, sondern eine Fehlermeldung angezeigt, falls eine PD-Funktion kein einzelnes Solid, sondern mehrere davon ausspuckt.
In PD gilt bisher die Ein-Solid-Regel, die besagt, dass jede Funktion als Ausgabe ein einzelnes Solid zurückliefern muss. In der 0.17-Version wurde das nicht explizit in allen Fällen geprüft bzw. eben das erste gefundene Solid zurückgeliefert. Das kann dann dazu führen, dass bei einem späteren Arbeitsschritt plötzlich Teile des Modells fehlen.

In der 0.18-Version (und offenbar einer späteren 0.17-Ausgabe) wurde eine Überprüfung auf diese Regel eingebaut und bringt sofort eine Fehlermeldung und bricht ab. Ich bin jedenfalls kein Freund dieser aggressiven Vorgehensweise (und habe sie auch nicht eingepflegt). Meiner Meinung hätte es zumindest in 0.17 gereicht, nur einen Hinweis (eine Warnung oder Fehlermeldung im Ausgabefenster) zu bringen.
Ich bin dafür, dass die Überprüfung der Ein-Solid-Regel raus fliegt, oder hochbeförderd wird, wie in der Politik, zum Erlaubnistool der Mehrsolid-Regel. :lol:
chrisb
Posts: 10803
Joined: Tue Mar 17, 2015 9:14 am

Re: 0.17/18 PartDesign boolsche Differenz mit Rohrkörper funktioniert bei mir nicht mehr.

Postby chrisb » Wed Oct 10, 2018 8:16 pm

Noch mal zurück zum eigentlichen Modell. Warum nimmst Du einen Boolschen Cut an Stelle eines Subtractive Loft direkt im Body selbst?
HBC0
Posts: 96
Joined: Wed Sep 23, 2015 5:44 pm
Location: MRN(Germany)

Re: 0.17/18 PartDesign boolsche Differenz mit Rohrkörper funktioniert bei mir nicht mehr.

Postby HBC0 » Wed Oct 10, 2018 9:52 pm

Hallo Chrisb

Danke für dein Engagement

Kurze Antwort, weil es nicht funktioniert.
Ich habe etliche Stunden vor meinem ersten Beitrag damit verbracht auch alternative Möglichkeiten zu finden um zu einer Lösung zu kommen. Um das innere des Pads in Body001 zu entfernen brauche ich eine boolsche Differenz. Auch mit einen Additiven Loft egal ob in Body oder einem neuen Body002 den ich wiederum vom Body abziehen müsste zerbricht mindestens ein boolean.
Auch mit Thickness habe ich es probiert, Ausrufezeichen beim boolean.



Aber eigentlich geht es ja nicht darum eine Alternative zu finden, sondern um das was schon einmal prima funktionierte nicht mehr geht.
Danke
Bruno
chrisb
Posts: 10803
Joined: Tue Mar 17, 2015 9:14 am

Re: 0.17/18 PartDesign boolsche Differenz mit Rohrkörper funktioniert bei mir nicht mehr.

Postby chrisb » Wed Oct 10, 2018 10:18 pm

HBC0 wrote:
Wed Oct 10, 2018 9:52 pm
Aber eigentlich geht es ja nicht darum eine Alternative zu finden, sondern um das was schon einmal prima funktionierte nicht mehr geht.
Das hat Werner ja nun erläutert. Ich behaupte mal dreist, dass man fast immer statt der Booleschen Operationen Fusion und Cut in PartDesign mit additiven und subtraktiven Features auskommt.
Attachments
Bildschirmfoto 2018-10-11 um 00.17.20.png
Bildschirmfoto 2018-10-11 um 00.17.20.png (15.28 KiB) Viewed 121 times
noBoolDiff.FCStd
(20.28 KiB) Downloaded 3 times
HBC0
Posts: 96
Joined: Wed Sep 23, 2015 5:44 pm
Location: MRN(Germany)

Re: 0.17/18 PartDesign boolsche Differenz mit Rohrkörper funktioniert bei mir nicht mehr.

Postby HBC0 » Thu Oct 11, 2018 1:06 pm

Danke Chrib

War wiedermal zu voreilig mit meiner Äußerung das es nicht funktioniert dabei weiß ich doch mittlerweile das es in FreeCad 1000 Wege gibt. :)

Dein Beispiel, und mit dem Pad zu beginnen, brachte mich dann zu einer zufriedenstellenden Lösung.
Mit zwei und mit einem Body als Ergebnis.
Das Ganze ist etwas aufwendiger aber es geht in der Tat.

Anbei meine 2Body Lösung


Bruno
Attachments
2Body.FCStd
(38.96 KiB) Downloaded 6 times
chrisb
Posts: 10803
Joined: Tue Mar 17, 2015 9:14 am

Re: 0.17/18 PartDesign boolsche Differenz mit Rohrkörper funktioniert bei mir nicht mehr.

Postby chrisb » Thu Oct 11, 2018 2:58 pm

Es wäre schön, wenn man als Schnitt bei einem Loft beliebige Kanten oder eben auch einen Shapebinder angeben könnte - sofern sie in einer Ebene liegen.