Seite 1 von 1
Flächenberechnung und Polylinien
Verfasst: Fr 10. Jun 2005, 10:27
von Lapla
Mit Fla-Neu kann ich die Flächen von Polygone abziehen. Kann ich die Routine so abändern, daß das auch mit Polylinien (geschlossen) geht und kann ich als Ergebnis die Flächen auch durcheinander teilen. Ich möchte die GRZ(Grundflächenzahl) eines Bebauungsplans ermitteln. d.h. Gebäudeflächen durch Grundstücksfläche ergibt GRZ.
Danke
Jörg
Verfasst: Mo 13. Jun 2005, 07:44
von CADwiesel
Hai
Meineserachtens werden sowiso nur geschlossene Polygone von dem Programm betrachtet. Aber es ist kein Problem das so umzubauen, dass deine Anforderung erfüllt wird.
das einzige ist die Zusätzliche Berechnung, die eben die GRZ ausweist.
ich guck's mir nachher mal an
Verfasst: Mo 13. Jun 2005, 09:45
von CADwiesel
so, hier das Überarbeitete Tool
Code: Alles auswählen
(defun c:GRZ (/ dd tt t_2 fl1 fl2 grz inpkt md_zaehler)
(setq tt (car (nentsel "Grundstücksfläche zeigen:")))
(cond
((and (or (= (cdr (assoc 70 (entget tt))) 129)
(= (cdr (assoc 70 (entget tt))) 1)
) ;_ end of or
(= (cdr (assoc 0 (entget tt))) "LWPOLYLINE")
) ;_ end of and
(redraw tt 3)
(terpri)
(princ "Abzugsfläche(n) zeigen:")
(if (setq dd (ssget '((-4 . "<OR")
(-4 . "<AND")
(0 . "LWPOLYLINE")
(-4 . "<OR")
(70 . 129)
(70 . 1)
(-4 . "OR>")
(-4 . "AND>")
(-4 . "<AND")
(0 . "POLYLINE")
(-4 . "<OR")
(70 . 129)
(70 . 1)
(-4 . "OR>")
(-4 . "AND>")
(-4 . "OR>")
)
) ;_ end of ssget
) ;_ end of setq
(progn
(terpri)
(setq md_zaehler 0)
(command "_.area" "a" "_o")
(command tt "" "")
(setq fl1 (getvar "area"))
(command "_.area" "a" "_o")
(repeat
(sslength dd)
(setq t_2 (ssname dd 0))
(command t_2)
(setq dd (ssdel t_2 dd))
) ;ende rep
(command "" "")
(setq fl2 (getvar "area"))
(setq grz (/ fl2 fl1))
(setq inpkt (getpoint "Einfügepunkt für Flächenwerte:"))
(entmake (LIST
'(0 . "TEXT")
(cons 8 (getvar "clayer"))
(CONS 10 inpkt)
'(40 . 0.35)
'(50 . 0)
(CONS 1 (strcat "GRZ= " (rtos grz 2 2)))
) ;_ ende von LIST
) ;_ end of entmake
;command
) ;progn
(princ "\nOhne Gebäudefläche geht hier nix")
) ;if
)
((null (PRINC "Nichts oder Falsch gewählt."))
)
) ;_ end of cond
(command "_.regen")
(princ)
) ;defun
(prompt "\nProgramm ausführen mit > GRZ <")
verspäteter dank
Verfasst: Mo 3. Apr 2006, 09:40
von Lapla
Hi cadwiesel,
angeregt vom Interview in CADde hab ich das wiesel-forum nochmal angelesen und bin auf meine Frage zur GRZ gestoßen. Und auf Deine Antwort mit dem GRZ-Tool. Es tur mir richtig leid, daß ich damals nicht mehr nachgeschaut habe. GRZ ist Klasse. Hab mich jetzt richtig reggen lassen, oder gereggt, oder wie auch immer.
Nochmals : Vielen Dank
Jörg