Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Makro in eigenem Button

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:  Makro in eigenem Button (2584 mal gelesen)
janaboland
Mitglied


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

Beiträge: 5
Registriert: 15.09.2010

ACAD 2000
Expresstools
Win XP

erstellt am: 15. Sep. 2010 21:45    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

Liebe Gemeinde,

ich arbeite mit Autocad 2000 und brauche es "nur", um .dwg-Dateien für die Lasermaschine zu erstellen, in der Regel Abwicklungen aus Blechteilen.
Diese Dateien haben 2 Layer, den Layer 0 mit der zu schneidenden Kontur und den Layer GRAVUR mit den Beschriftungen für die Blechteile, die ebenfalls per Laser erfolgt.
Um diese Beschriftungen geht es. Die Schrift muß für die Laseranlage in Linien und Bögen umgewandelt werden.
Dazu wird der erstellte Text zunächst mit dem Befehl "txtexp" aus den Expresstools aufgelöst in Polylinien, dann in einem 2.Schritt mit dem Befehl "_explode" weiter aufgelöst in Linien und Bögen. In einem 3.Schritt muß der Text nun auf den Layer GRAVUR gelegt werden und die Farbe gelb erhalten.

Ich möchte diese 3 Schritte in einem Button (Makro) zusammenfassen, scheitere aber daran, daß der Text immer wieder neu ausgewählt werden muß.

Ich hoffe auf Eure Hilfe.
Herzliche Grüße
Jana

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


Ex-Mitglied

erstellt am: 15. Sep. 2010 21:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

herzlich willkommen bei CAD-de! 

>> scheitere aber daran, daß der Text immer wieder neu ausgewählt werden muß

Um den Text zu wählen, kannst Du LISP verwenden:
(SSGET "X" (list (cons 0 "TEXT")))

HTH, - alfred -

------------------
www.hollaus.at

janaboland
Mitglied


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

Beiträge: 5
Registriert: 15.09.2010

ACAD 2000
Expresstools
Win XP

erstellt am: 15. Sep. 2010 22: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

Vielen Dank Alfred,

Leider komme ich damit nicht weiter.
Mit LISP kenne ich mich garnicht aus und zudem ist der ausgewählte Text nach dem Schritt 1 (txtexp) kein Text mehr sondern 2D-Polylinien.
Wenn ich die erforderlichen Befehle unten in die Befehlszeile eingebe, funktioniert ja alles bestens.
Wenn ich jedoch diese Befehle zu einem Makro zusammenfasse, scheitert der Ablauf daran, daß das Makro jedesmal stoppt und ich die erforderlichen Elemente (der ursprüngliche Text) von Hand auswählen muß, das ist nicht der Sinn des Makros

Viele Grüße

Jana

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


Ex-Mitglied

erstellt am: 15. Sep. 2010 22:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

>> daß das Makro jedesmal stoppt

Solange wir das Makro nicht sehen, haben wir auch keine Chance zu erkennen, wieso 'es stoppt'.


>> zudem ist der ausgewählte Text nach dem Schritt 1 (txtexp) kein Text

Na dann wärs mit der zuvor gestellten Frage 'scheitere aber daran, daß der Text immer wieder neu ausgewählt' auch anders zu formulieren gewesen.

Wenn Du die Kontourlinien auf dem Layer GRAVUR haben willst, dann leg zuerst das AutoCAD-Textobjekt auf den Layer GRAVUR (Befehl _CHPROP), und dann TXTEXP starten, denn dann kommen auch die resultierenden Linien auf den Layer GRAVUR.

- alfred -

------------------
www.hollaus.at

janaboland
Mitglied


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

Beiträge: 5
Registriert: 15.09.2010

ACAD 2000
Expresstools
Win XP

erstellt am: 15. Sep. 2010 22:46    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 Alfred,

Der Befehl "txtexp" aus den Expresstools legt leider die Linien, die er aus den Textobjekten erzeugt, immer auf den Layer 0, egal von welchem Layer der Text stammt.
Mein Makro sieht folgendermaßen aus:

"txtexp;_explode;_p;eigändr;_p;la;GRAVUR;f;vonlayer"

"_p" soll die zuletzt gewählten Objekte wieder aktivieren.
Das funktioniert mit der Eingabe in die Befehlszeile, leider nicht, wenns im Makro eingebaut ist.

Viele Grüße
Jana

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


Ex-Mitglied

erstellt am: 15. Sep. 2010 23:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

ich hätte es probiert, aber nicht mit AutoCAD 2000. Ich lege am Anfang das Textobjekt auf den Layer X (sicherheitshalber kannst Du ja zwischenzeitlich auch den Layer X zum aktuellen Layer machen), wenn dann TXTEXP gestartet wird, dann kommen als Resultat die Outlines auf den Layer X. Probier das mal.

Oder hast Du auf die Befehlszeile geschaut, da steht 'The line objects have been placed on layer 0', das steht zwar in der Befehlszeile, stimmt aber nicht (bei mir). Wenn doch, dann kannst Du ja alternativ vorher alle Elemente von Layer 0 auf Layer TEMP legen, dann TXTEXP starten und nachfolgend statt _P bei der Selektion gibst Du

    (ssget "X" (list (cons 8 "0")))

==>das sammelt alles zusammen, was auf Layer 0 liegt.

- alfred -

------------------
www.hollaus.at

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: 16. Sep. 2010 09:16    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 janaboland 10 Unities + Antwort hilfreich

Moin,
da war mal was und dank Alfred ist's mir auch wieder eingefallen, was:

EXPLODE verhält sich im Makro ein wenig eigen 

So sollte es klappen:

Code:
-la;_m;"Gravur";;_change;\;_properties;_la;"Gravur";;-la;_freeze;"*";;txtexp;_all;;_.PSELECT;_all;;_.EXPLODE

Getestet allerdings in der 2011-er Version.
Teste und berichte :)

Folgend ein Zitat von cadffm   

Zitat:
[...] eine Standardantwort zum Thema:
Ursprung (_explode) verhält sich in jeglicher Art von 'SKripten' anders
als sonst - dokumentiert in der Acadhilfe.

Möglichkeiten:
1. Eines der Lisps aus dem Forum (_explode für jedes Element in einem Auswahlsatz)
2. man nutzt "PSELECT" -> dafür muß man jedoch sicherstellen das die Funktion geladen
  wurde, also muß das _Propertie-Fenster einmal offen gewesen sein in der akt.Datei.
  ^C^C_.PSELECT;_all;;_.EXPLODE

3. Man nutzt einfach den Befehl _Xplode mit der Option "Ursprung" -> dies sollte 1:1
  dem _explode-Befehl entsprechen (nie "100%ig" getestet, aber lt.Hilfe..) und er
  funktioniert auch in 'Skripten'
  ^C^C_.PSELECT;_all;;_.XPLODE;_p;;_g;URSPRUNG  {<- ich war zu faul den engl. Optionstitel herauszusuchen  }


HTH

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

System-Info | Dateianhänge | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope

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: 16. Sep. 2010 09:19    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 janaboland 10 Unities + Antwort hilfreich

Hallo janaboland,

probier mal folgendes Schaltermakro:

<_select;\_change;_p;;ei;la;GRAVUR;f;gelb;;_txtexp;_p;;_explode;_p;;>

mfg, Ingo 

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

janaboland
Mitglied


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

Beiträge: 5
Registriert: 15.09.2010

ACAD 2000
Expresstools
Win XP

erstellt am: 16. Sep. 2010 12: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

Liebe Runkelrübe,

dein Vorschlag geht in die richtige Richtung, da ich aber mit ACAD 2000 arbeite, steht mir der Befehl pselect nicht zur Verfügung. Die ganze Schwierigkeit liegt einfach darin, daß sich manche Befehle im Makro anders verhalten als bei der direkten Eingabe, dazu gehört _explode. Der entscheidende Tipp war, stattdessen _xplode zu nehmen.
Mein Makro läuft nun zufriedenstellend:
-----------------------
txtexp;eigändr;_p;;la;"GRAVUR";f;vonlayer;;_xplode;_p;;;;
-------------------------
Ausgangslage ist: Layer 0 und Layer GRAVUR vorhanden,
Linien und Textobjekte auf Layer 0,
1.) Texte auswählen
2. Makro (Button) starten
Danach sind die Texte zerlegt in einzelne Linien und befinden sich auf dem Layer GRAVUR.

Viele Grüße
Jana Boland

[Diese Nachricht wurde von janaboland am 16. Sep. 2010 editiert.]

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

janaboland
Mitglied


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

Beiträge: 5
Registriert: 15.09.2010

ACAD 2000
Expresstools
Win XP

erstellt am: 16. Sep. 2010 12: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

Lieber Ingo,

Vielen Dank für Deinen Vorschlag.
Im Prinzip funktioniert das so, nur der _txtexp-Befehl muß vor der Layergeschichte erfolgen, weil dieser Befehl nach vollbrachter Tat die zu 2D-Polylinien gewandelten Texte wieder auf den Layer 0 legt.
Den _explode-Befehl habe ich ersetzt durch _xplode, weil _explode im Makro nicht mit anschließendem _p funktioniert.

Viele Grüße

Jana Boland


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