| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO | | |  | Besichtigung der MAIT.Cloud in Frankfurt | 17.09.2025, eine Veranstaltung am 17.09.2025
|
Autor
|
Thema: Berechnen von Richtungen (481 mal gelesen)
|
schneewitchen Mitglied Konstrukteur
 
 Beiträge: 120 Registriert: 08.07.2007 HP XW4400 Windows XP Prof. 2002 SP2 Intel(R) Core(TM)2 CPU6400 2x 2,13GHz; 3,25 GB RAM NVIDIA Quadro FX1500 OSD 2006 14.50A (14.50.1.4) ModelManager 14.50A
|
erstellt am: 20. Okt. 2008 15:04 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, ich habe immer wieder das Problem, dass ich Richtungen vom Benutzer abfrage und diese dann für das System verrechnen will. Aber das bekomme ich immer nicht so Richtig hin. Vielleicht hat von euch jemand Lust sich mein Makro zur Erstellung von Text_als_geo mal anzusehen. Darin will ich vom Benutzer eine Richtung wo für den Text oben sein soll. Diese Richtung Will ich dann in die aktuelle Arbeitsebene übertragen und mir einen Winkel für den Text berechnen. Auch dies Funktioniert nicht vernünftig, da ich bei meiner Messung immer den Spitzen-Winkel ermittelt bekomme und nicht den absoluten zur X-Achse. Achso und manchmal (je nach Lage der AE) funktioniert das Makro auch super, aber leider nur manchmal. Anbei mein Makro. Aller besten Dank für eure Tipps. Liebe Grüße aus Thüringen Ronny Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
     
 Beiträge: 2296 Registriert: 3.20. ● PE60+80@home ● W10 Pro Build10.0.19045.5737 ● Drafting V17~V20.7@job ● Modeling V17~V20.7@job ● Windchill 12.1.2.6@job ● UWGM Client 13.0.0.1@job ● Taschenrechner ● Stift+Zettel V8.42
|
erstellt am: 20. Okt. 2008 23:18 <-- editieren / zitieren --> Unities abgeben:          Nur für schneewitchen
Hi Ronny, hab's nur gelesen, nicht probiert. ein paar Ideen: in der lokalen funktion Code: (berechnen... ((= -1 (gpnt3d_x ae_dir))
Zahlen auf gleichheit prüfen, die NICHT ganzahlen sind ist immer gefährrlich.0.99999999999 <> 1 !!! 1.000000000000002 <> 1 !!! ersetze durch Code: (sd-num-equal-p -1 (gpnt3d_x ae_dir))
In der selben cond-ition prüfts Du weiter untern:
Code: (progn (if (< winkel (sd-deg-to-rad 180))
zu dem zeitpunkt wo dieser code durchlaufen wird, ist aber "winkel" gar nicht gesetzt!In dieser einen COND hast du 8 faelle: in den ersten 4 pruefst du reale Zahlen auf Gleichheit ab (s.o.) und setzt den Winkel, wenn einer dieser 4 faelle zutrfft kommst Du in fall 5..8 nicht mehr rein. Wenn keiner der ersten 4 Fälle zutriffst fragst du plötzlich den winkel ab, der aber u.U. gar nicht gesetzt ist. Das ist ein Loch, alle mal aber nicht ganz sauber. Jetzt hätte ich beinahe 'dicht' geschrieben, aber da mistversteht wohlmöglich jemand :D weiter unten
Code: (cond ((equal ob_li T)...
das ist ein doppelmoppel, weil ob_li nur T oder nil sein kann. Diese 9er kondition kannst Du also mit
Code: (cond (ob_li... ) (ob_mi... ...
schreiben, weil das ist per see schon T oder eben nilstreiche Code: (if dir-fback (sd-end-feedback dir-fback))
setze Code: (when dir-fback (sd-end-feedback dir-fback))
Code: (cleanup () .... :cancel-action '(cleanup)
Prima! Am Ende den Feedback wieder aufräumen! Bei der Winkelberechnung blick ich nicht durch. vor allem nich jetzt. Und: mach doch erstmal ein einfaches Beispiel, ohne den 9fachen attachment point. Das ist doch nur ein offset der beim plaztiern des textes oben drauf kommt. Also ich wuerde es erst mal auf LL ecke des Texts beschraenken und damit die Richtung in den Griff kriegen. Die curr-wp wuerde ich mir als dialog variable definieren.. das INQ's du ja zig mal. Code: (curr-wp :initial-value (sd-inq-curr-wp))
Nein, wirklich "teuer" oder "langsame" ist der INQ nicht.. aber.. ------------------ ● Seamonkey Firefox Thunderbird Seamonkey auf deutsch ● OSD Hilfeseite (de) / help page (en) ● NotePad++ ● Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |