grosse löcher in dreiecksvernetzung schliessen

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

WICHTIG: Bitte zuerst lesen, bevor Sie posten
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: grosse löcher in dreiecksvernetzung schliessen

Post by bernd »

hammax wrote: Wed Jun 23, 2021 5:40 am Was mir noch nicht so recht eingeht, ist Bernds Wunsch nach einer 3D-konturierten Fläche - wozu?
die lange story ...

Das mesh sind DTM (digital terrain modell) daten des Vermessers. Neun von 10 Vermesser haben in ihren Dreiecksnetzen bei den Bestandsgebäuden Löcher. Siehe Screen in meinem ersten Post. Wir machen mit den DTM daten dann ein Baugrubenmodell des Aushubs. Dafür werden die Löcher in der Dreiecksvernetzung geschlossen. Das geht in unserem CAD nur sehr mühsam und aufwendig. Daher suche ich eine einfache schnelle alternative.

Während des themas hier ist mir dann die idee gekommen, was in FreeCAD möglich ist, was in unserem CAD ganz sicher nicht möglich ist. Die Löcher nicht mit der vermeintlichen Oberfläche zu schliessen und dann den bestand abziehen, sondern einen Schritt überspringen und gleich den Bestand abzuziehen. Dort ist ja keine Erde, heisst das eh muss weg, sonst stimmen die Aushubvolumina nicht. Das heisst was ich letztendlich suche ist im Screen anbei. Das hab ich mit Python gemacht. ...


Screenshot_20210623_114115.png
Screenshot_20210623_114115.png (341.75 KiB) Viewed 821 times
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: grosse löcher in dreiecksvernetzung schliessen

Post by bernd »

datei aus diesem post laden https://forum.freecadweb.org/viewtopic.php?f=13&t=59575 und code ausführen ...

Code: Select all

def make_excavation_from_polyline(poly_wire, base_height):

    from FreeCAD import Vector as vec
    from Part import makeLine as ln

    base_lines = []
    side_faces = []

    for e in poly_wire.Edges:
        p1 = e.Vertexes[0].Point
        p2 = e.Vertexes[1].Point
        p3 = vec(p2.x, p2.y, base_height)
        p4 = vec(p1.x, p1.y, base_height)

        # side faces
        e1 = ln(p1, p2)
        e2 = ln(p2, p3)
        e3 = ln(p3, p4)
        e4 = ln(p4, p1)
        f = Part.Face(Part.Wire([e1, e2, e3, e4]))
        side_faces.append(f)

        # base line for base face
        base_lines.append(e3)

    base_face = Part.Face(Part.Wire(base_lines))
    the_shell = Part.makeShell(side_faces + [base_face])

    return the_shell

grube_gross = make_excavation_from_polyline(App.ActiveDocument.Compound.Shape, 508000)
grube_klein = make_excavation_from_polyline(App.ActiveDocument.Compound001.Shape, 511000)

baugrube = App.ActiveDocument.trianglemesh_with_holes001.Shape.fuse((grube_gross, grube_klein))
Part.show(baugrube)
Trotz der wohl letztenendes zum zug kommenden pythonlösung habe ich wieder viel gelernt und ohne topic wäre niemals auf die offensichtliche idee gekommen den bestand gleich mit abzuziehen, anstatt hinzerher manuell. :mrgreen: :oops:
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: grosse löcher in dreiecksvernetzung schliessen

Post by bernd »

hammax wrote: Tue Jun 22, 2021 3:21 pm ... was ist das denn, eine alte Festung?
bischen klein in Deinem Screen ... In Realität ist die "alte Festung" ne richtige "Burg" :lol: ... Nur wird sie abgebrochen und muss etwas neuem weichen ...



screen.png
screen.png (126.93 KiB) Viewed 808 times
User avatar
hammax
Veteran
Posts: 1991
Joined: Thu Jan 19, 2017 5:03 pm
Location: Ammersee DE

Re: grosse löcher in dreiecksvernetzung schliessen

Post by hammax »

hallo bernd,
offensichtlich ist mir gerade langweilig und ich habe mich weiter mit dem Gebäude-Reengineering befasst.
Vor 2 Jahren durfte ich Ähnliches aber ohne geodätisches Mesh, sondern nur mit Höhenlinien im Kataster.

bernd_2.PNG
bernd_2.PNG (31.8 KiB) Viewed 768 times
Attachments
polygon_4_surface.FCStd
FC.18.4
(141.76 KiB) Downloaded 19 times
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: grosse löcher in dreiecksvernetzung schliessen

Post by bernd »

da hat letztens hier jemand ein Gelände aus höhenlinien mit revolve erstellt.
Post Reply