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