Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  3D-Poly in Spline konvertieren, Spline durch Scheitelpunkte 3D-Poly

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
Autor Thema:   3D-Poly in Spline konvertieren, Spline durch Scheitelpunkte 3D-Poly (1035 mal gelesen)
ktww
Mitglied



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

Beiträge: 313
Registriert: 10.08.2009

Win 7 Pro. SP1
Intel Core i7 CPU, 16GB Ram
IDS->civl3d 2018.2 + 2019

erstellt am: 03. Jul. 2014 11: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

3D-Poly in Spline konvertieren, Spline durch Scheitelpunkte 3D-Poly

Hallo Form!
Habe folgendes Problem. Ich möchte eine bestehende 3D-Polylinie in einen Spline konvertieren, aber so, dass der Spline direkt durch die Scheitelpunkte der 3D-Polylinie geht.
Grund ist, dass ich eine segmentförmige Vermessung eines Baches habe, die ich ausrunden will, allerdings soll die ausgerundete Kurve durch die Vermessungspunkte gehen.
Versucht hab ich bis jetzt:
-> Eigenschaftsfenster -> Angleichen/Glätten 
    >> Spline geht nicht durch Scheitelpunkte der 3D-Poly
-> Befehl Spline (Verfahren "Anpassen"), -> Objekt wählen
    >> Fehlermeldung "Nur an Splines angeglichene
      Polylinien können in Splines umgewandelt werden." geht nicht
Zeichne ich den Spline neu passt das Ergebnis. Da ich aber viele 3D-Polylinien habe möcht ich das nicht 
Mir kommt vor als ob es eine einfache Lösung geben müsste, sehe sie aber nicht. Hoffe es kann mir wer weiterhelfen
Schöne Grüße

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: 19237
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 03. Jul. 2014 11:23    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 ktww 10 Unities + Antwort hilfreich

Die Möglichkeit bietet Acad nicht, nimm ein Lisp zur Hilfe was dies in etwa schafft (wie genau das ist habe ich nicht weiter geprüft)
KLICK (PL2SPL oder 3PL2SPL, das mußt du wissen)

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

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13413
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 03. Jul. 2014 11:35    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 ktww 10 Unities + Antwort hilfreich

quick&dirty

(defun C:PL2SPL(/ 3DPL2SPL PL AWS)
  (defun PL2SPL(PL / COORDS POINTS)
    (if(and(setq PL(vlax-ename->vla-object PL))
          (=(strcase(vla-get-Objectname PL))"ACDB3DPOLYLINE")
          (setq COORDS(vlax-safearray->list(vlax-variant-value(vla-get-coordinates PL))))
      )
      (progn
        (repeat (/(length COORDS)3)
          (setq POINTS(cons(list(car COORDS)(cadr COORDS)(caddr COORDS))POINTS))
          (setq COORDS (cdddr COORDS))
        )
        (setq POINTS(reverse POINTS))
        (command "_spline")
        (while POINTS (command (car POINTS))(setq POINTS(cdr POINTS)))
        (command "" "" "")       
      )
    )   
)
;(if(setq PL(car(entsel "\nPolylinie wählen: ")))(PL2SPL PL))
  (if(setq AWS(ssget '((0 . "POLYLINE"))))
    (mapcar
      '(lambda(X)(if (=(type(cadr X))'Ename)(progn(PL2SPL (cadr X))(entdel (cadr X)))))
      (ssnamex AWS)
    )
  ) 
(princ)
)

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9553
Registriert: 01.12.2003

AutoCAD 2.5 - 2017, Civil 3D, MAP 3D, LDD, MDT, ARD
Inventor AIP 4-201x
Win7x64, Win 10

erstellt am: 03. Jul. 2014 11: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 Nur für ktww 10 Unities + Antwort hilfreich

C:PL2SPL
von hier
http://forums.autodesk.com/t5/Visual-LISP-AutoLISP-and-General/3D-polyline-to-polyline-to-spline-with-max-1mm-tolerance/td-p/4444897

zeichnet den Spline nach Polylinienpunkten nach (und kann sogar Zusatzstützpunkte einfügen).
Wer keine Zusatzstützpunkte möchte, muss
(setq lg (* 0.05
auf
(setq lg (* 1.0
ändern.

------------------
Mit freundlichem Gruß

Udo Hübner
www.CAD-Huebner.de

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

ktww
Mitglied



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

Beiträge: 313
Registriert: 10.08.2009

erstellt am: 03. Jul. 2014 12:17    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

Super... Danke für die schnelle Hilfe!

cadffm + CAD-Huebner:
Danke für den Hinweis... Programm funktionert und mit dem Tip von CAD-Huebner kann ich auch die Genauigkeit und Anzahl der Zwischenpunkte einstellen.

CADmium:
Dir auch Dank für die Mühe. Wenn ich das Programm aufrufe bekomm ich aber folgende Fehlermeldung in der Befehlszeile:
  Befehl: PL2SPL
  Objekte wählen: 1 gefunden
  Objekte wählen:
  _spline
  Ersten Punkt angeben oder [Objekt]: ; Fehler:  Ausnahmebedingung aufgetreten: 0xC0000005 (Zugriffsverletzung)
  ; Warnung: Unwind übersprungen bei Ausnahmebedingung
  ; Fehler:  Ausnahmebedingung aufgetreten: 0xC0000005 (Zugriffsverletzung)
Da die anderen Hinweise aber schon zum Ziel geführt haben brauch ich dich nicht weiter bemühen.

Vielen Dank für Eure Antworten ..   

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