| |
| 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: bogenlänge (1795 mal gelesen)
|
marvin101010 Mitglied ingenieur der architektur ohne diplom, bauzeichner ohne lehre, cad-admin ohne wissen :-)
Beiträge: 562 Registriert: 22.01.2003 Pentium 4 Windows XP Autocad 2002 Autocad 2002LT + Extender ADT 3.3 ArchiCAD
|
erstellt am: 03. Sep. 2003 15:10 <-- editieren / zitieren --> Unities abgeben:
|
Helmut F Mitglied Dipl.-Ing
Beiträge: 38 Registriert: 09.05.2003
|
erstellt am: 03. Sep. 2003 15:22 <-- editieren / zitieren --> Unities abgeben: Nur für marvin101010
Hallo Marvin, zur Bemaßung eines Bogens benutze ich das folgende Programm. Allerdings wird hier Anfangs- und Endwinkel verwendet, wie soll es sonst auch gehen. (defun C:Bogenmass ( / auswahl eintrag radius zentrum start_winkel end_winkel pkt masstext) ; (SETVAR "CMDECHO" 0) (setq auswahl nil) (while (not auswahl) (setq auswahl (car (entsel "\n Bitte Bogen auswählen... ")))) (setq eintrag (entget auswahl)) ; (if (/= (cdr (assoc 0 eintrag)) "ARC") (alert (strcat "Es wurde kein Bogen gewählt")) ; else (progn (setq zentrum (cdr (assoc 10 eintrag)) radius (cdr (assoc 40 eintrag)) start_winkel (cdr (assoc 50 eintrag)) end_winkel (cdr (assoc 51 eintrag))) ; (if (> start_winkel end_winkel) (setq end_winkel (+ end_winkel pi pi))) (setq pkt (polar zentrum (/ (+ start_winkel end_winkel) 2.0) radius) masstext (strcat "%%o" (rtos (* radius (- end_winkel start_winkel)) 2 2))) ; (command "_DIM1" "_ANG" pkt "T" masstext pause "") )) ; if = "ARC" (princ) ) ; ende defun Gruß an alle Helmut
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marvin101010 Mitglied ingenieur der architektur ohne diplom, bauzeichner ohne lehre, cad-admin ohne wissen :-)
Beiträge: 562 Registriert: 22.01.2003 Pentium 4 Windows XP Autocad 2002 Autocad 2002LT + Extender ADT 3.3 ArchiCAD
|
erstellt am: 03. Sep. 2003 17:27 <-- editieren / zitieren --> Unities abgeben:
hallo helmut... habe es zwar nicht zum vermassen gebraucht, die zwei wichtigen zeilen haben mich aber trotzdem auf den richtigen weg gebracht. dank dafür...und mehr ------------------ .......good vibrations make the world go round Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 03. Sep. 2003 18:33 <-- editieren / zitieren --> Unities abgeben: Nur für marvin101010
Hallo Marvin, jetzt verstehe ich's nicht. Helmut's Code benutzt doch den Start- und Endwinkel. Welches waren denn dann die 2 wichtigen Zeilen? Oder hätte Deine Fragestellung eine andere sein sollen? Viele Fragezeichen im Gesicht ... Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! Ich bin vom 07.-10.10. auf dem Anwendertreffen anzutreffen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dabrunz Mitglied
Beiträge: 127 Registriert: 28.05.2003
|
erstellt am: 04. Sep. 2003 09:20 <-- editieren / zitieren --> Unities abgeben: Nur für marvin101010
Tag zusammen. Mir geht's wie Holger - auch ich kann in der angegebenen Lösung (steht ja auch drin) nicht erkennen, wo da ein Ansatz für die Ermittlung der BogenLänge des Bogens zu finden sein soll. Wenn's dir geholfen hat freut mich das natürlich, aber für all die anderen, denen das vielleicht nicht so geht hier noch ein paar Vorschläge von mir ohne Verwendung von Anfangs- oder Endwinkel des Bogens:
- Ermittlung der tatsächlichen BogenLänge:
Code:
(defun :curve-len (#curve) (vlax-curve-getDistAtParam #curve (vlax-curve-getEndParam #curve) ) )
Funktioniert ganz prima mit <#curve> ::= [ENAME|VLA-Object], wobei es sich natürlich auch um eine Kurve handeln soll. - Öffnungs-Winkels im BogenMaß ohne ZeichnungsElement:
Code:
(defun :math-arc-oeffnungs-winkel (#len #rad) (/ #len #rad 2.0) )
- Öffnungs-Winkels im BogenMaß mit ZeichnungsElement :
Code:
(defun :arc-oeffnungs-winkel (#curve) (:math-arc-oeffnungs-winkel (:curve-len #curve) (:arc-radius #curve) ) )
Basiert eigendlich alles auf U = 2*alpha*r. Achim Dabrunz [Diese Nachricht wurde von Dabrunz am 04. September 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marvin101010 Mitglied ingenieur der architektur ohne diplom, bauzeichner ohne lehre, cad-admin ohne wissen :-)
Beiträge: 562 Registriert: 22.01.2003 Pentium 4 Windows XP Autocad 2002 Autocad 2002LT + Extender ADT 3.3 ArchiCAD
|
erstellt am: 04. Sep. 2003 09:56 <-- editieren / zitieren --> Unities abgeben:
hallo holger... bohr halt nich so...is mir so schon peinlich genug ich wollte einfach die a- und e-winkel umgehen, weil ich.....schwer zu erklären...ging um ne simple abfrage. wollte einen bogen generieren und wenn der eine bestimmte länge überschreitet, a- und e-winkel gegeneinander tauschen...tja...und das hat halt funtioniert, mit den zeilen: (if (> start_winkel end_winkel) (setq end_winkel (+ end_winkel pi pi))) (if (* radius (- end_winkel start_winkel))....... wie auch immer, problem gelöst *freu* @ achim sieht vielversprechend aus. hatte schon gedacht, dass es mit vlax-befehlen funzt, nur.......ich nutze sie nicht trotzdem danke!!!!
------------------ .......good vibrations make the world go round Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Helmut F Mitglied Dipl.-Ing
Beiträge: 38 Registriert: 09.05.2003
|
erstellt am: 05. Sep. 2003 08:22 <-- editieren / zitieren --> Unities abgeben: Nur für marvin101010
|
Dabrunz Mitglied
Beiträge: 127 Registriert: 28.05.2003
|
erstellt am: 05. Sep. 2003 09:33 <-- editieren / zitieren --> Unities abgeben: Nur für marvin101010
Tag zusammen. Zitat:
ich kriege die Länge eines Bogens auch mit der Zeile :(vlax-get-property (vlax-ename->vla-object (car (entsel "\nWähle Bogen..."))) 'ArcLength)
Das stimmt, hat aber 2 Nachteile: 1. Funktioniert nur mit Bögen 2. Wenn auch weniger wichtig, so doch der Erwähnung wert ist diese Abfrage langsamer als :curve-len Achim Dabrunz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |