Probleme mit Draft Array

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

WICHTIG: Bitte zuerst lesen, bevor Sie posten
herbk
Veteran
Posts: 2660
Joined: Mon Nov 03, 2014 3:45 pm
Location: Windsbach, Bavarya (Germany)

Probleme mit Draft Array

Post by herbk »

Hallo,
seit einiger Zeit habe ich verschiedene Probleme mit dem polarem Draft Arrays. Eines habe ich recht exakt seit Einführung des Array Typs "circular", ein anderes habe ich erst später bemerkt.

Der Reihe nach...
Früher bekam ich, auf einen in Part erstellten Zylinder, um 90° gedreht und x mm verschoben, bei darauf angewendetem Draft Array habe dieses Array:
array_polar_1.jpg
array_polar_1.jpg (50.52 KiB) Viewed 1414 times
Erstellt mit FC 0.19.17646 Appimage,-


mache ich die gleichen Schritte mit FC 0.19.19020 sieht das so aus:
array_polar_2.jpg
array_polar_2.jpg (55.03 KiB) Viewed 1414 times
Das sieht für mich so aus als wurde das Array früher um die Koordinaten des Dokumentes gedreht, jetzt aber um die Koordinaten des Objektes. Was dabei besonders stört, ist, dass beim Drehen die Achsen mit drehen, es ist nicht mehr nachvollziehbar um welche Achse gedreht wird weil die Objekte ja kein Achsenkreuz haben.


Auch beim erstellen eines Arrays auf einer Fläche, z.B. um eine Felge zu Zeichnen, gibt es seltsames Verhalten. Vorgehen:
Erstelle einen Zylinder (groß genug um ein paar Durchbrüche zu machen.
Drehe den Zylinder (z,B. auf dem Mantel stellen) und verschiebe ihn
Erstelle eine an eine Fläche gebundene Skizze
Erzeuge aus der Skizze ein Array
Extrudiere die Skizze

Das Ergebnis sieht aus wie erwartet, die Durchbrüche lassen sich erstellen
array_polar_3.jpg
array_polar_3.jpg (63.63 KiB) Viewed 1414 times

Ändere jetzt die Reihenfolge der beiden letzten Aktionen, d.h.

Extrudiere die Skizze
Erzeuge aus dem Extrude

Das Ergebnis sieht jetzt so aus:
array_polar_4.jpg
array_polar_4.jpg (62.87 KiB) Viewed 1414 times
Um welchen Punkt hier das Array gebildet wird kann ich nicht direkt nachvollziehen. könnten aber die Koordinaten des Dokumentes sein...
Gruß Herbert
User avatar
Gift
Posts: 769
Joined: Tue Aug 18, 2015 10:08 am
Location: Germany, Sauerland

Re: Probleme mit Draft Array

Post by Gift »

herbk wrote: Mon Dec 23, 2019 8:17 pm Hallo,
seit einiger Zeit habe ich verschiedene Probleme mit dem polarem Draft Arrays. Eines habe ich recht exakt seit Einführung des Array Typs "circular", ein anderes habe ich erst später bemerkt.
Aloha,

das Problem scheint mit LinkArray gekommen zu sein. Früher wurde der Inhalt eines Objektes kopiert und entsprechend verschoben. Mit Änderungen wird aber das Placement des Ursprungsobjekt kopiert und bewegt. Siehe Draft/Arch related changes.

Kannst du zum Testen deine Draft.py ändern? Zeile 5907 durch folgenden drei Zeilen ersetzen:

Code: Select all

        import Part, FreeCAD
        pl = FreeCAD.Placement(pl.Base, FreeCAD.Rotation())
        center = center.sub(pl.Base)
Das bitte mal testen.

Viele Grüße
Benjamin
blue0cean
Posts: 508
Joined: Tue Feb 19, 2019 2:31 pm
Location: Bayern

Probleme mit Draft Array

Post by blue0cean »

Hallo Herbert, scheiter grad am gleichem Problem das sich die Array Funktion zwischen der 18 und 19 unterschiedlich verhält. Bin schon auf die Lösung gespannt.
Attachments
Lochzylinder 19.FCStd
(919.17 KiB) Downloaded 33 times
Lochzylinder 18.FCStd
(916.17 KiB) Downloaded 36 times
chrisb
Veteran
Posts: 54293
Joined: Tue Mar 17, 2015 9:14 am

Re: Probleme mit Draft Array

Post by chrisb »

Herbert, vielen Dank für's Ausprobieren. Ich war mir nicht sicher, ob ich mich falsch erinnert habe oder ob sich da tatsächlich etwas geändert hat. Nun ist klar: es hat sich was geändert.

Damit würden womöglich viele Modelle, die mit 0.18 oder früher erstellt wurden, ungültig.

Magst Du das im englischen Forum mal ansprechen?
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
herbk
Veteran
Posts: 2660
Joined: Mon Nov 03, 2014 3:45 pm
Location: Windsbach, Bavarya (Germany)

Re: Probleme mit Draft Array

Post by herbk »

Hi Benjamin,
Gift wrote: Mon Dec 23, 2019 9:59 pm Kannst du zum Testen deine Draft.py ändern? Zeile 5907 durch folgenden drei Zeilen ersetzen:
kann ich leider nicht...: Unter OpenSuse läuft die 0.19 nur als AppImage bei welchem die ganzen Basis WBs nichts im "mod Ordner" sind.
Gruß Herbert
User avatar
Gift
Posts: 769
Joined: Tue Aug 18, 2015 10:08 am
Location: Germany, Sauerland

Re: Probleme mit Draft Array

Post by Gift »

Gift wrote: Mon Dec 23, 2019 9:59 pm
herbk wrote: Mon Dec 23, 2019 8:17 pm Hallo,
seit einiger Zeit habe ich verschiedene Probleme mit dem polarem Draft Arrays. Eines habe ich recht exakt seit Einführung des Array Typs "circular", ein anderes habe ich erst später bemerkt.
Aloha,

das Problem scheint mit LinkArray gekommen zu sein. Früher wurde der Inhalt eines Objektes kopiert und entsprechend verschoben. Mit Änderungen wird aber das Placement des Ursprungsobjekt kopiert und bewegt. Siehe Draft/Arch related changes.

Kannst du zum Testen deine Draft.py ändern? Zeile 5907 durch folgenden drei Zeilen ersetzen:

Code: Select all

        import Part, FreeCAD
        pl = FreeCAD.Placement(pl.Base, FreeCAD.Rotation())
        center = center.sub(pl.Base)
Das bitte mal testen.

Viele Grüße
Benjamin
Moin Moin Felderfans,

war doch nicht so einfach. Commit
3ea6583
. Das ist aber noch im eigenem Repo. Kann das jemand Gegentesten? Evt. ist die Lösung auch einfacher.

Gruß
Benjamin
User avatar
Gift
Posts: 769
Joined: Tue Aug 18, 2015 10:08 am
Location: Germany, Sauerland

Re: Probleme mit Draft Array

Post by Gift »

Gift wrote: Mon Dec 23, 2019 9:59 pm
herbk wrote: Mon Dec 23, 2019 8:17 pm Hallo,
seit einiger Zeit habe ich verschiedene Probleme mit dem polarem Draft Arrays. Eines habe ich recht exakt seit Einführung des Array Typs "circular", ein anderes habe ich erst später bemerkt.
Aloha,

das Problem scheint mit LinkArray gekommen zu sein. Früher wurde der Inhalt eines Objektes kopiert und entsprechend verschoben. Mit Änderungen wird aber das Placement des Ursprungsobjekt kopiert und bewegt. Siehe Draft/Arch related changes.

Kannst du zum Testen deine Draft.py ändern? Zeile 5907 durch folgenden drei Zeilen ersetzen:

Code: Select all

        import Part, FreeCAD
        pl = FreeCAD.Placement(pl.Base, FreeCAD.Rotation())
        center = center.sub(pl.Base)
Das bitte mal testen.

Viele Grüße
Benjamin
Moin Moin Felderfans,

war doch nicht so einfach. Commit
3ea6583
. Das ist aber noch im eigenem Repo. Kann das jemand Gegentesten? Evt. ist die Lösung auch einfacher.

Gruß
Benjamin
chrisb
Veteran
Posts: 54293
Joined: Tue Mar 17, 2015 9:14 am

Re: Probleme mit Draft Array

Post by chrisb »

Ich habe gegenüber meiner Version auch noch eine Änderung in Zeile 1792:

alt:

Code: Select all

        if hasattr(obj,'Shape') and (getType(obj) not in ["WorkingPlaneProxy"]):
neu:

Code: Select all

        if hasattr(obj,'Shape') and (getType(obj) not in ["WorkingPlaneProxy","BuildingPart"]):
Soll ich da auch die neue Variante übernehmen?
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
Gift
Posts: 769
Joined: Tue Aug 18, 2015 10:08 am
Location: Germany, Sauerland

Re: Probleme mit Draft Array

Post by Gift »

Oops, doppelt gepostet.
chrisb wrote: Tue Dec 24, 2019 8:52 am Ich habe gegenüber meiner Version auch noch eine Änderung in Zeile 1792:

alt:

Code: Select all

        if hasattr(obj,'Shape') and (getType(obj) not in ["WorkingPlaneProxy"]):
neu:

Code: Select all

        if hasattr(obj,'Shape') and (getType(obj) not in ["WorkingPlaneProxy","BuildingPart"]):
Soll ich da auch die neue Variante übernehmen?
Kannst du, hat aber für den Test keine Bewandtnis. Das wird eine Erweiterung für Arch sein.

#edit: Bist du auf deinem Mac unterwegs?

In der Konsole

Code: Select all

cd /Applications/FreeCAD.app/Contents/Resources/Mod/Draft/
curl -O https://raw.githubusercontent.com/ageeye/FreeCAD/master/src/Mod/Draft/Draft.py
Falls du FreeCAD offen hast und Draft bereits genutzt wurde, kannst du Draft.py neu laden:

Code: Select all

import importlib
importlib.reload(Draft)
Das Array muss dann aber neu erstellt werden. Anschließend kannst du wieder auf den gleichen Weg die original Draft.py laden.
chrisb
Veteran
Posts: 54293
Joined: Tue Mar 17, 2015 9:14 am

Re: Probleme mit Draft Array

Post by chrisb »

Ich habe mal insgesamt die neue Version genommen und es sieht gut aus! Das Verhalten ist wieder so wie früher.

OS: macOS High Sierra (10.13)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.18947 (Git)
Build type: Release
Branch: master
Hash: 91f6a5e5ee1b48063d5d4b59cc6250fc2a1021b1
Python version: 3.7.3
Qt version: 5.12.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/Germany (en_DE)
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Post Reply