| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Schnittpunkt (1483 mal gelesen)
|
Detlef Wischmann Mitglied Vermessungstechniker
Beiträge: 95 Registriert: 15.02.2003 Windows XP Centrino vPro 2.2 GHz Nvidia Quadro FX 1600 M 4 GB RAM AutoCAD Civil3D 2010+2011 AutoCAD 2002LT
|
erstellt am: 07. Sep. 2005 15:55 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, Wie erzeuge ich einen Schnittpunkt zweier vorhandener Elemente, z.B. zweier Linien? Es geht dabei nicht darum, dass ich den Schnittpunkt brauche, um dort neues zu beginnen; dann könnte ich den Schnittpunkt ja fangen. Vielmehr möchte ich die beiden Elemente an diesem Schnittpunkt tatsächlich auch trennen, um mit den Einzelteilen weiteres vorzunehmen. Ich möchte aber nicht die vielen Klicks mit "Bruch" machen, sondern einfach wenn möglich nur die beiden Linien anklicken. Hat einer eine Idee ? Gruß Detlef Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Berliner Mitglied Konstrukteur
Beiträge: 407 Registriert: 27.04.2004
|
erstellt am: 07. Sep. 2005 16:05 <-- editieren / zitieren --> Unities abgeben: Nur für Detlef Wischmann
|
cosgeo Mitglied Vermessungsingenieur
Beiträge: 591 Registriert: 16.12.2004 Windows 8 64bit AutoCad Map 3D AutoCAD Civil3D MapGuide COSGeo - Vermessungsaplikation COSALKIS - Konverter Xeon 3,3 GHz, 16GB RAM HP 1050
|
erstellt am: 07. Sep. 2005 16:16 <-- editieren / zitieren --> Unities abgeben: Nur für Detlef Wischmann
Also wenn Du Map hättest würde das mit Zeichnung bereinigen funktionieren, sind aber auch 3-4 Mausklicks :-( Das mit dem Abrunden versteh ich nicht ganz. Ich hab Detlef so verstanden, daß er aus 2 kreuzenden linien 4einzelne Segmente erstellen will. Welche Optionen außer Radius Null brauch ich dabei zum abrunden oder steh ich auf dem Schlauch ? ------------------ Wer aufräumt - ist nur zu faul zum suchen :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 07. Sep. 2005 16:23 <-- editieren / zitieren --> Unities abgeben: Nur für Detlef Wischmann
ein kleines Lisp zum Thema: (defun c:Testus(/ OBJ1 OBJ2 VOBJ1 VOBJ2 PKTS POINTS PKT) (if(and(setq OBJ1(car(entsel "\nObjekt1 : "))) (setq OBJ2(car(entsel "\nObjekt2 : "))) (setq VOBJ1(vlax-ename->vla-object OBJ1)) (setq VOBJ2(vlax-ename->vla-object OBJ2)) (setq PKTS(vla-intersectwith VOBJ1 VOBJ2 acExtendNone)) (setq PKTS(vlax-safearray->list(vlax-variant-value PKTS))) ) (progn (repeat (/(length PKTS)3) (setq POINTS(cons(list(car PKTS)(cadr PKTS)(caddr PKTS))POINTS)) (setq PKTS (cdddr PKTS)) ) (setq PKT (car POINTS)) (vl-cmdf "_break" OBJ1 PKT PKT) (vl-cmdf "_break" OBJ2 PKT PKT) ) ) ) ------------------ - 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 |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 Sie nannten ihn google.
|
erstellt am: 07. Sep. 2005 16:25 <-- editieren / zitieren --> Unities abgeben: Nur für Detlef Wischmann
Ein anderes Lisp zum Thema wäre: BREAKINT Allerdings müsste man das (varoff) und das (resetvar) rausnehmen, da die gesetzten Variablen nicht abgefragt werden (also der Teil fehlt). ------------------ Grüsse Thomas [Diese Nachricht wurde von tunnelbauer am 08. Sep. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Detlef Wischmann Mitglied Vermessungstechniker
Beiträge: 95 Registriert: 15.02.2003 Windows XP Centrino vPro 2.2 GHz Nvidia Quadro FX 1600 M 4 GB RAM AutoCAD Civil3D 2010+2011 AutoCAD 2002LT
|
erstellt am: 08. Sep. 2005 08:22 <-- editieren / zitieren --> Unities abgeben:
Hallo CADmium, vielen Dank für deine Hilfe. Es gibt aber noch ein kleines Problem. Das Tool läuft nicht unter LT (hab ich vergessen zu erwähnen).Folgende Fehlermeldung:"Fehler: no function definition: VLAX-ENAME->VLA-OBJECT". Unter der Vollversion läuft es, löscht aber eines der 4 Segmente. Hallo Tunnelbauer, ebenfalls vielen Dank, aber da ich ich mich kaum mit LISP auskenne läuft das Tool bei mir nicht. Ich habe nämlich dumpf die beiden von dir angesprochenen Zeilen rausgelöscht. Bis dann Detlef Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Cadzia Ehrenmitglied V.I.P. h.c. CAD/Grafik-Dienstleister
Beiträge: 2912 Registriert: 02.07.2004 AutoCAD 2020 + MAP + WS.LandCAD Bricscad V21 pro
|
erstellt am: 08. Sep. 2005 08:32 <-- editieren / zitieren --> Unities abgeben: Nur für Detlef Wischmann
|
CADwiesel Moderator CAD4FM UG
Beiträge: 1968 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 08. Sep. 2005 08:34 <-- editieren / zitieren --> Unities abgeben: Nur für Detlef Wischmann
|
Detlef Wischmann Mitglied Vermessungstechniker
Beiträge: 95 Registriert: 15.02.2003 Windows XP Centrino vPro 2.2 GHz Nvidia Quadro FX 1600 M 4 GB RAM AutoCAD Civil3D 2010+2011 AutoCAD 2002LT
|
erstellt am: 08. Sep. 2005 08:40 <-- editieren / zitieren --> Unities abgeben:
Hallo Karin, eigentlich ist die Idee gar nicht schlecht, wenn nicht das Problem wäre, dass ich die jetzt rausgelöschten 2 Segmente auch noch behalten möchte. Ich möchte wirklich aus den 2 Linien die sich kreuzen, 4 Segmente behalten, die im Schnittpunkt getrennt sind, damit ich sie später bearbeiten kann, z.B. Eigenschaften ändern. Gruß Detlef Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Cadzia Ehrenmitglied V.I.P. h.c. CAD/Grafik-Dienstleister
Beiträge: 2912 Registriert: 02.07.2004 AutoCAD 2020 + MAP + WS.LandCAD Bricscad V21 pro
|
erstellt am: 08. Sep. 2005 08:50 <-- editieren / zitieren --> Unities abgeben: Nur für Detlef Wischmann
Hallo Detlef, sorry, nicht richtig gelesen.... Hab das Tool von Cadmium nochmal unter LT (2004 mit Extender) getestet und es funktioniert. Die 2 kreuzenden Linien werden am Schnittpunkt gebrochen, so dass 4 Teile enstehen. ------------------ Grüße Karin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Detlef Wischmann Mitglied Vermessungstechniker
Beiträge: 95 Registriert: 15.02.2003 Windows XP Centrino vPro 2.2 GHz Nvidia Quadro FX 1600 M 4 GB RAM AutoCAD Civil3D 2010+2011 AutoCAD 2002LT
|
erstellt am: 08. Sep. 2005 08:56 <-- editieren / zitieren --> Unities abgeben:
Hallo Karin, vielen Dank für deinen Test. Ich habe zur Zeit nur LT 2002 + Extender. Ich denke aber, dass ich in absehbarer eit mir LT 2006 zulege, so dass das Tool dann dort auch funktioniert. Gruß Detlef Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Werner-Maahs.de Mitglied CAD-Dozent + Konstrukteur + Autor
Beiträge: 626 Registriert: 04.05.2005 Win XP AC 2005/6 AC 2013
|
erstellt am: 08. Sep. 2005 09:37 <-- editieren / zitieren --> Unities abgeben: Nur für Detlef Wischmann
Ich weiss zwar nicht ob es mit den LISP-Ausdrücken auch unter LT funktioniert, ansonsten müsste es klappen: ungeprüfte Abschrift eines Schaltflächenmakro: ^C^C(setq xx (getpoint)) sch \Bruch \e !xx !xx Bruch !xx !xx Gruß ------------------ Der Objektfang sollte vorzugsweise ausgeschaltet sein! strukturiertes Zeichnen mit www.Werner-Maahs.de [Diese Nachricht wurde von Werner-Maahs.de am 08. Sep. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 08. Sep. 2005 09:56 <-- editieren / zitieren --> Unities abgeben: Nur für Detlef Wischmann
noch was mit anderem Ansatz, was auch auf deinem LT( mit Extender) laufen sollte: (defun c:Testus2-LT (/ PKT INDEX AWS oldosmode) (setq oldosmode (getvar "osmode")) (setvar "osmode" 32) (if(setq PKT(getpoint "\n Schnittpunkt wählen: ")) (progn (setq AWS(ssget "_c" (mapcar '+ PKT '(0.1 0.1 0))(mapcar '- PKT '(0.1 0.1 0)))) (setq INDEX -1) (repeat (sslength AWS) (vl-cmdf "_break" (ssname AWS(setq INDEX (1+ INDEX))) PKT PKT) ) ) ) (setvar "osmode" oldosmode) ) ------------------ - 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 |
Susa12 Mitglied Architektin
Beiträge: 105 Registriert: 05.01.2003 Acad 2002
|
erstellt am: 08. Sep. 2005 10:19 <-- editieren / zitieren --> Unities abgeben: Nur für Detlef Wischmann
vielleicht geht es auch so: Um ein Objekt zu teilen, ohne einen Teil davon zu löschen, geben Sie als ersten und zweiten Punkt jeweils denselben an. Geben Sie dazu für den zweiten Punkt @ ein. ^C^Cbruch;e;\;@; ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 08. Sep. 2005 10:22 <-- editieren / zitieren --> Unities abgeben: Nur für Detlef Wischmann
|
Detlef Wischmann Mitglied Vermessungstechniker
Beiträge: 95 Registriert: 15.02.2003 Windows XP Centrino vPro 2.2 GHz Nvidia Quadro FX 1600 M 4 GB RAM AutoCAD Civil3D 2010+2011 AutoCAD 2002LT
|
erstellt am: 08. Sep. 2005 11:00 <-- editieren / zitieren --> Unities abgeben:
|