Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Radius über drei Punkte berechnen

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:  Radius über drei Punkte berechnen (1702 mal gelesen)
Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 07. Nov. 2016 13:28    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,

ich versuche den Radius eines Kreises über drei vorhandene Punkte zu berechnen. Ich mache einen Fehler und finde ihn aber nicht.

Hier mein Programmcode dazu:
( defun test ( / )

  (setq lpkt1 (list -2.0 4.0 0.0))
  (setq lpkt2 (list 1.0 -3.0 0.0))
  (setq lpkt3 (list 5.0 7.0 0.0))
 
  (setq rabst (distance lpkt1 lpkt2))
  (setq ra (/ rabst 2.0))

  (setq rwin12 (angle lpkt1 lpkt2))

  (setq lmp12 (polar lpkt1 rwin12 ra))

  (setq rwinm3 (angle lmp12 lpkt3))
  (setq rabstm3 (distance lmp12 lpkt3))

  (setq rm32  (expt rabstm3 2))
  (setq ra2  (expt ra 2))
  (setq rb2 (+ rm32 ra2))
  (setq rb (sqrt rb2))

  (setq rwinmzb (angle lpkt3 lmp12))
  (setq lzentbogtest (polar lmp12 rwinmzb rb))
  (setq rrad (distance lzentbogtest lpkt3))
)

Es müsste eigentlich ein Radius von 5.38516 berechnet werden.

Wo steckt der Fehler in meinem obigen Programmcode?

Danke im Voraus und viele Grüße
Bernd

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

archtools
Mitglied



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

Beiträge: 823
Registriert: 09.10.2004

Entwickler für AutoCAD, BricsCAD u.a., alle Systeme

erstellt am: 07. Nov. 2016 13:38    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 Bernd10 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Bernd10:
Hallo,

ich versuche den Radius eines Kreises über drei vorhandene Punkte zu berechnen. Ich mache einen Fehler und finde ihn aber nicht.

Hier mein Programmcode dazu:
( defun test ( / )

  (setq lpkt1 (list -2.0 4.0 0.0))
  (setq lpkt2 (list 1.0 -3.0 0.0))
  (setq lpkt3 (list 5.0 7.0 0.0))
 
  (setq rabst (distance lpkt1 lpkt2))
  (setq ra (/ rabst 2.0))

  (setq rwin12 (angle lpkt1 lpkt2))

  (setq lmp12 (polar lpkt1 rwin12 ra))

  (setq rwinm3 (angle lmp12 lpkt3))
  (setq rabstm3 (distance lmp12 lpkt3))

  (setq rm32  (expt rabstm3 2))
  (setq ra2  (expt ra 2))
  (setq rb2 (+ rm32 ra2))
  (setq rb (sqrt rb2))

  (setq rwinmzb (angle lpkt3 lmp12))
  (setq lzentbogtest (polar lmp12 rwinmzb rb))
  (setq rrad (distance lzentbogtest lpkt3))
)

Es müsste eigentlich ein Radius von 5.38516 berechnet werden.

Wo steckt der Fehler in meinem obigen Programmcode?

Danke im Voraus und viele Grüße
Bernd


Ohne Deinen Code angesehen zu haben, wird das u.a. so berechnet: Auf zwei beliebige nicht-parallele Verbindungslinien der 3 Punkte errichtest Du am Halbpunkt einen Normalvektor zur Linie. Der Abstand des Schnittpunkts der von den Normalvektoren aufgespannten Geraden zu jedem der drei Punkte muss gleich sein und ist dann der Radius des gesuchten Kreises.

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

cadwomen
Ehrenmitglied V.I.P. h.c.
Mädchen für fast alles


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

Beiträge: 2966
Registriert: 26.08.2002

ACAD R11 - 2018.1.2
(Plant3D)
AVIS
ACAD LT 2013- 2020
ZWCAD 2015 Versuch "nun ja"
[s]History P3D 2012/(13) SP und Hotfix([/s]<P>
Windows 10 / 64 Bit
Xeon CPU 3.5GHz
16GB Ram
NVIDIA Quadro P2000
3x Dell TV100 88P Monitore

erstellt am: 07. Nov. 2016 13:43    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 Bernd10 10 Unities + Antwort hilfreich

Hy Bernd ,

ich persönlich kann dir da nicht helfen ... hab da aber was , vielleicht bringt es dich weiter

;; 3-Point Circle  -  Lee Mac
;; Returns the Center and Radius of the Circle defined
;; by three supplied points.

(defun LM:3PCircle ( p1 p2 p3 / cn m1 m2 )
    (setq m1 (mid p1 p2)
          m2 (mid p2 p3)
    )
    (if
        (setq cn
            (inters
                m1 (polar m1 (+ (angle p1 p2) (/ pi 2.)) 1.0)
                m2 (polar m2 (+ (angle p2 p3) (/ pi 2.)) 1.0)
                nil
            )
        )
        (list cn (distance cn p1))


cu cw

------------------
Also ich finde Unities gut ... und andere sicher auch
------------------------------------------------
cadwomen™
Plant ist wie Öl suchen, je tiefer man bohrt desto mehr kommt ans Tageslicht

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

Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 07. Nov. 2016 13:58    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 cadwomen,

danke für Deine Antwort. Mit diesem Programmcode erhalte ich das erwartete Ergebnis:
(defun test1 ( / cn m1 m2 )


  (setq p1 (list -2.0 4.0 0.0))
  (setq p2 (list 1.0 -3.0 0.0))
  (setq p3 (list 5.0 7.0 0.0))

 
    (setq m1 (mid p1 p2)
          m2 (mid p2 p3)
    )
    (if
        (setq cn
            (inters
                m1 (polar m1 (+ (angle p1 p2) (/ pi 2.)) 1.0)
                m2 (polar m2 (+ (angle p2 p3) (/ pi 2.)) 1.0)
                nil
            )
        )
        (list cn (distance cn p1))
      ) ; if
) ; defun

(defun mid ( a b )
    (mapcar (function (lambda ( a b ) (/ (+ a b) 2.0))) a b)
)

Ich wüsste aber trotzdem gerne, wo der der Fehler in meinem ersten Beitrag ist. Vielleicht finde ich ihn noch.

Viele Grüße
Bernd

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

Roland Schröder
Ehrenmitglied V.I.P. h.c.
Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen



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

Beiträge: 13115
Registriert: 02.04.2004

PDSU-2013-SP1.1 W7pro64-SP1
F-Secure-Int.-Sec.2012
Dell-M4600 2,13GHz 8GB
Quadro2000M 15,4"1920x1080/24"1920x1200
MS-IntelliMouse-Optical SpacePilotClassic

erstellt am: 07. Nov. 2016 14:06    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 Bernd10 10 Unities + Antwort hilfreich

Moin!

Interessante Aufgabe! Sofern Du nicht einfach die Lösung von Lee Marc bzw. cadwomen übernehmen willst, würde ich gern Deine geometrische Vorgehensweise im Eingangspost analysieren, und dann finden wir bestimmt auch den Fehler darin, aber leider kann ich Lisp nicht so gut und bräuchte ein bisschen Erläuterung dazu. (Oft zeigt sich der Fehler ja auch schon beim Verfassen der Erklärung.)

Den Pythagoras im voletzten Absatz erkenne ich allerdings auch so schon, und ich glaube, dass der hier nicht hilft.

------------------
Roland  
www.Das-Entwicklungsbuero.de

It's not the hammer - it's the way you hit!

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

Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 07. Nov. 2016 14:16    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 Roland,

danke für Deine Interesse.

Zitat:
Original erstellt von Roland Schröder:

... bräuchte ein bisschen Erläuterung dazu. (Oft zeigt sich der Fehler ja auch schon beim Verfassen der Erklärung.)

Hier einige Erklärungen zu meinem Programmcode:
( defun test ( / )

  (setq lpkt1 (list -2.0 4.0 0.0)) ; Punkt 1 festlegen
  (setq lpkt2 (list 1.0 -3.0 0.0)) ; Punkt 2 festlegen
  (setq lpkt3 (list 5.0 7.0 0.0)) ; Punkt 3 festlegen
 
  (setq rabst (distance lpkt1 lpkt2)) ; Abstand von Punkt 1 zu Punkt 2
  (setq ra (/ rabst 2.0)) ; Hälfte des Abstandes

  (setq rwin12 (angle lpkt1 lpkt2)) ; Winkel von Punkt 1 zu Punkt 2 im Bogenmaß

  (setq lmp12 (polar lpkt1 rwin12 ra)) ; Mittelpunkt zwischen Punkt 1 und Punkt 2

  (setq rwinm3 (angle lmp12 lpkt3)) ; Winkel vom Mittelpunkt zu Punkt 3
  (setq rabstm3 (distance lmp12 lpkt3)) ; Abstand vom Mittelpunkt zu Punkt 3

  (setq rm32  (expt rabstm3 2)) ; Exponent oder rabstm3  * rabstm3
  (setq ra2  (expt ra 2)) ; Exponent oder ra * ra
  (setq rb2 (+ rm32 ra2)) ; Addition der Exponenten
  (setq rb (sqrt rb2)) ; Wurzel aus der Addition

  (setq rwinmzb (angle lpkt3 lmp12)) Winkel von Punkt 3 zum Mittelpunkt im Bogenmaß
  (setq lzentbogtest (polar lmp12 rwinmzb rb)) ; Zentrum des Kreises
  (setq rrad (distance lzentbogtest lpkt3)) ; Radius des Kreises
)

Viele Grüße
Bernd

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

archtools
Mitglied



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

Beiträge: 823
Registriert: 09.10.2004

Entwickler für AutoCAD, BricsCAD u.a., alle Systeme

erstellt am: 07. Nov. 2016 14: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 Bernd10 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Bernd10:
Hallo Roland,

danke für Deine Interesse.

Hier einige Erklärungen zu meinem Programmcode:

  (setq rm32  (expt rabstm3 2)) ; Exponent oder rabstm3  * rabstm3
  (setq ra2  (expt ra 2)) ; Exponent oder ra * ra
  (setq rb2 (+ rm32 ra2)) ; Addition der Exponenten
  (setq rb (sqrt rb2)) ; Wurzel aus der Addition


Wie kommst Du auf die Idee, dass da irgendwo ein rechter Winkel sei? Und der Exponent ist die Hochzahl, also die 2. Du meinst die Potenz, genauer die Zweierpotenz, also das Quadrat.

[Diese Nachricht wurde von archtools am 07. Nov. 2016 editiert.]

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

Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 07. Nov. 2016 14:41    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 archtools,

danke für Deine Antort.

Zitat:
Original erstellt von archtools:
[B]
Wie kommst Du auf die Idee, dass da irgendwo ein rechter Winkel sei?

Wenn ich das jetzt noch wüsste, nachdem ich einige Zeit gesucht und getestet habe.

Zitat:
Original erstellt von archtools:
Und der Exponent ist die Hochzahl, also die 2. Du meinst die Potenz, genauer die Zweierpotenz, also das Quadrat.

Stimme ich Dir natürlich zu.

Viele Grüße
Bernd

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

Roland Schröder
Ehrenmitglied V.I.P. h.c.
Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen



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

Beiträge: 13115
Registriert: 02.04.2004

PDSU-2013-SP1.1 W7pro64-SP1
F-Secure-Int.-Sec.2012
Dell-M4600 2,13GHz 8GB
Quadro2000M 15,4"1920x1080/24"1920x1200
MS-IntelliMouse-Optical SpacePilotClassic

erstellt am: 07. Nov. 2016 16:16    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 Bernd10 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Bernd10:
(setq lmp12 (polar lpkt1 rwin12 ra)) ; Mittelpunkt zwischen Punkt 1 und Punkt 2
  (setq rwinm3 (angle lmp12 lpkt3)) ; Winkel vom Mittelpunkt zu Punkt 3

Eine Linie von (Mittelpunkt zwischen Punkt 1 und Punkt 2) zu Punkt 3 ergibt hier keinen Sinn.

Hast Du Dir zu der Aufgabe schon mal eine Skizze gemacht?

------------------
Roland  
www.Das-Entwicklungsbuero.de

It's not the hammer - it's the way you hit!

[Diese Nachricht wurde von Roland Schröder am 07. Nov. 2016 editiert.]

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

jupa
Ehrenmitglied V.I.P. h.c.
Ruheständler


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

Beiträge: 6050
Registriert: 16.09.2004

WINDOWS Vista Ultimate SP2 (64bit), NVIDIA Geforce 9600M GT, AutoCAD 2013.

erstellt am: 07. Nov. 2016 16:25    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 Bernd10 10 Unities + Antwort hilfreich

Ohne jetzt auf das oben bereits geschriebene Bezug zu nehmen, hier mal der Code von Axel Strube-Zettler zur Ermittlung der Zentrumspunktkoordinate eines 3Punkt-Kreises:

;;; Berechnet Zentrumspunkt eines 3Punkt-Kreises
(defun center-3p (p1 p2 p3 /)
  (apply 'inters
(append
  (apply 'append
  (mapcar
    '(lambda (a b / tmp)
      (list
(setq tmp
(mapcar
  '(lambda (c /)
    (/ c 2.0)
  )
  (mapcar '+ a b)
)
)
(polar tmp (+ (angle a b) (/ pi 2)) 1)
      )
    )
    (list p1 p2)
    (list p2 p3)
  )
  )
  (list nil)
)
  )
)


Der Radius ist dann der Abstand von dem ermittelten Punkt zu einem der Eingabepunkte p1, p2 oder p3. Das Grundprinzip in Kurzfassung: zwei Linien aus den Punkten p1, p2 und p3, darauf die Mittelsenkrechten, deren Schnittpunkt liefert den Zentrumspunkt.


Jürgen

------------------
Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty)

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

Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 08. Nov. 2016 07:14    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 an alle,

zunächst danke für Eure Antworten.

Meine spezielle Aufgabe hierzu ist eigentlich, aus einer Linie einen Kreisbogen mit einem Radius zu machen, dass der Kreisbogen optisch fast mit der Linie identisch ist. Deshalb auch der rechte Winkel zum dritten Punkt. Das brauche ich so in meinem weiteren Ablauf. Ich muss den neuen Programmcode noch testen.

Viele Grüße
Bernd

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

spider_dd
Mitglied



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

Beiträge: 1111
Registriert: 27.11.2003

Win 10Pro
Intel(R) Core(TM) i7-7700
NVIDIA Quadro P1000
ACAD, Civil-3D 2018

erstellt am: 08. Nov. 2016 08:37    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 Bernd10 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Bernd10:
Hallo an alle,

zunächst danke für Eure Antworten.

Meine spezielle Aufgabe hierzu ist eigentlich, aus einer Linie einen Kreisbogen mit einem Radius zu machen, dass der Kreisbogen optisch fast mit der Linie identisch ist. ...


Hallo Bernd,

dann zeichne doch einfach einen Bogen mit der Option Startpunkt, Endpunkt, Radius mit einem ganz großen Radius (z. B. 1000).

(command "_arc" P1 "_e" P2 "_r" 1000)

Wenn Du den Mittelpunkt brauchst, kann Du den vom gerade erstellten Objekt abfragen.

ODER:

Ermittle Dir einen Punkt P3, der mit geringem Abstand senkrecht über dem Mittelpunkt der Linie P1 - P2 liegt und zeichne eine Bogen mit der Option 3-Punkte über P1, P3, P2.

(command "_arc" P1 P3 P2)

Und wenn Du verrätst, worauf das Ganze hinauslaufen soll, gibt es bestimmt auch noch andere Vorschläge.

Gruß
Thomas

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

Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 08. Nov. 2016 08:58    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 Thomas,

danke für Deine Vorschläge.

Zitat:
Original erstellt von spider_dd:

Ermittle Dir einen Punkt P3, der mit geringem Abstand senkrecht über dem Mittelpunkt der Linie P1 - P2 liegt ...

Da bin gerade dabei, das so umzusetzen. Ich melde mich wieder, wenn ich eine für mich brauchbare Lösung gefunden habe.

Viele Grüße
Bernd

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

jupa
Ehrenmitglied V.I.P. h.c.
Ruheständler


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

Beiträge: 6050
Registriert: 16.09.2004

WINDOWS Vista Ultimate SP2 (64bit), NVIDIA Geforce 9600M GT, AutoCAD 2013.

erstellt am: 08. Nov. 2016 08:59    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 Bernd10 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Bernd10:

Meine spezielle Aufgabe hierzu ist eigentlich, aus einer Linie einen Kreisbogen mit einem Radius zu machen, dass der Kreisbogen optisch fast mit der Linie identisch ist.


Das geht auch anders.
- Linie in Polylinie konvertieren (pedit).
- Linie selektieren, mittleren Griff mit der Maus anfahren
- aus dem erscheinenden Kontextmenü wählen "in Bogen konnvertieren"
- mittleren Griff ein klitzekleines Stück wegziehen (es sollte kein störender OFANG (mit, näc, ...) aktiv sein).

- wenn es wirklich ein Bogen (und nicht ein bogenförmiges PL-Segment) sein soll, wieder mit Ursprung zerlegen.


Bin mir aber nicht sicher, ob AutoCAD 2012 (ist diese Angabe noch aktuell?) das schon kannte/konnte.


Jürgen

------------------
Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty)

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

jupa
Ehrenmitglied V.I.P. h.c.
Ruheständler


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

Beiträge: 6050
Registriert: 16.09.2004

WINDOWS Vista Ultimate SP2 (64bit), NVIDIA Geforce 9600M GT, AutoCAD 2013.

erstellt am: 08. Nov. 2016 09:05    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 Bernd10 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von spider_dd:

Ermittle Dir einen Punkt P3, der mit geringem Abstand senkrecht über dem Mittelpunkt der Linie P1 - P2 liegt

Ist gar nicht notwendig. Einfach einen Bogen zeichnen mit Startpunkt (ein Endpunkt der Linie), zweiter Punkt (einen beliebigen Punkt nahe neben der Linie, Endpunkt (anderer Endpunkt der Linie).
Oder muß es unbedingt eine LISP-Lösung sein? (Wir kennen den Zusammenhang der Aufgabe nicht)

Jürgen

------------------
Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty)

[Diese Nachricht wurde von jupa am 08. Nov. 2016 editiert.]

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

Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 08. Nov. 2016 10:26    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,

ich habe nun eine Lösung für meine Anforderungen gefunden. Hier mein Programmcode dazu:

(setq rabst3 0.004) ; Abstand zum dritten Punkt
(setq rwin1bm (angle lpktvla lpktla))
(setq rwin2bm (angle lpktla lpkta))
(setq lpkt31 lpktvla)
(setq lpkt31 (polar lpkt31 rwin1bm (/ rabst1 2)))
(setq lpkt31 (polar lpkt31 (+ rwin1bm (wingrbm rwin3)) rabst3))
(setq lpkt32 lpktla)
(setq lpkt32 (polar lpkt32 rwin2bm (/ rabst2 2)))
(setq lpkt32 (polar lpkt32 (+ rwin2bm (wingrbm rwin3)) rabst3))
(setq lzent1 (zentbogttkrw lpktvla lpktla lpkt31))
(setq lzent2 (zentbogttkrw lpktla lpkta lpkt32))


( defun zentbogttkrw ( ltpkt1up ltpkt2up lkpktrwup
                      /
                      lkpktrw ltpkt1 ltpkt2 lzentbog )
 
; Die Übergabevariablen in lokale Variablen übernehmen
  (setq ltpkt1 ltpkt1up)
  (setq ltpkt2 ltpkt2up)
  (setq lkpktrw lkpktrwup)

; Das Zentrum des Bogens berechnen
  (setq lzentbog (zentbogttk ltpkt1 lkpktrw ltpkt2))
 
; Rückgabewert
  lzentbog
 
) ; Modulende

( defun zentbogttk ( lkpkt1up lkpkt2up lkpkt3up
                    /
                    lmpkt1 lmpkt2 lkpkt1 lkpkt2 lkpkt3 lzentbog
                    rabst1 rabst2 rwin1 rwin2 )
   
; Die Übergabevariablen in lokale Variablen übernehmen
  (setq lkpkt1 lkpkt1up)
  (setq lkpkt2 lkpkt2up)
  (setq lkpkt3 lkpkt3up)
 
; Das Zentrum des Kreisbogens ermitteln
  (setq lmpkt1 (mid lkpkt1 lkpkt2))
  (setq lmpkt2 (mid lkpkt2 lkpkt3))
  (setq lzentbog (inters lmpkt1 (polar lmpkt1 (+ (angle lkpkt1 lkpkt2) (/ pi 2.0)) 1.0) lmpkt2 (polar lmpkt2 (+ (angle lkpkt2 lkpkt3) (/ pi 2.0)) 1.0) nil))

; Rückgabewert
  lzentbog
 
) ; Modulende

(defun mid ( a b )
    (mapcar (function (lambda ( a b ) (/ (+ a b) 2.0))) a b)
) ; Modulende

Danke nochmals an alle und viele Grüße
Bernd

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