Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Linien in Zylinder umwandeln

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:  Linien in Zylinder umwandeln (2026 mal gelesen)
versuchstier
Mitglied
architekt

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

Beiträge: 5
Registriert: 20.05.2017

AutoCAD 2011

erstellt am: 20. Mai. 2017 17:03    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 ein 3D-Netz aus Linien erstellt. Jede der Linie soll nun in einen Zylinder (r=3) umgewandelt werden. Da keine der 430 linien mehr rechtwinklig liegt: wie kann ich am besten vorgehen?

------------------
hb

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: 554
Registriert: 09.08.2001

erstellt am: 20. Mai. 2017 17:32    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 versuchstier 10 Unities + Antwort hilfreich

Das sollte mit LISP gehen:
Nacheinander für jede Linie ein BKS mit ZAchse definieren,
und in diesem den Zylinder erzeugen.
Viel Erfolg
Jochen

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. Mai. 2017 17: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 Nur für versuchstier 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von versuchstier:
wie kann ich am besten vorgehen



Linie(n) in Zylinder "umwandeln" geht prinzipiell gar nicht. Aber man kann dort, wo sich die Linien befinden neue Zylinder hinzeichnen.
Das folgende LISP (quick und sehr dirty) sollte diese Aufgabe prinzipiell lösen. Für eventuelle Verbesserungen müßte man die Aufgabenstellung weiter präzisieren (sollen die Linien händisch ausgewählt werden oder wodurch zeichnen sich die betreffenden Linien aus (z. B.  nur die auf einen bestimmten Layer o.ä.), sollen die Linien anschließend gelöscht werden oder nicht, ...?)

(defun c:Line2Zyl (/ i as)
  (setq as (ssget "X" '((0 . "LINE")))) ;;; weiter spezifizieren
  (setq i 0)
  (repeat (sslength as)
    (command "_cylinder"
     (cdr (assoc 10 (entget(ssname as i))))
     3
     "a"
     (cdr (assoc 11 (entget(ssname as i))))
    )
    (setq i (1+ i))
  )
  (princ)
)


Jürgen

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

[Diese Nachricht wurde von jupa am 20. Mai. 2017 editiert.]

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

versuchstier
Mitglied
architekt

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

Beiträge: 5
Registriert: 20.05.2017

AutoCAD 2011

erstellt am: 20. Mai. 2017 20: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

oh. ich kenne mich mit LISP so garnicht aus. Wenn ich den Code in die Befehlszeile eingebe, rödelt er zwar, macht aber letztendlich nix.
Es gibt in der Datei nur diese Linien, alle auf einem Layer. Die Linien können bleiben, müssen aber nicht.
Wie kann ich das anpassen?
Vielen Dank schon einmal.

------------------
hb

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. Mai. 2017 21: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 versuchstier 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von versuchstier:
Wenn ich den Code in die Befehlszeile eingebe,

Nee, so nicht.

Den Code in eine Textdatei kopieren und dieser Datei einen beliebigen Namen mit der Dateiendung .lsp geben. Diese irgendwo abspeichern. Dann in ACAD den Befehl appload starten, zur Datei durchhangeln und diese Datei laden.
Jetzt in der Befehlszeile den Befehl Line2zyl eingeben und fertig. Die Linien bei Bedarf anschließend löschen.
Und gelegtlich mal im der FAQ suchen, wo der Umgang mit LISP-Dateien beschreiben wird 


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

versuchstier
Mitglied
architekt

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

Beiträge: 5
Registriert: 20.05.2017

AutoCAD 2011

erstellt am: 20. Mai. 2017 23: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

Alter Schwede. Tausend Dank. Die Programiersprache lohnt sich zu lernen.

------------------
hb

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

versuchstier
Mitglied
architekt

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

Beiträge: 5
Registriert: 20.05.2017

AutoCAD 2011

erstellt am: 20. Mai. 2017 23: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

arghhh. klappt in einer neu erstellten datei wunderbar. nur bei meinem netz sagt computer:
Endpunkt der Achse angeben:
Wert darf nicht null sein.
Endpunkt der Achse angeben: _cylinder
Punkt oder Optionstitel wird benötigt.
; Fehler: Funktion abgebrochen

schon alles probiert weiss nicht weiter...

------------------
hb

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: 21. Mai. 2017 07: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 Nur für versuchstier 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von versuchstier:
nur bei meinem netz sagt computer:

Handelt es sich bei Deinem "Netz" denn wirklich um Linien? Lade mal die Datei (meinetwegen auch etwas abgespeckt) hier hoch.
[EDIT]: Andere Idee: Schalte vorsichtshalber - falls akiv - den fortlaufenden Objektfang aus (F3).
[noch ein EDIT]: Vorheriger Tip ist eigentlich Quatsch, dürfte nichts bringen. Möglicherweise hast Du Linien mit Nullänge? Ohne Beispieldatei bleibt es ein wildes Herumrätseln ... 


Jürgen

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

[Diese Nachricht wurde von jupa am 21. Mai. 2017 editiert.]

[Diese Nachricht wurde von jupa am 21. Mai. 2017 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: 21. Mai. 2017 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 versuchstier 10 Unities + Antwort hilfreich


170521-sauswahl.png

 
Zitat:
Original erstellt von jupa:
Möglicherweise hast Du Linien mit Nullänge?

Die letzte Vermutung erscheint mir am naheliegendsten, weil damit bekomme ich genau die von Dir gepostete Fehlermeldung.
Einfacher Test: Mit Befehl sauswahl alle Linien mit Länge = 0 selektieren. Falls welche gefunden werden -> löschen (die wären ohnehin sinnlos). Dann sollte es klappen.
[EDIT: Bild ergänzt]

Jürgen

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

[Diese Nachricht wurde von jupa am 21. Mai. 2017 editiert.]

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: 21. Mai. 2017 15:55    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 versuchstier 10 Unities + Antwort hilfreich

Der Tip war kein Quatsch.
Adesk liefert Standardeinstellung Osnapcoord 2 aus, dies sollte in dem Fall auf 1 stehen, alternativ OFang ausschalten, aber osnapcoord=1 in ein Lisp oder Makro packen wäre weniger Aufwand.
Zumindest empfinde ich das Merken und zurückstellen dieser Variable als vernachlässigbar, also genau richtig für Quick&Dirty.

Damit ist der Objektfang aussen vor.
Wenn man den Objektfang nutzen wollte, was ja nicht automatisch falsch ist, dann muss man sich auch um den dargestellten Bildschirmausschnitt inkl. des Zoom Faktors kümmern.
Je nach Zoom und Ausschnitt werden sonst auch Punkte in 100 Einheiten Entfernung gefangen.

Darüber hinaus ist die Prüfung der Linienlänge vor Verwendung des Zylinderbefehls aber in allen Fällen nötig.
Im besten Fall mit Ausgabeinformation an den Benutzer.
(Auswahlsatz erstellen und am Programmende mit sssetfirst markieren + Alert-Info an den Benutzer, welche (ignorierten) Objekte es sind)

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

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

versuchstier
Mitglied
architekt

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

Beiträge: 5
Registriert: 20.05.2017

AutoCAD 2011

erstellt am: 21. Mai. 2017 17:34    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. jetzt hat es alles geklappt. drei fehler behoben:
- es gab 0-linien
- es gab poly-linien
- es klappt nur richtig in der aufsichtsansicht (sonst sind alle zylinder nur leicht verdreht)

tausen dank!

------------------
hb

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