| |
| 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: Lisp - Neigung 2D (1224 / mal gelesen)
|
LiebGuck Mitglied
Beiträge: 14 Registriert: 29.11.2017 AutoCad 2016
|
erstellt am: 07. Jan. 2019 16:23 <-- editieren / zitieren --> Unities abgeben:
Hallo, liebe Profis Leider kann ich noch kein Lisp und möchte mir gerne etwas erleichtern. Es steht dieses Jahr auf meiner Ausbildungsliste. Bis dorthin kann mir bitte jemand helfen? Ich hätte gern die Neigung in Prozent ausgerechnet, jedoch im Lageplan, keine 3d-Höhen vorhanden. Das Lisp sollte ca. so gehen: Klick auf ein Attribut - Lisp liest den Wert aus Klick auf ein anderes Attribut - Lisp liest den Wert aus, zieht es vom davorigen Wert ab und multipliziert es mit 100 Klick auf zwei Punkte - Lisp liest den Abstand und dividiert es mit dem vorigen Ergebnis. (voriges Ergebnis dividiert mit Abstand) Klick auf ein Attribut - Lisp schreibt den Wert dort hinein. Ist das verständlich ausgedrückt? Kann mir bitte jemand helfen? Lieben Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2799 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Plateia, Canalis Visual Basic
|
erstellt am: 07. Jan. 2019 16:59 <-- editieren / zitieren --> Unities abgeben: Nur für LiebGuck
Hallo LiebGuck (netter Name ), Hast Du das mal im "real" Autocad probiert? Üblicherweise hängen Attribute an einem Block. Sprich wenn Du das Attribut anklickst bekommst Du den Block zurück und nicht den Attributwert, so kenne ich das zumindest. Insofern müßte Deine Aufgabe anders aussehen: - Klicke auf Block_1, lese daraus XY und das Attribut "Hohe" (Beispiel, weiß nicht wie es bei Dir heißt - Klicke auf Block_2, lese daraus XY und das Attribut "Hohe" - Berechne aus Abstand und Höhendifferenz die Neigung - Klicke auf Block_Pfeil und trage in das Attribut "Neigung" den Wert Neigung ein Soweit so einfach, in VBA wäre das für mich kein Problem, aber vielleicht finden sich ja auch ein paar Lispler Hilfreich ist in so einem Fall auch immer eine Beispiel.dwg zu posten Grüße Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 08. Jan. 2019 07:51 <-- editieren / zitieren --> Unities abgeben: Nur für LiebGuck
zum Zeilenweise Nachvollziehen: (defun C:NEIGUNG2D(/ ATT1 ATT2 ATT3 P1 P2 DIFF DIST VALUE) (if(and(setq ATT1(car(nentsel "\nAttribut 1 : "))) (setq ATT1(entget ATT1)) (=(cdr(assoc 0 ATT1))"ATTRIB") (setq ATT1 (cdr(assoc 1 ATT1))) (setq ATT1 (atof ATT1)) (setq ATT2(car(nentsel "\nAttribut 2 : "))) (setq ATT2(entget ATT2)) (=(cdr(assoc 0 ATT2))"ATTRIB") (setq ATT2 (cdr(assoc 1 ATT2))) (setq ATT2 (atof ATT2)) (setq DIFF (*(- ATT1 ATT2)100.0)) (setq P1(getpoint "\nPunkt1: ")) (setq P2(getpoint "\nPunkt2: ")) (>(setq DIST(distance P1 P2))0) (setq VALUE(/ DIFF DIST)) (setq VALUE(rtos VALUE 2 5)) (setq ATT3(car(nentsel "\nAttribut 3 : "))) (setq ATT3(entget ATT3)) (=(cdr(assoc 0 ATT3))"ATTRIB") ) (entmod(subst (cons 1 VALUE)(assoc 1 ATT3)ATT3)) (prompt "\nFehler aufgetreten") ) (princ) ) ------------------ Also ich finde Unities gut ... und andere sicher auch --------------------------------------- - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LiebGuck Mitglied
Beiträge: 14 Registriert: 29.11.2017 AutoCad 2016
|
erstellt am: 08. Jan. 2019 08:06 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen! Vielen Dank für Deine nette Antwort. Anbei gleich mal eine Zeichnung. Natürlich hätte ich echt gern eine Lisp, aber eine VBA nehm ich auch. Hauptsache ich muss es nicht ständig in den Taschenrechner eingeben. Achja, es wäre gut, wenn die Neigung nur mit einer Kommastelle angezeigt wird. Danke schön. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LiebGuck Mitglied
Beiträge: 14 Registriert: 29.11.2017 AutoCad 2016
|
erstellt am: 08. Jan. 2019 08:11 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 08. Jan. 2019 08:48 <-- editieren / zitieren --> Unities abgeben: Nur für LiebGuck
|
LiebGuck Mitglied
Beiträge: 14 Registriert: 29.11.2017 AutoCad 2016
|
erstellt am: 08. Jan. 2019 11:00 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 08. Jan. 2019 11:33 <-- editieren / zitieren --> Unities abgeben: Nur für LiebGuck
|