| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Pause im Makro (1593 mal gelesen)
|
Noivet Mitglied Bautechniker
Beiträge: 173 Registriert: 05.09.2007 Vista Autocad 2010 Version3 Inventor 2011 NVIDIA Quadro 3000M
|
erstellt am: 07. Mai. 2008 14:18 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich möchte mir ein Makro erstellen, das mir Schraffuren beim erstellen gleich auf einen bestimmten Layer legt. Sieht bis jetzt so aus: ^C^C-layer;m;hatch;;clayer;hatch;_hatch;\_layerP; Mein Problem dabei ist, das der letzte Befehl (_layerp) ausgeführt wird sobald ich einen Punkt für die Schraffur wähle und nicht nach schließen des Dialogfeldes für die Schraffur wie ich es haben möchte. Wie kann ich es anstellen, das das Makro eine Pause macht bis das Dialogfeld geschlossen wird? Ich hoffe es liegen nicht alle in der Sonne an diesem schönen Tag Liebe Grüße Noivet 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. Mai. 2008 15:02 <-- editieren / zitieren --> Unities abgeben: Nur für Noivet
|
Fiedelzastrow Mitglied Architekt / Bauzeichner
Beiträge: 993 Registriert: 05.07.2007 Win XP AutoCAD 2006 AutoCAD 2009 AutoCAD 2012 LT
|
erstellt am: 07. Mai. 2008 15:48 <-- editieren / zitieren --> Unities abgeben: Nur für Noivet
|
PamDeluxe Mitglied
Beiträge: 169 Registriert: 11.01.2007 Core2Duo 6300 2GB DDR2 nVidia Quadro FX 1500 AutoCAD 2007/Civil 3D 2007
|
erstellt am: 07. Mai. 2008 15:49 <-- editieren / zitieren --> Unities abgeben: Nur für Noivet
|
Kramer24 Ehrenmitglied V.I.P. h.c. Architekt
Beiträge: 5881 Registriert: 09.11.2001 Acad Architecture 2023 WIN 10
|
erstellt am: 07. Mai. 2008 16:06 <-- editieren / zitieren --> Unities abgeben: Nur für Noivet
|
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 07. Mai. 2008 16:20 <-- editieren / zitieren --> Unities abgeben: Nur für Noivet
Ich mache sowas mit Reaktoren kopier mal das Teil hier in die Acaddoc.lsp Allerdings musst Du erst sicherstellen, dass es die Layer gibt, die werden nicht automatisch angelegt. eventuell in der Vorgabezeichnung anlegen. (vlr-editor-reactor nil '((:vlr-commandWillStart . CommandWillStart) (:vlr-commandEnded . CommandEnded) (:vlr-commandCancelled . CommandEnded) ) ) (defun CommandWillStart (reactor value / layer a1 a2) (setq value (car value)) (setq tmpLayer (getvar "CLAYER")) (cond ((= value "HATCH") (setvar "CLAYER" "layerHATCH")) ((= value "LINE") (setvar "CLAYER" "layerLINE")) ((= value "CIRCLE") (setvar "CLAYER" "layerCIRCLE")) ) ) (defun CommandEnded (reactor value / ) (if tmpLayer (setvar "CLAYER" tmpLAYER)) )
------------------ Ing. Anton Fuchs WWW.FFZELL.AT.TC Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Noivet Mitglied Bautechniker
Beiträge: 173 Registriert: 05.09.2007 Vista Autocad 2010 Version3 Inventor 2011 NVIDIA Quadro 3000M
|
erstellt am: 08. Mai. 2008 09:05 <-- editieren / zitieren --> Unities abgeben:
Danke für eure Antworten. An die acaddoc.lsp darf ich leider wegen Firmenstandart nicht ran. Aber der Tipp mit den Paletten ist gut. Schade ist nur, das immer nur eine Fläche schraffiert werden kann und man nicht mehrere Flächen auswählen kann. Oder geht das irgendwie doch? Liebe Grüße Noivet 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: 08. Mai. 2008 09:25 <-- editieren / zitieren --> Unities abgeben: Nur für Noivet
Noivet, interessante Frage. Geht nicht. Vielleicht gibt es einen anderen Weg mit der Wzp. Ich habe eh' den Eindruck, dass der Schraffurbefehl aus der Wzp. anders und besser funktioniert, als der Befehl "_hatch"...? Lothar
------------------ From Autodusk Till Dawn Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cad4fun Ehrenmitglied
Beiträge: 1846 Registriert: 06.12.2004 privat ACAD 2013 und 2017 deutsch, Windows 7 64Bit HP Elite 7500 Series MT,Intel Cote i5-3470 CPU 3,20Ghz,16GB RAM ATI FirePro V (FireGL V) Graphics Adapter Treiberversion: 15.201.1151.1008
|
erstellt am: 08. Mai. 2008 10:00 <-- editieren / zitieren --> Unities abgeben: Nur für Noivet
Zitat: Original erstellt von Noivet:
An die acaddoc.lsp darf ich leider wegen Firmenstandart nicht ran.
Na dann verwende doch eine eigene acad.lsp und lass diese bei jedem Zeichnungsstart (ACADLSPASDOC=1) einlesen. Firmenstandard ist meist nur die kleinste gemeinsame Schnittmenge. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BaCAD Mitglied Bauzeichner
Beiträge: 129 Registriert: 17.09.2008 AutoCAD 2016
|
erstellt am: 17. Feb. 2011 16:53 <-- editieren / zitieren --> Unities abgeben: Nur für Noivet
Hallo Statt ein neues Thema zu erstellen frage ich mal hier nach. Ich habe mir von folgendem Beitrag die LISP-Datei runter geladen um interpolieren zu können: http://ww3.cad.de/foren/ubb/Forum54/HTML/016226.shtml#000009 Anscheinend ist das Resultat falsch, wenn die angeklickten Punkte einen Z-Wert aufweisen.
Daher wollte ich den LISP-Befehl (in diesem Falle ip) in ein Makro einbinden und dort vor dem Befehl die Systemvariable OSNAPZ umstellen, damit während dem Klicken der Z-Wert nicht berücksichtigt wird. Nach der LISP-Anwendung (die Eingaben via Tastatur und Klicks verlangt) sollte dann OSNAPZ wieder auf null gestellt werden. Nur kriege ich das nicht hin - wenn das überhaupt möglich ist.
Sollte das Makro nicht einfach so aussehen? ^C^COSNAPZ;1;ip;OSNAPZ;0 So wird zwar OSNAPZ auf 1 umgestellt und der Befehl ip kann danach sogar durchgeführt werden, jedoch wird danach die Systemvariable nicht mehr geändert. Beim Befehl ip muss man zuerst klicken, dann die Höhe eintippen, wieder klicken und wieder eine Höhe eingeben und am Ende noch mals klicken und die Höhe wird einem dann in der Befehlszeile angezeigt. Ist es möglich, OSNAPZ danach irgendwie per Makro wieder auf 0 zu schalten? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BaCAD Mitglied Bauzeichner
Beiträge: 129 Registriert: 17.09.2008 AutoCAD 2016
|
erstellt am: 17. Feb. 2011 16:55 <-- editieren / zitieren --> Unities abgeben: Nur für Noivet
Hallo Statt ein neues Thema zu erstellen frage ich mal hier nach. Ich habe mir von folgendem Beitrag die LISP-Datei runter geladen um interpolieren zu können: http://ww3.cad.de/foren/ubb/Forum54/HTML/016226.shtml#000009 Anscheinend ist das Resultat falsch, wenn die angeklickten Punkte einen Z-Wert aufweisen.
Daher wollte ich den LISP-Befehl (in diesem Falle ip) in ein Makro einbinden und dort vor dem Befehl die Systemvariable OSNAPZ umstellen, damit während dem Klicken der Z-Wert nicht berücksichtigt wird. Nach der LISP-Anwendung (die Eingaben via Tastatur und Klicks verlangt) sollte dann OSNAPZ wieder auf null gestellt werden. Nur kriege ich das nicht hin - wenn das überhaupt möglich ist.
Sollte das Makro nicht einfach so aussehen? ^C^COSNAPZ;1;ip;OSNAPZ;0 So wird zwar OSNAPZ auf 1 umgestellt und der Befehl ip kann danach sogar durchgeführt werden, jedoch wird danach die Systemvariable nicht mehr geändert. Beim Befehl ip muss man zuerst klicken, dann die Höhe eintippen, wieder klicken und wieder eine Höhe eingeben und am Ende nochmals klicken und die Höhe wird einem dann in der Befehlszeile angezeigt. Ist es möglich, OSNAPZ danach irgendwie per Makro wieder auf 0 zu schalten?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |