| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY bietet das umfangreichste Ökosystem von B2B als auch B2C-Lösungen für IT-Akteure auf dem Markt, eine Pressemitteilung
|
Autor
|
Thema: temporäre 2D-Polylinie zur Längenbestimmung (1924 / mal gelesen)
|
archi.archi Mitglied
Beiträge: 109 Registriert: 08.10.2010 Windows 11 AutoCAD 2024 Revit 2024
|
erstellt am: 28. Nov. 2017 14:09 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum, zum Messen der Länge (eines Leitungsverlaufes) möchte ich 1. eine 2D-Polylinie zeichnen, 2. von dieser Polylinie die Länge ausgeben, 3. diese Polylinie löschen. Über die Befehlszeile wird das Ziel erreicht mit: plinie _area O L Als lisp wird die Abarbeitung nach dem Zeichnen der Polylinie abgebrochen. (defun c:lengplin ( / ech di sel el) (setq ech (getvar "CMDECHO")) (setvar "CMDECHO" 0) (command "plinie") (command "_area" "O" "L") (command "_.erase" "L" "") (setvar "CMDECHO" ech) (princ) ) ;end Ist "_pline" evtl. im Verhalten sehr speziell (mit "Kreis" gibt es z.B. keine Probleme)? Oder woran könnte die weitere Abarbeitung scheitern? Gruss Archi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 3067 Registriert: 26.08.2002 ACAD R11 - 2018.1.2 (Plant3D) AVIS ACAD LT 2013- 2020 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 28. Nov. 2017 14:24 <-- editieren / zitieren --> Unities abgeben: Nur für archi.archi
Hy nun nach Pline rufst du direkt area auf was pline direkt abbricht .. das ist immer so wenn ein Befehl aufgerufen wird da dieser mit °C^C beginnt.
was genau hast Du, evtl. gibt es einen anderen Weg ? cu cw ------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist nur die Spitze des Berges der da treibt ? [Diese Nachricht wurde von cadwomen am 28. Nov. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
Beiträge: 6052 Registriert: 16.09.2004 WINDOWS Vista Ultimate SP2 (64bit), NVIDIA Geforce 9600M GT, AutoCAD 2013.
|
erstellt am: 28. Nov. 2017 15:18 <-- editieren / zitieren --> Unities abgeben: Nur für archi.archi
Zitat: Original erstellt von archi.archi: woran könnte die weitere Abarbeitung scheitern?
Eine mögliche Verbesserung Deines Codes: (defun c:lengplin (/ ech di sel el) (setq ech (getvar "CMDECHO")) (setvar "CMDECHO" 0) (command "plinie") (while (= 1 (logand 1 (getvar 'cmdactive))) (princ "\nPunkt eingeben: ") (command "\\") ) (command "_area" "O" "L") (command "_.erase" "L" "") (setvar "CMDECHO" ech) (princ) ) Und daß Du das Ergebnis von _area noch irgendwie "auffangen" mußt, das weißt Du(?). Naja, ich denke, das ist nur ein Codeschnipsel. [Nachtrag]: (while(=(getvar"cmdactive")1) (Princ "\nPunkt eingeben: ") (command pause) ) sollte auch funktionieren (alles ungetestet). Jürgen ------------------ Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty) [Diese Nachricht wurde von jupa am 28. Nov. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 28. Nov. 2017 15:21 <-- editieren / zitieren --> Unities abgeben: Nur für archi.archi
@cadwomen Kein Befehl fängt mit ^C an, nur Menümakros kann man damit beginnen, dies hat aber nicht mit Autocad-Befehlen an sich zutun. (Leider nennt Adesk im ABI Dialog die Werkzeuge auch "Befehle", was aber nicht treffend formuliert ist) ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
archi.archi Mitglied
Beiträge: 109 Registriert: 08.10.2010 Windows 11 AutoCAD 2024 Revit 2024
|
erstellt am: 28. Nov. 2017 15:29 <-- editieren / zitieren --> Unities abgeben:
Hallo cw, Ziel ist Ausgabe der Länge einer temporär gezeichneten (oder auch nur "gezeigten") Polylinie (=Rohrleitungsverlauf). (command "plinie") wird eigentlich beendet und danach wird (command "_area" ..) aufgerufen. Wo siehst du einen Abbruch? Gruß Archi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 3067 Registriert: 26.08.2002 ACAD R11 - 2018.1.2 (Plant3D) AVIS ACAD LT 2013- 2020 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 28. Nov. 2017 15:31 <-- editieren / zitieren --> Unities abgeben: Nur für archi.archi
Zitat: Original erstellt von archi.archi: Wo siehst du einen Abbruch? Archi
da war ich auf der falschen Fährte sieh Beitrag von CADFFm cu ------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist nur die Spitze des Berges der da treibt ? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 3067 Registriert: 26.08.2002 ACAD R11 - 2018.1.2 (Plant3D) AVIS ACAD LT 2013- 2020 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 28. Nov. 2017 15:34 <-- editieren / zitieren --> Unities abgeben: Nur für archi.archi
Zitat: Original erstellt von archi.archi: Hallo cw, Ziel ist Ausgabe der Länge einer temporär gezeichneten (oder auch nur "gezeigten") Polylinie (=Rohrleitungsverlauf). Archi
Vielleicht hilft das weiter Total Length & Area Programs oder Chain Length cu cw ------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist nur die Spitze des Berges der da treibt ? Link vergessen [Diese Nachricht wurde von cadwomen am 28. Nov. 2017 editiert.] [Diese Nachricht wurde von cadwomen am 28. Nov. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 28. Nov. 2017 15:35 <-- editieren / zitieren --> Unities abgeben: Nur für archi.archi
Zitat: Original erstellt von archi.archi: (command "plinie") wird eigentlich beendet und danach wird (command "_area" ..) aufgerufen. Wo siehst du einen Abbruch?
Unabhängig von dem was vw geschrieben hat: Der Abbruch erfolgt direkt nach dem Aufruf des Befehls PLINIE, den AutoCAD erwartet eine Koordinateneingabe und du antwortest mit "_AREA", damit brichst du den ordnungsgemäßen Ablauf des Lisp ab und AutoCAD ist noch im PLINIE-Befehl. F2 ;========== Befehl: Befehl: LENGPLIN Ungültiger Punkt. ; Fehler: Funktion abgebrochen Startpunkt angeben: ;=========== ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 3067 Registriert: 26.08.2002 ACAD R11 - 2018.1.2 (Plant3D) AVIS ACAD LT 2013- 2020 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 28. Nov. 2017 15:38 <-- editieren / zitieren --> Unities abgeben: Nur für archi.archi
Zitat: Original erstellt von cadffm:
Unabhängig von dem was vw geschrieben hat:
das hat cw (vw waren die mit der Dieselgeschichte ;-) ) aber gemeint bzw. ausdrücken wollen ... nur wie du sagtest haperte es wieder an der Erklärung thx cu ------------------ [i]Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist nur die Spitze des Berges der da treibt ? [Diese Nachricht wurde von cadwomen am 28. Nov. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
archi.archi Mitglied
Beiträge: 109 Registriert: 08.10.2010 Windows 11 AutoCAD 2024 Revit 2024
|
erstellt am: 28. Nov. 2017 15:42 <-- editieren / zitieren --> Unities abgeben:
Hallo Jürgen, also ist plinie doch speziell: Anzahl der Nutzereingaben beliebig. Vielen Dank für deine Ergänzung. Es läuft jetzt wie gewünscht. (defun c:t ( / ech) (setq ech (getvar "CMDECHO")) (setvar "CMDECHO" 0) (command "plinie") (while (= 1 (logand 1 (getvar 'cmdactive))) (princ "\nPunkt eingeben: ") (command "\\") ) (command "_area" "O" "L") (princ "\nLeitungslänge: ") (princ (getvar "PERIMETER")) (command "_.erase" "L" "") (setvar "CMDECHO" ech) (princ) ) ;end Würde diese Funktionalität auch als Diesel-Makro funktionieren (es gibt leider auch "billige" Arbeitsplätze ohne Lisp)? Gruß Archi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 28. Nov. 2017 15:56 <-- editieren / zitieren --> Unities abgeben: Nur für archi.archi
Die LT´ler müssen halt Abstand-messen nehmen und den Befehl selbst beenden. Multifunktionsleiste [Start] Gruppe Dienstprogramme - Abstand Im Makro kannst du dann die Option [Mehrere Punkte] gleich mitgeben, beenden müssen die User selbst. ^C^C_MEASUREGEOM;_distance;\_m ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
archi.archi Mitglied
Beiträge: 109 Registriert: 08.10.2010 Windows 11 AutoCAD 2024 Revit 2024
|
erstellt am: 28. Nov. 2017 16:34 <-- editieren / zitieren --> Unities abgeben:
Hallo cadffm, ein sehr interessanter Ansatz (immer gut, wenn man viele Befehle und ihre Parameter kennt!). Nach dem Prinzip der Gleichbehandlung aller User wird _MEASUREGEOM dann wohl die Lösung sein. Danke Archi
[Diese Nachricht wurde von archi.archi am 29. Nov. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |