Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  PTC Creo Elements/Programmierung
  Berechnen von Richtungen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
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


Sehen Sie sich das Profil von schneewitchen an!   Senden Sie eine Private Message an schneewitchen  Schreiben Sie einen Gästebucheintrag für schneewitchen

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


SD_Text_als_geo.lsp.txt

 
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


Sehen Sie sich das Profil von der_Wolfgang an!   Senden Sie eine Private Message an der_Wolfgang  Schreiben Sie einen Gästebucheintrag für der_Wolfgang

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für schneewitchen 10 Unities + Antwort hilfreich

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 nil

streiche

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 >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz