Hi,
das richtige STORE_xxx ist wichtig, z.B. wegen SPLINE-Konvertierung.
Im Übrigen ist es in OSD-Drafting 13 möglich in ACAD12-Format direkt
zu speichern. Vielleicht kann der Kunde diese Version ja doch noch einlesen.
Hier meine Lösung aus Version 8.7, da Office 97 auch nur ACAD10 lesen kann, bzw unsere Messmaschinensoftware auch so dumm ist.
Parameter sind:
dxf_version: 10 oder 12
Teilename z.B. '.' oder '/'
DEFINE Speichere_dxf
PARAMETER dxf_version
PARAMETER Teilename
LOCAL Dxf_filename
LOCAL Mi_outfile
LET Mi_outfile ((GETENV 'METMPDIR')+'\mi_outf.mi')
DISPLAY 'Wenn DXF fuer MS-Office, dann unbedingt Teilestruktur aufloesen <TEILE 1> <ET INTEGR> <DatenBehal>/<AnzeigBeha> bis nur noch TOP-Teil uebrig.'
LET Si_konversion_logfile ((GETENV 'METMPDIR')+'\mi_dxf.log')
LOOP
READ STRING 'Name der DXF-Datei eingeben' Dxf_filename
EXIT_IF (((POS Dxf_filename '.')<=9) AND (LWC (SUBSTR Dxf_filename (POS
Dxf_filename '.') 4)='.dxf'))
END_LOOP
IF (dxf_version = 12)
STORE DXF Teilename DEL_OLD Dxf_filename
ELSE_IF (dxf_version = 10)
TRAP_ERROR
CONVERT_C_TO_B_SPLINE GLOBAL ALL END
TRAP_ERROR
CONVERT_SPLINE 1 global all end
STORE_240 MI Teilename DEL_OLD Mi_outfile CONFIRM
TRAP_ERROR
COPY_FILE (Dxf_ver10_dir+'DXF.con') '.' END
DISPLAY_NO_WAIT 'Ûbersetze MI-Datei nach DXF'
RUN (Dxf_ver10_dir+'dxf -o -n '+Dxf_ver10_dir+'DXF.ms -f '+Mi_outfile+' '+
Dxf_filename+' '+Si_konversion_logfile)
ELSE
DISPLAY 'Falscher Versionsparameter gewaehlt. Gueltig 10 oder 12!'
END_IF
TRAP_ERROR
PURGE_FILE 'DXF.con' CONFIRM END
END_DEFINE
------------------
kjw
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP