Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Tangente an Spline bzw. Steigung im Endpunkt

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
  
PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT, eine Pressemitteilung
Autor Thema:  Tangente an Spline bzw. Steigung im Endpunkt (2474 / mal gelesen)
Markmark
Mitglied


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

Beiträge: 4
Registriert: 11.01.2017

Windows 8.1 Pro
AutoCAD 2011

erstellt am: 11. Jan. 2017 10: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

Hallo zusammen,

dies ist mein erstes Posting in diesem Forum. Mein Wissensstand bzgl. Autocad kann man wohl gut mit "gefährliches Halbwissen" beschreiben, eher darunter. Möglicherweise ist meine Frage also auf eine komplett falsche "Denke" zurückzuführen. Es handelt sich letztendlich um die Konstruktion eines harmonischen Verlaufs für eine Treppenwange.

Ich habe einige Punkte auf einer geraden Linie - im Anschluss folgen zwei Punkte, die abseits dieser Linie liegen (Krümmung der Wange im unteren Teil). Die letzten drei Punkte verbinde ich mit einem Spline. Den Anschluss an die darüber liegenden Punkte "auf einer Line" erhalte ich, indem ich den Spline tangential erweiter (Splineedit -> Anpassungsdaten -> Tangenten). Ich möchte nun auch das andere Ende des Splines mit identischer Steigung weiterlaufen lassen. Also durch Anschluss einer Linie, deren Steigung der Steigung des Splines im Endpunkt entspricht bzw. durch eine Tangente an den Endpunkt des Splines. Ich habe hierzu keine Möglichkeit gefunden. Hilfsweise würde es mir genügen, die Steigung des Splines im Endpunkt zu kennen.

Danke für eure Hilfe vorab.

Viele Grüße

Mark

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

scj
Mitglied
 


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

Beiträge: 555
Registriert: 09.08.2001

erstellt am: 11. Jan. 2017 16: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 Markmark 10 Unities + Antwort hilfreich

Hallo Markmark,
wenn Du etwas VisualLisp beherrschst, kannst Du mal

vlax-curve-getFirstDeriv
Returns the first derivative (in WCS) of a curve at the specified location

versuchen. (Beschreibung in der Hilfe in der VLIDE-Umgebung)
Beste Grüße
Jochen

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

RL13
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Bauwesen


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

Beiträge: 2373
Registriert: 23.10.2008

Civil 3D 2018.1
Civil 3D 2016 64 Bit SP 3
mit DACH und Extensions
W7 Professional 64Bit
HP Z440
Intel Xeon CPU E5-1620 v4
32 GB RAM
NVIDIA Quadro P4000

erstellt am: 11. Jan. 2017 16: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 Markmark 10 Unities + Antwort hilfreich

Hallo Markmark,

wenn Du den Befehl ausführst SPLINEEDIT -> ANPASSUNGSDATEN -> TANGENTEN werde ich in AutoCAD 2016 nacheinander nach 2 Punkten auf den anschließenden Linien (Tangenten) an beiden Enden des Splines gefragt.
Insofern kann ich kein Problem erkennen, warum bei Dir der tangentiale Anschluss des Splines nur an eine Seite möglich sein soll, es sei denn das Feature wurde erst nach AutoCAD 2011 eingeführt

------------------
mfg Roman

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

Markmark
Mitglied


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

Beiträge: 4
Registriert: 11.01.2017

Windows 8.1 Pro
AutoCAD 2011

erstellt am: 11. Jan. 2017 16:40    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

@Jochen,

danke für den Hinweis auf Lisp. Das werde ich mir anschauen, sofern es tatsächlich keine einfachere Lösung gibt. Da hätte ich noch einige Schritte auf der Lernkurve zu gehen.

@Roman,

ja, das ist richtig und genau so, wie du es formuliert hast. Wenn ich den Spline tangential an einen weiteren Punkt "anschließen" möchte, kann ich das auf diesem Weg erreichen.

Meine Aufgabe ist aber eine andere. Der Punkt, an den ich den Spline "anschließen" möchte, kenne ich noch nicht. Vielmehr möchte ich den "fertigen" Spline tangential verlängern, bis sich ein Schnittpunkt mit einer anderen Linie ergibt. Das könnte man natürlich "nach Augenmaß" mit der obigen Funktionalität erreichen, aber dass kann ja nicht der Sinn der Sache sein. Hilfsweise würde mir dazu - wie gesagt - die Steigung im Endpunkt des Splines genügen.

Ich hoffe, ich konnte das Problem deutlich machen. Ich kann zusätzlich gerne auch eine Skizze erstellen und anhängen.

Dank vorab.

Mark

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

scj
Mitglied
 


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

Beiträge: 555
Registriert: 09.08.2001

erstellt am: 11. Jan. 2017 17:45    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 Markmark 10 Unities + Antwort hilfreich

Ein Programmbeispiel dazu habe ich hier

http://ww3.cad.de/foren/ubb/Forum54/HTML/030209.shtml

mal gepostet.
Beste Grüße
Jochen

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

Markmark
Mitglied


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

Beiträge: 4
Registriert: 11.01.2017

Windows 8.1 Pro
AutoCAD 2011

erstellt am: 11. Jan. 2017 18: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

Jochen,

danke. Ich habe das letzte Skript in dem verlinkten Post an's Laufen gebracht. Wenn ich ein Spline auswähle, bekomme ich 3 Werte angezeigt. Ich habe aus der Aufgabenstellung verstanden, dass diese 3 Werte ein BKS beschreiben, welches senkrecht auf dem Endpunkt des Splies liegt. Ist das richtig? Ich muss offen gestehen, dass ich nicht eine Zeile des Codes verstehe - das ist mit eigentlich noch bei keiner Sprache zuvor passiert.

Gruß

Mark

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

cadffm
Moderator
良い精神




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

Beiträge: 22298
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 11. Jan. 2017 20:19    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 Markmark 10 Unities + Antwort hilfreich

Die Rückgabe-Liste mit den drei Werten beschreibt einen Punkt im WeltKoordinatenSystem/WKS (X-Wert Y-Wert Z-Wert)

Code:
; von scj aus dem Post - Klick!
(defun C:Splinanst ()
  ; Erweiterte Funktionen des VisualLisp laden
  (vl-load-com)
 
  ; Das Objekt wählen und merken
  (setq splin-obj (vlax-ename->vla-object (car(entsel "\nSpline wählen:"))))
 
  ; vlax-curve-GetFirstDeriv vom gewählten Objekt, ausgehend vom STARTpunkt ermitteln
  ; Hier der Link zur Funktion in der Hilfe:
  ; http://help.autodesk.com/view/ACD/2017/DEU/?guid=GUID-37282EB1-D47C-4039-B1AF-744EB5      B53F25
  (setq abl (vlax-curve-GetFirstDeriv splin-obj (vlax-curve-GetStartParam splin-obj)))

  ; in diesem Teil wird nur die Eingabe für den Endpunkt der LINIE berechnet, ;
  ; um den Vektor, ausgehend vom Startpunkt der Spline, zu visualisieren        ;

  ; ab hier ist der Beispielcode nicht mehr Hieb&Stichfest, soll nur schnell ein
  ; Ergebnis am Bildschirm darstellen (Problematik "aktuelles BKS" sowie "Objektfang" sind nicht berücksichtigt)
  (setq fak 100
        pt (car (list (strcat "@" (rtos (* fak (car abl))) ","
     (rtos (* fak (cadr abl))) ","
           (rtos (* fak (caddr abl))
  )))))

  ; Linie erzeugen, zwischen Startpunkt der Spline und ermitteltem Koordinatenpunkt auf dem Vektor
; ================================================
  (command ;übergebe an die Befehlszeile folgende Eingaben:
           "_Line" ; _Line starten den Befehl Linie / englisch Line / international _Line
           (vlax-curve-GetStartPoint splin-obj) ; als ersten Punkt: den Startpunkt der Spline übergeben
           pt ; den mühsam erstellten Tastatur-Eingabewert für den Endpunkt der Linie übergeben
           "" ; Leereingabe (=Enter), beendet den Befehl Linie
  )
; ================================================
 
  ; Der ermittelte Vektor (im WKS) wird in der Befehlszeile ohne weitere Funktion ausgegeben
  abl
)


Zur Visualisierung und als Beispiel für den Nutzen wurde hier kein BKS erstellt, sondern eine Linie erzeugt.

Code:
; Im Austausch ein Beispiel mit BKS und Kreis:
; ================================================
(command "_UCS" "_w" "_UCS" "_ZA" (vlax-curve-GetStartPoint splin-obj) PT
         "_CIRCLE" "0,0"
                 (/ (vlax-curve-getDistAtPoint splin-obj (vlax-curve-getEndPoint  splin-obj)) 30)
)
; ================================================

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

Markmark
Mitglied


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

Beiträge: 4
Registriert: 11.01.2017

Windows 8.1 Pro
AutoCAD 2011

erstellt am: 12. Jan. 2017 08: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

@Jochen & cadffm,

großartig, das hat funktioniert! Vielen Dank für das Skript und die ergänzenden Erläuterungen.

Als Newbe hat mich doch überrascht, welchen Aufwand man für eine auf den ersten Blick triviale Aufgabenstellung treiben muss. Wobei das ja letztendlich übersichtlich war, sofern man sich auskennt.

Ihr habt mir wirklich sehr geholfen!

Gruß

Mark

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

RL13
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Bauwesen


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

Beiträge: 2373
Registriert: 23.10.2008

Civil 3D 2018.1
Civil 3D 2016 64 Bit SP 3
mit DACH und Extensions
W7 Professional 64Bit
HP Z440
Intel Xeon CPU E5-1620 v4
32 GB RAM
NVIDIA Quadro P4000

erstellt am: 12. Jan. 2017 09:39    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 Markmark 10 Unities + Antwort hilfreich

Die Kontrollpunkte des Spline (zur Erzeugung der Tangente) kannst Du auch noch mit eingeschaltetem 3D-Fang (F4) Scheitelpunkt fangen.

------------------
mfg Roman

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