| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Drehen mit Bezug / Xlines automatisieren (4712 mal gelesen)
|
Silbergelatine Mitglied
Beiträge: 16 Registriert: 01.07.2015 AutoCad 2012 Englisch
|
erstellt am: 01. Jul. 2015 12:36 <-- editieren / zitieren --> Unities abgeben:
Hallo liebe Leute! ich hätte eine Frage, gibt es ein Makro oder eine Einstellung (im Autocad 2012) um das Drehen mit Bezug zu automatisieren? Also sprich, dass ich nicht jedes Mal "r" (für reference, im englischen) oder eben "b" (im deutschen autocad) drücken muss? Weiters würde mich interessieren ob es für die Xlines oder construction lines auch eine Vorabeinstellung gibt, dass ich nicht jedes Mal "a" für angle drücken muss? ich hatte dies soweit ich weiß in einer Vorgängerversion von 2012. Danke für eure Hilfe! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9732 Registriert: 01.12.2003 AutoCAD 2.5 - 2022, Civil 3D, MAP 3D, ACADM Inventor AutoCAD 2022, AIP 4-2022 Win 10
|
erstellt am: 01. Jul. 2015 13:09 <-- editieren / zitieren --> Unities abgeben: Nur für Silbergelatine
Werkzeugpalette (STRG + 3) Öffnen, XLINE per Drag & Drop in eine neue oder bestehende Palette mit Drag & Drop übertragen. Rechtsklick Eigenschaften Flyout verwenden -> Nein umschalten dann die gewünschte Option dem Befehlsstring hinzufügen. ------------------ Mit freundlichem Gruß Udo Hübner www.CAD-Huebner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Silbergelatine Mitglied
Beiträge: 16 Registriert: 01.07.2015 AutoCad 2012 Englisch
|
erstellt am: 01. Jul. 2015 13:44 <-- editieren / zitieren --> Unities abgeben:
|
nena23 Mitglied Montag bis Freitag, ganzen Tag lang
Beiträge: 461 Registriert: 25.01.2008 win 7 pro 64bit, immer aktuell Acad Architecture 2013/2017, fast immer aktuell
|
erstellt am: 02. Jul. 2015 16:59 <-- editieren / zitieren --> Unities abgeben: Nur für Silbergelatine
Wg. Drehen: geht mir genauso, benutze schon immer folgende kleine Lisp. Anders drehe ich nie. Absolut nie. In leere Textdatei kopieren und als Drehen. lsp o.ä. im Supportpfad abspeichern und aufrufen (_APPLOAD > Startgruppe > rein damit): ;;;; Drehen mit Bezug (defun c:drb () (get_sysvar) (setvar "cmdecho" 0) (while (= obj NIL) (princ "\nZu drehende Objekte wählen") (setq obj (ssget)) ) (setq pt1 (getpoint "\nBasispunkt wählen: ")) ;(setq pt2 (getpoint "\nBezugspunkt von Objekte wählen: ")) ;(setq pt3 (getpoint "\nneuer Bezugspunkt wählen: ")) ;(command "_rotate" obj "" pt1 "b" pt1 pt2 pt3) (command "_rotate" obj "" pt1 "b" pt1) (setq obj nil) (reset_sysvar) ) Keine Ahnung ob das "Sahne-Lisp" ist oder nicht. Ist uralt und funktioniert. Ich habe dem neuen Befehl "drb" dann gleich noch unter ABI den Kurzbefehl STRG+D verpasst. So geht drehen! Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nena23 Mitglied Montag bis Freitag, ganzen Tag lang
Beiträge: 461 Registriert: 25.01.2008 win 7 pro 64bit, immer aktuell Acad Architecture 2013/2017, fast immer aktuell
|
erstellt am: 02. Jul. 2015 17:09 <-- editieren / zitieren --> Unities abgeben: Nur für Silbergelatine
|
Silbergelatine Mitglied
Beiträge: 16 Registriert: 01.07.2015 AutoCad 2012 Englisch
|
erstellt am: 02. Jul. 2015 19:03 <-- editieren / zitieren --> Unities abgeben:
Hej! Danke für deine Hilfe!! Leider funktioniert das bei mir nicht so richtig. Ich habe folgende lsp datei erstellt: (defun c:drb () (get_sysvar) (setvar "cmdecho" 0) (while (= obj NIL) (princ "\nZu drehende Objekte wählen") (setq obj (ssget)) ) (setq pt1 (getpoint "\nBasispunkt wählen: ")) (setq pt2 (getpoint "\nBezugspunkt von Objekte wählen: ")) (setq pt3 (getpoint "\nneuer Bezugspunkt wählen: ")) (command "_rotate" obj "" pt1 "b" pt1 pt2 pt3) (command "_rotate" obj "" pt1 "b" pt1) (setq obj nil) (reset_sysvar) ) dann wie du gesagt hast in den support ordner verschoben, anschließend appload, und die lsp ins startmenü. aber wenn ich drb in der befehlszeile eingebe steht unten: error: no function definition: GET_SYSVAR ???? kannst du mir sagen was ich falsch gemacht hab?? liebe grüße! k. [Diese Nachricht wurde von Silbergelatine am 02. Jul. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
spider_dd Mitglied
Beiträge: 1111 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 03. Jul. 2015 08:24 <-- editieren / zitieren --> Unities abgeben: Nur für Silbergelatine
Hallo Silbergelatine, naja, ich würde sagen bei dem Lips fehlen noch 2/3. (get_sysvar) und am Ende (reset_sysvar) sind keine definierten Lisp-Befehle sondern vermutlich selbst gebaute Funktionen. Vielleicht kommt Dirk ja nochmal vorbei und liefert diese noch nach. Solange kannst Du die mal auskommentieren, einfach ein ; davorsetzen. Und durch das Löschen der ; in den drei Zeilen hast Du jetzt 2 x den rotate - Befehl drin. Ob das so gewollt ist? zum Beispiel so könnte es gehen. Code:
(defun c:Drb () ; (get_sysvar) (setq scmd (getvar "cmdecho")) (setvar "cmdecho" 0) (while (= obj NIL) (princ "\nZu drehende Objekte wählen") (setq obj (ssget)) ) (setq pt1 (getpoint "\nBasispunkt wählen: ")) ; (setq pt2 (getpoint "\nBezugspunkt von Objekte wählen: ")) ; (setq pt3 (getpoint "\nneuer Bezugspunkt wählen: ")) ; (command "_rotate" obj "" pt1 "b" pt1 pt2 pt3) (command "_rotate" obj "" pt1 "b" pt1) (setq obj nil) ; (reset_sysvar) (setvar "cmdecho" scmd) )
Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 Kinder, kauft Kämme! Es kommen lausige Zeiten.
|
erstellt am: 03. Jul. 2015 09:08 <-- editieren / zitieren --> Unities abgeben: Nur für Silbergelatine
Moin, Herzlich willkommen bei cad.de Reden wir eigentlich über das ganz normale Drehen? Also Befehl _rotate und dann Option Bezug?
Code: Befehl: _rotateAktueller positiver Winkel in BKS: ANGDIR=gegen den Uhrzeigersinn ANGBASE=100.0000g Objekte wählen: 1 gefunden Objekte wählen: Basispunkt angeben: Drehwinkel angeben oder [Kopie/Bezug] <195.9956g>: _r Bezugswinkel angeben <286.2971g>: Zweiten Punkt angeben: Neuen Winkel angeben oder [Punkte] <315.6506g>:
Dann wäre doch eigentlich ein ganz billiges Buttonmakro schon ausreichend, oder nicht? Wenn ich den TO richtig einschätze, hat er sich noch nicht sehr lange mit den Möglichkeiten dieser Buttonmakros auseinander gesetzt. Würde also mit sowas anfangen: Code: ^C^C_rotate;\;\_r;\\
oder auch Code: ^C^C_rotate;\;\_r;@;\
wenn Basispunkt immer auch gleich Ausgangspunkt zur Bezugswinkelbestimmung sein soll. Du erkennst hier bereits einige Steuerzeichen in Buttonmakros: ; = enter \ = Benutzerklick usw. Mehr dazu findest Du in Deiner Programmhilfe und natürlich hier im Forum, wo einige user schon die abenteuerlichsten Dinge mit solchen Makros veranstaltet haben. Bitte mal ordentlich die Forensuche quälen. Sollte ich völlig an der Aufgabenstellung vorbei geschrieben haben, bitte ich das auf das anstehende Wochenende zu schieben. Ein schönes solches und viel Erfolg
------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Silbergelatine Mitglied
Beiträge: 16 Registriert: 01.07.2015 AutoCad 2012 Englisch
|
erstellt am: 03. Jul. 2015 15:15 <-- editieren / zitieren --> Unities abgeben:
Liebe Leute! Vielen Dank für eure Hilfe!! Leider habt ihr mich glaube ich missverstanden. Es geht mir nicht darum, das einfache Drehen als Button oder als Lsp zu kreeiren. Sondern einen Befehl zu haben (egal ob Button oder whatever) wo ich, wenn ich draufklicke, kein R für Reference mehr eintippen muss, sondern er automatisch drehen mit R macht! und ich einfach nur mehr angeben muss in welche Richtung ich es gedreht haben will! Ich habe sowohl die Idee von runkelruebbe als auch von thomas ausprobiert. Beides waren nur die einfachen Drehbefehle.(man beachte ich habe die englische Version, im Deutschen ist es B...für Bezug) Im ArchiCad ist das Drehen automatisch mit Reference. Gibts ja nicht, dass das im Autocad nicht geht!? Is ja voll mühsam sonst so zu arbeiten. Wär toll wenn mir jemand weiterhelfen kann! DANKE!!! Liebe Grüße Katja
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kramer24 Ehrenmitglied V.I.P. h.c. Architekt
Beiträge: 5881 Registriert: 09.11.2001 Acad Architecture 2023 WIN 10
|
erstellt am: 03. Jul. 2015 15:52 <-- editieren / zitieren --> Unities abgeben: Nur für Silbergelatine
|
Silbergelatine Mitglied
Beiträge: 16 Registriert: 01.07.2015 AutoCad 2012 Englisch
|
erstellt am: 03. Jul. 2015 17:29 <-- editieren / zitieren --> Unities abgeben:
Hm, ich weiß nicht genau wie ich es noch erklären soll. Aber mir geht es darum, dass ich will, dass AutoCad immer AUTOMATISCH mit Bezug dreht, sodass ich nicht immer ein b in die Befehlszeile eingeben muss. sprich ich gebe ein zb ro (für rotate oder mein makro) und er weiß schon, dass ich mit Bezug bzw. im Englischen mit Reference drehen will und gebe nur mehr die Richtung an... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 Kinder, kauft Kämme! Es kommen lausige Zeiten.
|
erstellt am: 04. Jul. 2015 07:24 <-- editieren / zitieren --> Unities abgeben: Nur für Silbergelatine
Moin, ich erlaube mir mal, zwei Sätze Deines letzten Beitrags umzudrehen: >>Sondern einen Befehl zu haben (egal ob Button oder whatever) wo ich, wenn ich draufklicke, kein R für Reference mehr eintippen muss, sondern er automatisch drehen mit R macht! Genau das tut (z.B.) mein Buttonmakro. Klick den button, wähl das Objekt und die Eingabe von _r oder b wird von Dir nicht mehr verlangt. >> Es geht mir nicht darum, das einfache Drehen als Button oder als Lsp zu kreeiren. Du beschreibst aber nichts anderes. Ich setze mich daher neben Lothar. Also bitte noch einmal tief durchatmen und danach bitte DEINEN (gewünschten) Befehlsablauf posten. MEINEN siehst Du oben. PS: Dass Du weißt, wie man lisp und buttonmakro richtig anwendet dürfen wir also an dieser Stelle als bekannt voraussetzen? Nicht krumm nehmen, Du bist ein neuer user für uns, wir müssen uns erst noch kennen lernen ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Silbergelatine Mitglied
Beiträge: 16 Registriert: 01.07.2015 AutoCad 2012 Englisch
|
erstellt am: 04. Jul. 2015 16:01 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank für eure bzw. deine Hilfe!! Ich habe es nochmal ausprobiert, so wie du es beschrieben hast und ich weiß jetzt wo der Fehler lag. Ich hatte den Makro richtig gesetzt, aber ich arbeite immer so, dass ich nicht zuerst den Befehl drücke sondern zuerst das Objekt markiere und dann den Button bzw. Kurzbefehl in der Befehlszeile, das hat aber bei diesem Makro nicht funktioniert, weil man zuerst den Button drücken muss! Ich hab jetzt auch einen Shortcut gemacht und da funktioniert das genauso. Kann man das irgendwo umstellen, dass dieser Befehl auch funktioniert wenn ich die Objekte schon ausgewählt habe? Ich danke dir für deine Zeit und Muße!! Liebe Grüße aus dem heißen Wien K. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9732 Registriert: 01.12.2003 AutoCAD 2.5 - 2022, Civil 3D, MAP 3D, ACADM Inventor AutoCAD 2022, AIP 4-2022 Win 10
|
erstellt am: 04. Jul. 2015 17:00 <-- editieren / zitieren --> Unities abgeben: Nur für Silbergelatine
Wenn du grundsätzlich die Objekte vor Befehl wählst, dann geht auch folgendes Werkzeugpaletten-Makro zum Drehen mit Bezug: Makros sind nur ungünstig, wenn eine ungekannte Anzahl von Objektwahlanfragen während des Befehls gemacht werden sollen, da man entsprechend viele PAUSE Zeichen \ einbauen muss.
------------------ Mit freundlichem Gruß Udo Hübner www.CAD-Huebner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
spider_dd Mitglied
Beiträge: 1111 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 06. Jul. 2015 08:41 <-- editieren / zitieren --> Unities abgeben: Nur für Silbergelatine
Na dann auch noch mal die Lisp-Variante, runtergekürzt bis auf das Minimum. Auch hier werden angewählte Objekte übernommen. Code:
(defun c:Drb () (setq obj (ssget)) (setq pt1 (getpoint "\nBasispunkt wählen: ")) (command "_rotate" obj "" pt1 "b" pt1) (setq obj nil) )
Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
Beiträge: 6050 Registriert: 16.09.2004 Windows 10 64bit, ACAD Rel. 14 - ACAD 2023
|
erstellt am: 06. Jul. 2015 09:17 <-- editieren / zitieren --> Unities abgeben: Nur für Silbergelatine
Zitat: Original erstellt von spider_dd: [B] (defun c:Drb () (setq obj (ssget)) (setq pt1 (getpoint "\nBasispunkt wählen: ")) (command "_rotate" obj "" pt1 "b" pt1) (setq obj nil) ) [B]
Zwei kleine Schönheitskorrekturen: - Variablen als lokal deklarieren (defun c rb ( / obj pt1) dann kann man sich die Zeile (setq obj nil) sparen - Wenn im command-Aufruf schon das Drehen mit "_rotate" (engl. Variante) gestartet wird, sollte auch die Option "b" durch "_r" ersetzt werden. (ok, ist Krümelkackerei - konnte aber nicht widerstehen) Jürgen ------------------ Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jourjik Mitglied T. Zeichner
Beiträge: 75 Registriert: 17.08.2006
|
erstellt am: 06. Jul. 2015 09:17 <-- editieren / zitieren --> Unities abgeben: Nur für Silbergelatine
|
spider_dd Mitglied
Beiträge: 1111 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 06. Jul. 2015 13:58 <-- editieren / zitieren --> Unities abgeben: Nur für Silbergelatine
Zitat: Original erstellt von jupa:
Zwei kleine Schönheitskorrekturen: ... (ok, ist Krümelkackerei - konnte aber nicht widerstehen)
Beides richtig und i. O. insbesondere da hier ja auf die englische Version verwiesen wurde. Deshalb: Danke Jürgen Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Silbergelatine Mitglied
Beiträge: 16 Registriert: 01.07.2015 AutoCad 2012 Englisch
|
erstellt am: 06. Jul. 2015 14:18 <-- editieren / zitieren --> Unities abgeben:
ok wow danke leute für eure hilfe!!! udo, das makro funktioniert, dankeschön! kann man das auch irgendwie umschreiben, dass es auch so funktioniert wie das von runkelruebe? momentan ist es so wie das foto anbei. und ich würde mir gern den klick nr 3 ersparen, und nur nr. 1,2 und 4. "...ungekannte Anzahl von Objektwahlanfragen während des Befehls gemacht werden sollen" was meinst du damit genau? danke nochmals!!! ihr seid super! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9732 Registriert: 01.12.2003 AutoCAD 2.5 - 2022, Civil 3D, MAP 3D, ACADM Inventor AutoCAD 2022, AIP 4-2022 Win 10
|
erstellt am: 06. Jul. 2015 16:40 <-- editieren / zitieren --> Unities abgeben: Nur für Silbergelatine
Dann so Code: _Rotate;\_Ref;@
Ungekannte Anzahl von Objektwahlen: Wird in einem Makro "zwischendrin" nach Objekten gefragt, muss für jedes "Objekte wählen" ein Pausenzeichen "\" eingebaut werden. Da aber die Objektwahl erst mit einer Leereingabe beendet wird, ist die Anzahl der Pausenzeichen von vornherein nicht kalkulierbar. Da ist die vorherige Wahl der Objekte problemloser, da die Auswahl als implizierter Auswahlsatz (Objekt vor Befehl) dann an den eigentlichen Bearbeitungsbefehl (hier DREHEN) übergeben wird.
Code: Befehl: DREHEN Aktueller positiver Winkel in BKS: ANGDIR=gegen den Uhrzeigersinn ANGBASE=0.000 Objekte wählen: 1 gefunden Objekte wählen: Entgegengesetzte Ecke angeben: 3 gefunden (1 doppelt vorhanden), 3 gesamt Objekte wählen: k Erste Ecke angeben: Entgegengesetzte Ecke angeben: 2 gefunden (1 doppelt vorhanden), 4 gesamt Objekte wählen: Entgegengesetzte Ecke angeben: 16 gefunden, 20 gesamt Objekte wählen: fp Erster Punkt des Polygons oder Cursor wählen/ziehen: Endpunkt der Linie angeben oder [Zurück]: Endpunkt der Linie angeben oder [Zurück]: Endpunkt der Linie angeben oder [Zurück]: Endpunkt der Linie angeben oder [Zurück]: Endpunkt der Linie angeben oder [Zurück]: 20 gefunden (16 doppelt vorhanden), 24 gesamt Objekte wählen: Basispunkt angeben: Drehwinkel angeben oder [Kopie/Bezug] <72.04>: 90
------------------ Mit freundlichem Gruß Udo Hübner www.CAD-Huebner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Silbergelatine Mitglied
Beiträge: 16 Registriert: 01.07.2015 AutoCad 2012 Englisch
|
erstellt am: 07. Jul. 2015 18:50 <-- editieren / zitieren --> Unities abgeben:
super vielen dank!!! warum geht das makro drehen dann dass du mir geschrieben hast, wenn ich zwischendrinn keine objekte wählen soll? gilt das nur wenn ich mehrere objekte nacheinander markiere??
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9732 Registriert: 01.12.2003 AutoCAD 2.5 - 2022, Civil 3D, MAP 3D, ACADM Inventor AutoCAD 2022, AIP 4-2022 Win 10
|
erstellt am: 07. Jul. 2015 20:59 <-- editieren / zitieren --> Unities abgeben: Nur für Silbergelatine
AutoCAD unterstützt 2 Arten der Objektwahl zur Objekt/Elementmanipuliation a) Objektwahl nach Befehlsaufruf (vorher keine Objekte markiert) Beispiel:
Code: Befehl: DREHEN Objekte wählen: Entgegengesetzte Ecke angeben: 3 gefunden Objekte wählen: 1 gefunden (1 doppelt vorhanden), 3 gesamt Objekte wählen: Basispunkt angeben: Drehwinkel angeben oder [Kopie/Bezug] <30.1662>: B Bezugswinkel angeben <0.0000>:
b) Objektwahl vor Befehlsaufruf (vorher Objekte markiert) Code: Befehl: DREHEN 3 gefunden Basispunkt angeben: Drehwinkel angeben oder [Kopie/Bezug] <30.1662>: B Bezugswinkel angeben <0.0000>:
Beachte die Unterschiede / Anzahl der Klicks - die Unterschiede wirken sich bei direkter Eingabe in der Befehlzeile und für Makros gleichermaßen aus. Wähl einfach wie bisher vorher die zu maniplulierenden Objekte, dann funktioniert das Makro wie gewünscht, sonst nicht (Es dreht zwar, schaltet aber nicht auf Bezug/Reference um, da das Pausenzeichen dann bereits für einen Klick bei der Objektwahl genutzt wurde.
Einfach mal die Befehlszeile genau studieren. ------------------ Mit freundlichem Gruß Udo Hübner www.CAD-Huebner.de 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: 07. Jul. 2015 21:03 <-- editieren / zitieren --> Unities abgeben: Nur für Silbergelatine
Ich komme bei deiner Satzgestaltung etwas ins straucheln(silbergelantine) aber vielleicht dennoch die passende Antwort: Es geht nicht um die Anzahl der Objekte, sondern um die Anzahl der Benutzereingaben für die Objektwahl. Beispiel(wenn wie üblich die automatische Fensterwahl aktiv ist): Ich klicke 5 Objekte einzeln an, das sind 5 Klicks, im Makro also 5x"\" Wähle ich stattdessen 20 Objekte mit einem Fenster, so benötige ich dafür 2 Klicks.. Markiert man aber vor Befehlsaufruf ein oder mehrere Objekte, so werden diese Objekte bei Befehlsaufruf(im Regelfall) automatisch als Objektwahl übernommen. Der Befehl Wahl bietet im Makro eine Alternative Möglichkeit zur Objektwahl (entspricht genau der "normalen" Autocad-Objektwahl / daher auch die entsprechende Hilfe F1 zum Thema Objektwahl).
WAHL;\ Läßt eine Variable Objektwahl zu, je nach Einstellung der Sysvar <kommeichgeradenichtdrauf> sind die Objekte dann markiert oder nur ein Auswahlsatz erstellt. Wahl;\schieben;0,0;30,5 oder Wahl;\schieben;vorher;;0,0;30,5 je nach Acadeinstellung/Version Der Backslash steht praktisch nur für die Enter-Eingabe um die Objektwahl zu beenden, alle vorherigen Benutzeingaben zur Objektwahl verarbeitet der Befehl automatisch ohne das normalerweise übliche \\\\ Gemache ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Silbergelatine Mitglied
Beiträge: 16 Registriert: 01.07.2015 AutoCad 2012 Englisch
|
erstellt am: 12. Jul. 2015 11:37 <-- editieren / zitieren --> Unities abgeben:
|
nena23 Mitglied Montag bis Freitag, ganzen Tag lang
Beiträge: 461 Registriert: 25.01.2008 win 7 pro 64bit, immer aktuell Acad Architecture 2013/2017, fast immer aktuell
|
erstellt am: 13. Jul. 2015 09:36 <-- editieren / zitieren --> Unities abgeben: Nur für Silbergelatine
...und ich bedanke mich auch mal bei spider_dd & jupa, dass endlich mal jemand meinen "Drehen mit Bezug"-Befehl aufgeräumt hat. Wurde auch mal Zeit! Nun versteh ich das Lisp auch wieder vollständig! Den "Varia mit Bezug" kann ich dann auch mal putzen... Ist halt alles so Asbach-Codekram den ich kaum durchdringe, aber solange das jeweils in der neuen Version funktioniert, bleibt das halt so.... Nun läuft Acad aber auch gleich performanter, werde heute 1 Stunde früher Feierabend machen können... Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Silbergelatine Mitglied
Beiträge: 16 Registriert: 01.07.2015 AutoCad 2012 Englisch
|
erstellt am: 01. Aug. 2015 13:46 <-- editieren / zitieren --> Unities abgeben:
ihr lieben, jetzt hätte ich noch eine frage. könnt ihr mir sagen wie ich den befehl: objekte markieren, verschieben, und anschließend drehen programmieren kann?? das drehen wieder automatisch, also ohne dass man r oder b eingeben muss... kann mir wer weiterhelfen?? DAAANKE
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: 01. Aug. 2015 15:04 <-- editieren / zitieren --> Unities abgeben: Nur für Silbergelatine
Zitat: Original erstellt von Silbergelatine: könnt ihr mir sagen wie ich den befehl: objekte markieren, verschieben, und anschließend drehen programmieren kann??
Die Lösung zum letzten Teil hast du ja wohl schon. Du mußt also vor dem drehen die Objekte kopieren und die neuen Objekte auswählen(lassen), den Rest hast du ja. Etwas Lisp ist dabei aber nötig, selbst wenn du ein Makro bauen willst. Am Anfang brauchst du ein (setq AO (ssget"_X")) damit speicherst du einen Auswahlsatz "alleObjekte". (setq AO (ssget "_X")) -Objektwahl für den Kopiervorgang -kopieren durchführen -kopieren beenden -drehen starten -Objektwahl ALLE außer !AO -Basispunkt angeben (entweder Benutzereingabe für die Punktwahl oder "@" für den letzten Punkt.. - dann _r für Bezug und - eine Benutzereingabe für den Bezugspunkt oder "@" für den letzten Punkt. - eine Benutzereingabe für den Zielpunkt. Kopieren ^C^C(setq AO (ssget"_X"));_.SELECT;\_.COPY;\\; Drehen _.ROTATE;_all;_r;!AO;;@;_r;@;\\ So circa, viel Spaß beim erarbeiten deiner Perfektlösung. Link für Makros: http://ww3.cad.de/foren/ubb/Forum54/HTML/021110.shtml ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CrossCreek Mitglied Techniker
Beiträge: 3 Registriert: 03.03.2017 AutoCAD 2017, Advance Steel 2017, Windows 7
|
erstellt am: 03. Mrz. 2017 15:33 <-- editieren / zitieren --> Unities abgeben: Nur für Silbergelatine
Hallo, ich habe mal eine kurze Frage. Kann man das Lisp auch so verändern, dass gleich die Option Kopie auch gewählt wird ? Hat sich erledigt, hatte nur eine falsche Variable für kopieren genommen, c statt k. Jetzt geht es.Viele Grüße Bernd
[Diese Nachricht wurde von CrossCreek am 03. Mrz. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |