Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Trennen von Linien

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:  Trennen von Linien (2243 mal gelesen)
Amadeo52
Mitglied
Konstrukteur, CAD-Admin


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

Beiträge: 64
Registriert: 13.02.2004

Subskription
ADT 2006, ADT 2005
ACAD 2004, ACAD 2002, alle Servicepacks
Windows XP SP2
DXFKONV, DWGKONV
PitCup, C.A.T.S.
Laptop Sony PCG-GRT916V, 1 GB RAM

erstellt am: 14. Jun. 2005 04: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

Hallo mal,

ich habe diese kleine Lisproutine noch irgendwo bei mir auf dem Rechner gefunden um sich kreuzende Linie in einem Schema zu trennen. Die obere Line ist durchgehend und die untere Linie soll mit einem vorgegeben Abstand getrennt werden. Soweit funktioniert das ganz nett, nur lästig ist das ich jedesmal den Befehl neu aufrufen muss, auch wenn ich 250 mal das gleiche Nacheinander mache und das ich jedesmal den Abstand eingeben muss. Das wäre angenehmer, wenn ich den Abstand nur am Anfang eingebe und dann das Trennen beliebig oft wiederholen könnte. Kennt jemand eine Lösung ? Meine Lisp-Kenntnisse sind leider etwas unzureichend.

(Defun C:Trenne()
  (prompt "\n\n*** Trennen von gekreuzter Linien mit Abstandangabe ***")
  (setvar "CMDECHO" 0)
  (setq ger_1 (car (entsel "\nWahl der ersten Linie (oben): ")))
  (setq ger_2 (car (entsel "\nWahl der zweiten Linie (unten): ")))
  (setq abst nil)
  (setq abst (getdist "\nAbstand der Auftrennung <150>: "))
  (if (null abst)
    (setq abst 150)
  )
  (setq p1 (cdr (assoc 10 (entget ger_1))))
  (setq p2 (cdr (assoc 11 (entget ger_1))))
  (setq p3 (cdr (assoc 10 (entget ger_2))))
  (setq p4 (cdr (assoc 11 (entget ger_2))))
  (setq kreuz (inters p1 p2 p3 p4))
  (setq winkel_p (angle p3 p4))
  (setq winkel_n (angle p4 p3))
  (setq pk_3 (polar kreuz winkel_p abst))
  (setq pk_4 (polar kreuz winkel_n abst))
  (command "bruch" pk_3 "e" pk_3 pk_4)
  (setvar "CMDECHO" 1)
)                                           ;end of Trenne

*Gracie*

Karl

[Diese Nachricht wurde von Amadeo52 am 14. Jun. 2005 editiert.]

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

fca_mi2
Mitglied
Bauingenieur


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

Beiträge: 505
Registriert: 10.01.2003

ACAD2018

erstellt am: 14. Jun. 2005 07: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 Amadeo52 10 Unities + Antwort hilfreich

hallo,

so müsste es gehen:

(Defun C:Trenne()
  (setq abst nil)
  (setq abst (getdist "\nAbstand der Auftrennung <0.15>: "))
  (if (null abst)
    (setq abst 0.15)
  )
  (prompt "\n\n*** Trennen von gekreuzter Linien mit Abstandangabe ***")
  (setvar "CMDECHO" 0)
  (while (and
  (setq ger_1 (car (entsel "\nWahl der ersten Linie (oben): ")))
  (setq ger_2 (car (entsel "\nWahl der zweiten Linie (unten): ")))
  )
  (setq p1 (cdr (assoc 10 (entget ger_1))))
  (setq p2 (cdr (assoc 11 (entget ger_1))))
  (setq p3 (cdr (assoc 10 (entget ger_2))))
  (setq p4 (cdr (assoc 11 (entget ger_2))))
  (setq kreuz (inters p1 p2 p3 p4))
  (setq winkel_p (angle p3 p4))
  (setq winkel_n (angle p4 p3))
  (setq pk_3 (polar kreuz winkel_p abst))
  (setq pk_4 (polar kreuz winkel_n abst))
  (command "bruch" pk_3 "e" pk_3 pk_4)
  );while
  (setvar "CMDECHO" 1)
);end of Trenne

------------------
MfG
Frank

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

Amadeo52
Mitglied
Konstrukteur, CAD-Admin


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

Beiträge: 64
Registriert: 13.02.2004

Subskription
ADT 2006, ADT 2005
ACAD 2004, ACAD 2002, alle Servicepacks
Windows XP SP2
DXFKONV, DWGKONV
PitCup, C.A.T.S.
Laptop Sony PCG-GRT916V, 1 GB RAM

erstellt am: 14. Jun. 2005 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

*Wunderbar* das hat ja wirklich geklappt :-) Die einzige Macke die jetzt noch drin steckt, es darf kein Fang eingeschaltet sein, sonst funktioniert die ganze Routine nicht, aber damit kann ich leben.

Danke

Karl

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

fca_mi2
Mitglied
Bauingenieur


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

Beiträge: 505
Registriert: 10.01.2003

ACAD2018

erstellt am: 14. Jun. 2005 10:31    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 Amadeo52 10 Unities + Antwort hilfreich

(setvar "osmode" 0)

schaltet den objektfang aus

------------------
MfG
Frank

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

fuwe-cad
Mitglied



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

Beiträge: 351
Registriert: 28.04.2004

erstellt am: 27. Sep. 2005 14: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 Amadeo52 10 Unities + Antwort hilfreich

Die Macke lässt sich umgehen:
Objektfang abfragen (OSMODE) auf Null schalten und später wieder zurücksetzen.

(Defun C:Trenne()
  (setq abst nil)
  (setq abst (getdist "\nAbstand der Auftrennung <0.15>: "))
  (if (null abst)
  (setq abst 0.15))
  (setq xy (getvar "OSMODE"))
  (setvar "OSMODE" 0)
  (prompt "\n\n*** Trennen von gekreuzter Linien mit Abstandangabe ***")
  (setvar "CMDECHO" 0)
  (while (and
  (setq ger_1 (car (entsel "\nWahl der ersten Linie (oben): ")))
  (setq ger_2 (car (entsel "\nWahl der zweiten Linie (unten): "))))
  (setq p1 (cdr (assoc 10 (entget ger_1))))
  (setq p2 (cdr (assoc 11 (entget ger_1))))
  (setq p3 (cdr (assoc 10 (entget ger_2))))
  (setq p4 (cdr (assoc 11 (entget ger_2))))
  (setq kreuz (inters p1 p2 p3 p4))
  (setq winkel_p (angle p3 p4))
  (setq winkel_n (angle p4 p3))
  (setq pk_3 (polar kreuz winkel_p abst))
  (setq pk_4 (polar kreuz winkel_n abst))
  (command "bruch" pk_3 "e" pk_3 pk_4));while
  (setvar "CMDECHO" 1)
  (setvar "OSMODE" xy)
);end of Trenne

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

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


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

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 28. Sep. 2005 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 Nur für Amadeo52 10 Unities + Antwort hilfreich

diese Methode des Fang zurückzustellen hat nur einen kleinen Nachteil.

die meisten Personen brechen so "laufende" Befehle mit ESC ab, da hast es sich dann mit dem zurückstellen !

Ich tendiere da eher zu OSNAPCOORD=1, da diese Einstellung für das manuellle Zeichnen keine Auswirkung hat, wenn es nicht zurückgestellt wird.
2. Möglichkeit das Abbrechen mittels ESC mit einer ERROR-Routine abfangen , und in dieser den Objektfang zurückstellen

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

Ing. Anton Fuchs
WWW.FFZELL.AT.TC

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

MOTOKO
Mitglied
Bauzeichnerin


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

Beiträge: 105
Registriert: 13.09.2006

erstellt am: 19. Apr. 2011 10:01    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 Amadeo52 10 Unities + Antwort hilfreich

Hallo Zusammen,

ich nutze gern das trenne.lsp
leider funzt es niicht bei polylinien, leider kann ich auch nicht lispln. Kann mir jemand sagen wie ich das auch auf PL´s umschreiben kann?

danke Motoko

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

Dober Heinz
Mitglied
Technischer Zeichner


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

Beiträge: 1143
Registriert: 20.12.2002

Autocad 2021/64B
Win10
WORKSTATION Intel(R) CPU E5-1620 3.60GHz
32 GB Ram
64 Bit-Betriebssystem
HP Designjet T7200
Grafik NVIDIA Quadro P4000
ZWCAD2021

erstellt am: 20. Apr. 2011 13: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 Amadeo52 10 Unities + Antwort hilfreich


BreakOb.zip

 
Hallo Motoko

Teste das mal.

------------------
Heinz 

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

MOTOKO
Mitglied
Bauzeichnerin


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

Beiträge: 105
Registriert: 13.09.2006

erstellt am: 20. Apr. 2011 15: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 Amadeo52 10 Unities + Antwort hilfreich

Hallo Heinz,

dankeschön. braekall ist auch gut, aber leider nicht das was ich brauche.
Das andere Tool unterbricht nur eine Linie und nicht alle. oder mach ich was falsch?
ich nutze es für R&I-Schemen bei kreuzenden Leitungen, die nicht verbunden sind. da soll eine linie durchführen und eine wird unterbrochen.

Gruß Motoko

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

MOTOKO
Mitglied
Bauzeichnerin


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

Beiträge: 105
Registriert: 13.09.2006

ADT2016/Civil 3D 2016
Microstation V8.05 /TRICAD
Linear CAD Solution16

erstellt am: 20. Apr. 2011 16:04    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 Amadeo52 10 Unities + Antwort hilfreich

sorry mein fehler,

BreakWithTouching is enthalen und genau das richtige.

Dankeschön.

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

Dober Heinz
Mitglied
Technischer Zeichner


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

Beiträge: 1143
Registriert: 20.12.2002

erstellt am: 21. Apr. 2011 06:24    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 Amadeo52 10 Unities + Antwort hilfreich

@motoko
Genau
Im Lisp ist alles super beschrieben.

------------------
Heinz 

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