| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Befehl Ansichtsfenster mit Layer (1018 mal gelesen)
|
R.Bless Mitglied Bauzeichner, CAD Administrator
Beiträge: 288 Registriert: 27.03.2003
|
erstellt am: 21. Apr. 2006 08:05 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich habe ein Makro, das mir eine Hilfslinie auf einem Layer erzeugt und danach auf den aktuellen Layer zurückschaltet: ^C^C(setq aktlayer(getvar"clayer"));_-layer;m;-Plan_Symbole_Hilfslinie;fa;21;;pl;k;;;_xline;\\;clayer;!aktlayer;;; Dieses Prinzip möchte ich auf das Erstellen eines Ansichtsfensters übertragen, nur schaltet sich jetzt nicht mehr der alte Layer aktuell: ^C^C(setq aktlayer(getvar"clayer"));_-layer;m;-Plan_Symbole_Plotfenster;fa;7;;pl;k;;;$M=$(if,$(eq,$(getvar,tilemode),1),^C^C_-vports _si,^C^C_-vports);clayer;!aktlayer;;; Lassen sich die Befehle nicht so einfach übertragen? ------------------ Bis demnächst Rainer 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: 21. Apr. 2006 08:19 <-- editieren / zitieren --> Unities abgeben: Nur für R.Bless
Zitat: Original erstellt von R.Bless:
^C^C(setq aktlayer(getvar"clayer"));_-layer;m;-Plan_Symbole_Plotfenster;fa;7;;pl;k;;;$M=$(if,$(eq,$(getvar,tilemode),1),^C^C_-vports _si,^C^C_-vports);clayer;!aktlayer;;;
Hast du den Befehl so am Button liegen ? Wenn ja - da verstecken sich mehrere Fehler... 1.) Nach dem Umschalten von Tilemode hast du einen , anstelle eines ; 2.) Nach dem -vport kommt bei dir ein _si - was ist das für eine Option ? (Ausserdem fehlt zwischen vports und si ein ; 3.) Nach dem obigen si ist wieder ein , anstelle eines ; 4.) Warum brichst du den Befehl dauernd ab ? ^C^C bricht ab und danach gibt's keine Fortsetzung mehr... 5.) Wenn du das ganze nur für AutoCAD pur brauchst kannst du dir den ganzen Klimbim mit getvar clayer usw sparen - einfach am Schluss einmal LAYERP eingeben und die Sache hat sich... ------------------ Grüsse
Thomas [Diese Nachricht wurde von tunnelbauer am 21. Apr. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
R.Bless Mitglied Bauzeichner, CAD Administrator
Beiträge: 288 Registriert: 27.03.2003
|
erstellt am: 21. Apr. 2006 09:07 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, den Befehl mit dem Ansichtsfenster habe ich so aus AutoCAD übernommen, auch mit dem _si. Ich habe jetzt ein wenig aufgeräumt und das Makro auf dem Button sieht jetzt so aus: _-layer;m;-Plan_Symbole_Plotfenster;fa;7;;pl;k;;;$M=$(if,$(eq,$(getvar,tilemode),1),^C^C_-vports _si,^C^C_-vports); und funktioniert. Geht es denn, das ich das layerp (auch in ADT) an den Befehl anhänge? _-layer;m;-Plan_Symbole_Plotfenster;fa;7;;pl;k;;;$M=$(if,$(eq,$(getvar,tilemode),1),^C^C_-vports _si,^C^C_-vports);layerp; geht nicht.
------------------ Bis demnächst Rainer 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: 21. Apr. 2006 09:25 <-- editieren / zitieren --> Unities abgeben: Nur für R.Bless
Wenn du dir den Befehl (bzw das Textfenster anschaust9 dann hättest du festgestellt, dass er ohne LAYERP in Layoutbereich mit der Eingabeoption von vports stoppt - spricht du kannst Ansichtsfenster definieren. Im Modellbereich hingegen stellt er automatisch Single ein und kann dann auch den zuvor verwendeten Layer einstellen (läuft ohne Fehler automatisch durch...) Du verwendest Teile eines internationalisierten Befehlsaufrufs und auch Teile eines deutshcen Befehslaufruf, das ist schlecht - sehr schlecht... internationlaisiert würde es so aussehen: Code:
^C^C_-layer;m;-Plan_Symbole_Plotfenster;_c;7;;pl;_n;;;$M=$(if,$(eq,$(getvar,tilemode),1),^C^C_-vports;_si,^C^C_-vports);layerp;
Und nein - ich weis nicht ob du LAYERP auch im ADT verwenden kannst - die Hilfe zum ADT liegt bei dir auf der Festplatte, nicht bei mir. Drücke F1 und gib LAYERP ein (frag aber nicht mich, ich hab keinen ADT). PS: Das obige Makro funktioniert so nur im Modellbereich - nicht aber im Layoutbereich; aber vielleicht schilderst du was du bewerkstelligen willst bevor das hier zu einer Quizshow ausartet... ------------------ Grüsse Thomas [Diese Nachricht wurde von tunnelbauer am 21. Apr. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
R.Bless Mitglied Bauzeichner, CAD Administrator
Beiträge: 288 Registriert: 27.03.2003
|
erstellt am: 21. Apr. 2006 09:41 <-- editieren / zitieren --> Unities abgeben:
OK Thomas, ich nehme dann mal den Publikumsjoker ... den Befehl layerp gibt es auch im ADT, das meinte ich, habe das nicht genau geschrieben. Ich möchte meinen Kollegen einen Befehl geben, der im Layout ein Ansichtsfenster mit einem bestimmten Layer erzeugt und danach auf den vorher eingestellten Befehl zurückgeht, so wie es mit dem Befehl der Hilfslinie geht. Im Moment ist es so, dass das Makro aus meinem ersten Beitrag so funktioniert, dass der Layer eingestellt und das Ansichtsfenster erstellt wird. Nur bleibt der Layer aktiv. Wäre schön, wenn das funktionieren würde ------------------ Bis demnächst Rainer Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3358 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 21. Apr. 2006 09:53 <-- editieren / zitieren --> Unities abgeben: Nur für R.Bless
moin (command "_-layer" "m" "Kopf Ansichtsfenster" "ls" "0.09" "" "Fa" "54" "" "p" "k" "") $M=$(if,$(eq,$(getvar,tilemode),1),^C^C_-vports _si,^C^C_-vports) die Layereinstellungenm gehören noch an deine angepasst ------------------ "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark Bernd P. Bitte Supportangaben eintragen, warum siehst du hier Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
R.Bless Mitglied Bauzeichner, CAD Administrator
Beiträge: 288 Registriert: 27.03.2003
|
erstellt am: 21. Apr. 2006 10:11 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd P, das mit dem Zurückstellen auf den vorher aktiven Layer geht bei deinem Makro auch nicht. Lässt AutoCAD nach dem vports Befehl keinen weiteren zu? Wie kann man dann 2 Befehle in ein Makro integrieren? ------------------ Bis demnächst Rainer 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: 21. Apr. 2006 10:18 <-- editieren / zitieren --> Unities abgeben: Nur für R.Bless
AutoCAD lässt auch nach vports andere Befehle zu; aber schau dir mal an was bei dir im Makro drinsteht und was AutoCAD für Angaben erwartet - bei mir macht AC nämlich gar nichts... (auch nicht mit deinem ersten Makro...) ------------------ Grüsse Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
R.Bless Mitglied Bauzeichner, CAD Administrator
Beiträge: 288 Registriert: 27.03.2003
|
erstellt am: 21. Apr. 2006 11:18 <-- editieren / zitieren --> Unities abgeben:
Hi, an dieser Stelle wollte ich erst passen, meine Kenntnisse reichen nur soweit, dass ich versuche aus vorhandenen Befehlen die Zusammenhänge zu erkennen. Aber ich habs: mit -layer;m;-Plan_Symbole_Plotfenster;fa;7;;pl;k;;;mansfen;\\;^C^C_layerp funkt der Bedehl so wie ich es mir gedacht habe. Euch vielen Dank für die Unterstützung ------------------ Bis demnächst Rainer [Diese Nachricht wurde von R.Bless am 21. Apr. 2006 editiert.] 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: 21. Apr. 2006 11:38 <-- editieren / zitieren --> Unities abgeben: Nur für R.Bless
damit das ganze dann auch noch die letzten Schönheitsfehler beseitigt bekommt: Code:
^C^C-layer;_m;-Plan_Symbole_Plotfenster;_c;7;;_pl;_n;;;_mview;\\_layerp
Das ^C^C vorne bricht eventuell aktuelle Befehle ab - das ^C^C bei dir im hinteren Teil ist gefährlich, da es zT auch das Makro abbricht - in dem Fall geht's zwar, nur ist es so nicht sauber und kann Probleme bereiten. ------------------ Grüsse Thomas [Diese Nachricht wurde von tunnelbauer am 21. Apr. 2006 editiert.] [Diese Nachricht wurde von tunnelbauer am 21. Apr. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 21. Apr. 2006 12:01 <-- editieren / zitieren --> Unities abgeben: Nur für R.Bless
Setze dich damit auseinander : ^C^C_-LAYER;_th;-Plan_Symbole_Plotfenster;_m;-Plan_Symbole_Plotfenster;_c;7;;; $M=$(if,$(eq,$(getvar,vpmaximizedstate),1),^C^C_-VPORTS,$(if,$(eq,$(getvar,tilemode),1),^C^C_-VPORTS _si _LAYERP _-PURGE _all * _n,^C^C_-VPORTS)); \\_LAYERP ------------------------------- [^C^C] 2xESC = sicherstellen das kein Befehl aktiv ist / falls Befehl aktiv, Befehl abbrechen.. [_-LAYER;] Befehl "LAYER" in der Befehlszeilenversion aufrufen (vorangestelltes "-") indem der Befehl geschrieben und mit Enter/Return bestätigt wird (";"). Ich nutze den Internationalen Befehlsaufruf und nutze so die engl. Befehle - diese werden durch einen Underline ("_") eingeleitet: zB _line _circle usw. _th;-Plan_Symbole_Plotfenster; Falls der Layer bnereits vorhanden ist, sicherstellen das er nicht gefroren ist.. [_m;-Plan_Symbole_Plotfenster;] Option im Befehl Layer wählen, hier die Option "m" bzw. "_m" für "make" - also neuen Layer erstellen, danach den zu erstellenden Layernamen, auch hier jede Eingabe mit Return/Enter bestätigen.. [_c;7;;;] Immernoch im Befehl "Layer" wird die Option "_c" für Color=Farbe gewählt und bestätigt, danach der Farbwert angegeben - hier die Nummer7, anschließend wird der Layer angegeben dem die Farbe zugewiesen werden soll. Da Acad automatisch den akt.Layer vorschlägt, kann man an dieser Stelle den Vorschlag mit Return/Enter bestätigen. [die Option _MAKE/Machen setzt den angegebenen Layer aktuell - von daher kann man sicher sein um welchen es sich aktuell handelt.] Nun sind wir mit dem Befehl LAYER fertig und verlassen diesen mit der Eingabe eines Enter/Returns ";" [$M=$(if,] <beginne> "WENN..."
[$(eq,$(getvar,vpmaximizedstate),1),] ...vpmaximizedstate den Wert 1 hat... ...mache dies... [^C^C_-VPORTS,] (= EscEsc und Befehl _VPORTS aufrufen) <<...ansonsten, wenn vpmaximizedstate ungleich 1 ist>> ...mache das... [$(if,$(eq,$(getvar,tilemode),1),^C^C_-VPORTS _si _LAYERP _-PURGE _all * _n,^C^C_-VPORTS)] [)] <ende> "WENN.." [;] die Eingabe aus "$(if,dieserFall,machedies,ansonstenmachejenes)" , egal welche nun zum tragen kommt, möchte auch noch mit einem Return/Enter bestätigt werden - deshalb dieses ";" (Im Original-Buttonmakro"Einzelnes Ansichtsfenster" ist ein Leerzeichen dafür am Ende gesetzt ) [\\_LAYERP ] Benutzereingabe des 1.Punktes des zu erstellenden Ansichtsfenster, Benutzereingabe des 2.Punktes des zu erstellenden Ansichtsfenster, Befehl "LAYERP" aufrufen ("_LAYERP ") - engl.Befehlsaufruf von LAYERP, mit Leerzeichen bestätigt [Diese Antwort kommentiere ich mit: kein Kommentar ] EDIT Makro noch im Detail geändert 21.04.2006 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
R.Bless Mitglied Bauzeichner, CAD Administrator
Beiträge: 288 Registriert: 27.03.2003
|
erstellt am: 21. Apr. 2006 12:20 <-- editieren / zitieren --> Unities abgeben:
@ Thomas, wenn ich deine Befehl übernehme, macht AC 2 Ansichtsfenster, eines über die Punkte, ein zweites auf den maximalen Plotbereich @cadffm Dank für deine Erklärungen ------------------ Bis demnächst Rainer 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: 21. Apr. 2006 13:52 <-- editieren / zitieren --> Unities abgeben: Nur für R.Bless
Hab die letzte Variante jetzt nochmal korregiert - jetzt stimmts definitiv; die beiden Semikolon nach der Aufforderung zur Punkteingabe haben eine Wiederholung inklusive Bestätigung von mview mit <fit> ausgelöst - somit entstand das zweite AF. ------------------ Grüsse Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 21. Apr. 2006 23:19 <-- editieren / zitieren --> Unities abgeben: Nur für R.Bless
@Rainer, das war das 1. "Danke" bei dem mir der Hals geschwollen ist DAS WAR NICHT NUR EINE ERKLÄRUNG ! - Das Makro (samt Erklärung) war much Arbeit , zumindest wenn man investierte Zeit als solche sieht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|