Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Ursprung in Batchdatei

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:  Ursprung in Batchdatei (911 mal gelesen)
mundal
Mitglied
Techniker


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

Beiträge: 320
Registriert: 14.02.2005

erstellt am: 10. Jun. 2008 16: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 Zusammen,
ich habe ein kleines Script geschrieben welches eine DWG lädt,
danach umschaltet auf den Modellbereich, den Inhalt des Modellbereichs in den Ursprung versetzt und die Zeichnung danach wieder abspeichert.

Funktioniert soweit alles, ausser dem "Sprengen" in den Ursprung.
Beim "händischen" Ablauf funktioniert alles so, wie ich es möchte, leider im Script nicht.

Hier Auszug aus dem Script:
---------------------------

...
tilemode 1
zoom Grenzen
ursprung AL
_dxfout "C:\temp\A.dxf" 16
...


was ist zu tun ?
Wo liegt der fehler ?

danke im voraus

Joachim

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: 13508
Registriert: 30.11.2003

.

erstellt am: 10. Jun. 2008 16:32    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 mundal 10 Unities + Antwort hilfreich

_explode verhält sich im Script und im commandaufruf so , das nur jeweils 1 Objekt aufgelöst wird.
Für sowas muß man dann _explode in einer Schleife laufen lassen .. Beispiele hierfür solltest du mit der Forensuchen finden.

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

mundal
Mitglied
Techniker


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

Beiträge: 320
Registriert: 14.02.2005

erstellt am: 10. Jun. 2008 16: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

Hi Thomas,
ich hatte versucht den EXPLODE-Befehl mehrmals hintereinander zu
aktivieren, dennoch blieb das Ergebnis dasselbe.

Gruss
Joachim

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: 13508
Registriert: 30.11.2003

.

erstellt am: 10. Jun. 2008 16:52    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 mundal 10 Unities + Antwort hilfreich

kopier dir folgende Zeilen in dein Script:

(while (setq A(ssget "_x" (list'(0 . "INSERT")(cons 410 (getvar "CTAB")))))
  (progn
    (setq NR -1)
    (repeat (sslength A)
      (command "_explode" (ssname A (setq NR(1+ NR))))
    )
  )
)

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

fred_tomke
Mitglied
Applikationsingenieur


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

Beiträge: 156
Registriert: 14.06.2004

Map 2015 x64
Win7 x64
12 GB RAM
ADN
OpenDCL

erstellt am: 10. Jun. 2008 16:52    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 mundal 10 Unities + Antwort hilfreich

Hi, ich würde das schon so machen wie CADmium sagt, beim Laden der DWG aber eine Lisp laden, die das verschachtelte explodieren übernimmt. Ob ein verschachteltes Explodieren im Skript funktioniert, kann ich nicht beurteilen.
Hinweis: nicht alles lässt ich zerhacken!

Ich würde Dir gern helfen. Sende mir einfach eine Beispiel-Zeichnung und Dein Skript zu.

VG, Fred

------------------
Fred Tomke
Dipl.-Ing. (FH) Landespflege

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

fred_tomke
Mitglied
Applikationsingenieur


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

Beiträge: 156
Registriert: 14.06.2004

Map 2015 x64
Win7 x64
12 GB RAM
ADN
OpenDCL

erstellt am: 10. Jun. 2008 16:54    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 mundal 10 Unities + Antwort hilfreich

Hi CADmium, warst schneller als ich. Bin aber überrascht, dass LISP-Ausdrücke im Script funktionieren.

VG, Fred

------------------
Fred Tomke
Dipl.-Ing. (FH) Landespflege

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

Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 10. Jun. 2008 19:52    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 mundal 10 Unities + Antwort hilfreich

Danke Thomas,

für den Tipp, dass Lisp in Script läuft, war mir auch nicht bekannt.

Viele Grüße

Theodor Schönwald

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: 13508
Registriert: 30.11.2003

.

erstellt am: 11. Jun. 2008 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 Nur für mundal 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von fred_tomke:
Hi CADmium, warst schneller als ich. Bin aber überrascht, dass LISP-Ausdrücke im Script funktionieren.

VG, Fred


Warum soll das nicht gehen?
( .. ist das Kommando, den Lispinterpreter zu starten und alle folgende als Lispausdruck zu werten und abzuarbeiten

Alles was in der Befehlszeile geht, sollte auch im Script gehen

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

mundal
Mitglied
Techniker


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

Beiträge: 320
Registriert: 14.02.2005

erstellt am: 11. Jun. 2008 08: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

Hallo Zusammen,
ich habe diese LISP-Routine geschrieben.
Leider löst sich der Block immer noch nicht auf.
das Programm geht erst garnicht in die Schleife wenn ich es starte.


(defun c:knacker ()

(while (setq A(ssget "_x" (list'(0 . "INSERT")(cons 410 (getvar "CTAB"))))
  (progn
    (setq NR -1)
    (repeat (sslength A)
      (command "_explode" (ssname A (setq NR(1+ NR))))
    )
  )
)
)

Was kann das noch sein ?

Gruss
Joachim

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

CADchup
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 11. Jun. 2008 09: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 mundal 10 Unities + Antwort hilfreich

Hi,

Zitat:

Was kann das noch sein ?

du hast einen Klammerfehler eingebaut, dass ist alles. Außerdem kannst du die progn-Umklammerung weglassen, da innerhalb von
while-Schleifen alles abgearbeitet wird, solange die erste Bedingung erfüllt ist.
Dieser Knacker wird so übrigens nur bis zum ersten XRef, MInsert und "nicht auflösbarer" Blockreferenz laufen. Die musst du also ggf. noch abfangen.


Gruß
CADchup

------------------
CADmaro.de

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: 13508
Registriert: 30.11.2003

.

erstellt am: 11. Jun. 2008 10:06    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 mundal 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von CADchup:

Dieser Knacker wird so übrigens nur bis zum ersten XRef, MInsert und "nicht auflösbarer" Blockreferenz laufen. Die musst du also ggf. noch abfangen.

Richtig.

Aber gerade das Abfangen aller Eventualitäten und entsprechende Reaktionen und Nutzerführung zeichnen gute Tools aus, machen sie in der Programmierung aber aufwendiger.

..aber gottseidank gibts eine ERROR-funktion  oder  vl-catch-all-apply ..

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

mundal
Mitglied
Techniker


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

Beiträge: 320
Registriert: 14.02.2005

erstellt am: 11. Jun. 2008 10: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

hallo nochmals,

ich komme einfach nicht voran.
Hier nochmals mein Quellcode.

(defun c:knacker ()

(while (setq A(ssget "_x" (list'(0 . "INSERT")(cons 410 (getvar "CTAB")))))
 
    (setq NR -1)
    (repeat (sslength A)
      (command "_explode" (ssname A (setq NR(1+ NR))))
    )
)
)


Das Programm läuft einfach nicht in die Schleife.
Vielleicht sehe ich den Wald vor laauter Bäume nicht.

Wer kann mir auf die Sprünge helfen.

Gruss
Joachim

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: 13508
Registriert: 30.11.2003

.

erstellt am: 11. Jun. 2008 10: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 mundal 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von mundal:
hallo nochmals,

Das Programm läuft einfach nicht in die Schleife.
Vielleicht sehe ich den Wald vor laauter Bäume nicht.

Wer kann mir auf die Sprünge helfen.

Gruss
Joachim


doch macht es .. hast du vielleicht gar keine Blockreferenzen im aktuellen Layout?

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

CADchup
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 11. Jun. 2008 10:37    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 mundal 10 Unities + Antwort hilfreich

Ach, mir fallen eben noch die explode-Alternativen burst aus den Express Tools und xplode ein. Die arbeiten im Gegensatz zu explode in Lisp und Skript genauso wie an der Eingabeaufforderung. Für Plan B. 

Gruß
CADchup

------------------
CADmaro.de

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