Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Makrobefehl nach Linien zeichnen ...

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
Digitale Engineering-Prozesse bei Pergande mit BIM-, CAD- und PDM-Lösungen von Autodesk, ein Anwenderbericht
Autor Thema:  Makrobefehl nach Linien zeichnen ... (544 mal gelesen)
Holzmann
Mitglied
Schüler


Sehen Sie sich das Profil von Holzmann an!   Senden Sie eine Private Message an Holzmann  Schreiben Sie einen Gästebucheintrag für Holzmann

Beiträge: 13
Registriert: 03.04.2004

erstellt am: 23. Jun. 2004 19:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
ich möchte innerhalb eines Makros den aktuellen Linientypfaktor umstellen, eine Linie zeichnen und hiernach den Linientypfaktor wieder auf den Ausgangswert zurückstellen. In etwa:
      """celtscale;0.5;_line\celtscale;1;"""

Wenn der Linienbefehl aufgerufen und abgehandelt wird, wird jedoch der ursprüngliche Faktor (1) nicht mehr zurückgestellt. Wie kann ich nach dem Linien zeichnen noch einen weiteren Befehl (celtscale) ausführen.
Besten Dank für eventuelle Antworten ...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Kramer24
Ehrenmitglied V.I.P. h.c.
Architekt


Sehen Sie sich das Profil von Kramer24 an!   Senden Sie eine Private Message an Kramer24  Schreiben Sie einen Gästebucheintrag für Kramer24

Beiträge: 5896
Registriert: 09.11.2001

Acad Architecture 2023
WIN 10

erstellt am: 23. Jun. 2004 23:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Holzmann 10 Unities + Antwort hilfreich

So vielleicht:
^C^Cceltscale;0.5;_line;\\;celtscale;1;

Lothar

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Holzmann
Mitglied
Schüler


Sehen Sie sich das Profil von Holzmann an!   Senden Sie eine Private Message an Holzmann  Schreiben Sie einen Gästebucheintrag für Holzmann

Beiträge: 13
Registriert: 03.04.2004

erstellt am: 24. Jun. 2004 05:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Lothar,
ich kann bei Deinem Makro die Linie nur von A nach B zeichnen, hiernach ist der Linienbefehl abgebrochen. Der Linienbefehl soll aber ohne Abbruch, so lange, wie ich die Linie eingeben will, funktionieren und zuerst nach meiner Vorgabe (Linienende) den Faktor wieder umstellen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 24. Jun. 2004 10:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Zitat:
Original erstellt von Holzmann:
Hallo Lothar,
ich kann bei Deinem Makro die Linie nur von A nach B zeichnen, hiernach ist der Linienbefehl abgebrochen. Der Linienbefehl soll aber ohne Abbruch, so lange, wie ich die Linie eingeben will, funktionieren und zuerst nach meiner Vorgabe (Linienende) den Faktor wieder umstellen.

Du kannst bei einem Makro die Zahl der Nutzereingaben nicht offen lassen, dazu brauchst Du ein Programm. Aber sowas geht einfach, hier ist eine flexible Lösung:

(defun mycommand (cmd)
  (while (eq 1 (logand 1 (getvar "cmdactive")))
    (command pause)
  )
)

(defun cmd-lt (cmd ltscale)
  (setvar "celtscale" ltscale)
  (mycommand "._line")
  (setvar "celtscale" 1.0)
)

Du kannst nun mit (cmd-lt "._line" 0.5) genau das gewünschte Ergebnis erreichen, Du kannst es aber z.B. auch als (cmd-lt "._circle" 1.2) und in jeder anderen denkbaren Variante verwenden. In einem Werkzeugkastensymbol sieht das dann so aus:

^C^C(cmd-lt "._line" 0.5)

Tom Berger

------------------



Ex-Mitglied

erstellt am: 24. Jun. 2004 10:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Sorry, war wohl noch nicht ganz wach. Hier die richtige Variante, diesmal auch mit korrektem Zurücksetzen der Systemvariablen:

(defun mycommand (cmnd / oldecho)
  (setq oldecho (getvar "cmdecho"))
  (setvar "cmdecho" 1)
  (command cmnd)
  (while (eq 1 (logand 1 (getvar "cmdactive")))
    (command pause)
  )
  (setvar "cmdecho" oldecho)
)

(defun cmd-lt (cmnd ltscale / oldltscale)
  (setq oldltscale (getvar "celtscale"))
  (setvar "celtscale" ltscale)
  (mycommand cmnd)
  (setvar "celtscale" oldltscale)
)

Tom Berger

------------------


AsSchu
Ehrenmitglied
Konstrukteur


Sehen Sie sich das Profil von AsSchu an!   Senden Sie eine Private Message an AsSchu  Schreiben Sie einen Gästebucheintrag für AsSchu

Beiträge: 1632
Registriert: 27.06.2003

ACAD 2012

erstellt am: 24. Jun. 2004 11:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Holzmann 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von tom.berger:
Sorry, war wohl noch nicht ganz wach. Hier die richtige Variante, diesmal auch mit korrektem Zurücksetzen der Systemvariablen:

(defun mycommand (cmnd / oldecho)
  (setq oldecho (getvar "cmdecho"))
  (setvar "cmdecho" 1)
  (command cmnd)
  (while (eq 1 (logand 1 (getvar "cmdactive")))
    (command pause)
  )
  (setvar "cmdecho" oldecho)
)

(defun cmd-lt (cmnd ltscale / oldltscale)
  (setq oldltscale (getvar "celtscale"))
  (setvar "celtscale" ltscale)
  (mycommand cmnd)
  (setvar "celtscale" oldltscale)
)

Tom Berger


unterliegt das dem Urheberrecht?  :-))

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 24. Jun. 2004 11:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Zitat:
Original erstellt von AsSchu:
unterliegt das dem Urheberrecht?  :-)) 

Das kann nur ein Richter feststellen. Ich denke eher nicht, weil die "Schöpfungshöhe" dabei doch nicht so sehr hoch ist :-) Aber bei bisherigen Prozessen wurde oft auch schon für ziemlich triviale Sachen die ausreichende Schöpfungshöhe bejaht.

Da Deine Anfrage aber wohl eher nicht ernst gemeint war: ich habe bereits mitgeteilt, dass ich alle Rechte an meinem hier auf CAD.de veröffentlichten Programmcode aufgebe, so weit das überhaupt möglich ist. Du darfst diesen Schnipsel also gerne kopieren, nach Belieben verwenden und verändern, und gerne auch weiter verbreiten, und Du darfst diese Generalerlaubnis auf alle von mir auf CAD.de bisher und zukünftig veröffentlichten Programme anwenden.

Ansonsten, und nur weil ich in Deinem Beitrag auch einen gewissen Sarkasmus verspüre: mit Urheberrechtsverletzungen ist nicht zu spaßen, und in fast jedem zweiten Thread auf CAD.de kann man einen finden - wenn Du Dich also über meine Besorgnis lustig machen willst, dann nur zu. Aber vergiss nicht: zuletzt und am zufriedensten lacht immer der Anwalt.

Tom Berger

------------------


Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz