Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Befehl -layer SE beenden ohne *Abbruch* möglich ?

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:  Befehl -layer SE beenden ohne *Abbruch* möglich ? (1243 / mal gelesen)
fetzerman
Ehrenmitglied
Tischlermeister / Planer / CAD-Admin


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

Beiträge: 1920
Registriert: 17.02.2002

erstellt am: 28. Dez. 2020 10:38    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

Moin zusammen !
Ich bewege mich etwas abseits meiner gewohnten Pfade (Revit und Inventor) 

Ist der Befehl

Code:
-layer SE
irgendwie ohne *Abbruch* zu beenden ?

Hintergrund: Ich schreibe gerade ein Scr zum Platzieren von Blöcken aus einer Excelliste. Hierbei sollen die Blöcke auf entsprechenden Layern landen.

Vielen Dank für eure nachweihnachtlichen Hilfe,
Gruß, Bernhard

------------------
MÜSSTE SOLLTE KÖNNTE WÜRDE HÄTTE MACHEN !

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: 28. Dez. 2020 10:41    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 fetzerman 10 Unities + Antwort hilfreich

Hi,

mit einer Leereingabe (also "NUR Enter") verlässt du den Befehl wieder.

Teste es aus:
-LAYER<enter>
<enter>


PS: -LA SE würde bedeuten: Der Layer exisitert bereits und ist nicht gefroren.
Wenn das der Fall ist, dann kannst du auch einfach die Variable für den aktuellen Layer
direkt ändern: CTAB
CTAB
MeinLayerName


Für ein Macro/Script/(send)Command bei dem es aber nich zu 100% sicher ist,
würde man es zunächst sicher stellen und dann aktuell setzen (falls überhaupt nötig für die Aufgabe)


-LAYER
tauen
MeinLayer
machen
MeinLayer

fertig, da MACHEN den Layer zugleich auch aktuell setzt.

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

fetzerman
Ehrenmitglied
Tischlermeister / Planer / CAD-Admin


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

Beiträge: 1920
Registriert: 17.02.2002

erstellt am: 28. Dez. 2020 11:17    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 cadffm,
Danke für die rasche Antwort.

Ich habe bewusst SE gewählt, da das SCR nur mit einer bestimmten DWG-Vorlage funktionieren soll. Layer ist dann auf jeden Fall bereits vorhanden.

Aber selbst mit Machen lande ich in der Endlosschleife der Layeroptionen

Code:
Befehl: '_script
Befehl: _-layer
Aktueller Layer:  "_Sx"
Option eingeben [?/Machen/SEtzen/Neu/Umbenennen/EIN/AUs/FArbe/Ltyp/LStärke/TRansparenz/MATerial/Plot/Frieren/Tauen/SPerren/ENtsperren/STatus/Beschreibung/ABstimmen/Xref]: Machen
Namen für neuen Layer eingeben (wird aktueller Layer) <_Sx>: _Sx

nach dem _Sx sollte nun der nächste Schritt im SCR ausgeführt werden. Nämlich

Code:
_-Insert "Sx" 520,660,-80 1 0

Wobei Sx der Blockname, 520,660,-80 die Koordinaten 1 die Skalierung und 0 die Drehung des Blocks ist.

Aber _Insert wird nach _Sx nicht akzeptiert 

------------------
MÜSSTE SOLLTE KÖNNTE WÜRDE HÄTTE MACHEN !

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: 28. Dez. 2020 11:25    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 fetzerman 10 Unities + Antwort hilfreich

Wie bereits gesagt, "Teste es aus:"! IN DER BEFEHLSZEILE, P E R  H A N D !!
Probiere es doch einfach aus um zu verstehen was du da machst,
dann kannst du auch dein Script sauber schreiben (statts try&error).

-LAYER<enter>
du bis im Befehle drin, keine Option aktiv, an dieser Stelle im Befehl
ein weiteres ENTER und du verlässt den Befehl wieder.

In einem Script ist der Zeilenumbruch ein ENTER.

---

Zitat:
Original erstellt von cadffm:
-LAYER<enter>
tauen<enter>
MeinLayer<enter>
machen<enter>
MeinLayer<enter>
<enter>
[/i]

Also mit deiner nächsten Aktion (-EINFÜGE):
-LAYER<enter>
tauen<enter>
MeinLayer<enter>
machen<enter>
MeinLayer<enter>
<enter>
-EINFÜGE<enter>
usw.

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

fetzerman
Ehrenmitglied
Tischlermeister / Planer / CAD-Admin


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

Beiträge: 1920
Registriert: 17.02.2002

erstellt am: 29. Dez. 2020 14: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


BFE_2020.12.29_14h07m39s_003_.mp4

 
Hallo cadffm,
bitte entschuldige die verspätete Rückmeldung.
Ich war gestern noch beim Zahnarzt 

Das hat soweit geklappt. Danke nochmals!

Stand jetzt funktioniert das Layersetzen und Einfügen der Blöcke, das Ausfüllen von Attributen und das Aktualisieren einer Datenextraktionstabelle per Script in ein einer leeren DWG.

Sobald jedoch im Bereich, in dem die Blöcke platziert werden sollen irgendetwas vorhanden ist (Linie oder ein anderer Block) werden die zu platzierenden Blöcke zwar eingesetzt, jedoch teilweise nicht an denen im Script hinterlegten Koordinaten 

Im Anhang ein Screenvideo als MP4

Hast Du eine Idee woran das liegt?

------------------
MÜSSTE SOLLTE KÖNNTE WÜRDE HÄTTE MACHEN !

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: 29. Dez. 2020 15: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 Nur für fetzerman 10 Unities + Antwort hilfreich

Das Video schaue ich mir jetzt nicht an, denke aber dennoch darauf antworten zu können.

Zitat:
Original erstellt von fetzerman:
Sobald jedoch im Bereich, in dem die Blöcke platziert werden sollen irgendetwas vorhanden ist (Linie oder ein anderer Block)
werden die zu platzierenden Blöcke zwar eingesetzt, jedoch teilweise nicht an denen im Script hinterlegten Koordinaten   
Hast Du eine Idee woran das liegt?

An der aktuellen Einstellung des fortlaufenden Objektfanges bzw. wann dieser zu berücksichtigen ist.

In deinem Skript gibtst du keinen Objektfang an, auch wird dieser nicht deaktiviert,
also wird der fortlaufende Objektfang verwendet (falls eingeschaltet, was bei dir wohl der Fall ist).

So entspricht es der AutoCAD-Standardeinstellung von OsnapCoord, siehe auch OPTIONEN/BENUTZEREINSTELLUNGEN.
Standard-Vorgabeeinstellung ist: Koordinate per Hand eingeben = KEIN Objektfang berücksichtigen,
Koordinate durch eine Automatisierung eingeben (lassen) = Objektfang berücksichtigen.
Daher verhalten sich Scripte/Makro/(send)command anders wie beim händischen Test,
einfach weil die Objektfangeinstellungen unberücksicht und somit auf "gut Glück" blieben.
(und somit das Ergebnis mit jedem AutoCAD-Profil das Ergebnis anders aussehen könnte)

Möchte man einen ganz bestimmten Punkt angeben, so muss man den Objektfang und die Eingabe des Punktes klipp und klar definieren.
- Sollen sich die Koordinaten auf das WKS oder das ggf. abweichende aktuelle Koordinatensystem beziehen?
  Das ist in dem Teil den du bisher gezeigt hast ebenfalls nicht geregelt.
- Soll der Objektfang verwendet werden, falls ja, welcher?


Da kann/sollte man sich also reichlich mit beschäftigen, aber auf die Schnelle ohne Rückfragen:
Bevor du die Koordinate sendest, überschreibe den ggf. aktiven aktuellen fortlaufenden Objektfang temporär mit "KEIN" Objektfang,
der AutoCAD Anwender sendet also ein "KEIN" oder auch "_non" vor der Punkteingabe.

 

Nachtrag:


Also zB.

Also mit deiner nächsten Aktion (-EINFÜGE):
-LAYER<enter>
tauen<enter>
MeinLayer<enter>
machen<enter>
MeinLayer<enter>
<enter>
-EINFÜGE<enter>
Blockname<enter>
Kein<enter>
0,8,15<enter>
usw.
usw.

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

fetzerman
Ehrenmitglied
Tischlermeister / Planer / CAD-Admin


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

Beiträge: 1920
Registriert: 17.02.2002

erstellt am: 29. Dez. 2020 15: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

Nochmals hallo!
Habe das gerade umgangen in dem ich alle Layer mit Inhalt per Script gefroren und nachher wieder getaut habe 

Jetzt fehlt mir noch der letzte Wupp / Denkanstoß:
Objekte löschen per Script
die Befehle LÖ oder Löschen oder Erase werden wenn sie im Script sind als unbekannt verarbeitet.

Ich hatte gedacht mit _LÖ Alles währe das erledigt 

------------------
MÜSSTE SOLLTE KÖNNTE WÜRDE HÄTTE MACHEN !

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: 29. Dez. 2020 15: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 fetzerman 10 Unities + Antwort hilfreich

>>Habe das gerade umgangen
Kann man so machen, du solltest aber DENNOCH zusätzlich das Objektfanghandling integrieren.
Je nach aktueller Ansicht könnte ja eine von deinen neuen Blockreferenzen auf dem Layer gefangen werden..!?
Aber selbst wenn das für die aktuelle Situation dies ausschliessen kannst, bei nächstne Mal oder bei einer
Anpassung in 3 Monaten fällt es dir wieder auf die Füße! Daher: Richtig machen.


>>die Befehle LÖ oder Löschen oder Erase werden wenn sie im Script sind als unbekannt verarbeitet.
LÖ ist ein Tastaturkürzel, kein Befehl -> funktioniert nicht in Automatisierungen
LÖSCHEN ist ein Befehl und funktioniert mit Sicherheit (in deutschen Versionen), sofern nicht manipuliert.
ERASE  ist ein Befehl und funktioniert mit Sicherheit (in englischen Versionen), sofern nicht manipuliert.
_ERASE ist der internationale Aufruf und funktioniert in allen Sprachversionen

_

>>Ich hatte gedacht mit _LÖ Alles währe das erledigt   
Es gibt im englischen keine Umlaute und LÖ ist nichtmal im deutschen ein Befehl,
geschweige denn ein internationaler Befehl (welche identisch zum englischen sind, mit vorangestelltem Unterstrich)

[/i][/QUOTE]

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

fetzerman
Ehrenmitglied
Tischlermeister / Planer / CAD-Admin


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

Beiträge: 1920
Registriert: 17.02.2002

erstellt am: 29. Dez. 2020 15: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

Wird berücksichtigt 
Habe mittlerweile auch Deine FAQs gefunden. 

Gruß nach FFaM!

Bernhard

------------------
MÜSSTE SOLLTE KÖNNTE WÜRDE HÄTTE MACHEN !

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: 29. Dez. 2020 16: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 Nur für fetzerman 10 Unities + Antwort hilfreich

Na dann noch viel Spaß damit 

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