Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Gesamtfläche

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Gesamtfläche (11723 mal gelesen)
Olli_75
Mitglied
TA


Sehen Sie sich das Profil von Olli_75 an!   Senden Sie eine Private Message an Olli_75  Schreiben Sie einen Gästebucheintrag für Olli_75

Beiträge: 31
Registriert: 22.10.2003

Autodesk Map 2004
ExpressTools 2004
Windows 2000

erstellt am: 14. Apr. 2004 09:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo!

Ich möchte mehrere Polygone auswählen und davon die Gesamtfläche haben. Wie geht das? Gibst dafür Hilfsmittel?

------------------
Gruss
Olli_75

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Kramer24
Ehrenmitglied V.I.P. h.c.
Architekt


Sehen Sie sich das Profil von Kramer24 an!   Senden Sie eine Private Message an Kramer24  Schreiben Sie einen Gästebucheintrag für Kramer24

Beiträge: 5881
Registriert: 09.11.2001

Acad Architecture 2023
WIN 10

erstellt am: 14. Apr. 2004 09:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Olli_75 10 Unities + Antwort hilfreich

Olli, da gibt es was...

1. die normale Prozedur wie "_area"
2. Hatchfl von http://www.defun.de/ , was meine persönliche Empfehlung wäre...

Lothar

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Brischke
Ehrenmitglied V.I.P. h.c.
CAD on demand GmbH



Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 14. Apr. 2004 09:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Olli_75 10 Unities + Antwort hilfreich

Hallo Olli,

Hatchfl funzt für Schraffuren. Hast du jedoch einzelne Polygone, die du nicht extra schraffieren möchtest, dann teste die folgenden Zeilen

Code:

(defun c:gf (/ as elemli plangli z)
  (setq as (ssget (list
    '(-4 . "<or")
    '(0 . "POLYLINE")
    '(0 . "LWPOLYLINE")
    '(0 . "CIRCLE")
    '(-4 . "or>")
  )
  )
  )
  (setvar "CMDECHO" 0)
  (if as
    (setq elemli (bau_elemli as)
  z 0
    )
  )
  (if elemli
    (progn
      (setq plangli
    (mapcar
      '(lambda (plli)
  (command "_.AREA" "_O" plli)
  (getvar "AREA")
  );lambda
      elemli
      );mapcar
    )
      (terpri)
      (princ "Gesamt:\t")
      (princ (apply '+ plangli))
      (princ)
    );progn
  );if
)
(defun bau_elemli (asatz / n elemli)
  (setq n 0)
  (repeat (sslength asatz)
    (setq elemli (cons (ssname asatz n) elemli)
  n (1+ n)
    )
  )
  elemli
)

Grüße Holger

------------------
Holger Brischke
(defun - Lisp over night!
AutoLISP-Programmierung für AutoCAD
Da weiß man, wann man's hat!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Kramer24
Ehrenmitglied V.I.P. h.c.
Architekt


Sehen Sie sich das Profil von Kramer24 an!   Senden Sie eine Private Message an Kramer24  Schreiben Sie einen Gästebucheintrag für Kramer24

Beiträge: 5881
Registriert: 09.11.2001

Acad Architecture 2023
WIN 10

erstellt am: 14. Apr. 2004 09:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Olli_75 10 Unities + Antwort hilfreich

@Brischke,

das mit den Schraffuren ist für mich schon irgendwie selbstverständlich geworden... Dein gf.code ist mal wieder exzelent!

Lothar

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Brischke
Ehrenmitglied V.I.P. h.c.
CAD on demand GmbH



Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 14. Apr. 2004 09:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Olli_75 10 Unities + Antwort hilfreich

@Lothar,

freut mich zu hören. Der Code selbst ist nur durch das Ändern weniger Zeilen des Tools der Gesamtlängenermittlung entstanden.

Grüße Holger

------------------
Holger Brischke
(defun - Lisp over night!
AutoLISP-Programmierung für AutoCAD
Da weiß man, wann man's hat!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Karin72
Mitglied



Sehen Sie sich das Profil von Karin72 an!   Senden Sie eine Private Message an Karin72  Schreiben Sie einen Gästebucheintrag für Karin72

Beiträge: 278
Registriert: 13.05.2003

Autocad Map 2004, WS-Landcad, LT 2004, LT-Extender,

erstellt am: 14. Apr. 2004 11:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Olli_75 10 Unities + Antwort hilfreich


FLA_BER.LSP.txt

 
Hi Olli,
anbei ein lisp, was ich vor ewiger Zeit mal bei Iduma.com gefunden habe. Einfach Polylinien auswählen und Gesamtfläche wird als Text eingetragen.

------------------
Grüße Karin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Sparky
Mitglied
Techniker / Fertigungstechnik


Sehen Sie sich das Profil von Sparky an!   Senden Sie eine Private Message an Sparky  Schreiben Sie einen Gästebucheintrag für Sparky

Beiträge: 366
Registriert: 27.11.2000

erstellt am: 14. Apr. 2004 13:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Olli_75 10 Unities + Antwort hilfreich

Eine möglichkeit ohne Lisp-Programme wäre vielleicht auch der Befehl Fläche und der Option Addieren.
Nach Aufruf des Befehls die Option Addieren aktivieren, dann die Option Objekt aktivieren. Danach kann man jedes Objekt, das allerdings eine geschlossene Polylinie sein muß, nacheinander anwählen. In der Befehlszeile wird einem zum einen die Fläche des gewählten Objektes angezeigt, und die Gesamtfläche.
Ganz ohne Lisp

[Diese Nachricht wurde von Sparky am 14. Apr. 2004 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Brischke
Ehrenmitglied V.I.P. h.c.
CAD on demand GmbH



Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 14. Apr. 2004 14:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Olli_75 10 Unities + Antwort hilfreich

@Sparky,

schön dass du auch diese Möglichkeit aufzeigst.
Klar funzt das auch. Viele Sachen gehen ohne Lisp, nur dauern sie dann etwas/sehr viel länger.
Auch lassen sich durch eine so automatisierte Abarbeitung Fehler, die durch das stupide bearbeiten sich wiederholender Vorgänge entstehen, verhindern.
Deshalb ist die Frage nach einem Hilfsmittel durchaus berechtigt und auch sinnvoll.

Grüße Holger

------------------
Holger Brischke
(defun - Lisp over night!
AutoLISP-Programmierung für AutoCAD
Da weiß man, wann man's hat!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Sparky
Mitglied
Techniker / Fertigungstechnik


Sehen Sie sich das Profil von Sparky an!   Senden Sie eine Private Message an Sparky  Schreiben Sie einen Gästebucheintrag für Sparky

Beiträge: 366
Registriert: 27.11.2000

erstellt am: 14. Apr. 2004 14:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Olli_75 10 Unities + Antwort hilfreich

@Brischke
Ich gebe dir recht wenn es um die Fehlervermeidung geht. Stupides Arbeiten ermüdet einfach, und dann schleichen sich schnell Fehler ein. Da helfen einem die kleinen Helferlein schon weiter. Vor allem weil es mit den Helferlein meist auch schneller geht. Wobei es aber nicht immer mein Bestreben ist schnell fertig zu sein.
Ansich suche ich auch immer nach einer Möglichkeit Effektiv zu arbeiten. Wenn das durch ein Lisp-Programm erreicht werde kann, dann nutze ich das auch, wenn es sich lohnt. Das heißt das ich Anzahl der Eingaben und das aufrufen des Programms schon Vorteile bringen muß. Wenn ich aber mehr Klicken muß als mit den AutoCAD Funktionen selber, dann nutze ich auch kein Lips.
Zumal ich, zu meiner Schande gestehend, gar kein Lispprogramm schreiben könnte.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

carambita
Mitglied
Dipl.-Ing. Theater- u. Veranstaltungstechnik


Sehen Sie sich das Profil von carambita an!   Senden Sie eine Private Message an carambita  Schreiben Sie einen Gästebucheintrag für carambita

Beiträge: 272
Registriert: 03.10.2002

Windows 7 (64-bit) / AutoCAD 2015

erstellt am: 06. Nov. 2013 11:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Olli_75 10 Unities + Antwort hilfreich

Lang ist es her und es hilft noch immer... ich LIEBE dieses Forum.

------------------
viele grüße
carambita

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

xxxmurdockxxx
Mitglied
techn. Zeichner


Sehen Sie sich das Profil von xxxmurdockxxx an!   Senden Sie eine Private Message an xxxmurdockxxx  Schreiben Sie einen Gästebucheintrag für xxxmurdockxxx

Beiträge: 52
Registriert: 18.12.2007

WIN10, Civil 3D 2017 SP1.1

erstellt am: 08. Jan. 2015 15:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Olli_75 10 Unities + Antwort hilfreich

Hallo leider funktioniert das geniale Tool nicht mehr unter ACAD2015.
Da meine LISP-Kentnisse sehr beschränkt sind wollte ich mal nachfragen, woran dies liegen könnte.
Ist ja bestimmt nur ein fehlendes Zeichen oder ähnliches.

Wenn mir hier jemand behilflich sein würde, das wäre super.


------------------
Viele Grüße
Stefan

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

spider_dd
Mitglied



Sehen Sie sich das Profil von spider_dd an!   Senden Sie eine Private Message an spider_dd  Schreiben Sie einen Gästebucheintrag für spider_dd

Beiträge: 1111
Registriert: 27.11.2003

Win 10Pro
Intel(R) Core(TM) i7-7700
NVIDIA Quadro P1000
ACAD, Civil-3D 2018

erstellt am: 08. Jan. 2015 16:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Olli_75 10 Unities + Antwort hilfreich

Hallo Stefan,

da wir Deinen Bildschirm nicht sehen (und die Glaskugel gerade beschlagen ist   ) ein paar Fragen:

1) Welchen Code nutzt Du, den oben aus der Antwort von Holger, oder die Fla_ber.lsp?
2) Welche Fehlermeldung erscheint bei Dir?

Am Besten mal eine Kopie aus Deinem Befehlszeilenfenster hier rein stellen.

LG
Thomas

[Diese Nachricht wurde von spider_dd am 08. Jan. 2015 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

xxxmurdockxxx
Mitglied
techn. Zeichner


Sehen Sie sich das Profil von xxxmurdockxxx an!   Senden Sie eine Private Message an xxxmurdockxxx  Schreiben Sie einen Gästebucheintrag für xxxmurdockxxx

Beiträge: 52
Registriert: 18.12.2007

WIN10, Civil 3D 2017 SP1.1

erstellt am: 08. Jan. 2015 16:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Olli_75 10 Unities + Antwort hilfreich


Hallo Thomas,
ups...
Ich meine den Code von Brischke.
Fehlercode ist folgender:
Bei Auswahl von mehreren Objekten:
VVC: Internal Error

Wenn nur ein Objekt gewählt ist:
; Fehler:  Ausnahmebedingung aufgetreten: 0xC0000005 (Zugriffsverletzung)
; Warnung: Unwind übersprungen bei Ausnahmebedingung
; Fehler:  Ausnahmebedingung aufgetreten: 0xC0000005 (Zugriffsverletzung)

Hab grad noch ein anderes Lisp versucht. Das funktioniert, aber für unsere Zeichner sollte ich die Funktion trennen 
Einmal nur Länge und einmal nur Fläche.
Optimal wäre es noch, wenn bei der Flächenberechnung auch MPolygone mitberücksichtigt werden.

Hier der Code der funktioniert.

Code:
(defun c:Lars-laenge (/ Lalle Lpoly Flpoly alle i Flanz ele)
  (princ "\n® Zur Flächenberechnung ")
  (setq alle  (ssget)
Lalle  0
Lpoly  0
Flpoly 0
Flanz  0
i      1
  )

  (while (<= i (sslength alle))
    (princ (strcat "\nObjekt " (rtos i 2 0)))
    (setq ele (ssname alle (1- i)) typ (cdr (assoc 0 (entget ele))))
    (if (OR (= typ "LWPOLYLINE")
    (= typ "REGION")
    (= typ "CIRCLE")
)
      (progn
(setq Flanz (1+ Flanz))
(cond ((= typ "LWPOLYLINE")
      (princ " (Polygon)")
      )
      ((= typ "REGION")
      (princ " (Region)")
      )
      ((= typ "CIRCLE")
      (princ " (Kreis)")
      )
)
(princ "\nLänge: ")
(command "_AREA" "_O" ele)
(princ (setq Lpoly (+ Lpoly (getvar "PERIMETER"))))
(princ " Fläche: ")
(princ (setq Flpoly (+ Flpoly (getvar "AREA"))))
      )
      (command "_LENGTHEN" ele "")
    ) ;ende if
    (command)
    (setq Lalle (+ Lalle (getvar "PERIMETER")))
    (setq i (1+ i))
;(command)
  ) ;ende while
  (princ "\n.\n.\n® ")
  (if (/= Flanz (sslength alle))
    (progn
      (princ
(strcat (rtos (sslength alle) 2 0)
" Objekt(e) gefunden\n  Gesamtlaenge Objekt(e)= "
(rtos Lalle)
)
      )
      (if (> FLanz 0)
(princ "\n® davon ")
      )
    )
  )
  (if (> FLanz 0)
    (princ (strcat (rtos FLanz 2 0)
  " Kreis(e)/Polygon(e)/Region(en) gefunden"
  "\n  Gesamtlänge Kreis(e)/Polygon(e)/Region(en) = "
  (rtos Lpoly)
  " ; Fläche = "
  (rtos Flpoly)
  )
    )
  )
  (princ)
) ;ende defun
(princ "\n...geladen")


------------------
Viele Grüße
Stefan

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

spider_dd
Mitglied



Sehen Sie sich das Profil von spider_dd an!   Senden Sie eine Private Message an spider_dd  Schreiben Sie einen Gästebucheintrag für spider_dd

Beiträge: 1111
Registriert: 27.11.2003

Win 10Pro
Intel(R) Core(TM) i7-7700
NVIDIA Quadro P1000
ACAD, Civil-3D 2018

erstellt am: 08. Jan. 2015 17:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Olli_75 10 Unities + Antwort hilfreich

Hallo Stefan,

also zu VVC: Internal Error sagte mir der Gockel:  "Found this a problem with Acad 2015 - if you get this error go into your code and look for 'mapcar' then within that look for 'command' and change to 'command-s'"

Also ändere die Zeile

(command "_.AREA" "_O" plli)

zu

(command-s "_.AREA" "_O" plli)

teste und berichte. Ich hab hier kein 2015, kann also nicht selber testen.

Zu Deinem geposteten Code: Der Möglichkeiten es in Längen- und Flächenausgabe zu trennen gibt es hier mehrere. Entweder das Gewünschte (Fläche oder Länge) wird zu Anfang abgefragt und dann nur das entsprechende ausgegeben oder man kopiert das Prog, verteilt entsprechende Namen und Befehlsaufrufe und löscht das jeweils nicht benötigte raus.
Gibt es den Ersteller des Lisp noch / ist er bekannt? Dann ggf. dort mal nachfragen (sonst kann ich ja mal einen Blick drauf werfen)

LG
Thomas

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

xxxmurdockxxx
Mitglied
techn. Zeichner


Sehen Sie sich das Profil von xxxmurdockxxx an!   Senden Sie eine Private Message an xxxmurdockxxx  Schreiben Sie einen Gästebucheintrag für xxxmurdockxxx

Beiträge: 52
Registriert: 18.12.2007

WIN10, Civil 3D 2017 SP1.1

erstellt am: 08. Jan. 2015 17:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Olli_75 10 Unities + Antwort hilfreich

Hallo Thomas,


hat geklappt... Danke.

Beim 2. Code hab ich schon ein paar Zeilen rausgeschmissen,
so dass es etwas übersichtlicher wird.

Vielen Dank

------------------
Viele Grüße
Stefan

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

spider_dd
Mitglied



Sehen Sie sich das Profil von spider_dd an!   Senden Sie eine Private Message an spider_dd  Schreiben Sie einen Gästebucheintrag für spider_dd

Beiträge: 1111
Registriert: 27.11.2003

Win 10Pro
Intel(R) Core(TM) i7-7700
NVIDIA Quadro P1000
ACAD, Civil-3D 2018

erstellt am: 08. Jan. 2015 17:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Olli_75 10 Unities + Antwort hilfreich

Hallo Stefan,

schön dass es geklappt hat.

Zum 2. (weil ja fast noch Weihnachten ist  probier mal folgendes:

Code:

(defun antwort(frage antw1 antw2 / antw kw)
  (setq kw (strcat antw1 " " antw2))
  (initget 1 kw)
  (setq antw (substr (getkword frage) 1 1))
) ; ende defun antwort

(defun c:Lars-laenge (/ Lalle Lpoly Flpoly alle i Flanz ele l_f)
 
  (setq l_f (antwort "\nLänge [l] oder Fläche [f] ausgeben l/f  :" "L" "F"))
  (if (= l_f "L")
    (princ "\n® Zur Längenberechnung ")
    (princ "\n® Zur Flächenberechnung ")
  )
   
  (setq alle  (ssget)
Lalle  0
Lpoly  0
Flpoly 0
Flanz  0
i      1
  )

  (while (<= i (sslength alle))
    (princ (strcat "\nObjekt " (rtos i 2 0)))
    (setq ele (ssname alle (1- i)) typ (cdr (assoc 0 (entget ele))))
    (if (OR (= typ "LWPOLYLINE")
            (= typ "REGION")
            (= typ "CIRCLE")
        )
        (progn
          (setq Flanz (1+ Flanz))
          (cond ((= typ "LWPOLYLINE")
                (princ " (Polygon)")
                )
                ((= typ "REGION")
                (princ " (Region)")
                )
                ((= typ "CIRCLE")
                (princ " (Kreis)")
                )
          )
          (command "_AREA" "_O" ele)
  (if (= l_f "L")
    (progn
              (princ "\nLänge: ")
              (princ (setq Lpoly (+ Lpoly (getvar "PERIMETER"))))
    )
    (progn
              (princ " Fläche: ")
              (princ (setq Flpoly (+ Flpoly (getvar "AREA"))))
    )
  )
      )
      (command "_LENGTHEN" ele "")
    ) ;ende if
    (command)
    (if (= l_f "L")
      (setq Lalle (+ Lalle (getvar "PERIMETER")))
    )
    (setq i (1+ i))
;(command)
  ) ;ende while
 
  (princ "\n.\n.\n® ")
;  (if (/= Flanz (sslength alle))
  (if (= l_f "L")
    (progn
      (princ
        (strcat (rtos (sslength alle) 2 0)
        " Objekt(e) gefunden\n  Gesamtlaenge Objekt(e)= "
        (rtos Lalle) 
        )
      )
;      (if (> FLanz 0)
      (princ "\n® davon ")
;      )
    )
  )
  (if (> FLanz 0)
    (if (= l_f "L")
      (progn
        (princ (strcat (rtos FLanz 2 0)
                " Kreis(e)/Polygon(e)/Region(en) gefunden"
                "\n  Gesamtlänge Kreis(e)/Polygon(e)/Region(en) = "
                (rtos Lpoly)
      )
)
      )
      (progn
        (princ (strcat (rtos FLanz 2 0)
                  " Kreis(e)/Polygon(e)/Region(en) gefunden"
                  "\n  GesamtFläche Kreis(e)/Polygon(e)/Region(en) = "
                (rtos Flpoly)
      )
)
      )
    )
    )
  (princ)
) ;ende defun
(princ "\n...geladen")


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz