Autor
|
Thema: Konstruktionslinien (11384 mal gelesen)
|
StephanJP Mitglied Techniker
Beiträge: 695 Registriert: 09.11.2000
|
erstellt am: 14. Nov. 2003 10:07 Unities abgeben:
@Berndhast natürlich Recht, hab halt die Linienstärke vergessen, sorry @newcad speichere die Zeilen (meine oder Bernds) in einer ASCII-Datei KLinien.lsp o.ä. (wichtig ist nur das .lsp) in einem Verzeichnis, das im AutoCAD-Supportpfad liegt ab. Am Besten erzeugst Du für die vielen tollen Lisp-Routinen, die man hier so findet, ein eigenes Verzeichnis, z.B. \AutoCAD...\Lisp, trägst das in den Suchpfad für Supportdateien in AutoCAD ein. Dann musst Du dieses Lisp in AutoCAD noch laden und dann hast Du schon die neuen Befehle: kv = Konstruktionslinie Vertikal kh = Konstruktionslinie Horizontal kx = Konstruktionslinienkreuz kl = löschen aller Klinien auf dem Layer "hilfslin_18" Wie man Lisp-Routinen automatisch beim Starten von AutoCAD lädt ist im Forum bereits beschrieben. Mal mit der Suchen-Funktion arbeiten, dann findet man z.B. http://ww3.cad.de/foren/ubb/Forum54/HTML/001854.shtml------------------
gruß Stephan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied Bautechnischer Zeichner
Beiträge: 1643 Registriert: 07.06.2001 Quad 2.66,4 GB+Ram, Vista 32Bit, Geforce 9500GT, 4GB Ram, AC2010 - Map 3D, HP DesignJet 500 u. 1050c, TFT Hanns-G 22"
|
erstellt am: 14. Nov. 2003 10:00 Unities abgeben:
MorgenKann mir wer helfen Hab das ganze in ein Button geschrieben ^C^C(progn (setq altlay (getvar "CLAYER")) (command "_layer" "_m" "A_hilfsline" "_c" "213" "A_hilfsline" "_lw" "0" "A_hilfsline" "") (command "_xline" (getpoint)) (setvar "CLAYER" altlay)) Sollen: Layer "A_hilfsline" erstellen 1 Xline zeichnen (2 Punkte) und dann wieder auf vorherigen Layer schalten. tun tut er: Eine Xline auf dem "A_hilfsline" Zeichnen dann schaltet er auf den vorherigen z.B. "0" und bricht Xline nicht AUTOMATISCH nach der 1. Xline ab. Mit (command "_xline" (getpoint)(getpoint)"") Tut er "Fast" alles richitg nur die Ausrichtung der Xline wird erst angezeigt wenn sie gezeichnet ist (nicht wie normal "transparent") ------------------ Wer Rechtschreibfehler findet, darf sie der Analphabetenvereinigung schenken. Warum einfach, es geht auch Kompliziert. mfG Bernd P. [Diese Nachricht wurde von Bernd P am 14. November 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kramer24 Ehrenmitglied V.I.P. h.c. Architekt
Beiträge: 3949 Registriert: 09.11.2001 WINXP ADT2004(SP2) ET
|
erstellt am: 14. Nov. 2003 08:55 Unities abgeben:
Moin Ansgar,so ich fang noch mal von vorne an. 1. Du bist noch relativ neu. Schreibe doch Deine Software, etc. in Dein Profil. 2. "dellayer" ist ein Lisp vom Wiesel Mit diesem Befehl wirde der Layer "hilfslin_018" gelöscht. was dieses "md_" soll, weiß ich auch nicht. 3. Wie man ein Lisp lädt und ausführt findest Du hier . 4. Befehle auf die Tastatur legen: Gehe auf die Suche im Forum und gib "2004 pgp" ein... Lothar
------------------ "Stellt Euch vor, es geht, und keiner kriegt's hin." (Neuss) [Diese Nachricht wurde von Kramer24 am 14. November 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied Bautechnischer Zeichner
Beiträge: 1643 Registriert: 07.06.2001 Quad 2.66,4 GB+Ram, Vista 32Bit, Geforce 9500GT, 4GB Ram, AC2010 - Map 3D, HP DesignJet 500 u. 1050c, TFT Hanns-G 22"
|
erstellt am: 14. Nov. 2003 08:51 Unities abgeben:
MorgenHat a bisserl mit die Layererstellen geschlamp aber sonst gut (defun c:kh() ;erzeugt eine horizontale Hilfslinie im gewählten Punkt (setq altlay (getvar "CLAYER")) (setq pt (getpoint)) (command "_layer" "_m" "A_hilfsline" "_c" "213" "A_hilfsline" "_lw" "0" "A_hilfsline" "") (command "_xline" "_h" pt "") (setvar "CLAYER" altlay) (princ) ) (defun c:kv() ;erzeugt eine horizontale Hilfslinie im gewählten Punkt (setq altlay (getvar "CLAYER")) (setq pt (getpoint)) (command "_layer" "_m" "A_hilfsline" "_c" "213" "A_hilfsline" "_lw" "0" "A_hilfsline" "") (command "_xline" "_v" pt "") (setvar "CLAYER" altlay) (princ) ) (defun c:kx() ;erzeugt eine horizontale Hilfslinie im gewählten Punkt (setq altlay (getvar "CLAYER")) (setq pt (getpoint)) (command "_layer" "_m" "A_hilfsline" "_c" "213" "A_hilfsline" "_lw" "0" "A_hilfsline" "") (command "_xline" "_h" pt "") (command "_xline" "_v" pt "") (setvar "CLAYER" altlay) (princ) ) (defun c:kl () ;löscht alle Hilfslinien auf dem Layer "A_hilfsline (setq as (ssget "X" '((0 . "XLINE")(8 . "A_hilfsline")))) (command "_erase" as "") (princ) ) ------------------ Wer Rechtschreibfehler findet, darf sie der Analphabetenvereinigung schenken. Warum einfach, es geht auch Kompliziert. mfG Bernd P. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
newcad Mitglied Schreinermeister in der AV
Beiträge: 255 Registriert: 12.11.2003 Acad 2008 LT DE SP1 Acad 2008 DE SP1 Expresstools <P>Intel Pentium 4 2,6Ghz Windows xp pro, SP3 1024MB DDR2 Ram Nvidia GeForce 7600GS 256MB Zwei-Bildschirm-Arbeitsplatz TFT=V7 22"Wide TFT=V7 22"Wide
|
erstellt am: 13. Nov. 2003 22:13 Unities abgeben:
Hallo Stefan, Dein Beitrag ist super, aber ich habe ich Sachen Autolisp und Programmierung null Plan. Wie und wo muß ich das von Dir geschrieben "hinschreiben"???, damit es funktioniert??? Ich bitte um eine letzte Hilfe! Und, wie und wo kann man Autolisp am besten lernen, ohne die Schulbank zu drücken??Ansgar Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StephanJP Mitglied Techniker
Beiträge: 695 Registriert: 09.11.2000
|
erstellt am: 13. Nov. 2003 21:55 Unities abgeben:
hier ein paar Zeilen Lisp:(defun c:kh() ;erzeugt eine horizontale Hilfslinie im gewählten Punkt (setq pt (getpoint)) (setq altlay (getvar "CLAYER")) (command "_layer" "_m" "hilfslin_18" "_c" 9 "hilfslin_18" "_lw" 0.18 "hilfslin_18" "") (command "_xline" "_h" pt "") (setvar "CLAYER" altlay) (princ) ) (defun c:kv() ;erzeugt eine vertikale Hilfslinie im gewählten Punkt (setq pt (getpoint)) (setq altlay (getvar "CLAYER")) (command "_layer" "_m" "hilfslin_18" "_c" 9 "hilfslin_18" "_lw" 0.18 "hilfslin_18" "") (command "_xline" "_v" pt "") (setvar "CLAYER" altlay) (princ) ) (defun c:kx() ;erzeugt ein Hilfslinienkreuz im gewählten punkt (setq pt (getpoint)) (setq altlay (getvar "CLAYER")) (command "_layer" "_m" "hilfslin_18" "_c" 9 "hilfslin_18" "_lw" 0.18 "hilfslin_18" "") (command "_xline" "_h" pt "") (command "_xline" "_v" pt "") (setvar "CLAYER" altlay) (princ) ) (defun c:kl () ;löscht alle Hilfslinien auf dem Layer "hilfslin_18 (setq as (ssget "X" '((0 . "XLINE")(8 . "hilfslin_18")))) (command "_erase" as "") (command) (princ) ) ------------------ gruß Stephan
[Diese Nachricht wurde von StephanJP am 20. Nov. 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
newcad Mitglied Schreinermeister in der AV
Beiträge: 255 Registriert: 12.11.2003 Acad 2008 LT DE SP1 Acad 2008 DE SP1 Expresstools <P>Intel Pentium 4 2,6Ghz Windows xp pro, SP3 1024MB DDR2 Ram Nvidia GeForce 7600GS 256MB Zwei-Bildschirm-Arbeitsplatz TFT=V7 22"Wide TFT=V7 22"Wide
|
erstellt am: 13. Nov. 2003 21:19 Unities abgeben:
Hallo, noch ein Frage. Da ich überwiegend mit Tastaturbefehlen arbeite und meine eigene pgp-Datei erstellt habe, wäre es toll wenn ich die Befehle der Konstr_Linien auf Tastatur legen könnte. kh= Konstr_Linie_Horizontal kv= Konstr_Linie_Verikal usw. Den Befehl ^C^Cmd_dellayer hilfslin_018;; habe ich bei Cadwiesel nicht finden können.Ansgar
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
newcad Mitglied Schreinermeister in der AV
Beiträge: 255 Registriert: 12.11.2003 Acad 2008 LT DE SP1 Acad 2008 DE SP1 Expresstools <P>Intel Pentium 4 2,6Ghz Windows xp pro, SP3 1024MB DDR2 Ram Nvidia GeForce 7600GS 256MB Zwei-Bildschirm-Arbeitsplatz TFT=V7 22"Wide TFT=V7 22"Wide
|
erstellt am: 13. Nov. 2003 20:46 Unities abgeben:
Hallo Lothar,das war der richtige Befehl. Kann dieser auch so geschrieben werden, das ein -Kreuz- als Konstruktionslinie erstellt wird. Das löschen der Kon_Linien klappt aber noch nicht. Ich probiers weiter, aber allen Usern besten Dank. Ansgar
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kramer24 Ehrenmitglied V.I.P. h.c. Architekt
Beiträge: 3949 Registriert: 09.11.2001 WINXP ADT2004(SP2) ET
|
erstellt am: 13. Nov. 2003 19:08 Unities abgeben:
Zitat: Original erstellt von newcad: Hallo zusamen, leider verstehe ichnicht alles!! In der Befehlszeile steht: Name des zu aktivierenden Layers eingeben oder Objekt wählen. Muß ich zuerst den Layer anlegen??Danke Ansgar
Hallo Ansgar, da hast Du recht. Das erste Makro von Fips funktioniert nur, wenn der Layer "hilfslin_018" existiert. @Fips, wenn Du mit Deinem dritten Makro den Layer "hilfslin_018" wegbereinigst, dann funkt Dein erstes Makro wiederum nicht -> deswegen ist dies hier eine Verbesserung: ^C^C-la;_new;hilfslin_018;se;hilfslin_018;;_xline;ho; Eleganter ist es naturlich die Objekte eines Layer mit einem Makro zu löschen, und den Layer beizubehalten, das kann ich aber nicht Lothar ------------------ "Stellt Euch vor, es geht, und keiner kriegt's hin." (Neuss) [Diese Nachricht wurde von Kramer24 am 13. November 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
newcad Mitglied Schreinermeister in der AV
Beiträge: 255 Registriert: 12.11.2003 Acad 2008 LT DE SP1 Acad 2008 DE SP1 Expresstools <P>Intel Pentium 4 2,6Ghz Windows xp pro, SP3 1024MB DDR2 Ram Nvidia GeForce 7600GS 256MB Zwei-Bildschirm-Arbeitsplatz TFT=V7 22"Wide TFT=V7 22"Wide
|
erstellt am: 13. Nov. 2003 18:31 Unities abgeben:
Hallo zusamen, leider verstehe ichnicht alles!! In der Befehlszeile steht: Name des zu aktivierenden Layers eingeben oder Objekt wählen. Muß ich zuerst den Layer anlegen??Danke Ansgar Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |