| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: strecken regenall (2991 mal gelesen)
|
Ingo Struck Mitglied Holztechniker
Beiträge: 459 Registriert: 08.01.2010 Intel Core i7-3770 4 GB RAM AMD FirePro V3900 (FireGL V) Windows 7 Pro SP1 AutoCAD 2009 - deutsch MS-Office Standard 2010
|
erstellt am: 15. Jan. 2010 17:27 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, kennt jemand eine Möglichkeit, nach dem Befehl "strecken" zuverlässig den Befehl "regenall" ausführen zu lassen? Hierfür habe ich mir ein Makro geschrieben, welches meistens, jedoch nicht immer wie gewünscht funktioniert. Den Befehl "regenall" benötige ich hinter dem Befehl "strecken" ,um damit Autocad-Schriftfelder automatisch aktualisieren zu lassen. Das Makro sieht folgendermaßen aus: $M=$(if,$(eq,$(substr,$(getvar,cmdnames),1,4),GRIP),_stretch;\\\\\_revdate;_regenall;,^C^C_stretch;\\\\\_revdate;_regenall ; Es funktioniert allerdings nur, wenn im Befehl "strecken" genau 5 Benutzereingaben für Objektwahl, Bestätigung mit rechter Maustaste, Festlegung des Basispunktes und des Streckpunktes gemacht werden. Wenn mehr als 5 Benutzereingaben benötigt werden, zum Beispiel für die Anwahl weiterer Objekte, wird zwar der Befehl "strecken" noch ausgeführt, direkt danach jedoch ohne Weiteres abgebrochen. Der Dialog dazu lautet wie folgt: Befehl: Befehl: Befehl: _stretch Objekte, die gestreckt werden sollen, mit Kreuzen-Fenster oder Kreuzen-Polygon wählen... Objekte wählen: Entgegengesetzte Ecke angeben: 50 gefunden Objekte wählen: 1 gefunden, 51 gesamt Objekte wählen: Basispunkt oder Verschiebung angeben [Verschiebung]: Zweiten Punkt angeben oder <ersten Punkt der Verschiebung verwenden>: _revdate Ungültiger Punkt. Zweiten Punkt angeben oder <ersten Punkt der Verschiebung verwenden>:
Es wird also an Stelle der sechsten Benutzereingabe der Befehl "revdate" angenommen, sodaß es zum Abbruch kommt. Vielleicht gibt es eine Möglichkeit, die Anzahl der Benutzereingaben variabel zu gestalten oder den Befehl "regenall" anderweitig hinterherzuschieben.
mit Dank im Vorraus, Ingo 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: 15. Jan. 2010 22:43 <-- editieren / zitieren --> Unities abgeben: Nur für Ingo Struck
Ich passe das Makro mal so an wie ich meine das es Sinn macht (falls ich falsch liege erkläre einfach warum)~ dazwischenschieb: in deinem bisherigen Makro müßte es übrigen so aussehen bei der Objektwahl: .._stretch;\\\;\\_revdate.. Das wären 3 Benutzereingaben, dann Objektwahl beenden, Basis- und Zielpunkt ~ 1. bei VORHER markierten Objekten die Stretchfunktion aufrufen macht imho keinen Sinn da die (weitere) Objektwahl nicht möglich wäre und praktisch nur ein "Verschieben" erfolgen würde, zudem würde dein Makro nicht funktionieren. Aus diesem Grund lasse ich jetzt mal keine "Vorwahl" zu. 2. Die einfache Fensterwahl macht bei "Stretch" selten Sinn, daher ist bei mir Standard das ich eine KREUZEN-Wahl vorgebe, ein "picken" einzelner Objekte funktioniert aber dennoch. (ist bei dir ja laut Beispiel anscheinend nötig/gewollt?) Die Objektwahlmethode kann man ja aber weiterhin "wie normal" beeinflussen, sollte also mal eine Fensterwahl nötig sein dann einfach eingeben "F"enster / "_W"indow Hier mal meine Interpretation: ^C^C_.SELECT;_c;\_.STRETCH;_P;;\\ <hier dann wenn nötig _refdate usw. ergänzen, fertig>
& Warum mußt du überhaupt die Änderung im Feldwert immer/sofort sehen, vertraust du der Technik nicht oder was steckt dahinter ? Falls es also sein muß würde ich entweder UPDATEFIELD ALLE nutzen oder bei "_regenall" vorher FIELDEVAL korrekt setzen. (PS: Warum nutzt du denn noch revdate jetzt wo LT 100%ig mit Feldern umgehen kann ?) ------------------ die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ingo Struck Mitglied Holztechniker
Beiträge: 459 Registriert: 08.01.2010 Intel Core i7-3770 4 GB RAM AMD FirePro V3900 (FireGL V) Windows 7 Pro SP1 AutoCAD 2009 - deutsch MS-Office Standard 2010
|
erstellt am: 18. Jan. 2010 09:16 <-- editieren / zitieren --> Unities abgeben:
Hir nun erstmal das korrigierte Makro hinter dem Befehl "strecken: $M=$(if,$(eq,$(substr,$(getvar,cmdnames),1,4),GRIP),_stretch;\\\\\_revdate;_regenall;,^C^C_stretch;\\\\\_revdate;_regenall ; beim ersten Versuch sind leider die letzten beiden Zeichen nicht durchgekommen. Das Makro funktioniert jedoch auf die beschriebene Weise wunderbar, auch ohne dem Semikolon hinter dem dritten Backslash. Das Problem ist nur, das Felder bei mehr als drei Benutzereingaben für die Objektwahl nicht mehr automatisch aktualisiert werden. Bei der Art und Weise der Objetwahl für den Befehl "Strecken" wäre ich jedoch gern flexibel, da ich das Autocad nicht nur für mich selbst einrichte, sondern auch noch für einige Kollegen, die alle eigene Angewohnheiten im Umgang mit Befehlen haben. Als Beispiel befindet sich im Anhang eine "dwg". Darin habe ich ein Rechteck bestehend aus vier einzelnen Linien mit einem Schriftfeld in der rechten unteren Ecke gezeichnet. 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: 18. Jan. 2010 09:19 <-- editieren / zitieren --> Unities abgeben: Nur für Ingo Struck
Entschuldige bitte, aber ich habe mir mehr Mühe mit meiner Antwort gegeben wie du dir damit diese zu lesen und zu testen - und das ist wirklich nicht zu viel verlangt von einem Helfer. Falls noch ein anderes Feedback kommt helfe ich gerne weiter, SO mußt du aber auf andere warten . PS: Dein Makro funktioniert nur ab und an zufällig, bzw. immer nur mit 2 Benutzereingaben für die Objektwahl(+ 1x Enter) ------------------ die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ingo Struck Mitglied Holztechniker
Beiträge: 459 Registriert: 08.01.2010 Intel Core i7-3770 4 GB RAM AMD FirePro V3900 (FireGL V) Windows 7 Pro SP1 AutoCAD 2009 - deutsch MS-Office Standard 2010
|
erstellt am: 18. Jan. 2010 10:09 <-- editieren / zitieren --> Unities abgeben:
Leider habe ich zwischendurch auf "Antwort speichern" geklickt. Natürlich habe ich den Vorschlag ausprobiert, jedoch noch nicht vollständig verstanden. Dazu am Ende mehr. Hier nun die vollständige Antwort: Hier nun erstmal das korrigierte Makro hinter dem Befehl "strecken:
$M=$(if,$(eq,$(substr,$(getvar,cmdnames),1,4),GRIP),_stretch;\\\\\_revdate;_regenall;,^C^C_stretch;\\\\\_revdate;_regenall ; beim ersten Versuch sind leider die letzten beiden Zeichen nicht durchgekommen. Das Makro funktioniert jedoch auf die beschriebene Weise wunderbar, auch ohne dem Semikolon hinter dem dritten Backslash. Das Problem ist nur, das Felder bei mehr als drei Benutzereingaben für die Objektwahl nicht mehr automatisch aktualisiert werden. Bei der Art und Weise der Objetwahl für den Befehl "Strecken" wäre ich jedoch gern flexibel, da ich das Autocad nicht nur für mich selbst einrichte, sondern auch noch für einige Kollegen, die alle eigene Angewohnheiten im Umgang mit Befehlen haben. Als Beispiel befindet sich im Anhang eine "dwg". Darin habe ich ein Rechteck, bestehend aus vier einzelnen Linien mit einem Schriftfeld in der rechten unteren Ecke gezeichnet. Es handelt sich hierbei um eine Glasscheibe, wobei das Schriftfeld automatisch das Glasmaß zurückgeben soll. Dieses Schriftfeld soll sich immer an der gleichen Position in der rechten unteren Ecke befinden. Beim Strecken kann ich nun mit der "Kreuzen-Auswahl" die Scheibe inklusive Schriftfeld Strecken, sodass die Scheibe gestreckt und das Schriftfeld verschoben und aktualisiert wird. In unseren Produktionszeichnungen muss ich jedoch per "Shift-Taste" auch wieder Objekte aus der Auswahl herausnehmen, sodass die automatische Aktualisierung nicht funktioniert. Wenn dann anschließend nicht manuell regeneriert wird (fieldeval=31), wird also das Glas mit falschen Maßen bestellt. Den Befehl "revdate" habe ich auf Bitte der Kollegen in eine "Unternehmens-dwt" passend eingearbeitet, die bei allen automatisch beim Rechnerstart per Batch-Datei ins jeweilige Autocad-Verzeichnis geladen wird. Das Makro "^C^C_.SELECT;_c;\_.STRETCH;_P;;\\;;_regenall;" habe ich getestet, leider funtioniert die automatische Regenerierung noch immer nicht. Auch ist mir die Syntax noch nicht ganz klar. Was bedeutet zum Beispiel der Punkt zwischen Tiefstrich und Befehl? Wenn ich den Befehl "_select" (oder: "_.select")auf der Tastatur eingebe und mit rechter Maustaste bestätige, ist die Objektwahl verfallen und kann nicht für einen nachfolgenden Befehl verwendet werden. Entschuldigung für den kleinen Fauxpas und Dank im Vorraus, Ingo
P.S.: Leider klappt das Hochladen der Beispiel-dwg nicht. Es kommt die Fehlermeldung "Filetype not allowed", ah, o.k.! Vielleicht klappt es auch so.
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: 18. Jan. 2010 10:30 <-- editieren / zitieren --> Unities abgeben: Nur für Ingo Struck
*Das Makro funktioniert jedoch auf die beschriebene Weise wunderbar, auch ohne dem Semikolon hinter dem dritten Backslash.*Dann war dein Textfenster-LOG falsch, aus genau dem Grund weil das Makro eben nicht "so toll" ist, denn du hast im "log" ein Fenster aufgezeogen zur Objektwahl und dann noch ein Objekt geklickt, jetzt hast du praktisch händisch ein "enter" eingegeben und hattest nur noch eine Benutzereingabe übrig =Basispunkt und dann ? FEHLER \\;\\ = ein Fenster (oder 2x picken), dann ENTER(=";") und dann Basispunkt, dann Zielpunkt der Streckungsaktion SO wäre aber immer nur EINE FENSTERWAHL möglich damit es sauber durch läuft. *Bei der Art und Weise der Objetwahl für den Befehl "Strecken" wäre ich jedoch gern flexibel, * Genau an der Stelle scheint es so das du mein Makro nicht getestet hast.
*. Als Beispiel befindet sich im Anhang eine "dwg". * "DWG" ist nicht erlaubt, aber ein Umbenennen reicht schon aus: meinedatei.dwg.TXT oder zippen a´la testdwg.ZIP kleiner 1MB und ohne Umlaute.. dann klappts. *..wird also das Glas mit falschen Maßen bestellt.* Das dürfte so nicht stimmen - eigentlich ist die "falsche" anzeige nur in dem Moment am Monitor - und ich denke du machst keinen Screenshot davon beim bestellen oder ? Teste es doch mal - drucke mal ne PDF zum Beispiel oder speicher die Datei, schließen / öffnen => Schriftfeld prüfen.. *Das Makro "^C^C_.SELECT;_c;\_.STRETCH;_P;;\\;;_regenall;" habe ich getestet, leider funtioniert die automatische *Regenerierung noch immer nicht. Auch ist mir die Syntax noch nicht ganz klar. Was bedeutet zum Beispiel der Punkt zwischen *Tiefstrich und Befehl? Wenn ich den Befehl "_select" (oder: "_.select")auf der Tastatur eingebe und mit rechter Maustaste bestätige, *ist die Objektwahl verfallen und kann nicht für einen nachfolgenden Befehl verwendet werden.
Das kann ich nicht glauben, noch nicht - logge doch mal so einen Fall mit und beschreiben evtl. noch im Klartext was du in dem Moment gemacht hast ! (also geLOGgt = den Teil wie oben auch schon aus dem Textfenster(F2) kopieren und hier posten. Der PUNKT bewirkt das wirklich der original AutoCAD-Befehl verwendet wird (und nicht ein modifizierter Befehl aus einer Applikation - falls vorhanden). _SELECT Die Objektwahl ist nicht verfallen, sie ist einfach nur abgeschlossen. Das was du vermisst ist das MARKIEREN der Obejkte aus der Objektwahl, dies ist jedoch unnötig - acad ist dennoch bekannt was die "die letzte Objektwahl" ist und man kann "wie immer" in Acad mit VORHER (oder V oder _P) darauf zurückgreifen. Der AutoCad FILTER funktinoiert genauso - er erzeugt nur eine Objektwahl, jedoch markiert Filter die Objekte nicht.. EDIT: Poste doch mal dein Makro in dem du "meine Version" verwirklicht hast dazu ! ------------------ die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk) 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: 18. Jan. 2010 12:08 <-- editieren / zitieren --> Unities abgeben: Nur für Ingo Struck
|
Ingo Struck Mitglied Holztechniker
Beiträge: 459 Registriert: 08.01.2010 Intel Core i7-3770 4 GB RAM AMD FirePro V3900 (FireGL V) Windows 7 Pro SP1 AutoCAD 2009 - deutsch MS-Office Standard 2010
|
erstellt am: 18. Jan. 2010 16:21 <-- editieren / zitieren --> Unities abgeben:
Hallo cadffm, erstmal vielen Dank für die vielen Hinweise! Eigentlich würde ich mich in AutoCAD nicht als völlig planlos bezeichnen, aber es ist erstaunlich, welch grunglegende Lücken immer noch auftauchen. In diesem Fall bin ich noch nie auf die Idee gekommen, die Auswahl der Objekte mit der Tastatur vorzunehmen. Bin halt Selbstlerner. Für eine detaillierte Antwort brauche ich daher noch etwas Zeit! bis auf Weiteres, Ingo 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: 18. Jan. 2010 16:35 <-- editieren / zitieren --> Unities abgeben: Nur für Ingo Struck
Allgemeine Infos welche mehr oder weniger mit dem Thema zutun haben, AutoCAD-Hilfe Themen:
- alles zum Suchbegriff: objektauswahl
und
- alles was unter dem Befehl WAHL (_select) erklärt ist.
(die Optionen entsprechen nämlich genau der "normal" verfügbaren AutoCAD-Objektwahl)
Dazu kommen alle Möglichkeiten der Objektfänge und immer wichtig die Systemvariable OSNAPCOORD Bin ja mal auf dein (neues) Feedback zu meiner 1.Antwort gespannt (kannst ja mal auf alles eingehen was ich zum besten gegeben habe bezüglich der Vor-Wahl von Objekten zB. ) ------------------ die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ingo Struck Mitglied Holztechniker
Beiträge: 459 Registriert: 08.01.2010 Intel Core i7-3770 4 GB RAM AMD FirePro V3900 (FireGL V) Windows 7 Pro SP1 AutoCAD 2009 - deutsch MS-Office Standard 2010
|
erstellt am: 19. Jan. 2010 10:09 <-- editieren / zitieren --> Unities abgeben:
Hallo cadffm! Also der Reihe nach... Den Befehl "wahl" bzw. die Objektauswahl hatte ich früher schon in der Hilfe gefunden. Mit dem Befehl "wahl" konnte ich jedoch nichts anfangen, da mir zwei notwendige Zusammenhänge noch nicht bewusst waren. Erstens, das eine Objektauswahl nicht auch gleichzeitig markiert sein muss, was ich jedoch bis dahin vorrausgesetzt hatte. Zweitens das Konzept, eine mit "wahl" getroffene Objektauswahl für nachfolgende Befehle mit der Option ";_P;" zu nutzen; das ist wohl wieder so eine grundlegende Lücke. nun zu Deinem vorgeschlagenen Makro: (^C^C_.SELECT;_c;\_.STRETCH;_P;;\\ <hier dann wenn nötig _refdate usw. ergänzen, fertig> ) Dieses funktioniert mit den nachgeschobenen Befehlen "regenall" und/oder "revdate" prima! Zunächst hatte ich es jedoch nicht verstanden und daher mit einem oder mehreren Semikola abgeschlossen, was dann die Ausführung weiterer Befehle verhinderte. Umgesetzt habe ich es jetzt in folgender Variante: ("^C^C_.select;\_.stretch;_p;;\\_regenall;_revdate . Die Idee mit Vorwahl der "Kreuzen"-Methode ist gut, würde für meine Kollegen jedoch ein ungewohntes Verhalten des "strecken"-Befehls bedeuten. Desalb habe ich das "_c;" herausgenommen und komme damit gleich zum nächsten Punkt. In Deiner ersten Antwort schreibst Du zu Frage der Objektwahl vor oder nach dem Befehl "strecken":
"1. bei VORHER markierten Objekten die Stretchfunktion aufrufen macht IMHO keinen Sinn da die (weitere) Objektwahl nicht möglich wäre und praktisch nur ein "Verschieben" erfolgen würde, zudem würde dein Makro nicht funktionieren. Aus diesem Grund lasse ich jetzt mal keine "Vorwahl" zu. 2. Die einfache Fensterwahl macht bei "Stretch" selten Sinn, daher ist bei mir Standard das ich eine KREUZEN-Wahl vorgebe, ein "picken" einzelner Objekte funktioniert aber dennoch. (ist bei dir ja laut Beispiel anscheinend nötig/gewollt?) Die Objektwahlmethode kann man ja aber weiterhin "wie normal" beeinflussen, sollte also mal eine Fensterwahl nötig sein dann einfach eingeben "F"enster / "_W"indow" Dazu fällt mir dreierlei ein:
1) Bisher hatte ich nie ein Problem bei der Objektauswahl vor dem Klick auf den Befehl "strecken". Oft habe ich "Kreuzen-Fenster", normale Fenster, Einzelanwahl durch einfachen Klick oder auch das Entfernen aus der Auswahl mit der Umschalttaste wild kombiniert und anschließend den Befehl "strecken" erfolgreich ausgeführt. 2) Autodesk scheint die Vorauswahl auch als sinnvoll zu betrachten. Das original Makro hinter der der Taste "strecken" lautet wie folgt: $M=$(if,$(eq,$(substr,$(getvar,cmdnames),1,4),GRIP),_stretch,^C^C_stretch); 3) Du selbst arbeitest im Grunde genau so! Wenn Du zeichnest, drückst Du zwar zunächst die Taste "strecken" und wählst dann die Objekte, Dein Makro führt dann aber erst die Objektwahl und erst anschließend den Befehl "strecken" durch . Vielleicht habe ich Dich aber auch nicht richtig verstanden. Außerdem scheint die Sysvar "pickfirst" eine Rolle zu spielen. Diese steht bei mir standardmäßig auf "1". Nun der Vergleich folgender Varianten:
1) _stretch;\\\\\_regenall; und 2) _stretch;\\;\\_regenall; Beide Varianten funktionieren bei mir fast identisch bei extakt zwei Benutzereingaben für die Festlegung des "Kreuzen"-Fensters. Bei Version eins wird die Objektwahl wie gewohnt (?!?) mit Rechtsklick abgeschlossen, Version zwei erspart dagegen genau diesen Rechtsklick. Im Anhang befindet sich die Zeichnung, mit der ich all diese Möglichkeiten getestet habe. Sie besteht aus einem Rechteck aus vier einzelnen Linien sowie einem Schriftfeld, welches Breite und Höhe des Rechtecks zurückgibt. Hierzu habe ich Schriftfelder vom Typ "Formel" verwendet, in welche ich dann wiederum Schriftfelder vom Typ "Objekt" eingefügt habe. Das erste Schriftfeld bezieht sich auf die Länge der unteren Waagerechten, das zweite auf die linke Aufrechte.
mit freundlichem Gruß; Ingo 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: 19. Jan. 2010 10:30 <-- editieren / zitieren --> Unities abgeben: Nur für Ingo Struck
Zitat:
1) Bisher hatte ich nie ein Problem bei der Objektauswahl vor dem Klick auf den Befehl "strecken". Oft habe ich "Kreuzen-Fenster", normale Fenster, Einzelanwahl durch einfachen Klick oder auch das Entfernen aus der Auswahl mit der Umschalttaste wild kombiniert und anschließend den Befehl "strecken" erfolgreich ausgeführt.
..STIMMT ! auch wieder, ich selbst nutze diese Möglichkeit im Makro ja auch, nur das ich explizit über WAHL gehe - wie du ja auch in deinem "Punkt 3" angemerkt hast. (also nutze die Diesel-Variante wieder ) Zitat:
2) Autodesk scheint die Vorauswahl auch als sinnvoll zu betrachten. Das original Makro hinter der der Taste "strecken" lautet wie folgt...
Das will ja nichts heißen :) - aber es ist natürlich mal ein Aufhänger darüber nachzudenken, stimmt. Zitat: Außerdem scheint die Sysvar "pickfirst" eine Rolle zu spielen
Natürlich, ob per Befehlszeile, Maus, Makro Pickfirst ist ausschlaggebend in dem Fall das Objekte vor dem Befehl MARKIERT sind ! (hat nichts mit "Objektauswahl vorher und im Befehl mit _P darauf zugreifen zutun"). Zitat: 1) _stretch;\\\\\_regenall; und 2) _stretch;\\;\\_regenall; Beide Varianten funktionieren bei mir fast identisch bei extakt zwei Benutzereingaben für die Festlegung des "Kreuzen"-Fensters. Bei Version eins wird die Objektwahl wie gewohnt (?!?) mit Rechtsklick abgeschlossen, Version zwei erspart dagegen genau diesen Rechtsklick.
Richtig, nur kannst du ja eben bei Version1 auch irgendwas anderes wie "Enter" als drittes eingeben und schon läuft das Makro in einen Fehler, in der Version 2 ist dies eben nicht möglich, zudem erspart man sich noch einen unnötigen Klick Zitat: Im Anhang befindet sich die Zeichnung, mit der ich all diese Möglichkeiten getestet habe. Sie besteht aus einem Rechteck aus vier einzelnen Linien sowie einem Schriftfeld, welches Breite und Höhe des Rechtecks zurückgibt. Hierzu habe ich Schriftfelder vom Typ "Formel" verwendet, in welche ich dann wiederum Schriftfelder vom Typ "Objekt" eingefügt habe. Das erste Schriftfeld bezieht sich auf die Länge der unteren Waagerechten, das zweite auf die linke Aufrechte.
Warum hast du nicht einfach den Mtext erstellt [Schriftfeld,Objekt,Länge] x [Schriftfeld,Objekt,Länge] sondern Formel-Felder und darin dann irgendwi die Länge abgefragt.. ? bin irgendwie verwirrt ) Gruß Sebastian ------------------ die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ingo Struck Mitglied Holztechniker
Beiträge: 459 Registriert: 08.01.2010 Intel Core i7-3770 4 GB RAM AMD FirePro V3900 (FireGL V) Windows 7 Pro SP1 AutoCAD 2009 - deutsch MS-Office Standard 2010
|
erstellt am: 20. Jan. 2010 08:02 <-- editieren / zitieren --> Unities abgeben:
Hallo Sebastian, Beim Vergleich folgender Varianten: 1) _stretch;\\\\\_regenall; und 2) _stretch;\\;\\_regenall; hast Du mit der Anfälligkeit für Fehler Recht. An diesen Aspekt habe ich hierbei nicht gedacht. Deine Erklärung der Unterscheidung zwischen der MARKIERUNG von Objekten und der AUSWAHL von Objekten im Zusammenhang mit der Sysvar "pickfirst" leuchtet mir ein. AutoCAD selbst erläutert "pickfirst“ in seiner Hilfe jedoch wie folgt: "Systemvariablen > P-Systemvariablen > PICKFIRST > PICKFIRST Konzept Verfahren Kurzübersicht Typ: Ganzzahl Gespeichert in: Registrierung Ausgangswert 1
Steuert, ob Objekte vor oder nach der Eingabe eines Befehls ausgewählt werden sollen. 0 Deaktiviert PICKFIRST. Sie wählen nach der Eingabe eines Befehls Objekte aus. 1 Aktiviert PICKFIRST. Sie wählen vor der Eingabe eines Befehls Objekte aus." Vielleicht ist nur die Übersetzung ungenau? Nun zur Bestimmung des Glasmaßes mit Schriftfeldern. Im Anhang befindet sich als Beispiel eine zweite Zeichnung. Im Bezug auf die erste Zeichnung hast Du natürlich Recht. Dort funktioniert Deine Variante "[Schriftfeld,Objekt,Länge] x [Schriftfeld,Objekt,Länge]". In unseren Produktionszeichnungen taucht das Glas (im Beispiel rot gestrichelt) als solches jedoch gar nicht auf. Stattdessen beziehe ich mich auf die Innenlänge der Glasleisten, die im Beispiel das Glas mit einem Einstand von 20mm rundum einklemmen. Mit einem ZWEIFACHEN Doppelklick auf das jeweilige Schriftfeld kommst Du in die Dialogbox "Schriftfeld". Unter den Schriftfeldnamen siehst Du "Formel" markiert. Diese taucht rechts mittig im Eingabebereich "Formel" wieder auf und lautet: [Innenlänge der Glasleisten + (2 * Glaseinstand)]. Mit einem Doppelklick auf die grau hinterlegte Zahl findest Du dann genau Dein "[Schriftfeld,Objekt,Länge]".
Im Augenblick bin ich dabei, Dein Makro in das AutoCAD-Standardmakro hineinzubasteln und habe eben die Einstellung "menuecho = 8" gefunden. AutoCAD ist echt eine riesige Spielwiese!
Gruß, Ingo
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: 20. Jan. 2010 09:13 <-- editieren / zitieren --> Unities abgeben: Nur für Ingo Struck
jaja, "auswählen von Objekten" bedeutet halt nicht immer gleich "einen Auswahlsatz bilden" (liegt kein Übersetzungfehler vor in diesem Fall) Das mit dem Beispiel-Schriftfeld war wohl dumm gelaufen , aus diesem Grund sollte man eben immer mit "richtigen" Daten hantieren - so hätte ich mir die Zeit sparen können (aber wie es zu dem "1. Schriftfeld" kam was du gepostet hast ist mir immernoch nicht klar) Mit deiner neuen Information macht der Schriftfeld-Aufbau natürlich Sinn. (statt Menuecho=8 kannst du auch mal "macrotrace" testen) ------------------ CAD.de System-Angaben - CAD on demand - User:FAQ(Acad) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ingo Struck Mitglied Holztechniker
Beiträge: 459 Registriert: 08.01.2010 Intel Core i7-3770 4 GB RAM AMD FirePro V3900 (FireGL V) Windows 7 Pro SP1 AutoCAD 2009 - deutsch MS-Office Standard 2010
|
erstellt am: 20. Jan. 2010 16:23 <-- editieren / zitieren --> Unities abgeben:
Hallo Sebastian, mit den Schriftfeldern an sich hatte ich nie ein Problem, die funktionieren zuverlässig. Das Ziel war und ist die zuverlässige und sofortige Ausgabe der Glasmaße auf dem Bildschirm (mit Hilfe des Befehls "regenall"). Dieses Problem ist ja auch für den Fall, das zuerst die Taste "strecken" geklickt wird dank Deiner Hilfe gelöst, egal wie im Anschluss die Objekte zusammengeklaubt werden. Die erste Zeichnung war nur zum Testen der Varianten gedacht, dafür hat das einfache (jedoch komplex aufgebaute) Schriftfeld genügt. Folgendes Szenario: Der Kunde will bei uns bestellen, wir haben aber noch keine schriftliche Freigabe. Unser Glaslieferant hat lange Lieferzeiten. Bevor nun der Auftrag für die Produktion aufbereitet wird (nach der Freigabe), wird manchmal vorab das Glas bestellt, um Verzögerungen zu vermeiden. Zeit ist einfach ein zentrales Thema. Dazu nehmen sich manche Kollegen schlicht unsere Vorlagenzeichnung, strecken das Fenster auf das gewünschte Maß und lesen die Glasmaße direkt vom Bildschirm ab... . Nun könnte man durchaus von den Kollegen verlangen, das ... . Auf der anderen Seite kann man aber auch vom Produkt (dem Zeichenprogramm) verlangen, das es sich auf die eigenen Bedürfnisse anpassen lässt. An dieser Stelle sehe ich die ganze Sache am liebsten sportlich, das macht einfach am meisten Spaß! Die Systemvariable "macrotrace" ist interessant. Sie taucht allerdings bei mir weder in der Befehlsreferenz oder unter den Systemvariablen, noch als Suchbegriff in der Hilfe auf. Auch mit anderen Befehlen oder Sysvars ist mir das in der Vergangenheit schon aufgefallen. Es scheint offenbar eine ganze Reihe solcher undokumentierten Befehle und Systemvariablen zu geben. Ein weites Feld ... Gruß, Ingo 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: 20. Jan. 2010 16:54 <-- editieren / zitieren --> Unities abgeben: Nur für Ingo Struck
Es gibt ein paar, ja - die wenigsten "muss" man aber kennen - siehe macrotrace, da funktioniert ebenso gut auch Menuecho. Im Regelfall fehlen dem User nur "Standard" Befehle, Optionen und Systemvariablen - also dokumentierte. Wenn du macrotrace als Suchbegriff nutzt im www kommst du auch an andere undokumentierte Dinge. Zitat: "Dazu nehmen sich manche Kollegen schlicht unsere Vorlagenzeichnung, strecken das Fenster auf das gewünschte Maß und lesen die Glasmaße direkt vom Bildschirm ab... . Nun könnte man durchaus von den Kollegen verlangen, das ... . Auf der anderen Seite kann man aber auch vom Produkt (dem Zeichenprogramm) verlangen, das es sich auf die eigenen Bedürfnisse anpassen lässt. An dieser Stelle sehe ich die ganze Sache am liebsten sportlich, das macht einfach am meisten Spaß!"
Ahh - alles klar, dann ist das so sicherer, jedoch immer noch nicht ganz sicher Ruft man Strecken, .Strecken _stretch oder _.stretch direkt auf... Das bringt mich auch gleich dazu darauf hinzuweisen das Makro ÜBERALL zu ändern wo der User drann kommt ------------------ CAD.de System-Angaben - CAD on demand - User:FAQ(Acad) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ingo Struck Mitglied Holztechniker
Beiträge: 459 Registriert: 08.01.2010 Intel Core i7-3770 4 GB RAM AMD FirePro V3900 (FireGL V) Windows 7 Pro SP1 AutoCAD 2009 - deutsch MS-Office Standard 2010
|
erstellt am: 21. Jan. 2010 11:00 <-- editieren / zitieren --> Unities abgeben:
Hallo Sebastian, Natürlich hast Du Recht. Wenn jedoch jemand AutoCAD mit der Tastatatur malträtiert, setze ich einfach mal vorraus dass sein Interesse an dem Programm über das absolut notwendige Mindestmaß hinausgeht. Diesen Kollegen hätte ich längst gefunden. Das Makro wird an allen Arbeitplätzen in der jeweiligen CUI unter der Taste "strecken" eingerichtet. Was meinst Du sonst mit "überall"? Gruß, Ingo 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. Jan. 2010 11:08 <-- editieren / zitieren --> Unities abgeben: Nur für Ingo Struck
|
Ingo Struck Mitglied Holztechniker
Beiträge: 459 Registriert: 08.01.2010 Intel Core i7-3770 4 GB RAM AMD FirePro V3900 (FireGL V) Windows 7 Pro SP1 AutoCAD 2009 - deutsch MS-Office Standard 2010
|
erstellt am: 22. Jan. 2010 13:56 <-- editieren / zitieren --> Unities abgeben:
@Sebastian: Ach so, O.K.! Noch etwas: beim Klick auf "Unities zuweisen" in Deinen Beiträgen erscheint bei mir nur eine Hinweisseite, was Unities sein sollen. Irgendetwas mache ich da wohl falsch. So oder so, danke für die Tipps! Gruß, Ingo 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: 22. Jan. 2010 14:12 <-- editieren / zitieren --> Unities abgeben: Nur für Ingo Struck
|
Ingo Struck Mitglied Holztechniker
Beiträge: 459 Registriert: 08.01.2010 Intel Core i7-3770 4 GB RAM AMD FirePro V3900 (FireGL V) Windows 7 Pro SP1 AutoCAD 2009 - deutsch MS-Office Standard 2010
|
erstellt am: 22. Jan. 2010 14:32 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|