Community
AutoCAD Produktfamilie - Deutsch
Das Forum für alle Fragen zu AutoCAD, LT, Architecture, Electrical, Map 3D, Mechanical, MEP, Plant 3D, Raster Design, Web App, sowie Autodesk Civil 3D und Advance Steel.
abbrechen
Suchergebnisse werden angezeigt für 
Anzeigen  nur  | Stattdessen suchen nach 
Meintest du: 

Wie kann ich die Gesamtlänge unabhängiger Objekte in AutoCAD berechnen?

7 ANTWORTEN 7
GELÖST
Antworten
Nachricht 1 von 8
Sofia.Xanthopoulou
3390 Aufrufe, 7 Antworten

Wie kann ich die Gesamtlänge unabhängiger Objekte in AutoCAD berechnen?

Gibt es eine Möglichkeit die Gesamtlänge nicht zusammenhängender Objekte (Linien, Kreise usw.) zu berechnen? Mit der Hand am Arm kann das schon ein bisschen länger dauern 😞 

 

Das ist der Tipp dieser Woche 🙂

 

 

Tags (1)
7 ANTWORTEN 7
Nachricht 2 von 8

Tja, mit herkömmlichen Mitteln wird das auch weiterhin nicht möglich sein Frustrierte Smiley

 

Aber es gibt da Leute, die können kleine Codes dazu schreiben und für Jedermann zugänglich machen. Ich hab da etwas gefunden:

 

(defun C:GESL (/ ss tl n ent itm obj l)
  (setq ss (ssget)
        tl 0
        n (1- (sslength ss)))
  (while (>= n 0)
    (setq ent (entget (setq itm (ssname ss n)))
          obj (cdr (assoc 0 ent))
          l (cond
              ((= obj "LINE")
                (distance (cdr (assoc 10 ent))(cdr (assoc 11 ent))))
              ((= obj "ARC")
                (* (cdr (assoc 40 ent))
                   (if (minusp (setq l (- (cdr (assoc 51 ent))
                                          (cdr (assoc 50 ent)))))
                     (+ pi pi l) l)))
              ((or (= obj "CIRCLE")(= obj "SPLINE")(= obj "POLYLINE")
                   (= obj "LWPOLYLINE")(= obj "ELLIPSE"))
                (command "_.area" "_o" itm)
                (getvar "perimeter"))
              (T 0))
          tl (+ tl l)
          n (1- n)))
  (alert (strcat "Gesamtlänge ist " (rtos tl)))
  (princ)
)

 

Und für diejenigen, die genauso untalentiert sind wie ich, was Programmierung angeht, möchte ich ein kleines Video anhängen, das einen ganz einfachen Weg beschreibt, um eine Lisp Routine ablaufen zu lassen. Dazu muss aber gesagt sein, dass diese Methode nur temporär für diese eine Zeichnung gilt, in der sie ausgeführt wurde. Bei den nächsten Zeichnung muss der Vorgang wiederholt werden. 

 

Kurz in Worten:

Man kopiert den ganzen Code in den Zwischenspeicher (STRG+C), dann fügt man den ganzen Inhalt in die AutoCAD Befehlszeile (STRG+V) und bestätigt (ENTER).

Zum Ausführen tippt man dann GESL in die Befehlszeile, bestätigt und folgt den Anweisungen.

 

 

 

Viel Spaß damit Smiley (zwinkernd)

 

Nachricht 3 von 8

Hallo

Super Tip!

Geht das auch mit Flächen?

 

VG

 

Tobias

Nachricht 4 von 8

Hi,

 

>> Geht das auch mit Flächen?

Ohne getestet zu haben sollte auch dieses mit ganz wenig Änderungen möglich sein (Änderungen zu Sofia's Code in orange markiert):

 

(defun C:GESF (/ ss tl n ent itm obj l)
  (setq ss (ssget)
        tl 0
        n (1- (sslength ss)))
  (while (>= n 0)
    (setq ent (entget (setq itm (ssname ss n)))
          obj (cdr (assoc 0 ent))
          l (cond
              ((= obj "LINE")
                (distance (cdr (assoc 10 ent))(cdr (assoc 11 ent))))
              ((= obj "ARC")
                (* (cdr (assoc 40 ent))
                   (if (minusp (setq l (- (cdr (assoc 51 ent))
                                          (cdr (assoc 50 ent)))))
                     (+ pi pi l) l)))
              ((or (= obj "CIRCLE")(= obj "SPLINE")(= obj "POLYLINE")
                   (= obj "LWPOLYLINE")(= obj "ELLIPSE"))
                (command "_.area" "_o" itm)
                (getvar "area"))
              (T 0))
          tl (+ tl l)
          n (1- n)))
  (alert (strcat "Gesamtfläche ist " (rtos tl)))
  (princ)
)

(Achtung, prüft nicht, ob Polylinien geschlossen sind, macht aber AutoCAD auch nicht (siehe nicht geschlossene Polylinien selektieren und Eigenschaftenfenster zeigt auch eine Fläche an, eben "gedanklich" geschlossen)

 

HTH, - alfred -

------------------------------------------------------------------------------------
Alfred NESWADBA
Ingenieur Studio HOLLAUS ... www.hollaus.at ... blog.hollaus.at ... CDay 2024
------------------------------------------------------------------------------------
(not an Autodesk consultant)
Nachricht 5 von 8

Hallo,

 

ich werde das mal testen und wenn es funktioniert, wird das Morgen mein Tipp der Woche, sonst geht dieser super Post hier unter und keiner wird es je erfahren.

 

Danke vielmals @Alfred.NESWADBA Smiley (zwinkernd)

 

LG

 

Nachricht 6 von 8

Hallo Alfred,

besten Dank.
Hat leider nicht funktioniert...
Programmabsturz und Fehlermeldung...

VG

Tobias
Nachricht 7 von 8

Kein Stress, 

 

wenn es was gibt, werde ich es finden und Morgen veröffentlichen... Ein bisschen Geduld Smiley (zwinkernd)

 

LG

 

Nachricht 8 von 8
scheel
als Antwort auf: tobias.granetzny

Hi,

 

bei mir funktioniert der Lisp-Code ohne Fehlermeldung.

Allerdings bekomme ich auch für eine Linie eine Fläche ausgeworfen.

 

Kannst du mal deine Fehlermeldung posten, dann kann man erkennen, wo dein Problem liegt.

 

Thorsten

Thorsten Scheel
Contelos GmbH













Sie finden nicht, was Sie suchen? Fragen Sie die Community oder teilen Sie Ihr Wissen mit anderen.

In Foren veröffentlichen  

Autodesk Design & Make Report