Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Eine Mittellinie (Linie / Polylinie) aus einem 3D-Rohr erstellen.

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:  Eine Mittellinie (Linie / Polylinie) aus einem 3D-Rohr erstellen. (2522 / mal gelesen)
Chico-22
Mitglied



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

Beiträge: 23
Registriert: 06.12.2016

Windows 7 Enterprise (64 Bit) / AutoCAD Architecture 2017

erstellt am: 06. Dez. 2016 15: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

Hallo Leute.

Ich möchte aus mehreren 3D-Rohren eine Mittellinie (vorzugsweise eine Polylinie) erzeugen. Kennt jemand evtl. eine *.lsp Datei die sowas machen kann ?

Problem: Mehrere Rohre sind als 3D-Volumenkörper vorhanden. Ich benötige die Mittellinien von diesen.

Das Nachzeichnen / Neuerstellen wird bei der Zahl von Objekten sehr zeitaufwändig.

Hat jemand eine Idee ?

Vielen Dank im Voraus.

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

System: F1
und Google

erstellt am: 06. Dez. 2016 22: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 Chico-22 10 Unities + Antwort hilfreich

Mit konkreten 3D-Objekten als Beispiel(dwg) gibt es sicher auch Ideen,
die Lösung wird aber darauf hinauslaufen den händischen Weg zu automatisieren und dies wird dir selbst vermutlich nicht gelingen.
Ich nehme dies an da du ansonsten selbst deinen bisherigen Fortschritt gepostet hättest in einem der Programmierforen auf CAD.de?

Dwg vorher und Dwg nachher würde einiges an Fragen klären.

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

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

Chico-22
Mitglied



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

Beiträge: 23
Registriert: 06.12.2016

Windows 7 Enterprise (64 Bit) / AutoCAD Architecture 2017

erstellt am: 07. Dez. 2016 09:09    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-Rohr_Beispiel.dwg

 
OK. Hier ein Beispiel im Anhang.

Von solchen Rohren sind es etwa 150 Stück. Um die Mittellinie für alle Rohre nachzuzeichnen wäre der Zeitaufwand zu groß, deswegen meine Frage:
Gibt es eine LISP, mit der die Mittellinie automatisch erzeugt wird (z.B. durch Auswählen -> mit "Enter" bestätigen -> fertig). Wenn nicht, dann muss ich das halt alle manuell nachzeichnen...

Anhang habe ich mir erst erspart, weil es nicht um eine bestimmte 3D-Volumen (Rohr) handelt, sondern allgemein, egal wie das Rohr aussieht.

Danke.

[Diese Nachricht wurde von Chico-22 am 07. Dez. 2016 editiert.]

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

Ingenieur Studio HOLLAUS
Mitglied
CAD / CAFM / GIS Beratung-Programmierung-Schulung


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

Beiträge: 1049
Registriert: 06.11.2008

Autocad 2 bis Autocad 2020 (+Map3D, +Civil3D, +Infraworks)
RKV .... CAFM+mehr
HMap ... Vermessung und Verkehr
OoC .... Raumplanung
CBox ... Tools für AutoCAD und BricsCAD (kostenfrei)

erstellt am: 07. Dez. 2016 09:18    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 Chico-22 10 Unities + Antwort hilfreich

Der Volumenkörper ist per SWEEP erstellt worden, d.h. es gibt die Führungslinie schon irgendwo!

------------------


www.cars4fun.at

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

Chico-22
Mitglied



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

Beiträge: 23
Registriert: 06.12.2016

Windows 7 Enterprise (64 Bit) / AutoCAD Architecture 2017

erstellt am: 07. Dez. 2016 09:29    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

Nein, gibt es leider nicht. Die Zeichnung haben wir schon so bekommen, ohne Führungslinien, als reine Volumenkörper...

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 10 64bit, ACAD Rel. 14 - ACAD 2023

erstellt am: 07. Dez. 2016 11: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 Nur für Chico-22 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Chico-22:
Nein, gibt es leider nicht. Die Zeichnung haben wir schon so bekommen, ohne Führungslinien, als reine Volumenkörper...

Wenn sich daran nichts ändern laßt sieht es wohl schlecht aus, da der Autor entweder Delobj aktiviert hatte oder die Führungslinien ausdrücklich gelöscht hat. (Vllt. hat der ja noch eine alten Versionsstand der Dateien mit Führungslinien?)
Mir fällt an dieser Stelle auch nichts anderes ein als mit aktiviertem Ofang ZEN die Splines manuell nachzuzeichnen. Als einzigen Lösungsansatz für einem "Automatismus" könnte ich mir vorstellen, den Volumenkörper mit Ursprung in Flächen zu zerlegen und diese Flächen nochmals mit Ursprung zu zerlegen. Übrig bleiben Kreise, deren Zentrumspunkte "nur" noch in der richtigen Reihenfolge (da habe ich noch keine Idee) mit einem Spline zu verbinden sind. Hoffnung besteht, wenn man davon ausgehen kann, daß z.B. die X- (oder Y- oder Z-)Koordinaten der Kreismittelpunkte in auf- oder absteigender Reihenfolge vorliegen (wie  in Deinem Beispiel). Aber da wir nicht wissen, welch verschlungenen Pfaden Deine Rohre folgen ... 

Jürgen


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

[Diese Nachricht wurde von jupa am 07. Dez. 2016 editiert.]

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

Chico-22
Mitglied



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

Beiträge: 23
Registriert: 06.12.2016

Windows 7 Enterprise (64 Bit) / AutoCAD Architecture 2017

erstellt am: 07. Dez. 2016 11:54    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

Ich habe jetzt das Volumenkörper 2-mal aufgelöst (Ursprung) und habe jetzt viele Kreise. Kann jemand vielleicht eine Lisp so schreiben, das es eine Linie in etwa so zeichnet: Man wählt den ersten Kreis (Zentrum = Anfang der Mittellinie), dann die restlichen Kreise und anschließend den letzten - der soll als Endpunkt der Mittellinie dienen.

Nur so eine Idee...

Ich kenne mich leider damit nicht aus.

Danke.

[Diese Nachricht wurde von Chico-22 am 07. Dez. 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 10 64bit, ACAD Rel. 14 - ACAD 2023

erstellt am: 07. Dez. 2016 12: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 Chico-22 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Chico-22:

Kann jemand vielleicht eine Lisp so schreiben, das es eine Linie in etwa so zeichnet: Man wählt den ersten Kreis (Zentrum = Anfang der Mittellinie), dann die restlichen Kreise und anschließend den letzten - der soll als Endpunkt der Mittellinie dienen.


Wie ich oben schon schieb würde das nur funktionieren, wenn die Kreise wenigstens in einer Richtung (X oder Y oder Z) in geordneter Reihenfolge vorliegen. Verläuft jedoch das Rohr nach oben und unten und nach vorn und hinten und nach rechts und links wüßte ich kein Sortiermerkmal, damit die Kreiszentrumspunkte in der richtigen Reihenfolge miteinander verbunden werden.
(Habe gerade einen kleinen Test gemacht: Deine Geometrie zweimal mit Ursprung zerlegt, so daß nur Kreise übrigbleiben. Dann das zuletzt erzeugte Objekt gesucht -> das war irgend ein Kreis zwischen dem ersten und letzten. In der Datenbank stehen die Kreise also in einer nicht vorhersehbaren Reihenfolge, so daß man eben ein anderes Sortierkriterium braucht).

Jürgen

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

[Diese Nachricht wurde von jupa am 07. Dez. 2016 editiert.]

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

Chico-22
Mitglied



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

Beiträge: 23
Registriert: 06.12.2016

Windows 7 Enterprise (64 Bit) / AutoCAD Architecture 2017

erstellt am: 07. Dez. 2016 12:46    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

Alles klar.

Vielen Dank.

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 10 64bit, ACAD Rel. 14 - ACAD 2023

erstellt am: 07. Dez. 2016 13:53    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 Chico-22 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Chico-22:
Alles klar.


Wenn es möglich ist, die betreffenden Rohre so zu legen, daß die Kreismittelpunkte in X-Richtung aufsteigend liegen (in Deiner Beispieldatei ist diese Bedingung bereits erfüllt) oder das BKS entsprechend zu drehen, könnte folgendes LISP helfen (quick und dirty, nur als erster Entwurf zu betrachten):

(defun c:test (/ el_liste i elem datlist ss koord-liste)
  ;(vl-load-com)   ;[EDIT]: Nicht erforderlich
  (setq ss (ssget))
  (setq i 0)
  (while (setq elem (ssname ss i))
    (setq datlist (entget elem))
    (setq el_liste (append el_liste (list (trans(cdr (assoc 10 datlist)) (cdr (assoc -1 datlist)) 1))))
    (setq i (1+ i))
  )
  (setq koord-liste
(vl-sort el_liste
  (function (lambda (x1 x2)
      (< (car x1)(car x2))))))
  (command "_spline")
  (apply 'command koord-liste)
  (command "" "" "")
)

Anwendung:
- Rohr bei Bedarf drehen (aufsteigende X-Werte)
- Mit Ursprung 2x zerlegen => Kreise (auch Bögen und Ellipsen möglich)
- Lisp starten
- auf Anforderung alle erzeugten Objekte (Kreise, Bögen, Ellipsen) - jetzt noch händisch mit Fenster oder beliebigen anderen Methoden - wählen
=> nach Abschluß der Objektwahl sollte automatisch ein Spline durch alle Zentrumspunkte gezeichnet werden.
give it a try!

Sollte das Rohr hingegen irgendwelche räumlichen Schlaufen und Schlingen aufweisen oder sich in alle drei Richtungen hin und her erstrecken, ist IMHO kein Automatismus mehr möglich.


HTH
Jürgen

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

[Diese Nachricht wurde von jupa am 07. Dez. 2016 editiert.]

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

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

Chico-22
Mitglied



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

Beiträge: 23
Registriert: 06.12.2016

Windows 7 Enterprise (64 Bit) / AutoCAD Architecture 2017

erstellt am: 09. Dez. 2016 09:07    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 jupa.

Hast du super hinbekommen. Genau so habe ich es mir vorgestellt.

Damit hast du mir jetzt ein Haufen Fleißarbeit erspart und das noch kurz vor Wochenende 

Vielen Dank und ein schönen WE 

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

System: F1
und Google

erstellt am: 09. Dez. 2016 13:52    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 Chico-22 10 Unities + Antwort hilfreich

Nur als Zusatzinfo:
Falls sowas doch mal öfters oder für viele Bauteile benötigt wird:
Sowas kann auch als 1-Klick Lösung umgesetzt werden.

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

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 10 64bit, ACAD Rel. 14 - ACAD 2023

erstellt am: 20. Dez. 2016 15: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 Nur für Chico-22 10 Unities + Antwort hilfreich


161221-RohrMittellinieVersion0.2.LSP

 
Zitat:
Original erstellt von cadffm:

Sowas kann auch als 1-Klick Lösung umgesetzt werden.

Dieser "Provokation" (oder Verlockung) konnte ich nicht widerstehen.
Hab mal was zusammengebastelt (noch nicht auf "schön" getrimmt, ohne Error-Handling, quick und dirty eben). Auch wenn Du sicherlich was anderes im Hinterkopf hattest, bei meinen Tests funktioniert das erst mal so (s. Anhang; Aufruf mit RM).
(Und noch immer mit der Einschränkung, daß die X-Werte der Kurvenstützpunkte fortlaufend aufsteigend liegen müssen.) 

[EDIT]: LISP ersetzt durch verbesserte Variante (Version 0.2).

Jürgen

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

[Diese Nachricht wurde von jupa am 21. Dez. 2016 editiert.]

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