| |
| 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: grread, grdraw? (1844 mal gelesen)
|
chrimo Mitglied
Beiträge: 13 Registriert: 03.05.2004
|
erstellt am: 26. Mai. 2004 14:50 <-- editieren / zitieren --> Unities abgeben:
Hallo Wenn man eine Linie zeichnet, spannt sich ja für den "nach-Punkt" ein "Gummiband" vom vorherigen Punkt zum Cursor, bzw. kann man ja auch z.B. bei getpoint einen Startpunkt angeben. Ich möchte nun, dass paralell zum Gummiband eine 2. Linie angezeigt wird. (Hintergrund: Habe ein Lisp für Wände, wo man einen Linienzug zeichnet und jeweils eine paralelle Linie dazu gezeichnet wird. Möchte, dass angezeigt wird, auf welcher Seite die paralelle Linie kommen wird.) Habs bisher vergeblich mit grdraw, grread versucht. Grüße chrimo
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 26. Mai. 2004 15:11 <-- editieren / zitieren --> Unities abgeben: Nur für chrimo
Hab hier mal was : (defun DT:Gummiband (FARBE ABSTAND PKT0 / PKT DX DY ALPHA N) (while (= 5 (car (setq PKT (grread 't 5 0)))) (setq DX (-(car (cadr PKT))(car PKT0))) (setq DY (-(cadr(cadr PKT))(cadr PKT0))) (setq ALPHA(+(cond ((and(zerop DX)(>= DY 0)) (/ Pi 2.0) ) ((and(zerop DX)(< DY 0)) (/ Pi -2.0) ) ((and(< DX 0)(>= DY 0)) (+(atan (/ DY DX ))PI) ) ((and(< DX 0)(< DY 0)) (-(atan (/ DY DX ))PI) ) ('T (atan (/ DY DX )) ) ) (/ PI 2) ) ) (setq N (list (*(cos ALPHA) ABSTAND)(*(sin ALPHA) ABSTAND) 0.0)) (redraw) (grdraw PKT0 (cadr PKT) FARBE ) (grdraw (mapcar '+ PKT0 N)(mapcar '+ (cadr PKT)N) FARBE ) ) (redraw) (if (= 3 (car PKT)) (cadr PKT) ) ) Aufruf dann mit z.b. (dt:gummiband 1 5 (getpoint) ) Zurückgeliefert wird der geklickte Punkt. Allerdings haperts bei grread mit den Ofangs .. ------------------ - Thomas -
[Diese Nachricht wurde von CADmium am 26. Mai. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
valerich Mitglied Programmierer
Beiträge: 12 Registriert: 22.09.2003
|
erstellt am: 26. Mai. 2004 15:27 <-- editieren / zitieren --> Unities abgeben: Nur für chrimo
|
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 26. Mai. 2004 15:29 <-- editieren / zitieren --> Unities abgeben: Nur für chrimo
@cadmium genial U´s sin unterwegs, hab ich schon mal gesucht (eigentlich ja eh einfach wenn ich mir den code so anschau) @chrimo erzähl mal, wird das ein kleines architekturmodul, bin nämlich gerade selbst dabei ein zu proggen (2d und 3D mit einfügen von Fenster Türen usw.) ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
chrimo Mitglied
Beiträge: 13 Registriert: 03.05.2004
|
erstellt am: 26. Mai. 2004 17:50 <-- editieren / zitieren --> Unities abgeben:
@Cadmium Sounds good. Wurmt mich, dass ich heute keine Zeit habe, es auszuprobieren. @fuchsi Genau, wird ein kleines architekturmodul. Einstweilen 2D, dass es prinzipiell funktioniert. Türen, Fenster hab ich. ("Brechen" sich ein Loch in die Wand, mit Beschriftung), Layerverwaltung (Funktioniert tw. mit einem Reaktor, der auf die Bemessungsbefehle, Schraffurbefehle reagiert). Einfache Stiegen, einige kleine Tools, die ich im Laufe der Zeit gemacht habe, vergessen habe und unter einer Bedienungsoberfläche zusammenfassen will. Zur Zeit mach ich gerade ein Wandmodul. @valerich Möchte auch Öffnungen in die Wand brechen bzw. überhaupt verschiedene Wandaufbauten (Schichten) haben. Mline ist mir zu unflexibel. Grüße chrimo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |