Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD LT
  2x getvar,distance im Menü funktioniert nicht

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
Autor Thema:  2x getvar,distance im Menü funktioniert nicht (1511 mal gelesen)
Andreas_Felix
Mitglied



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

Beiträge: 18
Registriert: 19.05.2003

erstellt am: 19. Mai. 2003 21:10    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

Ich möchte bei A-Cad 2000LT mit einer Schaltfläche zwei Maße abnehmen und diese in zwei Umgebungsvariablen speichern?

^C^C_ucs;_o;\_dist;0,0;\_setenv;Breite;$M=$(getvar,Distance);_dist;0,0;\_setenv;Höhe;$M=$(getvar, Distance);

Bei der ersten Variable (setenv;Breite) funktioniert es noch einwandfrei!! In den Wert der zweiten Variable (setenv;Höhe) wird jedoch wieder der Wert der ersten Variable angelegt!!

Wieso wird nach dem zweiten mal "_dist" nicht sofort der richtige Wert in der Systemvariable "Distance" abgelegt??

Wer sich jetzt noch fragt wieso ich mit "_ucs" (neuer Nullpunkt) beginne: vereinfacht den weiteren Ablauf...

Weiter's bin ich um bessere Vorschläge sehr dankbar!!

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

Christian Marx
Mitglied



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

Beiträge: 218
Registriert: 11.12.2002

AutoCad LT 200x
Athon 1600XP
GeForce II MX400
256 DDR RAM
60GB Drive
16xDVD
Aopen 24/10/40 Brenner
TV-Karte WinTV PVR 250

erstellt am: 19. Mai. 2003 21:34    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 Andreas_Felix 10 Unities + Antwort hilfreich

du erhälst 2x den selben wert, weil innerhalb eins macros keine daten mehr abgefragt werden. ein macro ist ein programm, das werte vom user bekommt und damit arbeitet. diesel kann werte selbst errechnen. aber reagiert nicht auf änderungen von systemvarablen oder eingaben zur laufzeit. deine 2. eingabe wird ignoriert weil sie innerhalb des makro liegt.

du mußt also schon vorher, bevor $M= losgeht alles benutzeringaben abgeschlossen haben.
dir wird wohl nichts anderes übrig bleiben, als die koordinaten zu extrahieren und nach vektor algebra daraus die längen zu berechnen. zumindest für den 2. punkt.

etwa so:
^C^C_ucs;_o;\_dist;0,0;\_line;0,0;\;_base;@;_ucs;_e;_L;_erase;_L;;setenv;Breite;$M=$(getvar, Distance);setenv;Höhe;$(eval,$(index,0,$(getvar,insbase)));_ucs;;


gruß
chris


------------------
www.marx-softwaredevelop.de/
MarxCiCAD Schalungmodul für AutoCad 2000 - 2002

[Diese Nachricht wurde von Christian Marx am 19. Mai 2003 editiert.]

[Diese Nachricht wurde von Christian Marx am 19. Mai 2003 editiert.]

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

Zeli
Mitglied



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

Beiträge: 129
Registriert: 04.04.2003

erstellt am: 19. Mai. 2003 23:08    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 Andreas_Felix 10 Unities + Antwort hilfreich

Hallo Christian

Ich hab da ein ganz ähnliches Problem:
^C^Csetenv;"LayerAktuell";$M=$(getvar,CLAYER);ai_molc;\setenv;"LayerAnsichtsfensterFrieren";$M=$(getvar,CLAYER);aflayer;F;$M=$(getenv,LayerAnsichtsfensterFrieren);AK;;setvar;"CLAYE R";$M=$(getenv,LayerAktuell);^Z
Ich möchte im aktiven Ansichtsfenster einen Layer frieren, indem ich einen Objektlayer wähle. Da sich CLAYER während des Makros ändert geht das irgendwie nicht. Gibts dafür auch eine Lösung??

Gruss Zeli

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

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

Grebe
Mitglied



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

Beiträge: 536
Registriert: 16.12.2002

LT-2021, Civil3D-2021, BricsCAD V18
HP-DesignJet T1200

erstellt am: 20. Mai. 2003 09:04    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 Andreas_Felix 10 Unities + Antwort hilfreich

Das Ganze geht schon ...
man muss halt nur eine bisschen Trixen.
Das Problem ist, dass ein Makro, wenn es das erstemal auf den Befehl $M= triftt, das ganze Makro bis zu Ende auswertet. Beim Auslesen der Breite wird somit auch gleich das (getvar,distance) für die Höhe ausgewertet (mit dem gleichen Wert). Man kann diese verfrühte Auswertung allerdings durch das Setzen von Quotes unterbinden:
^C^C_ucs;_o;\_dist;0,0;\_setenv;Breite;$M=$(getvar,Distance);_dist;0,0;\_setenv;Höhe;"$M=$(getvar, Distance)";
Der Ausdruck in den Quotes wird dann erst beim nächsten $M= Befehl ausgewertet (und so weiter).
Und schon klappt's (selber probiert). Wenn noch eine Verschachtelungsebene dazu soll, sind dann drei Quotes zu setzen:
xxx$M=xxxx"xxxx"xxxxx"""xxx"""
Näheres dazu hier http://www.idir.net/~lacy/begin.htm#formatting
und hier http://www.flatmtn.com/cad/diesel-examples.html
Mathias

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

Christian Marx
Mitglied



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

Beiträge: 218
Registriert: 11.12.2002

AutoCad LT 200x
Athon 1600XP
GeForce II MX400
256 DDR RAM
60GB Drive
16xDVD
Aopen 24/10/40 Brenner
TV-Karte WinTV PVR 250

erstellt am: 20. Mai. 2003 10:08    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 Andreas_Felix 10 Unities + Antwort hilfreich

Andreas_Felix
Mitglied



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

Beiträge: 18
Registriert: 19.05.2003

erstellt am: 20. Mai. 2003 21: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

Wahnsinn!!
Nicht einmal 24 Stunden und ich bin um einiges an Basiswissen reicher!!
Und dass es doch geht ist sowieso genial

Also danke chris & mathias

So und wenn's dann noch jemanden interessiert hätte ich hier schon das nächste Problem

^C^Csetenv;Luft_links;\setenv;Luft_rechts;\setenv;Luft_oben;\setenv;Luft_unten;\^C^C-einfüge;$M=$(getenv,Pfad_1)/front.dwg;$M=$(getenv,Luft_links),-$M=$(getenv,Luft_oben); ..................

dieser Satz sollte eigentlich nur ein Rechteck (Block) mit den richtigen "Luftabzügen" ausgehend vom Nullpunkt einfügen. Manchmal geht's, genauso oft gehts nicht!?!

Naja wirkt jetzt schon, als ob ich meine Macro's von Euch schreiben lassen würde. Aber irgendwie ist dieses Thema im Handbuch nicht wirklich gut beschrieben!!!

Also danke im Voraus

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

Christian Marx
Mitglied



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

Beiträge: 218
Registriert: 11.12.2002

AutoCad LT 200x
Athon 1600XP
GeForce II MX400
256 DDR RAM
60GB Drive
16xDVD
Aopen 24/10/40 Brenner
TV-Karte WinTV PVR 250

erstellt am: 20. Mai. 2003 23:15    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 Andreas_Felix 10 Unities + Antwort hilfreich

bei meinen macros steht das komma immer zwischen ","

^C^Csetenv;Luft_links;\setenv;Luft_rechts;\setenv;Luft_oben;\setenv;Luft_unten;\^C^C-einfüge;$M=$(getenv,Pfad_1)/front.dwg;$M=$(getenv,Luft_links)","-$M=$(getenv,Luft_oben); ..................

gruß
chris

------------------
www.marx-softwaredevelop.de/
MarxCiCAD Schalungsmodul für AutoCad 2000 - 2002

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

Zeli
Mitglied



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

Beiträge: 129
Registriert: 04.04.2003

erstellt am: 20. Mai. 2003 23:44    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 Andreas_Felix 10 Unities + Antwort hilfreich

Das müsste irgendwie so funzen
^C^Csetenv;Luft_links;\$M=setenv;Luft_rechts;\$M=setenv;Luft_oben;\$M=setenv;Luft_unten;\^C^C-einfüge;$M=$(getenv,Pfad_1)/front.dwg;$M=$(getenv,Luft_links),-"$M=$(getenv,Luft_oben) "";$M=$(getenv,Luft_oben)"""";

habs aber nicht ausprobiert
Gruss Zeli

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

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

Andreas_Felix
Mitglied



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

Beiträge: 18
Registriert: 19.05.2003

erstellt am: 21. Mai. 2003 19:59    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 Chris! Hallo Zeili!

Danke für die schnellen Antworen, habe beide Macro's sofort getesten

- das mit dem "," funktionient leider genausogut oder schlechte wie ohne Anführungszeichen

- $M= vor setenv bricht bei $M ab! Setenv braucht doch kein Diesel $M= ODER?

Na vieleicht habt Ihr ja noch andere Lösungen auf Lager!!!

Grüße Andreas

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

Grebe
Mitglied



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

Beiträge: 536
Registriert: 16.12.2002

LT-2021, Civil3D-2021, BricsCAD V18
HP-DesignJet T1200

erstellt am: 22. Mai. 2003 09:26    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 Andreas_Felix 10 Unities + Antwort hilfreich

Hallo Andreas,
habe Christians Makro-Entwurf getestet - bei mir klappts (abgesehen von den fehlenden Skalierungsfaktoren).
Vermutlich liegt der Fehler dann im Bereich der ..... wo das wohl aisgerechnet werden soll - denn sonst macht e s ja keinen Sinn, 4 Variablen abzufragen und nur 2 zu benutzen. Vielleicht solltest du mal alles posten.
Zum Thema $M=: Wie schon weiter oben gesagt, werden beim ersten Treffen auf $M= alle Makroausdrücke $(...) bis zum Ende des Makros ausgewertet. Du kannst es also schon mal wie folgt verschlanken:
^C^Csetenv;Luft_links;\setenv;Luft_rechts;\setenv;Luft_oben;\setenv;Luft_unten;\^C^C-einfüge;$M=$(getenv,Pfad_1)/xxx.dwg;$(getenv,Luft_links)","-$(getenv,Luft_oben);.....
Mathias

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

Christian Marx
Mitglied



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

Beiträge: 218
Registriert: 11.12.2002

AutoCad LT 200x
Athon 1600XP
GeForce II MX400
256 DDR RAM
60GB Drive
16xDVD
Aopen 24/10/40 Brenner
TV-Karte WinTV PVR 250

erstellt am: 22. Mai. 2003 11:09    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 Andreas_Felix 10 Unities + Antwort hilfreich

stimmt, jedes zeichen weniger im makro ist von vorteil, besonders wenn das makro lang ist, dann kommt es auf jedes zeichen an.

------------------
www.marx-softwaredevelop.de/
MarxCiCAD Schalungsmodul für AutoCad 2000 - 2002

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

Andreas_Felix
Mitglied



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

Beiträge: 18
Registriert: 19.05.2003

erstellt am: 22. Mai. 2003 21:07    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 bin ziehmlich ratlos. müsste gehen, geht aber nicht!!!

fehler im nachfolgenden abschnitt sind nicht möglich, den dieses macro endet vorläufig bei ....... (zeitmangel,.... schande!!)

mein ziel ist in ein rechteck (z.B. 1000 x 2000 mm) einen block (wieder ein rechteck + ein paar linien)um die luft versetzt einzufügen. diese luft beträgt nur 1.5 - 5mm
anscheinend liegt hier das problem, denn je größer das "luftmaß" wird (20mm und so) umso größer wird auch die chance das es funktioniert.

bei mir ist's auf jedenfall so

grüße Andreas

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

Grebe
Mitglied



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

Beiträge: 536
Registriert: 16.12.2002

LT-2021, Civil3D-2021, BricsCAD V18
HP-DesignJet T1200

erstellt am: 23. Mai. 2003 11:24    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 Andreas_Felix 10 Unities + Antwort hilfreich

Na wenn das so ist, tippe ich mal auf folgendes Problem:
Unter "Extras->Optionen->Benutzereinstellungen->Priorität für Dateneingabe von Koordianten" ist NICHT Tastatureingabe angewählt.
Wenn etwas anderes gewählt ist, wird u.U. (abhängig vom aktuellen Zoom) ein Objektfang verwendet. Durch Anwahl dieser Option werden dann ausschließlich die "errechneten" Kooridnaten verwendet.
Deine vorherigen Fehlerbeschreibungen waren dann aber relativ dürftig !!
Mathias

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

Andreas_Felix
Mitglied



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

Beiträge: 18
Registriert: 19.05.2003

erstellt am: 23. Mai. 2003 13:01    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

habe gestern, nach unzähligen versuchen, auch festgestellt das es mit dem objektfang zusammenhängt!!

habe schon gebastelt, wie man im macro den ofang ausschaltet

danke für den tip mit den optionen!!!!

also bis zum nächsten problem
grüße andreas

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

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)2023 CAD.de | Impressum | Datenschutz