| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Brühl und CIDEON: Synergien schaffen Wettbewerbsvorteile , ein Anwenderbericht
|
Autor
|
Thema: Mehrfach brechen an Objekten (1864 mal gelesen)
|
Walter Zettlitzer Mitglied Dipl.-Ing (FH)
Beiträge: 228 Registriert: 25.07.2002 WIN XP Pro, ACAD 2004
|
erstellt am: 22. Mai. 2003 12:19 <-- editieren / zitieren --> Unities abgeben:
Hi, ich muss oft eine Linie mehrfach brechen an Punkten, die ich zuvor eingeteilt habe. Das mache ich normalerweise mit Bruch\e (oder mit mehrfach Stutzen an Hilslinien). Ich hätte gerne einen Befehl "Stutzen an Objekten" zur Auswahl von a) der Linie und b) der Brechpunkte. Gibt's da irgendwo was? Ich habe dazu noch kein tool gefunden... Walter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 3067 Registriert: 26.08.2002 ACAD R11 - 2022 (Plant3D) AVIS ACAD LT 2013- 2021 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 22. Mai. 2003 12:43 <-- editieren / zitieren --> Unities abgeben: Nur für Walter Zettlitzer
Hy Walter, als erstes ne "gibts nich" weder in x-Tools noch in einschlägigen Seiten zu finden. Du meinst du wählst ne Linie anschliesend ne belibige Anzahl von Punkten wo gebrochen werden soll und dann return und die Sache ist erledigt. NE hab ich auch noch niergends gesehen, wäre aber sicherlich interressant mfg cw Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gmk Mitglied Dipl.-Ing.(FH) Vermessung
Beiträge: 669 Registriert: 23.10.2002 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM
|
erstellt am: 26. Mai. 2003 11:10 <-- editieren / zitieren --> Unities abgeben: Nur für Walter Zettlitzer
|
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 26. Mai. 2003 22:32 <-- editieren / zitieren --> Unities abgeben: Nur für Walter Zettlitzer
Hi, wie wär's hiermit: Code:
(defun C:ABR (/ KPKT PKTLISTE) (defun ABR_ERROR (MSG) (setvar "cmdecho" ALT_CMD) (setvar "osmode" ALT_OS) (setq *ERROR* ALT_ERROR ABR_ERROR NIL ALT_ERROR NIL ALT_CMD NIL ALT_OS NIL ) ;_ end of setq (princ (strcat "\nFehler, Acad meldet: \"" MSG "\" als Ursache!") ) ;_ end of princ (princ) ) ;_ end defun (setq KPKT t ALT_OS (getvar "osmode") ALT_CMD (getvar "cmdecho") ALT_ERROR *ERROR* *ERROR* ABR_ERROR ) ;_ end setq (command "_.ucs" "_w") ;_ Weltkoordinaten! (setvar "cmdecho" 0) (setvar "osmode" 32) ;_ Ofang Schnittpunkt ;;; Punktliste erstellen... (while KPKT (initget 8) ;_ Limiten egal... (setq KPKT (getpoint "\nSchnittpunkt(e) zum Auto-Brechen wählen (NICHT PANNEN!): " ) ;_ end of getpoint ) ;_ end of setq (if KPKT (setq PKTLISTE (cons KPKT PKTLISTE)) ) ;_ end if ) ;_ end while (setvar "osmode" 0) ;_ Auf nix, sonst Ärger... ;;; Punktliste fertig?! (if (not PKTLISTE) (princ "\nKeine Punkte definiert... Programmende !") (progn (foreach ELEM PKTLISTE (GO-BREAK-THEM ELEM) ;_ ruft die weiterverarbeitung auf ) ;_ end foreach (princ "\nOK, erledigt !") ) ;_ end progn ) ;_ end if (setvar "cmdecho" ALT_CMD) (setvar "osmode" ALT_OS) (setq *ERROR* ALT_ERROR ABR_ERROR NIL ALT_ERROR NIL ALT_CMD NIL ALT_OS NIL ) ;_ end of setq (princ) )(defun GO-BREAK-THEM (KORD / FANG_POLY SGET2) (setq FANG_POLY (GETPOLY KORD) SGET2 (ssget "_CP" ;_ Auswahlsatz erzeugen... FANG_POLY ;_ um die Koordinate herum... (list (cons -4 "<or") ;_ Filter gleich die Elemente die gebrochen werden sollen (cons 0 "POLYLINE") (cons 0 "LWPOLYLINE") (cons 0 "LINE") (cons 0 "ARC") (cons -4 "or>") ) ;_ end list ) ;_ end ssget ) ;_ end setq (if SGET2 ;_ wenn Auswahlsatz, dann Brech die Objekte, die enthalten sind... (BREAK_IT KORD SGET2) ) ;_ end if ) ;_ end of defun ;_ erzeugt die Koordinaten für 'n Achteckiges Fangpolygon (defun GETPOLY (XKORD / H-1 H-2 HOCH HU1 HU2 R-1 R-2 RECHTS RU1 RU2 VEK_LIST WRT1 WRT2) (setq RECHTS (car XKORD) HOCH (cadr XKORD) WRT1 0.0019 ;_ Gibt ein Fang-8eck um die Koordinate WRT2 0.0046 ;_ Gibt ein Fang-8eck um die Koordinate WRT1 (* WRT1 2.5) ;_ zu klein für Bögen, also multiplizieren! WRT2 (* WRT2 2.5) ;_ zu klein für Bögen also multiplizieren! RU1 (+ RECHTS WRT1) RU2 (+ RECHTS WRT2) R-1 (- RECHTS WRT1) R-2 (- RECHTS WRT2) HU1 (+ HOCH WRT1) HU2 (+ HOCH WRT2) H-1 (- HOCH WRT1) H-2 (- HOCH WRT2) VEK_LIST (list (list R-2 H-1) (list R-2 HU1) (list R-1 HU2) (list RU1 HU2) (list RU2 HU1) (list RU2 H-1) (list RU1 H-2) (list R-1 H-2) ) ;_ end list ) ;_ end setq ) ;_ end defun
;;; Bricht die Objekte kurz und klein... (defun BREAK_IT (PKT2 SGETX / INDEX SGETXLENGTH ) (setq SGETXLENGTH (sslength SGETX) INDEX 0 ) ;_ end setq (while (< INDEX SGETXLENGTH) (setq SNAME (ssname SGETX INDEX)) (command "_.break" SNAME PKT2 "@") (princ "\nObjekt gebrochen...") (setq INDEX (1+ INDEX)) ) ;_ end while ) ;_ end defun (princ "\nAdvancedBReak... komfortabel brechen. \nAufruf mit ABR." ) ;_ end princ (princ)
------------------ Ciao, Marc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Zettlitzer Mitglied Dipl.-Ing (FH)
Beiträge: 228 Registriert: 25.07.2002 WIN XP Pro, ACAD 2004
|
erstellt am: 02. Jun. 2003 09:52 <-- editieren / zitieren --> Unities abgeben:
Hi Marc, hi Georg, danke für Eure lisps, das ist schon viel besser als vorher :-) Noch besser wäre es, wenn die Punkte nicht der Reihe nach angeklickt, sondern per Auswahsatz gewählt werden könnten. @Marc: Dein tool ist ja flexibel, was die Reihenfolge der Auswahl der Punkte angeht. Ich könnte mir vorstellen, das hier das Verwenden eines Auswahlsatzes anstelle dem Einzelnem Anklicken kein großes Problem ist? Schöne Grüße, Walter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 02. Jun. 2003 10:15 <-- editieren / zitieren --> Unities abgeben: Nur für Walter Zettlitzer
Hallo Walter, beim Brechen werden neue Liniensegmente erstellt, das ursprüngliche gelöscht. Deshalb hilft einem der Auswahlsatz, der am Anfang erstellt werden würde, nicht wirklich weiter, da die darin enthaltenen Elemente unter Umständen nicht mehr existieren bzw. neue beachtet werden müssen. Eine umfangreichere Programmierung wäre die Folge. Ich habe einmal ein Tool geschrieben, welches alle LW~/Polylinien an den Kreuzungspunkten um einen bestimmten Abstandswert aufbricht. Es gab noch ein paar Randbedingungen, aber das ließe sich evtl. auf Deine Bedürfnisse anpassen. Bei Interesse einfach melden. Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! 4 Neue Tool's im FreeDownload(gesamt 33)!? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Zettlitzer Mitglied Dipl.-Ing (FH)
Beiträge: 228 Registriert: 25.07.2002 WIN XP Pro, ACAD 2004
|
erstellt am: 02. Jun. 2003 10:28 <-- editieren / zitieren --> Unities abgeben:
Hallo Holger, danke für die Antwort. Die Punkte werden doch nicht gelöscht, die sind vorher schon da und bleiben auch nachher erhalten. Marcs tool erstllt eine Punktliste aus Punkten, die zuvor einzeln angeklickt werden und bricht mit (command "_.break" SNAME PKT2 "@"). Deswegen denke ich, die Punkt müsste man auch aus einer Auswahlliste in die Punktliste bekommen, natürlich kann das auch schwerer sein, als es scheint, ich bin ja kein Profi wie ihr... Walter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |