Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Problem mit Makro

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:  Problem mit Makro (1631 mal gelesen)
BL-CAD
Mitglied


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

Beiträge: 2
Registriert: 08.04.2015

AutoCAD LT 2015

erstellt am: 08. Apr. 2015 07:57    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 zusammen,

ich bin noch relativ neu auf dem Gebiet der Makros.
Seit gestern versuche ich nun folgendes per Tastenkürzel zum laufen zu bringen:
_bedit;;_ai_selall;_scale;0,0;0.0045;_bclose;;

Ich möchte damit folgendes erreichen:
Nach dem Anklicken eines Blockes drücke ich das Tastenkürzel.
Dadurch soll der Blockeditor geöffnet werden, der gesamte Blockinhalt ausgewählt und dann mit dem Basispunkt 0,0 um den Faktor 0.0045 skaliert werden. Anschließend soll der Blockeditor wieder geschlossen werden.

Der Blockeditor wird auch geöffnet, nur leider klappt der Rest nicht.
Weiß jemand, was ich hier falsch mache?

Vielen Dank!
BL-CAD

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

runkelruebe
Moderator
Straßen- / Tiefbau




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

Beiträge: 8075
Registriert: 09.03.2006

Kinder, kauft Kämme!
Es kommen lausige Zeiten.

erstellt am: 08. Apr. 2015 08:28    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 BL-CAD 10 Unities + Antwort hilfreich

Moin und herzlich Willkommen bei CAD.de

allgemeingültiger Tipp für Makro-Probleme aller Art: Schau Dir die Befehlszeile/das Textfenster (F2) an.

Code:
Befehl:
BBEARB
Blockname eingeben oder [?]: _ai_selall
Regeneriert Modell.
Regeneriert Modell.
Regeneriert Modell.
Befehl: _scale
Objekte wählen: 0,0
Entgegengesetzte Ecke angeben: 0.0045
0 gefunden
Objekte wählen: _bclose
*Ungültige Auswahl*
Erwartet einen Punkt oder Fenster/Letztes/Kreuzen/QUADER/ALLE/ZAun/FPolygon/KPolygon/Gruppe/Hinzufügen/Entfernen/Mehrere/Vorher/ZUrück/AUto/EInzeln/Unterobjekt/Objekt


Ohne, dass Du den Namen angibst, läuft das Makro nicht gescheit weiter und strauchelt immer wieder an Angaben, die ACAD an der Stelle nicht erwartet.
Und dann Schritt für Schritt die Fehler wegbekommen durch Änderungen an jeweils der Stelle, wo es scheppert.

Auf die Schnelle für Dich und gilt nur für Deine Ausgangsfrage:

Zitat:
Nach dem Anklicken eines Blockes drücke ich das Tastenkürzel.
Dadurch soll der Blockeditor geöffnet werden, der gesamte Blockinhalt ausgewählt und dann mit dem Basispunkt 0,0 um den Faktor 0.0045 skaliert werden. Anschließend soll der Blockeditor wieder geschlossen werden.

Code:
_bedit;_ai_selall;_scale;0,0;0.0045;_bclose;;
Du hattest ein enter zuviel.

------------------
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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 08. Apr. 2015 08: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 BL-CAD 10 Unities + Antwort hilfreich

Willkommen,
weil ich es schon länger nicht mehr ausführlich kommentiert habe:

1. baue ein Makro Stück für Stück, Schritt für Schritt, auf. Schreibe dabei jede Eingabe mit.

2. sollte sich doch mal ein Fehler eingeschlichen haben:
  So sieht man anhand des Textfenster(F2) oftmals schnell was falsch läuft.
  Falls man mit F2 nicht direkt den Problemfall sieht, kommt Punkt 1 wieder zum tragen:
  Gehe das Makro in der Befehlszeile per Hand durch.


Meine Frage in diesem konkreten Beispiel wäre demnach: Wofür steht das 2. Semikolon ?


Sebastian


------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

BL-CAD
Mitglied


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

Beiträge: 2
Registriert: 08.04.2015

AutoCAD LT 2015

erstellt am: 08. Apr. 2015 08:39    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

Vielen Dank euch beiden, jetzt klappt es einwandfrei. Das erspart mir viel Arbeit 

Das zweite Semikolon sollte das Fenster "Blockdefinition bearbeiten" quittieren, welches erscheint, wenn ich manuell in den Blockeditor wechsle. Offenbar taucht dieses Fenster bei der Ausführung des Makros aber nicht auf.

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 08. Apr. 2015 08: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 Nur für BL-CAD 10 Unities + Antwort hilfreich

ahh ok.
Dialogfenster kann man generell nicht bedienen mit Menümakros, in diesen Fällen ist man darauf angewiesen
das AutoDesk eine Befehlszeilenvariante zur Verfügung stellt.

Entweder durch erkennen das es im Makro, Script,(send)Command läuft (so wie hier, Acad regelt es automatisch)
oder aber es gibt einen extra Befehl dafür (ein "-" dem originalBefehl vorangestellt, LAYER => -LAYER, RefEdit => -RefEdit usw.)

Aber Adesk bietet dies nicht immer an, so fehlt es zum Beispiel für die Schnellauswahl und den Filter uswusf.

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

Ingo Struck
Mitglied
Holztechniker


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

Beiträge: 459
Registriert: 08.01.2010

Intel Core i7-3770
16 GB RAM
AMD FirePro V3900 (FireGL V)
Windows 7 Pro SP1
AutoCAD 2017 SP1 - deutsch

erstellt am: 08. Apr. 2015 10:11    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 BL-CAD 10 Unities + Antwort hilfreich

Hallo zusammen,

den Befehl _ai_selall kannte ich so noch nicht. Leider taucht er auch so nicht in der Hilfe auf. Bisher habe ich stattdessen in Makros beim entsprechenden Befehl eine Fensterwahl nach folgendem Schema genutzt: "varia;1000000,-1000000;-1000000,1000000;;0,0;0.0045;".
Laut cadforum.cz gibt es eine ganze Reihe dieser "_ai_irgendwas" Befehle. Kann evtl. jemand etwas zu dieser Befehlsgruppe sagen, z. B. warum sie in der Hilfe nicht dokumentiert sind?

Darüber hinaus bin auch ich wie BL-CAD verwundert, dass im Makro ein "Enter" zum öffnen des Blockeditors korrekt ist, während über die Befehlszeile zwei "Enter" benötigt werden. Gibt es außer "bbearb" noch andere Befehle, welche in der Befehlszeile anders laufen als im Makro?

mfg, Ingo 

------------------
"Umwege erhöhen die Ortskenntnisse!"

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 08. Apr. 2015 11:05    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 BL-CAD 10 Unities + Antwort hilfreich

übersetze _ai einfach mit AutoCAD Intern und belasse es dabei  
tippe _ai* ein und Acad schlägt dir die vorhandenen Befehle vor.
Aktuelles Beispiel: Du nutzt eine Windowsübliche Tastenkombination (Strg+A für ALLESWÄHLEN),
Acad benötigt aber intern natürlich einen ordentlichen Befehl dazu.. ein Blick in die Befehlszeile
zeigt dir wie dieser lautet: _ai_selall   usw.

Die Fensterwahl ist ja wirklich die schlechteste Methode für den Fall das man "alles" wählen will,
also auch wenn du _ai_selall nicht kennst, dann steht dir noch immer die Basis Objektwahloption ALLE zur Verfügung (was ich auch dem _ai jederzeit bevorzugen würde).

"Gibt es außer "bbearb" noch andere Befehle, welche in der Befehlszeile anders laufen als im Makro? "
Das ist ja falsch, in deinem Beispiel läuft der Befehl ja nicht in der Befehlszeile sondern im Dialogfenster!!

Befehlszeile vs Makro:
Natürlich gibt es Befehle welche in in der automatischen Verwendung (Makro,Script, (send-)command) anders abgearbeitet werden.
Das fängt ja bereits mit der unterdrückung der Dialogfenster an (leider nicht bei allen, aber bleiben wir bei bedit layer einfüge etc.

Provokant würde ich nun sagen: Ändere über die Tastatur in der Layereigenschaftenpalette mal die Farbe des Layer0,
dann das Gleiche über die Befehlszeilenversion -Layer, wie du siehst sind das völlig andere (Tastatur)Abläufe..

Es ist also keine Ausnahme sondern die Regel das eine Befehlszeilenvariante anders abgearbeitet wird wie ein Dialogfenster.

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

Ingo Struck
Mitglied
Holztechniker


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

Beiträge: 459
Registriert: 08.01.2010

Intel Core i7-3770
16 GB RAM
AMD FirePro V3900 (FireGL V)
Windows 7 Pro SP1
AutoCAD 2017 SP1 - deutsch

erstellt am: 08. Apr. 2015 14:13    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 BL-CAD 10 Unities + Antwort hilfreich

Hallo cadffm,

die Auflistung der Befehle funktioniert bei mir leider nicht. Alles andere in diesem Zweig vorgeschlagene aber schon.

Befehl: _ai*
Unbekannter Befehl "AI*".

Eine kurze Beschreibung der Befehle habe ich aber bei "cadforum.cz" gefunden.


Zitat:
übersetze _ai einfach mit AutoCAD Intern und belasse es dabei

Gewundert habe ich mich bei den "_ai_irgendwas" Befehlen über die fehlende AutoCAD-Hilfe. Gesehen habe ich solche Befehle bisher oft in Lisp-Codeschnipseln hier im Forum. Daher nahm ich an, dass sie eine Lisp-eigene Geschichte seien. Der TE besitzt jedoch offenbar AutoCAD LT. Aus diesem Grund habe ich mich gewundert, dass das Makro bei ihm läuft.

Der Unterschied zwischen "_bedit" und "_-bedit" ist mir schon klar. Die zweite Version wurde aber bisher auch noch nicht erwähnt. Mir war noch nicht aufgefallen, dass auch bei "_bedit" das Dialogfeld unterdrückt wird, wenn der Befehl nicht in der Befehlszeile eingetippt, sondern als Makro einem Knopf zugewiesen wird. Wieder was gelernt.

mfg, Ingo 

------------------
"Umwege erhöhen die Ortskenntnisse!"

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 08. Apr. 2015 14: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 BL-CAD 10 Unities + Antwort hilfreich

Dialogfeld: Acad ist bekannt ob der Befehlsaufruf über die Befehlszeile eingetippt wurde oder durch eine Automation kommt.
In den Fällen in denen es eine Befehlszeilenversion gibt wird dann automatisch diese verwendet (im Regelfall). Man kann mit auch einer Tilde bei der Eingabe das Dialogfeld "erzwingen".
Zumindest beim Dateiwahldialog, ob es auch entgegen der Hilfe in anderen Fällen funktioniert habe ich nicht getestet.

oder bei Lisp vor einem Lispcommand mit initdia

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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