Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  In einer Batch Datei den Dateien Pfad der DXF-Datei in legen

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:  In einer Batch Datei den Dateien Pfad der DXF-Datei in legen (1817 mal gelesen)
lenge
Mitglied
Holztechniker


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

Beiträge: 19
Registriert: 24.01.2013

AutoCAD 2012
AlphaCAM 2013
Part Modeler 2013
Pytha V21
WoodWop 6.0

erstellt am: 25. Feb. 2013 22: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

Hi Leute,

ich hab da ein Problem!

Wie kann dem Lisp-Programm gesagt werden, das er mir den Pfad in einer .bat in " " setzt?

Mfg

lenge 

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

Alles

erstellt am: 25. Feb. 2013 23: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 lenge 10 Unities + Antwort hilfreich

In dem man dem gewünschten Anführungszeichen einen Backslash voranstellt.

Beispielcodezeile: (writeline "meinPfad \"C:Tools/FunnyLisp.lsp\" in Anführungszeichen" D)
 


------------------
Link: User:FAQ (einiges Wissenswertes über AutoCAD)

[Diese Nachricht wurde von cadffm am 25. Feb. 2013 editiert.]

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

lenge
Mitglied
Holztechniker


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

Beiträge: 19
Registriert: 24.01.2013

AutoCAD 2012
AlphaCAM 2013
Part Modeler 2013
Pytha V21
WoodWop 6.0

erstellt am: 26. Feb. 2013 12: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

Hi 

danke geht

aber jetzt hab ich ein anderes Problem und zwar das:

START.BAT schreiben:

  (setvar "cmdecho" 1)

  (setq Pfad1 "C:\\Planit\\LICOMDIR\\VBMacros\\StartUp\\PythaAnbindung\\PYTHAacamextern.exe ")

  (setq Pfad2 (strcat (getvar "DWGPREFIX") "uebergabe.bat"))

  (setq Pfad (strcat Pfad1 Pfad2))

  (setq script (open "Start.BAT" "w"))

  (write-line Pfad script)
  (close script)

  (princ "\nStart.bat erzeugt! ")

; dieser Namen/Pfad ist variabel DWGPREFIX angeben und wird dann wenn ich den in" "setzte als string aus gewärtet, somit kann ich nicht ein neues verzeichnis verwenden, es geht auch nur diese datei dann ;

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

spider_dd
Mitglied



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

Beiträge: 1111
Registriert: 27.11.2003

Win 10Pro
Intel(R) Core(TM) i7-7700
NVIDIA Quadro P1000
ACAD, Civil-3D 2018

erstellt am: 26. Feb. 2013 15:08    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 lenge 10 Unities + Antwort hilfreich

Hallo lenge,

Deinen letzten Satz verstehe ich irgendwie nicht. 
Mit Deinen angegebenen Lisp-Zeilen erhalte ich eine Start.bat Datei mit dem Inhalt:

c:\Planit\....extern.exe mein_aktueller_zeichnungspfad\uebergabe.bat

Das erscheint mir auch irgendwie logisch, im Zeichnungspfad wird nun eine Datei uebergabe.bat erwartet, die beim Aufruf von Start.bat ausgeführt wird.
Was ist nun nicht so, wie Du es erwartest / wünschst?

Gruß
Thomas

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

lenge
Mitglied
Holztechniker


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

Beiträge: 19
Registriert: 24.01.2013

AutoCAD 2012
AlphaCAM 2013
Part Modeler 2013
Pytha V21
WoodWop 6.0

erstellt am: 26. Feb. 2013 18:14    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 spider_dd

ich bin zur Zeit am schreiben von einer DXF-Schnittstelle, bei dieser ich eine Routine einbringen möchte die mir ermöglicht die erstellte DXF-Datei, in AlphaCam automatisch einzulesen und so ein CNC-Programm auf einer ganz schnellen und einfacheren Art zu schreiben.

die Start.bat sollte so aus sehen:
Beispiel:

C:\Planit\LICOMDIR\VBMacros\StartUp\PythaAnbindung\PYTHAacamextern.exe
"C:\Users\Daniel\Desktop\Neuer Ordner\uebergabe.bat"

Das was jetzt in " " ist (wird oder ich bekomms nicht hin) wird in AutoCad Lisp nicht in  " " gestetzt.

Hier seht ihr das gante Programm:

; die folgende Routine sucht aus vollstendigem Pfad den Dateinamen ohne Endung:

(defun ScanName (name / k i m ch )

;  Länge des Namens
  (setq k (strlen name))

  (setq k (- k 4)) ;LU

  (setq i 1)
  (setq m 0)
  (setq ch (substr name i 1))
;  setze m auf Position des letzten "\"
  (while (< i k)
      (if (= ch "\\") (setq m i))
      (setq i (1+ i))
      (setq ch (substr name i 1))
  )
;  k auf Anzahl restlicher Zeichen
  (setq k (- k m))
;  m auf nächstes Zeichen
  (setq m (1+ m))
;  NAME sind restlichen Zeichen
  (substr name m k)
)
;Ende

(defun C:camdxf (/)

;  automatisches Bereinigen der nicht referenzierten Blöcke und Layer:

(command "_purge" "BL" "")
(while (= (getvar "cmdnames") "PURGE")
(command "j")
)

(command "_purge" "BL" "")
(while (= (getvar "cmdnames") "PURGE")
(command "j")
)

(command "_purge" "LAYER" "")
(while (= (getvar "cmdnames") "PURGE")
(command "j")
)


; dxf-Datei aus DWG automatisch schreiben

  (setq dxfn (strcat (getvar "DWGPREFIX") (scanname (getvar "DWGNAME"))))
  (command "_DXFOUT" dxfn "6" "")
  (princ "\nDXF-Datei wird erzeugt. Bitte warten! ")

;----------------------------------------------------------------


; START.BAT schreiben:

  (setvar "cmdecho" 1)
  (setq Pfad1 "C:\Planit\LICOMDIR\VBMacros\StartUp\PythaAnbindung\PYTHAacamextern.exe ")
  (setq Pfad2 (strcat (getvar "DWGPREFIX")"uebergabe.bat"))
  (setq Pfad (strcat Pfad1 Pfad2))
  (setq script (open "Start.BAT" "w"))
  (write-line Pfad script)
  (close script)

  (princ "\nStart.bat erzeugt! ")


;  automatisches Schreiben der DXF-Datei in das gleiche Verzeichnis wie die DWG


  (setq dxfnam (strcat (scanname (getvar "DWGNAME")) ".dxf"))
  (setq script (open "uebergabe.BAT" "w"))
  (write-line dxfnam script)
  (close script)
  (princ "\nUebergabe.bat erzeugt! ")
  (setvar "cmdecho" 0)

  (princ "\nDXF-Übergabe erfolgreich. Bitte warten! ")

) ;Ende

; ich ´habe es bis jetzt nicht in diesem Porgramm hin bekommen. ( aber extern schon bin einfach zu blöd dazu  )

Ps.: Vielleicht kann mir da ja jemand helfen.

MFG

Lenge

und danke schon für's lesen 

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

Alles

erstellt am: 26. Feb. 2013 22: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 lenge 10 Unities + Antwort hilfreich

Wenn immer nach DXFerstellung die Bat direkt aufgerufen werden soll dann kannst du das auch direkt aus Acad heraus anstoßen, ohne. Bat
Aber das ist ein anderes Thema.


(strcat "\"" pfad1 pfad2 "\"")

------------------
Link: User:FAQ (einiges Wissenswertes über AutoCAD)

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

spider_dd
Mitglied



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

Beiträge: 1111
Registriert: 27.11.2003

Win 10Pro
Intel(R) Core(TM) i7-7700
NVIDIA Quadro P1000
ACAD, Civil-3D 2018

erstellt am: 27. Feb. 2013 08: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 lenge 10 Unities + Antwort hilfreich

Hallo lenge,

oder (strcat pfad1 "/"" pfad 2 "/"")  (strcat pfad1 "\"" pfad2 "\"").

Meines Erachtens ist auch Deine Funktion ScanName an der Stelle nicht wirklich nötig, weil (getvar "dwgname") liefert Dir ja schon den Namen der Zeinungsdatei ohne Pfad und

(substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4))

den Namen ohne Extension.

Gruß
Thomas

/edit
Da hatten sich doch oben ein paar blöde Fehler eingeschlichen    .

[Diese Nachricht wurde von spider_dd am 27. Feb. 2013 editiert.]

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

lenge
Mitglied
Holztechniker


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

Beiträge: 19
Registriert: 24.01.2013

AutoCAD 2012
AlphaCAM 2013
Part Modeler 2013
Pytha V21
WoodWop 6.0

erstellt am: 27. Feb. 2013 10: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

hi spider_dd und cadffm

1000 danke für eure hilfe!

jetzt geht alles danke

MGF

lenge

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