Hallo CAD-Gemeinde,
ich hätte mal eine Frage, um bei der Konstruktion Zeit zu sparen.
In unserer Firma haben wir die Norm,
Bohrungen gelb
Gewinde grün
gefräste Oberflächen rot (linear ausgetragener Schnitt)
zu färben. Es ist natürlich recht zeitinsiv die einzelnen Farben über Drag and Drop bzw. mit markieren und Rechtsklick einzufärben. Deshalb besteht für mich die Frage, ob es möglich ist beim Erstellen eines bestimmten Features die Farbe der Featurefläche direkt einzufärben. Alternativ gibt es bestimmt auch eine Möglichkeit die Features im nachhinein mit einer Wenn-Feature A dann Fläche des Features=RGB (255,0,0) etc. Leider bin ich im Internet nicht fündig geworden außer folgenden Code:
Sub main()
On Error Resume Next
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swSelMgr As SldWorks.SelectionMgr
Dim swFaces As New Collection
Dim swFace As SldWorks.Face2
Dim vFaceProp As Variant
Dim bRet As Boolean
Dim i As Integer
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swSelMgr = swModel.SelectionManager
Set swFace = swSelMgr.GetSelectedObject5(i)
Count = swSelMgr.GetSelectedObjectCount2(-1)
' zuerst mal abfragen, ob überhaupt was selektiert war
If Count < "1" Then
Call MsgBox("Keine Fläche markiert!", vbOKOnly + vbExclamation, " INFORMATION ")
End
End If
' dann die Schleife über alle selektierten Objekte und diese merken
For i = 1 To Count
' das nächste selektierte Objekt holen
' und überprüfen on es eine Fläche ist
If swSelMgr.GetSelectedObjectType(i) = swSelFACES Then
Set swFace = swSelMgr.GetSelectedObject5(i)
' und in derCollection merken
swFaces.Add swFace
End If
Next i
' und nacheinander alle gemerkten Flächen wieder selektieren
' und mit den gewünschten Materialproperties versehen
For Each swFace In swFaces
swFace.Select False
bRet = swModel.SelectedFaceProperties(RGB(0, 255, 0), (1), (1), (1), (0.3), (0), (0), False, "")
Next
' die vorhandene Selektion vergessen
swModel.ClearSelection2 True
End Sub
Dabei werden alle markierten Flächen einer Farbe zugeordnet.(Quelle: http://ww3.cad.de/foren/ubb/Forum2/HTML/019777.shtml)
Vielleicht kann einer mir helfen mit einem Codeansatz bzw. einer Alternative.
Vielen Dank.
Gruß
Selfi
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP