| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: flächenberechnung (639 mal gelesen)
|
krenzi_lange Mitglied Zimmerer
Beiträge: 35 Registriert: 16.01.2003 Win XP /
|
erstellt am: 24. Nov. 2004 17:09 <-- editieren / zitieren --> Unities abgeben:
hallo ich habe mir eine LISP Datei runtergeladen kenne mich aber nicht mit der LISP Programierung aus bei folgender Datei wird ein Fläche berechnet , ich möchte jetzt das ergebnis noch durch eine Zahl teilen bevor es als text in die Zeichnung eingetragen wird . An welcher stelle muß mann welche berechnungszeile eingeben ?? :-) krenzi (defun M:FEHLER (S) (print (strcat "M:fehler " S)) (command "_UNDO" "_BACK") (close schreibdat) (setq *ERROR* MD_ERR) (princ) ) ;_ end of defun
(DEFUN koord (item / len pos zeich str) (setq len (strlen item)) (setq pos len) (SETQ zeich (SUBSTR item Pos 1)) (WHILE (/= zeich ":") (setq pos (1- pos)) (SETQ zeich (SUBSTR item Pos 1)) ) (setq pos (1+ pos)) (Setq str (atof (substr item pos (- len pos)))) );ende defun (defun fl ( e1 / ) (command "_.area" "_o") (command e1) );ende defun (defun c:schwpkt (/ t_2 Ss) (setq MD_ERR *ERROR* *ERROR* M:FEHLER ) ;_ end of setq ;;Marke für Zurück nach Abbruch setzen (command "_UNDO" "_MARK") (setq el (entlast)) (setq as (ssadd)) (setq p1 (getpoint "\nin die zu berechnende Fläche klicken")) (command "_.boundary" "o" "i" "j" "o" "r" "x" p1) (if (>(sslength (ssget "_W" (getvar "vsmin")(getvar "vsmax")))1000) (command "J" "") (command "") ) ;(setq e1 (ssname as 0)) (if (= (entnext el) NIL) (setq e1 el) (setq e1 (entnext el)) ) (fl e1) (while e1 (ssadd e1 as) (setq e1 (entnext e1)) ) (setq kont (ssname as 0)) (ssdel kont as) (command "_massprop" "_l" "" "_Y" "test") (command "_.erase" "_l" "") (setq mprdat (open "test.mpr" "r")) (repeat 7 (read-line mprdat) (princ) ) (setq x (koord (strcase (read-line mprdat)))) (setq y (koord (strcase (read-line mprdat)))) (close mprdat) (setq p2 (list x y)) (setq deldat (strcat "del test.mpr")) (command "_shell" deldat) ;;; (setq schreibdat (open "C:\\Koord.csv" "a")) ;;; (setq reinschreib (strcat ;;; "Fläche: " ;;; ";" ;;; (rtos (getvar "area") 2 2) ;;; ";" ;;; " qm" ;;; "\nSchwerpunkt in Y: " ;;; ";" ;;; (rtos y) ;;; "\n" ;;; ) ;;; ) ;;; (write-line reinschreib schreibdat) ;;; (close schreibdat) (command "_text" p2 "0.35" "0" (strcat (rtos (getvar "area") 2 2)" qm")) (princ) ) (prompt "\nZum Starten 'schwpkt' eingeben") ;|«Visual LISP© Format Options» (72 2 40 1 nil "end of " 60 9 0 0 0 T T nil T) ***Don't add text below the comment!***|; ------------------ Gruß Krenzi@lange Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
edo2000 Mitglied
Beiträge: 38 Registriert: 05.03.2003
|
erstellt am: 24. Nov. 2004 17:40 <-- editieren / zitieren --> Unities abgeben: Nur für krenzi_lange
Hi in einer der letzen Zeilen wird die Systemvariable "AREA" mit "RTOS" konvertiert in eine Zeichenkette. D.h. TEXT -> Dezimalschreibweise mit 2 Komma-Stellen. Dieser Code ist zu Ändern:
Code:
(command "_text" p2 "0.35" "0" (strcat (rtos (getvar "area") 2 2)" qm"))
in: Code:
(command "_text" p2 "0.35" "0" (strcat (rtos (/ (getvar "area") XXX) 2 2)" qm"))
Wobei das XXX für die Zahl steht ------------------ @edo... [Diese Nachricht wurde von edo2000 am 24. Nov. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
krenzi_lange Mitglied Zimmerer
Beiträge: 35 Registriert: 16.01.2003 Win XP /
|
erstellt am: 25. Nov. 2004 07:00 <-- editieren / zitieren --> Unities abgeben:
Danke edo2000 klappt echt super Wie würde der befehl ausshen wenn ich jetzt noch 3% abziehen möchte sprich wo muß ich" x 0,97" einfügen und würde es auch noch so gehen das ich einen neuen layer mit eienem namen auch gleich erzeuge ------------------ Gruß Krenzi@lange Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3424 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 25. Nov. 2004 07:19 <-- editieren / zitieren --> Unities abgeben: Nur für krenzi_lange
Servus Da wo die XXX stehen ist der Wert einzutragen und mit Multiplizieren geht´s auch leichter. (ungetestet) (command "_text" p2 "0.35" "0" (strcat (rtos (/ (getvar "area") XXX) 2 2)" qm")) (command "_text" p2 "0.35" "0" (strcat (rtos (* (getvar "area") 0.97) 2 2)" qm")) ------------------ schöne Grüsse aus der Steiermark Bernd P. Warum Einfach es geht auch kompliziert Bitte Supportangaben eintragen, warum siehst du hier Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
krenzi_lange Mitglied Zimmerer
Beiträge: 35 Registriert: 16.01.2003 Win XP /
|
erstellt am: 25. Nov. 2004 08:22 <-- editieren / zitieren --> Unities abgeben:
|
Califax Mitglied Kaufmann, Fachwirt, AutoCADler, Allroundgenie
Beiträge: 100 Registriert: 19.08.2004
|
erstellt am: 25. Nov. 2004 08:50 <-- editieren / zitieren --> Unities abgeben: Nur für krenzi_lange
Hallo! Das ist eine super Lisp-Routine! Ich habe viel mit Flächenberechnung zu tun und das jetzt gleich die Zahlen in die Zeichnung geschrieben werden ist spitze. Geht natürlich mit Map auch so, aber diese Routine ist doch einiges einfacher zu handhaben. Ich finde sowas sollte standardmäßig in AutoCAD integriert sein. Danke an den Lispler, der das "verzapft" hat. In diesem Sinne einen schönen Tag noch. ------------------ Ich sag mal so... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Califax Mitglied Kaufmann, Fachwirt, AutoCADler, Allroundgenie
Beiträge: 100 Registriert: 19.08.2004 Autodesk AutoCAD Map 3D Windows 10
|
erstellt am: 25. Nov. 2004 08:52 <-- editieren / zitieren --> Unities abgeben: Nur für krenzi_lange
|
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 26. Nov. 2004 08:09 <-- editieren / zitieren --> Unities abgeben: Nur für krenzi_lange
|
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 26. Nov. 2004 11:02 <-- editieren / zitieren --> Unities abgeben: Nur für krenzi_lange
|