Ich glaube per Api hab ich was gefunden ...
siehe:
http://files.solidworks.com/API/Examples/00000/0000s/0034/Example.htm müsste auch per Option einstellbar sein (keine Ahnung wo)...
In dem zip ist ein bas Modul falls du es nicht lesen kannt hier der Progcode ...
'----------------------------------------------
' Saves current drawing file as a DXF in the same directory
'
' Preconditions:
' 1) a drawing file is open
'
' Postconditions:
' 1) DXF file is generated, overwriting any existing file
Option Explicit
Public Enum swSaveAsVersion_e
swSaveAsCurrentVersion = 0 ' default
swSaveAsSW98plus = 1 ' save SW model in SW98plus model format - NO LONGER SUPPORTED
swSaveAsFormatProE = 2 ' save Sw part as Pro/E format .prt/.asm extension (not as Sw .prt/.asm)
End Enum
Public Enum swSaveAsOptions_e
swSaveAsOptions_Silent = &H1 ' Save document silently or not
swSaveAsOptions_Copy = &H2 ' Save document as a copy or not
swSaveAsOptions_SaveReferenced = &H4 ' Save referenced documents or not (drawings and parts only)
End Enum
Public Enum swFileSaveError_e
swGenericSaveError = &H1
swReadOnlySaveError = &H2
swFileNameEmpty = &H4 ' The filename must not be empty
swFileNameContainsAtSign = &H8 ' The filename can not contain an '@' character
swFileLockError = &H10
swFileSaveFormatNotAvailable = &H20 ' The save as file type is not valid
swFileSaveWithRebuildError = &H40 ' NO LONGER USED IN SW2001PLUS, moved to swFileSaveWarning_e
swFileSaveAsDoNotOverwrite = &H80 ' The user chose not to overwrite an existing file
swFileSaveAsInvalidFileExtension = &H100 ' The file extension differs from the Sw document type
End Enum
Public Enum swFileSaveWarning_e
swFileSaveWarning_RebuildError = &H1 ' The file was saved, but with a rebuild error
End Enum
Public Enum swMessageBoxIcon_e
swMbWarning = 1
swMbInformation = 2
swMbQuestion = 3
swMbStop = 4
End Enum
Public Enum swMessageBoxBtn_e
swMbAbortRetryIgnore = 1
swMbOk = 2
swMbOkCancel = 3
swMbRetryCancel = 4
swMbYesNo = 5
swMbYesNoCancel = 6
End Enum
Public Enum swMessageBoxResult_e
swMbHitAbort = 1
swMbHitIgnore = 2
swMbHitNo = 3
swMbHitOk = 4
swMbHitRetry = 5
swMbHitYes = 6
swMbHitCancel = 7
End Enum
Public Enum swDxfFormat_e
swDxfFormat_R12 = 0
swDxfFormat_R13 = 1
swDxfFormat_R14 = 2
swDxfFormat_R2000 = 3
End Enum
Public Enum swArrowDirection_e
swINSIDE = 0
swOUTSIDE = 1
swSMART = 2
End Enum
' swUserPreferenceToggle_e
Const swDxfMapping As Long = 8
Const swDXFDontShowMap As Long = 21
' swUserPreferenceIntegerValue_e
Const swDxfVersion As Long = 0
Const swDxfOutputFonts As Long = 1
Const swDxfMappingFileIndex As Long = 2
Const swDxfOutputLineStyles As Long = 135
Const swDxfOutputNoScale As Long = 136
Const swDxfOutputScaleFactor As Long = 137
' swUserPreferenceStringListValue_e
Const swDxfMappingFiles As Long = 0
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDraw As SldWorks.DrawingDoc
Dim sPathName As String
Dim nErrors As Long
Dim nWarnings As Long
Dim nRetval As Long
Dim bShowMap As Boolean
Dim bRet As Boolean
Set swApp = CreateObject("SldWorks.Application")
Set swModel = swApp.ActiveDoc
Set swDraw = swModel
' strip off SolidWorks file extension (slddrw)
' and add DXF extension (dxf)
sPathName = swModel.GetPathName
sPathName = Left(sPathName, Len(sPathName) - 6)
sPathName = sPathName + "dxf"
' dump current settings
Debug.Print "DxfMapping = " + Str(swApp.GetUserPreferenceToggle(swDxfMapping))
Debug.Print "DXFDontShowMap = " + Str(swApp.GetUserPreferenceToggle(swDXFDontShowMap))
Debug.Print "DxfVersion = " + Str(swApp.GetUserPreferenceIntegerValue(swDxfVersion))
Debug.Print "DxfOutputFonts = " + Str(swApp.GetUserPreferenceIntegerValue(swDxfOutputFonts))
Debug.Print "DxfMappingFileIndex = " + Str(swApp.GetUserPreferenceIntegerValue(swDxfMappingFileIndex))
Debug.Print "DxfOutputLineStyles = " + Str(swApp.GetUserPreferenceIntegerValue(swDxfOutputLineStyles))
Debug.Print "DxfOutputNoScale = " + Str(swApp.GetUserPreferenceIntegerValue(swDxfOutputNoScale))
' currently broken
' SPR 132958 - "SldWorks::Get/SetUserPreferenceToggle(swDxfOutputScaleFactor) not implemented"
Debug.Print "DxfOutputScaleFactor = " + Str(swApp.GetUserPreferenceIntegerValue(swDxfOutputScaleFactor))
Debug.Print ""
' turn off showing of map
bShowMap = swApp.GetUserPreferenceToggle(swDXFDontShowMap)
Debug.Print "bShowMap = " + Str(bShowMap)
'If bShowMap = False Then bShowMap = True Else bShowMap = True
' currently broken
' SPR 121019 - "SldWorks::SetUserPreferenceToggle(swDXFDontShowMap) not implemented"
swApp.SetUserPreferenceToggle swDXFDontShowMap, False
bShowMap = swApp.GetUserPreferenceToggle(swDXFDontShowMap)
Debug.Print "bShowMap = " + Str(bShowMap)
bRet = swModel.SaveAs4(sPathName, _
swSaveAsCurrentVersion, _
swSaveAsOptions_Silent, _
nErrors, _
nWarnings)
If bRet = False Then
nRetval = swApp.SendMsgToUser2("Problems saving file.", swMbWarning, swMbOk)
End If
' currently broken
' SPR 121019 - "SldWorks::SetUserPreferenceToggle(swDXFDontShowMap) not implemented"
swApp.SetUserPreferenceToggle swDXFDontShowMap, bShowMap
bShowMap = swApp.GetUserPreferenceToggle(swDXFDontShowMap)
Debug.Print "bShowMap = " + Str(bShowMap)
End Sub
'----------------------------------------------
------------------
http://classicvb.org/petition/
Zitat:
Interpunktion und Orthographie des Postings sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP