Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  bogenlänge

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 Autodesk Produkte
Autor Thema:  bogenlänge (1757 mal gelesen)
marvin101010
Mitglied
ingenieur der architektur ohne diplom, bauzeichner ohne lehre, cad-admin ohne wissen :-)


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

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

Hallo Leute...

kann mir mal jemand sagen, wie ich innerhalb einer lisp ohne verwendung des anfangs- und endwinkels, die bogenlänge eines "ARC"s herausbekommen kann? steh grad auf dem schlauch...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


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

Beiträge: 38
Registriert: 09.05.2003

erstellt am: 03. Sep. 2003 15:22    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 marvin101010 10 Unities + Antwort hilfreich

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


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

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

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




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 03. Sep. 2003 18:33    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 marvin101010 10 Unities + Antwort hilfreich

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



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

Beiträge: 127
Registriert: 28.05.2003

erstellt am: 04. Sep. 2003 09:20    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 marvin101010 10 Unities + Antwort hilfreich

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


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

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

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


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

Beiträge: 38
Registriert: 09.05.2003

erstellt am: 05. Sep. 2003 08:22    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 marvin101010 10 Unities + Antwort hilfreich

Hallo zusammen,

ich kriege die Länge eines Bogens auch mit der Zeile :

(vlax-get-property (vlax-ename->vla-object (car (entsel "\nWähle Bogen..."))) 'ArcLength)

Helmut

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Dabrunz
Mitglied



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

Beiträge: 127
Registriert: 28.05.2003

erstellt am: 05. Sep. 2003 09:33    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 marvin101010 10 Unities + Antwort hilfreich

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

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)2023 CAD.de | Impressum | Datenschutz