Guten Morgen zusammen,
heute mal wieder was für die API
-Jünger:
Unten habe ich ein paar Auszüge aus der API
-Hilfe von SWX
. So ganz schlau werde ich da nicht. Ich möchte mittels Klick auf Button in UserForm die Dokumenteigenschaften-Linien-Kanteart-Linienart bzw.
Dokumenteigenschaften-Linien-Kanteart-Linienstärke ändern.
Folgendes habe ich schon zusammengetragen:
Welche Variablen (Typen) müssen definiert sein, und wie lautet die Befehlsyntax für z.B.:
Setzte Eigenschaft(Strichstärke) der sichbaren Kanten in geöffneter Zeichnung auf dünn.
...
...
...
Dim SwApp As Object
Dim DrawingDoc As Object
Dim Annotation As Object
Dim DatumTag As Object
Dim FeatureData As Object
Dim Feature As Object
Dim Component As Object
'Input
Dim userPreferenceValue As Long
Dim value As Long
'Output
Dim retval As Bool
Private Sub CommandButton1_Click()
'Linienstärken auf dünn setzen
' an SolidWorks und das aktuelle Dokument anklinken
Set SwApp = CreateObject("SldWorks.Application")
Set DrawingDoc = SwApp.ActiveDoc
If DrawingDoc Is Nothing Then
MsgBox ("No active document / Kein aktives Dokument")
End
End If
If DrawingDoc.GetType() = swDocPART Then
Call MsgBox("Aktives Dokument ist ein 3D-Modell, Makro ändert Linien nur für Zeichnungen.")
End
End If
'Jetzt soll die Eigenschaft gesetzt werden!!!
userPreferenceValue = "swLineCONTINUOUS"
value = "swLW_THIN"
retval = DrawingDoc.SetUserPreferenceIntegerValue(userPreferenceValue, value)
End Sub
...
...
...
Für Hilfe jeglicher Art wäre ich echt dankbar.
Anhang:
----------------------------
Die gibt's:
swLineFontVisibleEdgesThickness
swLineFontVisibleEdgesStyle
swLineFontHiddenEdgesThickness
swLineFontHiddenEdgesStyle
swLineFontSketchCurvesThickness
swLineFontSketchCurvesStyle
swLineFontDetailCircleThickness
swLineFontDetailCircleStyle
swLineFontSectionLineThickness
swLineFontSectionLineStyle
swLineFontDimensionsThickness
swLineFontDimensionsStyle
swLineFontConstructionCurvesThickness
swLineFontConstructionCurvesStyle
swLineFontCrosshatchThickness
swLineFontCrosshatchStyle
swLineFontTangentEdgesThickness
swLineFontTangentEdgesStyle
swLineFontDetailBorderThickness
swLineFontDetailBorderStyle
swLineFontCosmeticThreadThickness
swLineFontCosmeticThreadStyle
Und das sind die values
swLineTypes_e
Specifies values for line styles used in layers.
swLineCONTINUOUS
swLineHIDDEN
swLinePHANTOM
swLineCHAIN
swLineCENTER
swLineSTITCH
swLineCHAINTHICK
swLineDEFAULT
swLineWeights_e
Specifies values for line weights used in layers.
swLW_NONE
swLW_THIN
swLW_NORMAL
swLW_THICK
swLW_THICK2
swLW_THICK3
swLW_THICK4
swLW_THICK5
swLW_THICK6
Syntax (OLE Automation)
retval = ModelDoc2.SetUserPreferenceIntegerValue ( userPreferenceValue, value )
Input:
(long) userPreferenceValue
User preference value as defined in swUserPreferenceIntegerValue_e
Input:
(long) value
Numeric value you give to the user preference specified in userPreferenceValue
Return:
(BOOL) retval
TRUE if the setting is changed successfully, FALSE otherwise
Syntax (COM)
status = ModelDoc2->SetUserPreferenceIntegerValue ( userPreferenceValue, value, &retval )
Input:
(long) userPreferenceValue
User preference value as defined in swUserPreferenceIntegerValue_e
Input:
(long) value
Numeric value to give to the user preference specified in userPreferenceValue
Output:
(VARIANT_BOOL) retval
TRUE if the setting is changed successfully, FALSE otherwise
Return:
(HRESULT) status
S_OK if successful
Remarks
This method is equivalent to interactively setting system and document options in the SolidWorks software.
------------------
Gruß, der Teddibaer
---------
Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.
John Osborne (1929-94)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP