[fast gelöst] Trennfläche für Formenbau, Trimmen an Silhouette - wie?

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

WICHTIG: Bitte zuerst lesen, bevor Sie posten
freecad-heini-1
Posts: 5749
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Trennfläche für Formenbau, Trimmen an Silhouette - wie?

Postby freecad-heini-1 » Wed Oct 04, 2017 4:49 pm

Doppelpost, lässt sich leider nicht löschen.
Last edited by freecad-heini-1 on Wed Oct 04, 2017 5:34 pm, edited 3 times in total.
thschrader
Posts: 1415
Joined: Sat May 20, 2017 12:06 pm
Location: Germany

Re: Trennfläche für Formenbau, Trimmen an Silhouette - wie?

Postby thschrader » Wed Oct 04, 2017 5:14 pm

Hallo wilfried,
danke für die ausführlichen Hinweise. Wenn man (wie ich) mit dem Thema
nicht vertraut ist, erscheint einem die Problemstellung erstmal einfach.
Hat es dann aber doch in sich... ;)
Thomas
chrisb
Posts: 18010
Joined: Tue Mar 17, 2015 9:14 am

Re: Trennfläche für Formenbau, Trimmen an Silhouette - wie?

Postby chrisb » Thu Oct 05, 2017 5:30 am

Gift wrote:
Wed Oct 04, 2017 10:05 am
Ich zippe eigentlich nur damit ich Datei anhängen kann. Mein Browser ist da eigenwillig.
Dann solltest Du mal ein ernstes Gespräch mit Deinem Browser führen. (Zusätzliches Rumklicken ist insbesondere dann lästig, wenn man weiß, dass es auch ohne geht.)
freecad-heini-1
Posts: 5749
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Trennfläche für Formenbau, Trimmen an Silhouette - wie?

Postby freecad-heini-1 » Thu Oct 05, 2017 5:37 am

chrisb wrote:
Thu Oct 05, 2017 5:30 am
Gift wrote:
Wed Oct 04, 2017 10:05 am
Ich zippe eigentlich nur damit ich Datei anhängen kann. Mein Browser ist da eigenwillig.
Dann solltest Du mal ein ernstes Gespräch mit Deinem Browser führen. (Zusätzliches Rumklicken ist insbesondere dann lästig, wenn man weiß, dass es auch ohne geht.)
Hallo Chris, der ist gut!
Wie kommt man an die Entwickler von Draft Shape2DView und Part Section ran?
Vieles von dem was gebraucht wird um die Silhouettenkante zu finden ist bereits vorhanden, leider nicht präzise genug. Außerdem bräuchte man Shape3DView.

Viele Grüße
Wilfried
chrisb
Posts: 18010
Joined: Tue Mar 17, 2015 9:14 am

Re: Trennfläche für Formenbau, Trimmen an Silhouette - wie?

Postby chrisb » Thu Oct 05, 2017 6:03 am

freecad-heini-1 wrote:
Thu Oct 05, 2017 5:37 am
Wie kommt man an die Entwickler von Draft Shape2DView und Part Section ran?
Keine Ahnung. Da musst Du wahrscheinlich im Developer Forum nachfragen. Es scheint mir aber bei weitem nicht so viel Dampf dahinter zu stecken wie hinter der 1-Mann-Show "Part Design".
User avatar
microelly2
Posts: 4352
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Trennfläche für Formenbau, Trimmen an Silhouette - wie?

Postby microelly2 » Thu Oct 05, 2017 7:51 am

freecad-heini-1 wrote:
Thu Oct 05, 2017 5:37 am

Wie kommt man an die Entwickler von Draft Shape2DView und Part Section ran?
Vieles von dem was gebraucht wird um die Silhouettenkante zu finden ist bereits vorhanden, leider nicht präzise genug. Außerdem bräuchte man Shape3DView.

Wilfried
Das Draft Modul ist von Yorik.
Du kannst dir die Quellen anschauen:

Drawing.projectEx(shape,direction)

Also im Drawing Modul, vielleicht gibt es im neune TechDraw bessere Methoden.

Ich bin mit meiner Methode mittlerweile genauer geworden, komme aber die nächste Woche erstmal nicht dazu,
weil ich beruflich ziemlich eingebunden bin.
freecad-heini-1
Posts: 5749
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Trennfläche für Formenbau, Trimmen an Silhouette - wie?

Postby freecad-heini-1 » Thu Oct 05, 2017 8:52 am

microelly2 wrote:
Thu Oct 05, 2017 7:51 am
freecad-heini-1 wrote:
Thu Oct 05, 2017 5:37 am

Wie kommt man an die Entwickler von Draft Shape2DView und Part Section ran?
Vieles von dem was gebraucht wird um die Silhouettenkante zu finden ist bereits vorhanden, leider nicht präzise genug. Außerdem bräuchte man Shape3DView.

Wilfried
Das Draft Modul ist von Yorik.
Du kannst dir die Quellen anschauen:

Drawing.projectEx(shape,direction)

Also im Drawing Modul, vielleicht gibt es im neune TechDraw bessere Methoden.

Ich bin mit meiner Methode mittlerweile genauer geworden, komme aber die nächste Woche erstmal nicht dazu,
weil ich beruflich ziemlich eingebunden bin.
Das Draft-Modul ist für Zeichnungen. Techdraw gefällt mir besser.
In diesem Fall geht es aber um die Thematik Silhouettenkanten für Trennflächen zu finden, z.B. mittels des in der Draft-Workbench enthaltenen Tools Shape2dview. Habe ich mich so unverständlich ausgedrückt?!?

Die nächsten 2 Wochen bin ich offline, nehme ein digitales Timeout.

Ich freue mich sehr, daß Du Dich dem Thema angenommen hast. Das sieht vielversprechend aus. 8-)
User avatar
microelly2
Posts: 4352
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Trennfläche für Formenbau, Trimmen an Silhouette - wie?

Postby microelly2 » Thu Oct 05, 2017 9:25 am

Wenn ich die Draft Quelle richtig deute, wird die Methode Shape2dview aus dem Drawing Modul verwendet.
D.h. Fehler müssten dort behoben werden.
Aber ich glaube,es ist besser gleich eine allgemeinere Methode zu haben, die nicht nur die Silhouette findet sondern ganz allgemein Punkte auf einer Fläche mit eine gegebenen Hangneigung. Das ist auch ein Thema für geodaten
Ich habe da vor genau einem Jahr eine Simulation mit dem Sonneneinfallswinkel geschrieben
phpBB [video]

Nur dass du hier keine farbigen Flächen brauchst sondern Kurven mit konstantem Neigungswinkel.
Die Hauptaufgabe ist jetzt, aus einer Punktmenge Kurven zu bilden.
User avatar
Gift
Posts: 439
Joined: Tue Aug 18, 2015 10:08 am
Location: Germany, Sauerland

Re: Trennfläche für Formenbau, Trimmen an Silhouette - wie?

Postby Gift » Thu Oct 05, 2017 10:16 am

microelly2 wrote:
Thu Oct 05, 2017 9:25 am
Wenn ich die Draft Quelle richtig deute, wird die Methode Shape2dview aus dem Drawing Modul verwendet.
D.h. Fehler müssten dort behoben werden.
...

Code: Select all

// https://github.com/FreeCAD/FreeCAD/blob/master/src/Mod/Drawing/App/ProjectionAlgos.cpp
112 void ProjectionAlgos::execute(void) 
113 { 
114     Handle( HLRBRep_Algo ) brep_hlr = new HLRBRep_Algo; 
115     brep_hlr->Add(Input); 
116 
 
117     gp_Ax2 transform(gp_Pnt(0,0,0),gp_Dir(Direction.x,Direction.y,Direction.z)); 
118     HLRAlgo_Projector projector( transform ); 
119     brep_hlr->Projector(projector); 
120     brep_hlr->Update(); 
121     brep_hlr->Hide(); 
122 
 
123     // extracting the result sets: 
124     HLRBRep_HLRToShape shapes( brep_hlr ); 
125 
 
126     V  = build3dCurves(shapes.VCompound       ());// hard edge visibly 
127     V1 = build3dCurves(shapes.Rg1LineVCompound());// Smoth edges visibly 
128     VN = build3dCurves(shapes.RgNLineVCompound());// contour edges visibly 
129     VO = build3dCurves(shapes.OutLineVCompound());// contours apparents visibly 
130     VI = build3dCurves(shapes.IsoLineVCompound());// isoparamtriques   visibly 
131     H  = build3dCurves(shapes.HCompound       ());// hard edge       invisibly 
132     H1 = build3dCurves(shapes.Rg1LineHCompound());// Smoth edges  invisibly 
133     HN = build3dCurves(shapes.RgNLineHCompound());// contour edges invisibly 
134     HO = build3dCurves(shapes.OutLineHCompound());// contours apparents invisibly 
135     HI = build3dCurves(shapes.IsoLineHCompound());// isoparamtriques   invisibly 
136 }
Evt. fehlt da etwas bei den Result Sets.
microelly2 wrote:
Thu Oct 05, 2017 9:25 am
...
Aber ich glaube,es ist besser gleich eine allgemeinere Methode zu haben, die nicht nur die Silhouette findet sondern ganz allgemein Punkte auf einer Fläche mit eine gegebenen Hangneigung. Das ist auch ein Thema für geodaten
...
Ich hatte deine Script mal getestet. Wenn das Bauteil anders im Raum liegt, muss auch die Achse und nicht nur die Fläche geändert werden, oder? Dein Ansatz ist schon toll.
User avatar
microelly2
Posts: 4352
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Trennfläche für Formenbau, Trimmen an Silhouette - wie?

Postby microelly2 » Thu Oct 05, 2017 11:03 am

Gift wrote:
Thu Oct 05, 2017 10:16 am

Ich hatte deine Script mal getestet. Wenn das Bauteil anders im Raum liegt, muss auch die Achse und nicht nur die Fläche geändert werden, oder? Dein Ansatz ist schon toll.
Das stimmt. Der Normalenvektor wird gegen eine vorgegebene Richtung getestet.
Bei diesem Beispiel hier ist es die y-Richtung
Normalerweise is es die z-Richtung.
Wenn man das Objekt im Raum dreht, muss man die Placement.Rotation wieder zurückrechnen.