| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS | | | | PLM TechnologieForum Essen |
Autor
|
Thema: Zuschnitteigenschaften in Eigenschaften anzeigen (1051 mal gelesen)
|
RvC Mitglied Konstrukteur/Maschinenbautechniker
Beiträge: 125 Registriert: 29.08.2003 Solid Works 2017 SP 5.0 64bit
|
erstellt am: 25. Mrz. 2020 13:52 <-- editieren / zitieren --> Unities abgeben:
unsere Vorgehensweise ist momentan wie folgt: Rahmen im abgewickelten Bauteil mit RD1-RD3 bemaßen. Nun werden diese Maße an den geeigneten Stellen eingetragen und tauchen dann im Schriftfeld auf. Nun ist mir aufgefallen das diese Informationen ja bereits in den Zuschnitteigenschaften automatisch erfasst weren. Wie kann ich die Daten der Zuschnitteigenschaften in meine Eigenschaften vom Bauteil angezeigt bekommen? MfG RvC
------------------ Danke für die Antworten und einen Gruß vom Niederrhein Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andi Spieler Mitglied Mechaniker
Beiträge: 1347 Registriert: 12.12.2002 SOLIDWORKS 2024SP1
|
erstellt am: 25. Mrz. 2020 15:31 <-- editieren / zitieren --> Unities abgeben: Nur für RvC
Hallo RvC, 1: Zuschnittsliste öffnen, die 3 Zeilen markieren (mit Strg) und mit Strg-c kopieren 2: Einen Editor öffnen und einfügen mit Strg-v 3: String mit den beiden Gänsefüßchen markieren, kopieren und in die Dateieigenschaften einfügen Viele Grüße AndiS
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RvC Mitglied Konstrukteur/Maschinenbautechniker
Beiträge: 125 Registriert: 29.08.2003 Solid Works 2017 SP 5.0 64bit
|
erstellt am: 25. Mrz. 2020 15:58 <-- editieren / zitieren --> Unities abgeben:
Leider ist diese Funktion erst ab 2018 verfügbar. Diese Vorgehensweise wäre aus meiner Sicht aber auch nicht praktikabel. ------------------ Danke für die Antworten und einen Gruß vom Niederrhein Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
D.Adams Mitglied
Beiträge: 5 Registriert: 04.02.2020 Windows 10 Inventor 2016 Vault Workgroup 2016 Solidworks Standard 2020 SpeedyPDM
|
erstellt am: 01. Apr. 2020 15:00 <-- editieren / zitieren --> Unities abgeben: Nur für RvC
Hallo, ich stand vor ein paar Tagen vor einem ähnlichen Problem, unten ist das Ergebnis. Die Werte sind am Ende als Formel hinterlegt, aktualisieren sich also automatisch Teilweise aus anderen Makros zusammenkopiert macht es das Folgende: 1. Zuschnittsliste: Häckchen bei automatisch aktualisieren setzen, (das legt auch die nötigen Werte auf die zugegriffen wird an, falls noch nicht geschehen) 2. Boundingbox ausblenden, so dass diese die Optik nicht stört, 3. Boundingbox anlegen falls 2 einen Fehler produziert (die BoundingBox noch nicht vorhanden war), danach ausblenden. 4. Abmessungen und Blechabmessungen als benutzerdefinierte Eigenschaft hinterlegen mit Verweis zur BoundingBox und Zuschnittsliste. (Hierbei wird überprüft ob die Eigenschaften Abmessung_auto und Blechabmessung_auto ja sind, falls diese auf "nein" stehen wird der jeweilige Wert nicht wieder als Formel angelegt (manuell angelegte Werte werden so vor dem Überschrieben werden geschützt, bei Bauteilen, die keine Blechteile sind kann so die Eigenschaft Blechabmessung z.B. leer bleiben) Ein Fehler der noch auftreten kann ist, dass das Zuschnittslistenelement Zuschnittslistenelement2 oder ähnlich heißt. In dem Fall funktioniert die Formel nicht, dann einmal das Zuschnittslistenelement löschen und Makro erneut starten. Code:
'------------------------------------------------------------------------------------ 'Zuschnittsliste auf automatisch aktualisieren setzen, Bounding Box anlegen und ausblenden, Abmessungen + Abmessungen Blech als Properties '------------------------------------------------------------------------------------Dim swApp As SldWorks.SldWorks Dim swPart As SldWorks.PartDoc Dim featmgr As SldWorks.FeatureManager Dim swGPData As SldWorks.BoundingBoxFeatureData Dim swModel As ModelDoc2 Dim swModelDocExt As ModelDocExtension Dim swCustProp As CustomPropertyManager Dim val As String Dim valout As String Dim bool As Boolean Dim RetVal As Long Dim ResolvedValOut As String Dim wasResolved As Boolean Dim linkToProp As Boolean Dim resolved As Variant Sub main()
Set swApp = Application.SldWorks Set swPart = swApp.ActiveDoc Dim i As Integer Dim swComp As SldWorks.Component2 Dim swFeat As SldWorks.Feature 'Zuschnittsliste Set swFeat = swPart.FirstFeature While Not swFeat Is Nothing If swFeat.GetTypeName2 = "SolidBodyFolder" Then Dim swBodyFolder As SldWorks.BodyFolder Set swBodyFolder = swFeat.GetSpecificFeature2 swBodyFolder.SetAutomaticCutList True swBodyFolder.SetAutomaticUpdate True 'swBodyFolder.UpdateCutList Debug.Print ("1") End If Set swFeat = swFeat.GetNextFeature Wend 'BoundingBox ausblenden boolstatus = swPart.Extension.SelectByID2("Begrenzungsrahmen", "BBOXSKETCH", 0, 0, 0, False, 0, Nothing, 0) swPart.BlankSketch Debug.Print (boolstatus) If (boolstatus <> True) Then 'Bounding Box erzeugen, keine Ahnung warum das funktioniert und ob. Debug.Print ("2") Set Part = swApp.ActiveDoc Set featmgr = Part.FeatureManager boolstatus = Part.Extension.SelectByRay(1.08472195143463E-02, 3.96239999998329E-02, -1.01823136031953E-03, -0.400036026779312, -0.515038074910024, -0.758094294050284, 1.1224765174324E-03, 2, False, 0, 0) Set ent = Part.SelectionManager.GetSelectedObject6(1, -1) Set swGPData = featmgr.CreateDefinition(swFmBoundingBox) swGPData.ReferenceFaceOrPlane = 2 swGPData.PlanarEntity = ent Set feat = featmgr.CreateFeature(swGPData) boolstatus = swPart.Extension.SelectByID2("Begrenzungsrahmen", "BBOXSKETCH", 0, 0, 0, False, 0, Nothing, 0) If boolstatus = False Then MsgBox ("Bitte zum Anlegen der BoundingBox eine Fläche auswählen und Makro erneut starten") End If Debug.Print (3) Debug.Print (boolstatus) swPart.BlankSketch End If swPart.EditRebuild3 Debug.Print (boolstatus) 'Abmessungen Set swModel = swApp.ActiveDoc Set swModelDocExt = swModel.Extension ' Get the custom property data Set swCustProp = swModelDocExt.CustomPropertyManager("") bool = swCustProp.Add3("Abmessung_auto", swCustomInfoYesOrNo, "Yes", 0) RetVal = swCustProp.Get6("Abmessung_auto", False, valout, ResolvedValOut, wasResolved, linkToProp) Debug.Print (valout) If valout = "Yes" Then bool = swCustProp.Add3("Abmessung", swCustomInfoText, Chr(34) & "SW-Begrenzungsrahmen - Gesamtlänge@@@Begrenzungsrahmen@@Standard@Teil.SLDPRT" & Chr(34) & " x " & Chr(34) & "SW-Begrenzungsrahmen - Gesamtbreite@@@Begrenzungsrahmen@@Standard@Teil.SLDPRT" & Chr(34) & " x " & Chr(34) & "SW-Begrenzungsrahmen - Gesamtstärke@@@Begrenzungsrahmen@@Standard@Teil.SLDPRT" & Chr(34), 1) End If bool = swCustProp.Add3("BlechAbmessung_auto", swCustomInfoYesOrNo, "Yes", 0) RetVal = swCustProp.Get6("BlechAbmessung_auto", False, valout, ResolvedValOut, wasResolved, linkToProp) Debug.Print (valout) If valout = "Yes" Then bool = swCustProp.Add3("Blechabmessung", swCustomInfoText, Chr(34) & "Dicke@Test.SLDPRT" & Chr(34) & " x " & Chr(34) & "SW-Rahmenlänge@@@Zuschnittslistenelement1@Test.SLDPRT" & Chr(34) & " x " & Chr(34) & "SW-Rahmenbreite@@@Zuschnittslistenelement1@Test.SLDPRT" & Chr(34), 1) bool = swCustProp.Add3("PRPDicke", swCustomInfoText, Chr(34) & "Dicke@Test.SLDPRT" & Chr(34), 1) End If End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|