| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: Linien-Bruch (1463 mal gelesen)
|
vision Mitglied
Beiträge: 113 Registriert: 27.10.2003 AutoCAD 2015 Expresstools Windows 10
|
erstellt am: 09. Dez. 2003 13:25 <-- editieren / zitieren --> Unities abgeben:
AutoCAD 2002 Hallo, ich möchte auf Linien (2DPolylinien mit einer Breite > 0) die sich horizontal u. vertikal kreuzen, einen Bruch auf der horizontalen Linie mit dem Bruchabstand von jeweils 0,75 mm links u. rechts vom Schnittpunkt der vertikalen Linie einfügen. Ich habe dazu schon einige Tools ohne Erfolg ausprobiert. Auch verstehe ich nicht den Aufwand, den einige Prg. zum Brechen betreiben (z. B. "_CIRCLE" "_TRIM" "_.ERASE" KR "" "_ZOOM"...). Ist es denn nicht möglich, den AutoCAD Bruchbefehl per LISP auszuführen und die Koordinaten für den ersten u. zweiten Punkt vorzugeben anstatt der Mausklicke? (wenn nicht, kann man die Mausklicke nicht per Prg. simulieren?) Für Eure Bemühungen bedanke ich mich schon im Voraus.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1991 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 09. Dez. 2003 14:14 <-- editieren / zitieren --> Unities abgeben: Nur für vision
Ich denke das ist das richtige für diesen Zweck und deine Anfrage. (vl-load-com) (setq t_2 (car (entsel)) schn (getpoint "\nSchnittpunkt wählen") ) ;_ end of setq (command "_break" T_2 (vlax-curve-getPointAtDist (vlax-ename->vla-object t_2) (- (vlax-curve-getDistAtPoint (vlax-ename->vla-object t_2) schn ) 0.75 ) ) (vlax-curve-getPointAtDist (vlax-ename->vla-object t_2) (+ 0.75 (vlax-curve-getDistAtPoint (vlax-ename->vla-object t_2) schn ) ) )) ------------------ Gruß CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
vision Mitglied
Beiträge: 113 Registriert: 27.10.2003 AutoCAD 2015 Expresstools Windows 10
|
erstellt am: 09. Dez. 2003 15:05 <-- editieren / zitieren --> Unities abgeben:
|
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 3074 Registriert: 26.08.2002 ACAD R11 - 2018.1.2 (Plant3D) AVIS ACAD LT 2013- 2020 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: 09. Dez. 2003 15:08 <-- editieren / zitieren --> Unities abgeben: Nur für vision
|
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 3074 Registriert: 26.08.2002 ACAD R11 - 2018.1.2 (Plant3D) AVIS ACAD LT 2013- 2020 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: 09. Dez. 2003 15:18 <-- editieren / zitieren --> Unities abgeben: Nur für vision
|
vision Mitglied
Beiträge: 113 Registriert: 27.10.2003 AutoCAD 2015 Expresstools Windows 10
|
erstellt am: 09. Dez. 2003 19:33 <-- editieren / zitieren --> Unities abgeben:
Hallo CADwiesel, ich versuche in dem LISP-Prg. den Fang "Schnittpunkt" mit (setvar "OSMODE" 32) vorzugeben. Leider ohne Erfolg! (Je nach dem in welcher Zeile ich das einsetze, kommt entweder eine Fehlermeldung oder es kommt kein Schnittpunkt-Fang) Wie funktioniert es? MfG Klaus
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StephanJP Mitglied CAD-Admin
Beiträge: 837 Registriert: 09.11.2000
|
erstellt am: 09. Dez. 2003 20:14 <-- editieren / zitieren --> Unities abgeben: Nur für vision
|
Brischke Moderator CAD on demand GmbH
Beiträge: 4189 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 09. Dez. 2003 20:15 <-- editieren / zitieren --> Unities abgeben: Nur für vision
Hallo Vision, du musst den Fang vor dem Bruchbefehl auch wieder zurück setzen, sonst arbeitet dieser nicht richtig. Zitat: Original erstellt von CADwiesel: ... (vl-load-com) (setq osmode_save(getvar "OSMODE")) (setvar "OSMODE" 32) (setq t_2 (car (entsel)) schn (getpoint "\nSchnittpunkt wählen") ) ;_ end of setq (setvar "OSMODE" 0) (command "_break" T_2 (vlax-curve-getPointAtDist (vlax-ename->vla-object t_2) (- (vlax-curve-getDistAtPoint (vlax-ename->vla-object t_2) schn ) 0.75 ) ) (vlax-curve-getPointAtDist (vlax-ename->vla-object t_2) (+ 0.75 (vlax-curve-getDistAtPoint (vlax-ename->vla-object t_2) schn ) ) )) (setvar "OSMODE" osmode_save) (setq osmode_save nil t2 nil schn nil)
Damit der zuvor eingestellte Objektfang am Ende wieder hergestellt wird, habe ich diesen in der Variablen osmode_save zwischengespeichert und am Ende wieder der Sysvar zugewiesen. Bei Fragen ... Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man's hat! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Theodor Schoenwald Ehrenmitglied
Beiträge: 1672 Registriert: 16.04.2002
|
erstellt am: 10. Dez. 2003 00:25 <-- editieren / zitieren --> Unities abgeben: Nur für vision
Hallo, hier ist auch noch eine Lösung. Gruß Theodor Schönwald ;; Zentrischer Bruch. ;; 6.8.2003 V 1.0 ;; (defun C:Z_BRUCH (/ ELEM ELPT KR BRUCH_BR) (defun NEUERR (MSG) (prompt "\n. \n. \n ") (princ MSG) (R_VAR) (exit) (princ) ) (setq ALTERR *ERROR* *ERROR* NEUERR C_E (getvar "CMDECHO") ; ECHO G_M (getvar "GRIDMODE") ; RASTER O_M (getvar "ORTHOMODE") ; Ortho O_S (getvar "OSMODE") ; Fang W_K (getvar "UCSORG") ; BKS ) (setvar "CMDECHO" 0) (command "BKS" "WELT") (setvar "GRIDMODE" 0) (setvar "ORTHOMODE" 0) (setvar "OSMODE" 0) (redraw) (defun R_VAR () (command) (setvar "GRIDMODE" G_M) (setvar "ORTHOMODE" O_M) (setvar "OSMODE" O_S) (command "BKS" "S" W_K) (setq *ERROR* ALTERR) (setvar "CMDECHO" C_E) (redraw) (princ) ) ;;-------------------------------------------------------------------------- (prompt "\n .\n .\n ") (while (not ELEM) (setq ELEM (entsel "\n \n \nBruchpunkt wählen: ")) ) (setq BRUCH_BR (getreal "\n \nBruchbreite: ")) (setq ELPT (osnap (cadr ELEM) "_NEA")) ; Anpickpunkt NAECHST ;; ZOOM und REGEN damit STUTZEN funktioniert (command "_ZOOM" "_C" ELPT BRUCH_BR "_REGEN" "_CIRCLE" ELPT (* BRUCH_BR 0.5)) (setq KR (entlast)) (command "_TRIM" KR "" ELPT "" "_.ERASE" KR "" "_ZOOM" "_P") (R_VAR) (princ) ) ;_ End defun c: (princ) (princ "Bruch-Programm wird geladen") (princ)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
vision Mitglied
Beiträge: 113 Registriert: 27.10.2003 AutoCAD 2015 Expresstools Windows 10
|
erstellt am: 11. Dez. 2003 08:54 <-- editieren / zitieren --> Unities abgeben:
Hallo Holger, würdest Du mir bitte das Bruch-Lisp so erweitern, dass der Befehl in einer Wiederhol-Schleife läuft und mit der rechten Mausatste abbricht? Für Deine Bemühungen bedanke ich mich im Voraus. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Proxy Ehrenmitglied Stateless-DHCP v6-Paketfragmentierer
Beiträge: 1629 Registriert: 13.11.2003 Tastaturen, Mäuse, Pladden, ..., AutoCADs 200X, SWX 2kX
|
erstellt am: 11. Dez. 2003 13:47 <-- editieren / zitieren --> Unities abgeben: Nur für vision
Zitat: Original erstellt von vision: Hallo Holger,würdest Du mir bitte das Bruch-Lisp so erweitern, dass der Befehl in einer Wiederhol-Schleife läuft und mit der rechten Mausatste abbricht? Für Deine Bemühungen bedanke ich mich im Voraus.
einfach beim Button ein * hinzufügen, etwa so:
Code:
[_Button("Mehrfacher zentrischer Bruch", "bild1.bmp", "bild2.bmp")]*^C^C^P_z_bruch
------------------ (entmake (entget (entlast))) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13529 Registriert: 30.11.2003 .
|
erstellt am: 11. Dez. 2003 14:36 <-- editieren / zitieren --> Unities abgeben: Nur für vision
Hallo Vision! Eins vorweg : .. erwarte nicht immer 100%-ige Komplettlösungen. Holger hat in seinem Signum z.B. einen Verweis auf defun.de . Da bekommst du wahrscheinlich genau die für dich zurechtgeschnittenen Lösung! Und wenn's wirklich Arbeitszeit spart, sollte dir das auch etwas wert sein! Weil aber nun wirklich der "kreative" Teil schon fertig ist, und es auch mal Ausnahmen geben muß, ist im Anhang das was du suchst. (Hoffentlich....) Ansonsten kann ich bloß meine Empfehlung wiederholen sich auf den entsprechenden Seiten etwas Lisp-kundig zu machen! Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |