Hallo Experten,
ich habe eine Baugruppe mit einem Sack voller Teile und Zeichnungen aus USA bekommen, die ich nun hierzulande nachfertigen soll.
Nun hab' ich zwar irgendwo hier im Forum mal ein Macro gefunden, das mir zöllige Maße in metrische umstellt.
Schön wäre aber, wenn es auch noch die Bemaßungsnorm von ANSI auf DIN umstellen würde. Per Macrorecorder hab' ich das nicht hinbekommen - ich hab' selber halt keine Ahnung von Macros .
Der Code zum Umstellen von Zoll auf metrisch lautet in schlichter Einfachheit:
------------------------------------------------------------------------------
' ******************************************************************************
' c:\temp\swx1236\Macro1.swb - macro recorded on 05/28/03 by Oberparleiter
' ******************************************************************************
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long
Dim Annotation As Object
Dim Gtol As Object
Dim DatumTag As Object
Dim FeatureData As Object
Dim Feature As Object
Dim Component As Object
Dim Model As Object
Dim wertinteger As Integer
Const swDocNONE = 0 ' Kein Typ
Const swDocPART = 1 ' Type Part
Const swDocASSEMBLY = 2 ' Type Baugruppe
Const swDocDrawing = 3 ' Type Zeichnung
Const swUnitsLinear = 47 ' Einheiten
Sub main()
' an SolidWorks und das aktuelle Dokument anklinken
Set swApp = CreateObject("SldWorks.Application")
Set Model = swApp.ActiveDoc
If Model Is Nothing Then
MsgBox ("Kein aktives Dokument")
End
End If
' ausserdem funktioniert das so nur mit Parts, also sollte das aktive
' Dokument auch ein Part sein
'If Model.GetType() <> 1 Then
' MsgBox ("falscher Dokumententyp")
' Exit Sub
'End If
wertinteger = 0 ' 0=Millimeter; 3= Zoll/Inches
boolstatus = Model.SetUserPreferenceIntegerValue(47, wertinteger) ' Wert setzen
Model.EditRebuild ' noch'n Neuaufbau
End Sub
-----------------------------------------------------------------------------------
Was ich aufgezeichnet habe, um die Bemaßungsnorm umzustellen, macht mir leider nur die zuhörige Dialogbox auf:
-----------------------------------------------------------------------------------
' ******************************************************************************
' C:\Users\Stehling\AppData\Local\Temp\swx5124\Macro1.swb - macro recorded on 04/09/11 by Stehling
' ******************************************************************************
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Sub main()
Set swApp = _
Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("131c-012_sst_tape_exit_guide_lt.SLDDRW", "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)
Part.DimPreferences
End Sub
-----------------------------------------------------------------------------------
Was muß ich denn tun, damit die Bemaßungsnorm auch wunschgemäß umgestellt wird und kann ich das der Einfachheit halber nicht in das obere Macro einbauen?
Gruß
Ron
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP