| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT, eine Pressemitteilung
|
Autor
|
Thema: Befehl _area in AutoCAD 2010 (1777 mal gelesen)
|
romi1 Mitglied Bautechniker
Beiträge: 647 Registriert: 09.02.2006 Xeon E3-1245V2 16GB RAM Windows 10 Professional 64 bit AutoCAD 2014
|
erstellt am: 14. Jan. 2011 05:54 <-- editieren / zitieren --> Unities abgeben:
Hallo! Ich verwende schon länger ein Lisp zum Auswerden von Querprofildaten. Im Lisp habe ich als zentrale Abfrage der Befehl "_area" mit der Option "o" (für Objekt) für die Extraktion von Länge und Fläche von div. Polylinien eingebaut. In den AutoCAD-Versionen 2008 und 2009 funktioniert das Lisp einwandfrei. Ein Problem gibt es aber mit AutoCAD 2010. Der Grund ist, das AutoCAD 2010 beim Befehl "_area" mit Option "o" scheinbar manche Polylinien nicht auswerten kann, obwohl es bei AutoCAD 2009 funktioniert. Ich weiß aber nicht, warum es bei AC 2010 nicht funktioniert. Es scheint je ganz normale Polylinien zu betreffen. Man bekommt die Fehlermeldung "Konnte Fläche nicht berechnen." Damit kommt natürlich mein Lisp zum Absturz. Als Beispiel im Anhang ein File mit 2 Polylinien: mit AutoCAD 2009 funktioniert "_area" mit Option "o", mit AutoCAD 2010 nicht. Habt Ihr eine Ahnung, was da die Ursache ist? Wie könnte ich das Problem umgehen? Gruß, Roman Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
neurosis Mitglied dipl.ing.
Beiträge: 224 Registriert: 22.08.2006
|
erstellt am: 14. Jan. 2011 07:36 <-- editieren / zitieren --> Unities abgeben: Nur für romi1
hallo roman, dies scheint ein bug im acad 2010 zu sein. versuch mal folgendes: (setq en (entget (car (entsel)))) (setq obj (vlax-ename->vla-object en)) (setq ar (vla-get-area obj)) jetzt sollte in ar deine gesuchte flaeche stehen gruss marco ------------------ Marco Heuer www.arc-aachen.de Airport Office Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 14. Jan. 2011 07:47 <-- editieren / zitieren --> Unities abgeben: Nur für romi1
|
CADdog Ehrenmitglied V.I.P. h.c.
Beiträge: 2280 Registriert: 30.04.2004 Intel Xeon 3,6 GHz 32 GB RAM NVIDIA Quadro P2000 Windows 10 Enterprise AutoCADmap 3D 2023 WS-Landcad 2023 QGIS 3.28.5
|
erstellt am: 14. Jan. 2011 08:04 <-- editieren / zitieren --> Unities abgeben: Nur für romi1
was mir aufgefallen Ist: 1. deine Zeichnung enthält nicht nur zwei Polylinien, sondern auch Linien und Bögen 2. die Zeichnung enthält Proxy-Elemente 3. die Prüfung der Zeichnung ergibt Fehler 4. die Polylinien sind nicht geschlossen-> area liefert kein Ergebnis 5. beim Schließen der PL schneidet sich eine PL selbst->keine Fläche mit area, die andere wird mit einen Bogen geschlossen-> kein Schneiden->Fläche wird ermittelt ------------------ Gruß Thomas CADdog, the dog formerly known as TR AutoCAD spricht mit einem, aber viele hören nicht zu. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
neurosis Mitglied dipl.ing.
Beiträge: 224 Registriert: 22.08.2006
|
erstellt am: 14. Jan. 2011 08:16 <-- editieren / zitieren --> Unities abgeben: Nur für romi1
hallo thomas, autocad kann sehr wohl sich selbst schneidende polylinien berechnen. gib mal in der konsole den befehl "liste" ein. du wirst sehen, dass da ein wert fuer flaeche steht. wenn du jetzt noch die sysvar "area" dir anschaust, wirst du sehen, dass der eben berechnete wert angezeigt wird. gruss marco ------------------ Marco Heuer www.arc-aachen.de Airport Office Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADdog Ehrenmitglied V.I.P. h.c.
Beiträge: 2280 Registriert: 30.04.2004 Intel Xeon 3,6 GHz 32 GB RAM NVIDIA Quadro P2000 Windows 10 Enterprise AutoCADmap 3D 2023 WS-Landcad 2023 QGIS 3.28.5
|
erstellt am: 14. Jan. 2011 08:26 <-- editieren / zitieren --> Unities abgeben: Nur für romi1
Zitat: Original erstellt von neurosis: autocad kann sehr wohl sich selbst schneidende polylinien berechnen.
zweifellos ist das so aber der Befehl AREA kann das wohl in acad 2010 nicht oder? ------------------ Gruß Thomas CADdog, the dog formerly known as TR AutoCAD spricht mit einem, aber viele hören nicht zu. [Diese Nachricht wurde von CADdog am 14. Jan. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
romi1 Mitglied Bautechniker
Beiträge: 647 Registriert: 09.02.2006 Xeon E3-1245V2 16GB RAM Windows 10 Professional 64 bit AutoCAD 2014
|
erstellt am: 14. Jan. 2011 08:33 <-- editieren / zitieren --> Unities abgeben:
@caddog: Zu Deinen Anmerkungen: 1.) Zeichnung ist nicht von mir erstellt, sondern von einem Kunden (ich hab für die Testdatei jede Menge rausgelöscht); außerdem habe ich keine Ahnung, mit welchen Aufsätzen die arbeiten bzw. ist es mir auch egal. Auch ist es jetzt egal, ob die Zeichnung sonst noch was enthält außer Polylinien 2.) proxy-Elemente: egal, in AC 2009 stört das scheinbar nicht und in AC 2008 auch nicht 3.) Prüfung ergibt Fehler: egal, in AC 2009 stört das scheinbar nicht und in AC 2008 auch nicht 4.) auch bei nicht geschlossenen Polylinen liefert _area ein Ergebnis; insbesondere ist ja auch die Länge von Bedeutung und wird weiter verwendet 5.) egal, siehe 4.)
[Diese Nachricht wurde von romi1 am 14. Jan. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
neurosis Mitglied dipl.ing.
Beiträge: 224 Registriert: 22.08.2006
|
erstellt am: 14. Jan. 2011 08:39 <-- editieren / zitieren --> Unities abgeben: Nur für romi1
|
romi1 Mitglied Bautechniker
Beiträge: 647 Registriert: 09.02.2006 Xeon E3-1245V2 16GB RAM Windows 10 Professional 64 bit AutoCAD 2014
|
erstellt am: 14. Jan. 2011 08:48 <-- editieren / zitieren --> Unities abgeben:
@ neurosis: Danke für Deinen Tipp - ich will es in dieser Weise versuchen! Leider kenn ich mich bei den vl-Befehlen noch nicht aus: Ich hab mal folgendes Code-Schnipsel (auf Basis deines Vorschlages) probiert: Code: (vla-get-area (vlax-ename->vla-object (entget (car (entsel)))))
-> nach Objektwahl folgende Fehlermeldung: Fehler: no function definition: VLAX-ENAME->VLA-OBJECT Warum? Was mache ich da falsch? Gruß, Roman Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
neurosis Mitglied dipl.ing.
Beiträge: 224 Registriert: 22.08.2006
|
erstellt am: 14. Jan. 2011 08:51 <-- editieren / zitieren --> Unities abgeben: Nur für romi1
|
romi1 Mitglied Bautechniker
Beiträge: 647 Registriert: 09.02.2006 Xeon E3-1245V2 16GB RAM Windows 10 Professional 64 bit AutoCAD 2014
|
erstellt am: 14. Jan. 2011 08:52 <-- editieren / zitieren --> Unities abgeben:
|
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 14. Jan. 2011 08:58 <-- editieren / zitieren --> Unities abgeben: Nur für romi1
|
romi1 Mitglied Bautechniker
Beiträge: 647 Registriert: 09.02.2006 Xeon E3-1245V2 16GB RAM Windows 10 Professional 64 bit AutoCAD 2014
|
erstellt am: 14. Jan. 2011 08:59 <-- editieren / zitieren --> Unities abgeben:
@neurosis: das (entget ...) mußte ich noch rausnehmen in dieser Weise funktioniert es dann auch unter AC 2010 mit den hartnäckigen Polylines: Code: (vla-get-area (vlax-ename->vla-object (car (entsel))))
Ich muß das ganze nur noch im mein Lisp einbauen. Vielen Dank! Gruß, Roman Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
neurosis Mitglied dipl.ing.
Beiträge: 224 Registriert: 22.08.2006
|
erstellt am: 14. Jan. 2011 09:11 <-- editieren / zitieren --> Unities abgeben: Nur für romi1
|