| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: _area command (1880 mal gelesen)
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 29. Aug. 2014 10:54 <-- editieren / zitieren --> Unities abgeben:
Hallo! Ich habe 2 Problem mit dem Befehl _area 1) wenn ich ihn herkömmlich verwende, um Flächen abzugreifen erscheint normalerweise nachdem ich drei Punkte ausgewählt habe mit <enter> die Grösse der Fläche. Das Problem bei einem Kollegen, er kann endlos viele Punkte abgreifen bekommt aber nie die Möglichkeit mit <enter> die Fläche auzuwerfen. Seinen file habe ich an meinem Rechner getestet, läuft bei mir. Öffnet er einen neuen file, funktioniert es auch normal. 2) Jetzt habe ich mal versucht den Befehl nachzuahmen, indem ich eine Polylinie erzeugt und dann mittels _area die Fläche zu bekommen Ich habe festgestellt, dass es auch hier ein Problem gibt Gebe ich mal händisch den Befehl (command "_area" "_o" (entlast)) ... geht klar
Code: Command: (entget (entlast)) ((-1 . <Entity name: 7ffff2ce540>) (0 . "POLYLINE") (330 . <Entity name: 7ffffb039f0>) (5 . "3D65C") (100 . "Ac...
Geb ich aber das PolyObjekt aus meiner Liste PoLst an kommt (command "_area" "_o" (caar PoLst) "") nil Code: Command: (entget (caar PoLst)) ((-1 . <Entity name: 7ffff2ce540>) (0 . "POLYLINE") (330 . <Entity name: 7ffffb039f0>) (5 . "3D65C") (100 . "AcDbE
zum Testen, hier mal den Code, den ich verwende
Code: (defun c:foo ( / pt lst seq pol ;;; PoLst ) (defun LWPolyline ( lst ) (entmakex (list (cons 0 "POLYLINE") (cons 10 '(0 0 0)) ) ) (mapcar (function (lambda ( p ) (entmake (list (cons 0 "VERTEX") (cons 10 p))) ) ) lst ) (entmakex (list (cons 0 "SEQEND"))) ) (while (and (setq pt (getpoint "\nPick points" ))) (setq lst (append lst (list pt))) (setq seq (LWPolyline lst)) (setq Pol (entlast)) (setq PoLst (append PoLst (list (list Pol)))) ) (foreach n (cdr (setq PoLst (reverse (vl-remove-if 'vl-symbolp PoLst)))) (entdel (car n)) ) (command "_area" "_o" "" (caar PoLst)) )
------------------ Gruss Dirk http://cadplayerlounge.blogspot.se Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 29. Aug. 2014 11:13 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 29. Aug. 2014 11:40 <-- editieren / zitieren --> Unities abgeben:
Problem 2) gelöst! Code: (command "_area" "_o" (caar PoLst)) (princ (strcat "\nArea: " (rtos (GETVAR "AREA") 2 3)))
wie sieht es aus bei der ersten Frage, kennt jemand das Problem? ------------------ Gruss Dirk http://cadplayerlounge.blogspot.se Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
Beiträge: 6050 Registriert: 16.09.2004 WINDOWS Vista Ultimate SP2 (64bit), NVIDIA Geforce 9600M GT, AutoCAD 2013.
|
erstellt am: 29. Aug. 2014 11:54 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Zitat: Original erstellt von cadplayer:
wie sieht es aus bei der ersten Frage,
Was passiert denn nach ENTER? Jürgen ------------------ Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 29. Aug. 2014 14:46 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 29. Aug. 2014 15:49 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Gott sperrt deine Tastatur ? Das ist echt unglaublich. Ist die Taste ganz weg oder kann man sie nur nicht herunterdrücken ? Auch wenn der Vorschlag nicht von mir kommt, aber du könntest doch einfach mal machen und dem Frager dann antworten, ist doch nicht mehr Aufwand wie auf eine nicht gestellte Frage eine Antwort zu posten Dirk. ICH kann zu dem Thema leider wenig sagen, wenn Rechner+DWG abhängig.. ne, da fällt mir nichts ein/wie soll man da testen. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 29. Aug. 2014 22:40 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Noch was zur Sache: Wirklich mit demselben Dateistand getestet? Dann dürfte das nicht weiterhelfen: _PLAN _CURRENT _AREA erneut testen.. (die Option wird nur angeboten wenn die Stützpunkte auch eine Fläche bilden) Und in Richtung Jupa denkend(wobei ich in die Richtung eigentlich nicht denke): nach dem 3 Stützpunkt einfach mal _t eingeben. >> die Unterstriche können in der engl. Version freilich weggelassen werden. << ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
Beiträge: 6050 Registriert: 16.09.2004 WINDOWS Vista Ultimate SP2 (64bit), NVIDIA Geforce 9600M GT, AutoCAD 2013.
|
erstellt am: 30. Aug. 2014 06:32 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Zitat: Original erstellt von cadplayer: problem ist ...
Zeig uns doch mal bitte den Inhalt des Textfensters ab Aufruf des _area-Befehles bis nach der Eingabe von mindestens 3 Koordinaten. Ich kann den Effekt (so ich Deine Beschreibung richtig interpretiere) nur nachstellen, indem ich den Befehl _area ständig mit derselben Koordinate füttere. Vllt. ist in dieser Richtung der Fehler zu suchen? Seinen file habe ich an meinem Rechner getestet, läuft bei mir. Öffnet er einen neuen file, funktioniert es auch normal. Passiert das bei ihm nur an einer bestimmten Polylinie oder generell? Was passiert, wenn er Koordinaten über die Tastatur eingibt? Das menu [total] erscheint gar nicht erst Fehlt die gesamte Eingabezeile oder nur die Option <total>? Ach, das werden wir ja sehen, falls Du meiner ersten Bitte entsprichst. Oder meinst Du den Eintrag "total" im Kontextmenü nach RMT (dann bittte auch einen Screenshot dieses Menüs). problem ist man kann gar nicht enter drücken Ich hatte erst mal 'ne größere Denkpause, weil ich überlegt habe was ihn daran hindern könnte, einfach die ENTER-Taste zu betätigen. Jürgen ------------------ Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty) [Diese Nachricht wurde von jupa am 30. Aug. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 03. Sep. 2014 13:28 <-- editieren / zitieren --> Unities abgeben:
Sorry Leute! Dass ich ein wenig undeutlich war, natürlich - ich meinte die Option <Total> erscheint nicht und ich konnte es selber auch nicht weiter nachvollziehen. Weil es an meinem Rechner mit selbigen file einwandfrei lief. Daher habe ich ihm jetzt diesen Code zusammengeklöppelt und er kriegt somit was er will. Code: (defun c:ca ( / ) (defun LWPolyline ( lst ) (entmakex (list (cons 0 "POLYLINE") (cons 10 '(0 0 0)) ) ) (mapcar (function (lambda ( p ) (entmake (list (cons 0 "VERTEX") (cons 10 p))) ) ) lst ) (entmakex (list (cons 0 "SEQEND"))) ) (defun PickPoints ( / pt lst seq Pol PoLst) (princ "\nPick points, avslutar med <enter>") (while (and (setq pt (getpoint ))) (setq lst (append lst (list pt))) (setq seq (LWPolyline lst)) (setq Pol (entlast)) (setq PoLst (append PoLst (list (list Pol)))) ) (if Pol (progn (foreach n (cdr (setq PoLst (reverse (vl-remove-if 'vl-symbolp PoLst)))) (entdel (car n)) ) (command "_area" "_o" (caar PoLst)) ) ) (if PoLst (vla-put-Closed (vlax-ename->vla-object (caar PoLst)) :vlax-true)) (rtos (GETVAR "AREA") 2 3) ) (setq y1 (PickPoints) i 0) (princ (strcat "\n"(itoa (setq i (1+ i))) ". Yta: +" y1 " m"(chr 178) )) (while (not (and (if y1 (progn (setq y2 (PickPoints)) (princ (strcat "\n"(itoa (setq i (1+ i))) ". Yta: +" y2 " m"(chr 179) )) (princ "\nTotlSumma: ") (princ (strcat "Yta: +" (setq y1 (rtos (+ (distof y1) (distof y2)) 2 3)) " m"(chr 178) )) (setq PoLst nil) ) ) ) ) ) (princ) )
Danke für Eure Teilnahme, wie gesagt bei mir kam selbiges Problem nie vor. ------------------ Gruss Dirk http://cadplayerlounge.blogspot.se Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |