Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD Mechanical
  Makro Ansichtsfenster frieren mit Leerzeichen

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
Autor Thema:   Makro Ansichtsfenster frieren mit Leerzeichen (266 mal gelesen)
CadK
Mitglied


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

Beiträge: 2
Registriert: 23.01.2020

erstellt am: 23. Jan. 2020 11:27    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 habe vor ein Makro zu schreiben, das Layer + Xref Layer in einem Ansichtsfenster frieren soll.

Klappt auch alles, nur wenn im Layer Name ein Leerzeichen auftaucht dann funktioniert dies nicht.
Habe schon versucht das Leerzeichen mit "" zu ersetzen, was leider nicht zum erfolgt führt.

z.B. Name der Layer:
Layer_1
Layer 2

Da der Name des zweiter Layer mit einen Leerzeichen versehen ist, klappt es leider nicht.
Den Namen des Layers zu ändern ist keine Option, da Kundenvorgabe.

Jemand eine Lösung wie ich in das Makro ein Leerzeichen definiere?

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13435
Registriert: 30.11.2003

ACAD 2011 Mechanical

erstellt am: 23. Jan. 2020 11:36    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 CadK 10 Unities + Antwort hilfreich

wie sieht denn dein Makro aus ?

(command "-layer" "_f" "LAYER 1" "")  ??

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

CadK
Mitglied


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

Beiträge: 2
Registriert: 23.01.2020

erstellt am: 23. Jan. 2020 11:43    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

^C^Cexpert;0;aflayer;tau;*;AK;^C^Caflayer;fri;*Layer_1*;*Layer 2*;;;

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13435
Registriert: 30.11.2003

ACAD 2011 Mechanical

erstellt am: 23. Jan. 2020 12:35    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 CadK 10 Unities + Antwort hilfreich

Layername in Anführungszeichen setzen
oder
command verwenden

(setvar "expert" 0)(command "aflayer" "tau" "*" "AK")(command "aflayer" "fri" "Layer_1" "Layer 2" "")

oder so ähnlich

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

cadffm
Ehrenmitglied V.I.P. h.c.
良い精神



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: 19656
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 23. Jan. 2020 13: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 CadK 10 Unities + Antwort hilfreich

Bei dem Problem mit dem Leerzeichen bist du überhaupt noch nicht angekommen,
aber vermutlich siehst du das nicht mit Expert=0.

1. Verwende nicht Expert=0
  Das kann man, wenn man es für sinnvoll erachtet, am Ende hinzufügen wenn alles fertig ist oder halt sofort - wenn man ein Überflieger ist.
  Zum erarbeiten eines Makros, immer alle Meldungen an Menuecho, Expert usw. sonst siehst du womöglich nicht was passiert beim eintippen
  und durchgehen der Eingaben[F2]

2. Wenn du die Rückgabe nicht unterdrückst, das Makro ausführst, siehst du das Problem beim übergeben den zweiten Layernamens,
  Acad fragt dich an der Stelle überhaupt nicht nach einem Namen sondern nach einem Ansichtsfenster auf das
  es angewendet werden soll.
  Problem: Semikolon statt Komma verwendet und Semikolon ist ein ENTER (welches die Objektwahl bzw Abfrage der Layernamen beendet).

3. Leerzeichen im Makro wie CADmium schreibt, muß dem Programm mitteilen das man gerade einen Textstring übermitteln will,
  also kommt die Angabe des/der Layernamen in Anführungszeichen, dann klappts auch mit dem Leerzeichen.
   
  ^C^Caflayer;tau;*;AK;^C^Caflayer;fri;"*Layer_1*,*Layer 2*";;;


Bis hier ist deine Frage geklärt, kostenlos oben drauf kommt:
Warum brichst du den ersten aflayer Befehl ab? ^C
Wenn der Befehl abgebrochen wurde dann ist auch kein anderer aktiv, warum sendest du noch einmal "abbrechen"=ESC? ^C
Nach erfolgreichem Abbrechen wird der selbe Befehl gestartet der soeben mühsam abgebrochen wurde, gibt es da einen Sinn dahinter?

  ^C^C^Caflayer;tauen;*;aktuell;frieren;"*Layer_1*,*Layer 2*";aktuell;;

EndLevel: DIESEL IF
AFLAYER hat einen anderen Ablauf wenn man im Modellbereich ist, das Makro sollte das berücksichtigen.
Systemvariable TILEMODE und auch CVPORT kann da hilfreich sein.

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