IFC, STEP, IPT, 3D-DXF, 3D 2D DWG, PLY, ASC, xyz, e57, ptx, las, laz, x_t, SLDPRT, IGES, PDF, dgn, FBX, SAT, 3dm wrl 3ds

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

WICHTIG: Bitte zuerst lesen, bevor Sie posten
User avatar
thomas-neemann
Veteran
Posts: 11800
Joined: Wed Jan 22, 2020 6:03 pm
Location: Osnabrück DE 🇩🇪
Contact:

Re: Arbeitsablauf für IFC, STEP, IPT, 3D-DXF, 3D DWG, PLY, ASC, xyz, e57, ptx, las, laz u. IGES -Files

Post by thomas-neemann »

Gift wrote: Thu Dec 02, 2021 11:37 am ... Ich kenne mich mit dem Lizenz-Schungel nicht aus. Wäre BSL mit FreeCAD im Einklang?
da muß ich auch passen. könnte mir vorstellen, daß @wmayer, @chrisb usw das überblicken.
Gruß Dipl.-Ing. (FH) Thomas Neemann

https://www.youtube.com/@thomasneemann5 ... ry=freecad
wmayer
Founder
Posts: 20241
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Arbeitsablauf für IFC, STEP, IPT, 3D-DXF, 3D DWG, PLY, ASC, xyz, e57, ptx, las, laz u. IGES -Files

Post by wmayer »

Ich kenne mich mit dem Lizenz-Schungel nicht aus. Wäre BSL mit FreeCAD im Einklang?
Lizenzrechtlich ist das kein Problem. BSL steht für Boost Software Licence und die Boost-Bibliothek verwenden wir quasi von Anfang an. MIT ist auch kein Problem. Beide Lizenzen sind ähnlich freizügig wie die BSD-3, d.h. ohne Copyleft.
User avatar
Gift
Posts: 769
Joined: Tue Aug 18, 2015 10:08 am
Location: Germany, Sauerland

Re: Arbeitsablauf für IFC, STEP, IPT, 3D-DXF, 3D DWG, PLY, ASC, xyz, e57, ptx, las, laz u. IGES -Files

Post by Gift »

wmayer wrote: Thu Dec 02, 2021 12:28 pm Lizenzrechtlich ist das kein Problem. BSL steht für Boost Software Licence und die Boost-Bibliothek verwenden wir quasi von Anfang an. MIT ist auch kein Problem. Beide Lizenzen sind ähnlich freizügig wie die BSD-3, d.h. ohne Copyleft.
Hier ist ein erster Entwurf.

Edit:

Oha, die Code Einrückung sieht ... aus.

Edit2:

Erledigt.
User avatar
thomas-neemann
Veteran
Posts: 11800
Joined: Wed Jan 22, 2020 6:03 pm
Location: Osnabrück DE 🇩🇪
Contact:

Re: Arbeitsablauf für IFC, STEP, IPT, 3D-DXF, 3D DWG, PLY, ASC, xyz, e57, ptx, las, laz u. IGES -Files

Post by thomas-neemann »

Gift wrote: Sat Dec 04, 2021 7:40 pm
wunderbar, würde es gerne testen. wäre schön, wenn es bei gelegenheit einen downloadlink für ein linux- oder windows- compilat geben würde.


lg thomas
Gruß Dipl.-Ing. (FH) Thomas Neemann

https://www.youtube.com/@thomasneemann5 ... ry=freecad
User avatar
Gift
Posts: 769
Joined: Tue Aug 18, 2015 10:08 am
Location: Germany, Sauerland

Re: Arbeitsablauf für IFC, STEP, IPT, 3D-DXF, 3D DWG, PLY, ASC, xyz, e57, ptx, las, laz u. IGES -Files

Post by Gift »

thomas-neemann wrote: Sat Dec 04, 2021 8:05 pm
Gift wrote: Sat Dec 04, 2021 7:40 pm
wunderbar, würde es gerne testen. wäre schön, wenn es bei gelegenheit einen downloadlink für ein linux- oder windows- compilat geben würde.


lg thomas
Für Linux habe ich leider kein gescheites System um FreeCAD zu bauen. Windows evt. Mit der Skalierung scheint aber auch noch etwas nicht stimmen.

Bzgl. Sortierung der Punkte zu visualisieren, habe ich eine Idee aus Astronomie übernommen. Wie weiter etwas weg ist, so größer wird die Rotverschiebung. Das sieht man unten rechts im Bild. Die ersten Punkte sind blau und wandern immer weiter ins rote. Bei genauer Betrachtung sieht man vier Bereiche. So ist die Beispieldatei auch aufgebaut.

Code: Select all

# redshift
# visualization of sorted points
 
obj = Gui.Selection.getSelection()[0]
cnt = obj.Points.CountPoints
if not 'Color' in obj.PropertiesList:
	obj.addProperty('App::PropertyColorList', 
					'Color', 
					'Object Style', 
					'The color of the points.')

step = 1 / cnt
r = 0.
b = 1.
colors = []
for i in range(cnt):
	colors.append((r,0.,b))
	r += step
	b -= step 

obj.Color = colors
	
Attachments
Rotverschiebung.png
Rotverschiebung.png (495.61 KiB) Viewed 2395 times
wmayer
Founder
Posts: 20241
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Arbeitsablauf für IFC, STEP, IPT, 3D-DXF, 3D DWG, PLY, ASC, xyz, e57, ptx, las, laz u. IGES -Files

Post by wmayer »

Gift wrote: Sat Dec 04, 2021 7:40 pm Hier ist ein erster Entwurf.
Könntest Du noch bitte eine Änderung machen? Ziehe diesen Block aus der read()-Methode heraus

Code: Select all

    Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter()
            .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/Points/E57");
        bool useColor   = hGrp->GetBool("UseColor", true);
        bool checkState = hGrp->GetBool("CheckInvalidState", true); 
        float minDistance = hGrp->GetFloat("MinDistance", -1.); 
und reiche die Parameter über den Konstruktor durch. Ich mag es gar nicht, wenn Low-Level-Funktionen direkten Zugriff auf User-Parameter haben, um das eigene Verhalten zu steuern. Das führt nur zu unnötigen Seiteneffekten und macht den Code dadurch weniger gut testbar.
User avatar
thomas-neemann
Veteran
Posts: 11800
Joined: Wed Jan 22, 2020 6:03 pm
Location: Osnabrück DE 🇩🇪
Contact:

Re: Arbeitsablauf für IFC, STEP, IPT, 3D-DXF, 3D DWG, PLY, ASC, xyz, e57, ptx, las, laz u. IGES -Files

Post by thomas-neemann »

heute habe ich es geschafft eine autodesk inventor ipt datei hier aus dem forum, die (bislang) nicht direkt importiert werden kann, über grabcad als step zu importieren

https://forum.freecadweb.org/viewtopic. ... 26#p552126
Gruß Dipl.-Ing. (FH) Thomas Neemann

https://www.youtube.com/@thomasneemann5 ... ry=freecad
User avatar
Gift
Posts: 769
Joined: Tue Aug 18, 2015 10:08 am
Location: Germany, Sauerland

Re: Arbeitsablauf für IFC, STEP, IPT, 3D-DXF, 3D DWG, PLY, ASC, xyz, e57, ptx, las, laz u. IGES -Files

Post by Gift »

wmayer wrote: Mon Dec 06, 2021 9:45 am
Gift wrote: Sat Dec 04, 2021 7:40 pm Hier ist ein erster Entwurf.
Könntest Du noch bitte eine Änderung machen? Ziehe diesen Block aus der read()-Methode heraus

Code: Select all

    Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter()
            .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/Points/E57");
        bool useColor   = hGrp->GetBool("UseColor", true);
        bool checkState = hGrp->GetBool("CheckInvalidState", true); 
        float minDistance = hGrp->GetFloat("MinDistance", -1.); 
und reiche die Parameter über den Konstruktor durch. Ich mag es gar nicht, wenn Low-Level-Funktionen direkten Zugriff auf User-Parameter haben, um das eigene Verhalten zu steuern. Das führt nur zu unnötigen Seiteneffekten und macht den Code dadurch weniger gut testbar.
Falls die Änderung so gewollt ist, sind deine Wünsche bescheiden.
wmayer
Founder
Posts: 20241
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Arbeitsablauf für IFC, STEP, IPT, 3D-DXF, 3D DWG, PLY, ASC, xyz, e57, ptx, las, laz u. IGES -Files

Post by wmayer »

Falls die Änderung so gewollt ist, sind deine Wünsche bescheiden.
Eigentlich meinte ich, dass die Parameter in der aufrufenden Instanz an den Konstruktor übergeben werden sollten. Aber das kann ich auch selber machen, wenn ich den PR merge.
User avatar
Gift
Posts: 769
Joined: Tue Aug 18, 2015 10:08 am
Location: Germany, Sauerland

Re: Arbeitsablauf für IFC, STEP, IPT, 3D-DXF, 3D DWG, PLY, ASC, xyz, e57, ptx, las, laz u. IGES -Files

Post by Gift »

wmayer wrote: Wed Dec 08, 2021 9:29 pm
Falls die Änderung so gewollt ist, sind deine Wünsche bescheiden.
Eigentlich meinte ich, dass die Parameter in der aufrufenden Instanz an den Konstruktor übergeben werden sollten. Aber das kann ich auch selber machen, wenn ich den PR merge.
Ok. Das sollte ich hinbekommen. Dann macht deine vorherige Aussage auch mehr Sinn. Ich hatte mir den E57-Writer auch angeschaut. Der sieht auch nicht so schwierig aus. Wenn es einen Writer+Reader gibt, wäre eine Test Unit möglich.
Aktuell ist nur mit der Zeit schwierig und zudem hat mir Homebrew irgendwie mein Umgebung zerschossen. Ich dachte erst, dass es an einem Commit liegt. Aber das ist es nicht. :(
Falls ihr eilig seid, kann ich das auch erstmal durchreichen und den Rest nachliefern.
Post Reply