| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX | | |  | Solid Edge: Erste Schritte, ein Webinar am 26.09.2025
|
Autor
|
Thema: Journal NX5 - Create Pocket (963 mal gelesen)
|
met Mitglied CAD-Admin / Konstrukteur
 
 Beiträge: 142 Registriert: 23.07.2004
|
erstellt am: 17. Mrz. 2015 15:23 <-- editieren / zitieren --> Unities abgeben:         
Hallo, hat jemand ne Ahnung, wie man in einem vb journal eine Pocket erzeugen kann? Bohrungen mache ich so... Code: Public Shared Function NXCreateHole(myPart As Part, _ myBody As Body, _ myPoint As Point3d, _ myDiameter As Double, _ myDepth As Double, _ mySinkDiameter As Double, _ mySinkDepth As Double, _ Optional myDirection As DatumAxis = Nothing) As Features.Feature Dim HolePoint As NXOpen.Point = myPart.Points.CreatePoint(myPoint) Dim holePackageBuilder1 As Features.HolePackageBuilder holePackageBuilder1 = myPart.Features.CreateHolePackageBuilder(Nothing) holePackageBuilder1.GeneralHoleForm = Features.HolePackageBuilder.HoleForms.Simple holePackageBuilder1.HolePosition.AddSmartPoint(HolePoint, 1) holePackageBuilder1.GeneralTipAngle.RightHandSide = "0" holePackageBuilder1.GeneralHoleDiameter.RightHandSide = myDiameter holePackageBuilder1.GeneralHoleDepth.RightHandSide = myDepth If mySinkDepth > 0 Then holePackageBuilder1.GeneralHoleForm = Features.HolePackageBuilder.HoleForms.Counterbored holePackageBuilder1.GeneralCounterboreDiameter.RightHandSide = mySinkDiameter holePackageBuilder1.GeneralCounterboreDepth.RightHandSide = mySinkDepth End If If Not myDirection Is Nothing Then Dim direction1 As Direction = myPart.Directions.CreateDirection(myDirection, Sense.Forward, SmartObject.UpdateOption.WithinModeling) holePackageBuilder1.ProjectionDirection.ProjectDirectionMethod = GeometricUtilities.ProjectionOptions.DirectionType.Vector holePackageBuilder1.ProjectionDirection.ProjectVector = direction1 Dim Vx As Vector3d = myDirection.Direction If myDirection.Origin.X <> myPoint.X And myDirection.Origin.Y <> myPoint.Y And myDirection.Origin.Z <> myPoint.Z Then Dim AxisX As DatumAxis = myPart.Datums.CreateFixedDatumAxis(myPoint, New Point3d(myPoint.X + Vx.X, myPoint.Y + Vx.Y, myPoint.Z + Vx.Z)) End If End If Dim targetBodies5(0) As Body targetBodies5(0) = myBody holePackageBuilder1.BooleanOperation.SetTargetBodies(targetBodies5) Dim Hole As Features.Feature = holePackageBuilder1.Commit() Return Hole End Function
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TheTutuut Mitglied

 Beiträge: 51 Registriert: 08.04.2010 NX4 - NX8.5 TC8.3 TC2007 TCeng2005SR1
|
erstellt am: 24. Mrz. 2015 09:02 <-- editieren / zitieren --> Unities abgeben:          Nur für met
|

| CNC-Programmierer (m/w/d) | Wir sind eine erfolgreiche, eigentümergeführte Unternehmensgruppe aus dem produzierenden Geräte- und Maschinenbau mit ca. 350 Mitarbeitern weltweit. Geprägt durch Tradition, Nachhaltigkeit und gelebter Verantwortung gegenüber der Belegschaft erobert diese die weltweiten Märkte mit hohem Qualitätsanspruch und höchster Servicekultur. Tradition verbindet seit 1842. Wer als zuverlässiger Partner gelten will, trägt eine Menge Verantwortung.... | Anzeige ansehen | Feste Anstellung |
|
met Mitglied CAD-Admin / Konstrukteur
 
 Beiträge: 142 Registriert: 23.07.2004
|
erstellt am: 24. Mrz. 2015 09:48 <-- editieren / zitieren --> Unities abgeben:         
Hab's gefunden Code: Public Shared Function NXCreateSlot(myPart As Part, _ myBody As Body, _ myPoint As Point3d, _ myDepth As Double, _ myDimensionX As Double, _ myAxisX As DatumAxis, _ myAxisY As DatumAxis, _ myAxisZ As DatumAxis) As Features.Feature Dim DPB As Features.DatumPlaneBuilder = myPart.Features.CreateDatumPlaneBuilder(Nothing) Dim plane1 As Plane plane1 = DPB.GetPlane() plane1.SetMethod(PlaneTypes.MethodType.TwoLines) Dim geom1(1) As NXObject geom1(0) = myAxisX geom1(1) = myAxisY plane1.SetGeometry(geom1) plane1.SetAlternate(PlaneTypes.AlternateType.Three) plane1.Evaluate() Dim DP As Features.DatumFeature = DPB.CommitFeature() Dim aktUF As UFSession = NXOpen.UF.UFSession.GetUFSession() Dim location() As Double = {myPoint.X, myPoint.Y, myPoint.Z} Dim direction() As Double = {myAxisZ.Direction.X, myAxisZ.Direction.Y, myAxisZ.Direction.Z} Dim x_dir() As Double = {myAxisX.Direction.X, myAxisX.Direction.Y, myAxisX.Direction.Z} Dim len() As String = {myDimensionX, 500, myDepth} aktUF.Modl.CreateRectPocket(location, direction, x_dir, len, 0, 0, 0, DP.Tag, myBody.Tag) Return Nothing End Function
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |