| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Journal NX5 - Create Pocket (920 mal gelesen)
|
met Mitglied CAD-Admin / Konstrukteur
Beiträge: 141 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
|
| Projektingenieur (m/w/d) im R&D-Bereich | Projektingenieur (m/w/d) im R&D-Bereich Als internationaler Automobilzulieferer versorgen wir nahezu alle namhaften Automobilhersteller. An unseren weltweit zehn Produktionsstandorten entwickeln und fertigen wir hochwertige Module und einbaufertige Systeme. Durch den Einsatz von modernsten Techniken und bestem Know-how, sind wir ein bedeutender Partner der globalen Automobilindustrie.... | Anzeige ansehen | Feste Anstellung |
|
met Mitglied CAD-Admin / Konstrukteur
Beiträge: 141 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 >>)
|